1
0
mirror of https://github.com/simh/simh.git synced 2026-01-11 23:52:58 +00:00

13 Commits

Author SHA1 Message Date
Mark Pizzolato
43bc996cdb SCP: Expose memory file functions to SCP private code 2025-09-28 08:15:31 -10:00
Mark Pizzolato
caea0c0970 ETHER: Add vmnet support for macOS Catalina 10.15.7 through Big Sur 11.7.10 2025-08-14 08:55:49 -10:00
Mark Pizzolato
912f421144 CONSOLE: Add general support for SET CONSOLE SPEED=nnn
The original SET CONSOLE SPEED=nnn was added to a allow direct wired
terminal connected to a host system serial port to be a simulator's console.
The current change generalizes all console I/O such that speed is a reliable
option for direct console connections as well as serial and telnet connections.

The simple recipe to get well behaved console output speed is:
1) call tmxr_set_console_units() in the reset routine of the console DEVICE.
2) In the code path that engages console output do something similar
    to this as appropriate for the system being simulated:
        void txdb_wr (int32 data)
        {
        tto_unit.buf = data & 0377;
        tto_csr = tto_csr & ~CSR_DONE;
        CLR_INT (TTO);
        sim_activate (&tto_unit, tto_unit.wait);
        }

3) In the output unit's service routine the console output unit's service
    routine do something similar to this as appropriate for the system
    being simulated:
        t_stat tto_svc (UNIT *uptr)
        {
        int32 c;

        c = sim_tt_outcvt (tto_unit.buf, TT_GET_MODE (uptr->flags));
        if (c >= 0) {
            t_stat r;

            if ((r = sim_putchar_s (c)) != SCPE_OK) {           /* output; error? */
                sim_activate (uptr, uptr->wait);                /* retry */
                return ((r == SCPE_STALL)? SCPE_OK: r);         /* !stall? report */
                }
            }
        tto_csr = tto_csr | CSR_DONE;
        if (tto_csr & CSR_IE)
        SET_INT (TTO);
        }
The almost all of the current simh simulators already are implemented
with logic like the above example.  These will work just fine with the
newly regulated console speed.
2025-06-24 09:57:49 -10:00
Mark Pizzolato
6ae1467470 SCP: Assure that sim_async_lock is always a recursive lock
This is needed for both the Intrinsic and basic pthreads cases.
2025-03-22 08:12:01 -10:00
Mark Pizzolato
bf83567e61 SCP: Add debugging support for shutdown activities 2025-03-18 17:14:02 -10:00
Mark Pizzolato
8372d44b60 SCP: Add correct Lock Free asynchronous support for IA64 2024-05-28 13:50:27 -10:00
Mark Pizzolato
24081206a8 SCP: Asynch I/O avoid interlocked instruction on Intel sim_asynch_queue read 2024-05-28 13:48:21 -10:00
Mark Pizzolato
c42efce080 SCP: Clarify Asynch I/O queue debug text and comments
- Add full support DECC on IA64
2024-05-28 13:42:33 -10:00
Mark Pizzolato
0a79762388 SCP: Remove remnants of previously removed async TMXR pieces 2024-01-05 09:09:22 -10:00
Mark Pizzolato
43b4963bf8 SCP: Declare global private data properly independent of ASYNCH_IO 2023-08-29 18:37:28 -10:00
Mark Pizzolato
61e31a6e0e SCP: Add option to turn debugging on for SCP initialization activities 2023-08-29 13:15:19 -10:00
Mark Pizzolato
63028863e4 SCP: Default to dynamically loading LIBEDIT, LIBPCRE and LIBPNG 2023-07-27 06:28:53 -10:00
Mark Pizzolato
194b313179 SCP: Fold up include files used by all simulators
- Add common system includes used in may places which are allowed
  and thus added directly in sim_defs.h.
- Separate completely private system data structures and system APIs
  for use only by SCP library routines into sim_scp_private.h.
2023-03-04 17:51:49 -10:00