X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=s51%2Fs51-main.c;h=96429988d5f4c16662d71667d3a669c98ecf7928;hp=28a774d225efb26bee11db067a719faa5d8efe93;hb=18edacdb1e6e429cc29a164e22ef2a566096b9d9;hpb=d2d9cfd74fd66836c913c02276e09136d83b35dc diff --git a/s51/s51-main.c b/s51/s51-main.c index 28a774d2..96429988 100644 --- a/s51/s51-main.c +++ b/s51/s51-main.c @@ -31,6 +31,7 @@ static double freq = 11059200; char *s51_prompt = "> "; struct ccdbg *s51_dbg; int s51_interrupted = 0; +int s51_monitor = 0; static FILE *s51_input; static FILE *s51_output; @@ -54,7 +55,7 @@ main(int argc, char **argv) char *endptr; struct sigvec vec, ovec; - while ((opt = getopt(argc, argv, "PVvHht:X:c:r:Z:s:S:p:")) != -1) { + while ((opt = getopt(argc, argv, "PVvHhmt:X:c:r:Z:s:S:p:")) != -1) { switch (opt) { case 't': cpu = optarg; @@ -100,6 +101,9 @@ main(int argc, char **argv) case 'h': usage (); break; + case 'm': + s51_monitor = 1; + break; } } if (s51_port) { @@ -146,7 +150,7 @@ main(int argc, char **argv) perror("fdopen"); exit(1); } - vec.sv_handler = s51_sigint; + vec.sv_handler = SIG_IGN; vec.sv_mask = 0; vec.sv_flags = 0; sigvec(SIGINT, &vec, &ovec); @@ -174,7 +178,7 @@ s51_printf(char *format, ...) va_start(ap, format); vfprintf(s51_output, format, ap); - if (s51_port) + if (s51_monitor) vfprintf(stdout, format, ap); va_end(ap); } @@ -195,7 +199,7 @@ s51_read_line(char *line, int len) s51_putc('\0'); fflush(s51_output); ret = fgets(line, len, s51_input) != NULL; - if (s51_port) + if (s51_monitor) printf("> %s", line); fflush(stdout); return ret;