mirror of
https://github.com/simh/simh.git
synced 2026-01-25 19:56:25 +00:00
Asynchronous Multiplexer and Console Support
scp.c, scp.h, sim_defs.h
- Added commands:
SHOW MULTIPLEXER (MUX)
SHOW TIMERS
- Added facilities/APIs:
sim_activate_after - time specific event scheduling (vs instruction scheduling) API visible, optional separate thread implementation in a later revision
- Changed Commands:
SET CONSOLE DEBUG no longer affects global debugging, but merely debugging for the console subsystem. Use SET DEBUG and SET NODEBUG to affect global debugging.
- Added Asynchronous polling support
sim_tmxr.h, sim_tmxr.c
- Added Asynchronous capabilities to the multiplexer subsystem to avoid polling for input and to deliver input data instantly when it arrives instead of delaying for up to one or more full simulated clock ticks.
- Added debug trace support
- Added statistic tracking of total bytes transmitted on each line
- Added more aggressive attempts to flush transmit buffers when they fill before dropping tranmitted characters
- Fixed status return of tmxr_putc_ln to return SCPE_LOST if the transmitting line isn't connected or buffered.
sim_console.h, sim_console.c
- Fixed issue where connections to console telnet sessions would succeed for the first connection, but hang indefinitely for additional connects without rejecting due to all lines being busy. This is handled by using an internal device and unit to hang the required polling on. Connection polls happen once per second.
- Added console debugging/trace support.
- Added Asynchronous capabilities to the console subsystem to avoid polling for input and to deliver input data instantly when it arrives instead of delaying for up to one or more full simulated clock ticks.
- Added tmxr_set_console_input_unit() API to support asynchronous simulator console I/O
sim_timer.h, sim_timer.c
- Added SHOW TIMERS support
- Added mechanism to capture the timer the simulator uses for its clock tick and make this timer globally available for other uses
PDP11/pdp11_dz.c
- Added debug trace support
PDP11/pdp11_vh.c
- Added debug trace support
- Changed timing mechanisms to not assume that the count unit service routine calls measures the passage of time, and created a separate unit to measure time.
VAX/vax_stddev.c
- Added call to tmxr_set_console_input_unit to leverage Asynchronous console I/O
This commit is contained in:
@@ -58,18 +58,22 @@ t_stat sim_set_notelnet (int32 flag, char *cptr);
|
||||
t_stat sim_set_logon (int32 flag, char *cptr);
|
||||
t_stat sim_set_logoff (int32 flag, char *cptr);
|
||||
t_stat sim_set_debon (int32 flag, char *cptr);
|
||||
t_stat sim_set_cons_debug (int32 flg, char *cptr);
|
||||
t_stat sim_set_cons_nodebug (int32 flg, char *cptr);
|
||||
t_stat sim_set_cons_buff (int32 flg, char *cptr);
|
||||
t_stat sim_set_cons_unbuff (int32 flg, char *cptr);
|
||||
t_stat sim_set_cons_log (int32 flg, char *cptr);
|
||||
t_stat sim_set_cons_nolog (int32 flg, char *cptr);
|
||||
t_stat sim_set_deboff (int32 flag, char *cptr);
|
||||
t_stat sim_set_pchar (int32 flag, char *cptr);
|
||||
t_stat sim_set_console_units (UNIT *rxuptr, UNIT *txuptr);
|
||||
t_stat sim_show_console (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
|
||||
t_stat sim_show_kmap (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
|
||||
t_stat sim_show_telnet (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
|
||||
t_stat sim_show_log (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
|
||||
t_stat sim_show_debug (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
|
||||
t_stat sim_show_pchar (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
|
||||
t_stat sim_show_cons_debug (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
|
||||
t_stat sim_show_cons_buff (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
|
||||
t_stat sim_show_cons_log (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
|
||||
t_stat sim_check_console (int32 sec);
|
||||
@@ -83,9 +87,7 @@ t_stat sim_ttinit (void);
|
||||
t_stat sim_ttrun (void);
|
||||
t_stat sim_ttcmd (void);
|
||||
t_stat sim_ttclose (void);
|
||||
t_bool sim_ttisatty(void);
|
||||
t_stat sim_os_poll_kbd (void);
|
||||
t_stat sim_os_putchar (int32 out);
|
||||
t_bool sim_ttisatty (void);
|
||||
int32 sim_tt_inpcvt (int32 c, uint32 mode);
|
||||
int32 sim_tt_outcvt (int32 c, uint32 mode);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user