diff options
-rw-r--r-- | emulators/doscmd/files/patch-desqview-timeslice | 36 | ||||
-rw-r--r-- | emulators/doscmd/files/patch-quietmode | 317 |
2 files changed, 0 insertions, 353 deletions
diff --git a/emulators/doscmd/files/patch-desqview-timeslice b/emulators/doscmd/files/patch-desqview-timeslice deleted file mode 100644 index 0e5c085..0000000 --- a/emulators/doscmd/files/patch-desqview-timeslice +++ /dev/null @@ -1,36 +0,0 @@ ---- /usr/ports/emulators/doscmd/work/doscmd-20040330/bios.c Mon Mar 29 16:00:00 2004 -+++ bios.c Mon May 1 18:39:31 2006 -@@ -31,6 +31,7 @@ - */ - - #include <sys/cdefs.h> -+#include <time.h> - __FBSDID("$FreeBSD: projects/doscmd/bios.c,v 1.9 2002/03/07 12:52:26 obrien Exp $"); - - #include "doscmd.h" -@@ -110,6 +111,7 @@ - static void - int15(regcontext_t *REGS) - { -+ const struct timespec rqtp={0,1}; - R_FLAGS &= ~PSL_C; - - switch (R_AH) { -@@ -119,6 +121,17 @@ - break; - case 0x04: /* Set ABIOS table */ - R_FLAGS |= PSL_C; /* We don't support it */ -+ break; -+ case 0x10: /* DesqView */ -+ switch (R_AL) { -+ case 0x00: /* Give up CPU time */ -+ nanosleep(&rqtp, NULL); -+ break; -+ case 0x22: /* Get version */ -+ R_BH = 0x0a; /* Use v2.0 for timeslice support */ -+ R_BL = 0x01; -+ break; -+ } - break; - case 0x4f: /* Keyboard intercept */ - debug(D_TRAPS | 0x15, "BIOS: Keyboard intercept\n"); diff --git a/emulators/doscmd/files/patch-quietmode b/emulators/doscmd/files/patch-quietmode deleted file mode 100644 index c077635..0000000 --- a/emulators/doscmd/files/patch-quietmode +++ /dev/null @@ -1,317 +0,0 @@ -diff -u ./debug.c /home/admin/doscmd.working/doscmd-20040330/debug.c ---- ./debug.c Mon Mar 29 16:00:00 2004 -+++ /home/admin/doscmd.working/doscmd-20040330/debug.c Wed May 3 13:58:35 2006 -@@ -106,7 +106,7 @@ - - dead = 1; - -- if (xmode) { -+ if (xmode && !quietmode) { - char buf[1024]; - const char *m; - -diff -u ./dos.c /home/admin/doscmd.working/doscmd-20040330/dos.c ---- ./dos.c Mon Mar 29 16:00:00 2004 -+++ /home/admin/doscmd.working/doscmd-20040330/dos.c Wed May 3 13:58:35 2006 -@@ -625,9 +625,12 @@ - { - int n; - -- /* XXX this is pretty bogus, actually */ -- if (!xmode) { -- R_AL = 0xff; /* no X mode, always claim data available */ -+ if (quietmode && !xmode) { -+ const struct timespec rqtp={0,1}; -+ -+ /* In case of camping */ -+ nanosleep(&rqtp, NULL); -+ R_AL = 0; - return(0); - } - /* XXX tty_peek is broken */ -diff -u ./doscmd.c /home/admin/doscmd.working/doscmd-20040330/doscmd.c ---- ./doscmd.c Wed May 3 14:06:55 2006 -+++ /home/admin/doscmd.working/doscmd-20040330/doscmd.c Wed May 3 13:58:35 2006 -@@ -64,6 +64,7 @@ - int capture_fd = -1; - int dead = 0; - int xmode = 0; -+int quietmode = 0; - int booting = 0; - int raw_kbd = 0; - int timer_disable = 0; -@@ -226,7 +227,7 @@ - kbd_init(); - kbd_bios_init(); - video_init(); -- if (xmode) -+ if (xmode || quietmode) - mouse_init(); - video_bios_init(); - disk_bios_init(); -@@ -511,7 +512,7 @@ - FILE *fp; - char *col; - -- while ((c = getopt(argc, argv, "234AbCc:Dd:EFGHIi:kLMOo:Pp:RrS:TtU:vVxXYz")) != -1) { -+ while ((c = getopt(argc, argv, "234AbCc:Dd:EFGHIi:kLMOo:PpQ:RrS:TtU:vVxXYz")) != -1) { - switch (c) { - case '2': - debug_flags |= D_TRAPS2; -@@ -620,6 +621,9 @@ - define_output_port_handler(p++, outb_port); - } - break; -+ case 'Q': -+ quietmode = 1; -+ break; - case 'R': - debug_flags |= D_REDIR; - break; -@@ -826,7 +830,7 @@ - done(regcontext_t *REGS, int val) - { - if (curpsp < 2) { -- if (xmode) { -+ if (xmode && !quietmode) { - const char *m; - - tty_move(24, 0); -@@ -861,7 +865,7 @@ - coq = coq->next; - c->func(c->arg); - } -- if (!xmode) /* XXX not for bootmode */ -+ if (!(xmode || quietmode)) /* XXX not for bootmode */ - puts("\n"); - exit(status); - } -diff -u ./doscmd.h /home/admin/doscmd.working/doscmd-20040330/doscmd.h ---- ./doscmd.h Wed May 3 14:06:55 2006 -+++ /home/admin/doscmd.working/doscmd-20040330/doscmd.h Wed May 3 13:58:35 2006 -@@ -175,6 +175,7 @@ - extern int capture_fd; - extern int dead; - extern int xmode; -+extern int quietmode; - extern int booting; - extern int raw_kbd; - extern int timer_disable; -diff -u ./int10.c /home/admin/doscmd.working/doscmd-20040330/int10.c ---- ./int10.c Mon Mar 29 16:00:00 2004 -+++ /home/admin/doscmd.working/doscmd-20040330/int10.c Wed May 3 13:58:35 2006 -@@ -57,7 +57,7 @@ - - switch (R_AH) { - case 0x00: /* Set display mode */ -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - init_mode(R_AL); - break; -@@ -94,12 +94,12 @@ - break; - } - case 0x02: /* Position cursor */ -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - tty_move(R_DH, R_DL); - break; - case 0x03: /* Read cursor position */ -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - tty_report(&i, &j); - R_DH = i; -@@ -111,7 +111,7 @@ - debug(D_VIDEO, "Select current display page %d\n", R_AL); - break; - case 0x06: /* initialize window/scroll text upward */ -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - if (R_AL == 0) /* clear screen */ - R_AL = DpyRows + 1; -@@ -120,7 +120,7 @@ - R_AL, R_BH << 8); - break; - case 0x07: /* initialize window/scroll text downward */ -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - if (R_AL == 0) /* clear screen */ - R_AL = DpyRows + 1; -@@ -129,24 +129,24 @@ - R_AL, R_BH << 8); - break; - case 0x08: /* read character/attribute */ -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - i = tty_char(-1, -1); - R_AX = i; - break; - case 0x09: /* write character/attribute */ -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - tty_rwrite(R_CX, R_AL, R_BL << 8); - break; - case 0x0a: /* write character */ -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - debug(D_HALF, "Int 10:0a: Write char: %02x\n", R_AL); - tty_rwrite(R_CX, R_AL, -1); - break; - case 0x0b: /* set border color */ -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - video_setborder(R_BL); - break; -@@ -165,7 +165,7 @@ - R_BH = 0;/*ActivePage *//* display page */ - break; - case 0x10: -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - switch (R_AL) { - case 0x00: /* Set single palette register */ -@@ -350,7 +350,7 @@ - } - break; - case 0x12: /* Alternate function select */ -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - switch (R_BL) { - case 0x10: /* Read EGA/VGA config */ -@@ -372,7 +372,7 @@ - } - break; - case 0x13: /* write character string */ -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - addr = (char *)MAKEPTR(R_ES, R_BP); - switch (R_AL & 0x03) { -@@ -407,7 +407,7 @@ - } - break; - case 0x1a: -- if (!xmode) -+ if (!(xmode || quietmode)) - goto unsupported; - R_AL = 0x1a; /* I am VGA */ - R_BL = 8; /* Color VGA */ -diff -u ./int16.c /home/admin/doscmd.working/doscmd-20040330/int16.c ---- ./int16.c Mon Mar 29 16:00:00 2004 -+++ /home/admin/doscmd.working/doscmd-20040330/int16.c Wed May 3 13:58:35 2006 -@@ -78,7 +78,7 @@ - void - int16(regcontext_t *REGS) - { -- if (!xmode && !raw_kbd) { -+ if (!(xmode || raw_kbd || quietmode)) { - if (vflag) dump_regs(REGS); - fatal ("int16 func 0x%x only supported in X mode\n", R_AH); - } -diff -u ./tty.c /home/admin/doscmd.working/doscmd-20040330/tty.c ---- ./tty.c Wed May 3 14:06:55 2006 -+++ /home/admin/doscmd.working/doscmd-20040330/tty.c Wed May 3 13:58:35 2006 -@@ -34,6 +34,7 @@ - __FBSDID("$FreeBSD: projects/doscmd/tty.c,v 1.25 2002/04/12 21:18:05 charnier Exp $"); - - #include <sys/ioctl.h> -+#include <sys/select.h> - #include <sys/time.h> - #include <sys/types.h> - #include <sys/mman.h> -@@ -1471,7 +1472,8 @@ - { - if (attr == TTYF_REDIRECT) { - if (redirect1) { -- write(1, &c, 1); -+ if(!quietmode) -+ write(1, &c, 1); - return; - } - attr = -1; -@@ -1487,8 +1489,10 @@ - #ifndef NO_X - XBell(dpy, 0); - #endif -- } else -+ } else { -+ if(!quietmode) - write(1, "\007", 1); -+ } - break; - case 0x08: - if (row > (height - 1) || col > width) -@@ -1658,20 +1662,14 @@ - { - int r; - -+ if(quietmode && !xmode) -+ return(0); -+ - if ((r = nextchar) != 0) { - nextchar = 0; - return(r & 0xff); - } - -- if ((flag & TTYF_REDIRECT) && redirect0) { -- char c; -- if (read(STDIN_FILENO, &c, 1) != 1) -- return(-1); -- if (c == '\n') -- c = '\r'; -- return(c); -- } -- - if (KbdEmpty()) { - if (flag & TTYF_BLOCK) { - while (KbdEmpty()) -@@ -1858,6 +1856,22 @@ - int - KbdEmpty() - { -+ if(!xmode) { -+ fd_set rd; -+ struct timeval tv; -+ -+ FD_ZERO(&rd); -+ FD_SET(STDIN_FILENO, &rd); -+ tv.tv_sec=0; -+ tv.tv_usec=0; -+ if(select(STDIN_FILENO+1, &rd, NULL, NULL, &tv)==1) { -+ char ch=0; -+ read(STDIN_FILENO, &ch, 1); -+ if(ch == '\n') -+ ch = '\r'; -+ KbdWrite(ch); -+ } -+ } - return(K_NEXT == K_FREE); - } - -diff -u ./video.c /home/admin/doscmd.working/doscmd-20040330/video.c ---- ./video.c Wed May 3 14:06:55 2006 -+++ /home/admin/doscmd.working/doscmd-20040330/video.c Wed May 3 13:58:35 2006 -@@ -276,9 +276,9 @@ - define_output_port_handler(GDC_DataPort, video_outb); - } - -- redirect0 = isatty(0) == 0 || !xmode ; -- redirect1 = isatty(1) == 0 || !xmode ; -- redirect2 = isatty(2) == 0 || !xmode ; -+ redirect0 = isatty(0) == 0 || !(xmode || quietmode); -+ redirect1 = isatty(1) == 0 || !(xmode || quietmode); -+ redirect2 = isatty(2) == 0 || !(xmode || quietmode); - - return; - } |