IBM1130: Disallow printer 'paper' removal with simulator running

As reported in #449
This commit is contained in:
Mark Pizzolato 2017-05-14 18:49:34 -07:00
parent 4df0a9fb1e
commit fee3e81208

View file

@ -109,7 +109,7 @@ extern UNIT prt_unit;
static void destroy_console_window (void) {} static void destroy_console_window (void) {}
t_stat console_reset (DEVICE *dptr) {return SCPE_OK;} t_stat console_reset (DEVICE *dptr) {return SCPE_OK;}
void stuff_cmd (char *cmd) {} LONG stuff_cmd (char *cmd) {return 0}
t_bool stuff_and_wait (char *cmd, int timeout, int delay) {return FALSE;} t_bool stuff_and_wait (char *cmd, int timeout, int delay) {return FALSE;}
char *read_cmdline (char *ptr, int size, FILE *stream) {return read_line(ptr, size, stream);} char *read_cmdline (char *ptr, int size, FILE *stream) {return read_line(ptr, size, stream);}
void remark_cmd (char *remark) {sim_printf("%s\n", remark);} void remark_cmd (char *remark) {sim_printf("%s\n", remark);}
@ -1469,6 +1469,11 @@ static void tear_printer (void)
if ((prt_unit.flags & UNIT_ATT) == 0) if ((prt_unit.flags & UNIT_ATT) == 0)
return; return;
if (running) { /* can only accept a drop while processor is stopped */
MessageBeep(0);
return;
}
strcpy(filename, prt_unit.filename); /* save current attached filename */ strcpy(filename, prt_unit.filename); /* save current attached filename */
if (! stuff_and_wait("detach prt", 1000, 0)) /* detach it */ if (! stuff_and_wait("detach prt", 1000, 0)) /* detach it */