From 73a41c4bc7eab853697b6fee8961bc72c1a2208f Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Wed, 11 Dec 2019 12:25:18 -0800 Subject: [PATCH] SCP: Auto detect WRU being entered for simulators without a console device --- doc/simh.doc | Bin 284160 -> 285184 bytes sim_console.c | 8 ++++++++ sim_console.h | 12 +++++++----- sim_timer.c | 5 +++++ 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/doc/simh.doc b/doc/simh.doc index 6e39cea847c6b09f13e94c49b7f512ada31d2e85..03bb114d7dcca811e45208a5e4208a4688804aaf 100644 GIT binary patch delta 25093 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ðgQNr}0Wt}QD%-?V7j})!GoN3zg zeXGSu#Xfw!&6hKL64Qpq?e~?xSkLw;4($@Mc=DMd>hp{6)fVG-k?lW@{Qv8r<3fL@ zn{KkAWZ7iJ$>;pGKmDDW6|-=wTyUG*{@)hRwF+*03vPA`Zfpy>S;5tu;Eu9=I#+d~ zB)A1DxWy{C!V_gcS8SjD4?o+V6*qnbcSr5h<$sM(%`q&0;h%rDt<9ZUC<|LUMLEZ| zTxS120IJ$Xw{+4Jb<0Hk(^kCa=cbSTmy<;)p+EbV)6gad!sve3c1awac~!Qjt)2SjDIe4*#N4P+ q)27t}f=z+dgPJsITD@UFXyfWZO`8NZF^4q?3~Fo}-`?p<_5T1Zhrh%C delta 24570 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 L_EDW(rl|i1y)_)) diff --git a/sim_console.c b/sim_console.c index 41558b26..6a0674b7 100644 --- a/sim_console.c +++ b/sim_console.c @@ -182,6 +182,13 @@ int32 sim_del_char = '\b'; /* delete character */ #else int32 sim_del_char = 0177; #endif +t_bool sim_signaled_int_char /* WRU character detected by signal while running */ +#if defined (_WIN32) || defined (_VMS) || defined (__CYGWIN__) + = FALSE; +#else + = TRUE; +#endif +uint32 sim_last_poll_kbd_time; /* time when sim_poll_kbd was called */ extern TMLN *sim_oline; /* global output socket */ static t_stat sim_con_poll_svc (UNIT *uptr); /* console connection poll routine */ @@ -2835,6 +2842,7 @@ t_stat sim_poll_kbd (void) { t_stat c; +sim_last_poll_kbd_time = sim_os_msec (); /* record when this poll happened */ if (sim_send_poll_data (&sim_con_send, &c)) /* injected input characters available? */ return c; if (!sim_rem_master_mode) { diff --git a/sim_console.h b/sim_console.h index 6f27d99c..37a1fe06 100644 --- a/sim_console.h +++ b/sim_console.h @@ -127,12 +127,14 @@ int32 sim_tt_outcvt (int32 c, uint32 mode); t_stat sim_tt_settabs (UNIT *uptr, int32 val, CONST char *cptr, void *desc); t_stat sim_tt_showtabs (FILE *st, UNIT *uptr, int32 val, CONST void *desc); -extern int32 sim_rem_cmd_active_line; /* command in progress on line # */ +extern int32 sim_rem_cmd_active_line; /* command in progress on line # */ -extern int32 sim_int_char; /* interrupt character */ -extern int32 sim_brk_char; /* break character */ -extern int32 sim_tt_pchar; /* printable character mask */ -extern int32 sim_del_char; /* delete character */ +extern int32 sim_int_char; /* interrupt character */ +extern int32 sim_brk_char; /* break character */ +extern int32 sim_tt_pchar; /* printable character mask */ +extern int32 sim_del_char; /* delete character */ +extern t_bool sim_signaled_int_char; /* WRU character detected by signal while running */ +extern uint32 sim_last_poll_kbd_time; /* time when sim_poll_kbd was called */ #ifdef __cplusplus } diff --git a/sim_timer.c b/sim_timer.c index 8c773037..b1207165 100644 --- a/sim_timer.c +++ b/sim_timer.c @@ -987,6 +987,11 @@ if (sim_calb_tmr != tmr) { return rtc->currd; } new_rtime = sim_os_msec (); /* wall time */ +if (!sim_signaled_int_char && + ((new_rtime - sim_last_poll_kbd_time) > 500)) { + sim_debug (DBG_CAL, &sim_timer_dev, "sim_rtcn_calb(tmr=%d) gratuitious keyboard poll after %d msecs\n", tmr, (int)(new_rtime - sim_last_poll_kbd_time)); + (void)sim_poll_kbd (); + } ++rtc->calibrations; /* count calibrations */ sim_debug (DBG_TRC, &sim_timer_dev, "sim_rtcn_calb(ticksper=%d, tmr=%d)\n", ticksper, tmr); if (new_rtime < rtc->rtime) { /* time running backwards? */