updated git and svn scripts
[xrzperl.git] / r-dosemu
blob0106e4b6f2177d7e95663e6e77ecf5f195fe3c1b
1 #!/usr/bin/perl -w
2 ###APPNAME: -r
3 ###APPAUTHOR: xiaoranzzz
4 ###APPDATE: 2009-06-25 00:28:37
5 ###APPVER: 0.1
6 ###APPDESC: -r
7 ###APPUSAGE:
8 ###APPEXAMPLE: -r
9 ###APPOPTION:
10 use strict;
12 #ENV variable MUST be defined somewhere,
13 #FOR perl to search modules from,
14 #OR nothing will work
15 use lib $ENV{XR_PERL_MODULE_DIR};
17 use MyPlace::Script::Usage qw/help_required help_even_empty/;
18 exit 0 if(help_required($0,@ARGV));
20 my @dosemu = qw/dosemu -O/;
21 #-S/;
23 unless(@ARGV) {
24 exec(@dosemu);
27 my @dosemurc=( <<EOF );
28 cpu (80686)
29 pci (on)
30 X {
31 title DOSBOX
32 title_show_appname 1
33 icon_name "xdosemu"
34 fixed_aspect (off)
35 font "terminus-bold-16"
36 vesamode 1024,768,16
38 video { vga console graphics}
39 dpmi (8096)
40 xms (32768)
41 ems (32768)
42 debug (on)
43 EOF
44 my @standard_arg;
45 my %qemu_arg;
46 my $qemu_exp = qr/-(:?(:?hd|fd)[abcdef]|boot)/i;
47 while(@ARGV) {
48 $_ = shift;
49 if($_ =~ $qemu_exp) {
50 $qemu_arg{$_}=shift;
52 else {
53 push @standard_arg,$_;
57 my @fds;
58 my @hds;
59 foreach my $fd qw/a b/ {
60 my $floppy;
61 $_ = $qemu_arg{"-fd$fd"};
62 next unless($_);
63 if(-f $_) {
64 $floppy = "heads 2 sectors 18 tracks 80 threeinch file \"$_\"";
66 elsif(-d $_) {
67 $floppy = "directory \"$_\" threeinch";
69 elsif(-r $_) {
70 $floppy = "device /dev/fd" . ($fd eq 'a' ? "0" : "1") . "threeinch";
72 else {
73 print STDERR "Invalid floppy $fd = $_\n";
75 push @fds,$floppy if($floppy);
77 foreach my $hd qw/a b c d e f/ {
78 my $harddisk;
79 $_ = $qemu_arg{"-hd$hd"};
80 next unless($_);
81 if(-f $_) {
82 $harddisk = "image \"$_\"";
84 elsif(-d $_) {
85 $harddisk = "directory \"$_\"";
87 elsif(-r $_) {
88 $harddisk = "partition \"$_\"";
90 else {
91 print STDERR "Invalid harddisk $hd = $_\n";
93 push @hds,$harddisk if($harddisk);
96 push @dosemurc,"floppy { $_ }" foreach(@fds);
97 push @dosemurc,"disk { $_ }" foreach(@hds);
98 if($qemu_arg{"boot"}) {
99 push @dosemurc,"boot" . uc($qemu_arg{"boot"});
101 elsif(@fds) {
102 # push @dosemurc,"bootdisk { $fds[0] }";
103 push @dosemurc,"bootA";
105 elsif(@hds) {
106 push @dosemurc,"bootC";
108 #print $_,"\n" foreach(@dosemurc);
109 #use File::Temp qw/tempfile/;
110 #my (undef,$fn) = tempfile;
111 #open FO,">",$fn;
112 #print FO join("\n",@dosemurc);
113 #close FO;
114 exec(@dosemu,@standard_arg,"-I",join("\n",@dosemurc),"-f","/dev/null");
115 #exec(@dosemu,"-F",$fn,"-f","/dev/null");
116 #exec(@dosemu,"-F",$fn,"-f","/dev/null");
117 #"-I",join("",@dosemurc),"-f","/dev/null");
120 # $_hdimage = "drives/*"
122 # if you want to boot from a virtual floppy:
123 # file name of the floppy image under DOSEMU_LIB_DIR
124 # e.g. "floppyimage" disables $_hdimage
125 # "floppyimage +hd" does _not_ disable $_hdimage. Default: ""
127 # $_vbootfloppy = "A98SE.img"
128 #$_vbootfloppy = "AFDOS10.img"
129 #$_vbootfloppy = "AMSD622.img"
131 # floppy drive types: "threeinch" or "fiveinch" or "atapi" or empty,
132 # if non-existant. Optionally the device may be appended such as
133 # "threeinch:/dev/fd0". Default: "threeinch" for A:, "" for B:
135 # $_floppy_a = "threeinch"
136 # $_floppy_b = ""
138 # List of CDROM devices. Up to 4 are supported. You may also specify
139 # image files. You need to load cdrom.sys and mscdex/nwcdex/shsucdx.exe.
140 # Default: "/dev/cdrom"
142 # $_cdrom = "/dev/cdrom"
144 # list of generic SCSI devices to make available for the builtin aspi driver
145 # (format of an entry is 'device:type:mappedtarget' such as
146 # "sg2:WORM sg3:Sequential-Access:6 sg4:CD-ROM" or
147 # "sg2:4 sg3:1:6 sg4:5" (which are equal). Default: ""
149 # $_aspi = ""
151 # whether to lock the full file on lredired drives for file locking requests
152 # or just one byte
154 # $_full_file_locks = (off)
156 # enable/disable long filename support for lredired drives;
157 # default: on
159 # $_lfn_support = (on)
161 # config.sys -> config.XXX; default="" or 3 char.,
163 # $_emusys = ""
165 # system.ini -> system.XXX; default="" or 3 char., (for Windows 3.x)
167 # $_emuini = ""
169 ##############################################################################
170 ## Memory settings
172 # conventional DOS memory size, in Kbytes, <= 768.
173 # Default: 640
175 # $_dosmem = (640)
177 # Extended Memory size. This memory is accessable via int15h and can be
178 # used by himem.sys and the internal XMS driver.
179 # Default: 8192
181 # $_xms = (8192)
183 # EMS (expanded memory) size in Kbytes;
184 # Warning: disabling EMS (off) is not recommended. Doing so will
185 # give you the additional 64K of UMB space, but as a side-effect
186 # it will also disable the protected mode DOS API translator,
187 # making many protected-mode apps to crash.
188 # Default: 2048
190 # $_ems = (2048)
192 # DOS segment where the EMS frame is put.
193 # Default: 0xe400
195 # $_ems_frame = (0xe400)
197 # DPMI memory size in Kbytes; default: 0x5000
199 # $_dpmi = (0x5000)
201 # DPMI base address; default: auto
202 # If the default value fails, try 0x10000000
204 # $_dpmi_base = (auto)
206 # Some DJGPP-compiled programs have the NULL pointer dereference bugs.
207 # They can work under Windows or QDPMI, but will crash under dosemu,
208 # because dosemu detects that kind of errors in DJGPP-based programs.
209 # If your program crashes with the "SIGSEGV" message, then enabling
210 # this option will likely to help.
212 # $_ignore_djgpp_null_derefs = (0)
214 # preferred mapping driver, one of: auto, mapshm, mapashm, mapfile
215 # Default: ""="auto"
217 # $_mapping= ""
219 ##############################################################################
220 ## Debug settings
222 # debug switches; same format as -D commandline option, default: ""="-a+cw".
223 # (but without the -D in front), normally written to ~/.dosemu/boot.log
225 # $_debug = "-a+cw"
227 # which i/o ports to trace (only displayed if you also use -D+T)
228 # see $_ports below for the syntax
230 # $_trace_ports = ""
232 ##############################################################################
233 ## Dosemu-specific hacks
235 # choose the time source for the RTC emulation. Possible values:
236 # "pit", "bios" and "linux". The "linux" time source will follow
237 # the system time changes, but it doesn't allow to set the time
238 # from DOS. "bios" time source is monotonous (will not follow
239 # the system time changes), but allows you to set time from DOS.
241 # $_timemode = "bios"
243 # set this to some positive value (eg. Default: 10)
244 # if you want to play Doom or Duke3D with sound.
246 # $_cli_timeout = (10)
248 # try setting this to some lower positive value (eg. 5; default: 50)
249 # if you get problems with some DOS program
250 # freezing after some time.
252 # $_pic_watchdog = (50)
254 # list of temporary hacks, see release notes in the file ChangeLog.
255 # e.g "0:1 2:0", which means to set feature_0 to 1 and feature_2 to 0.
256 # Default: ""
258 # $_features= ""
260 ##############################################################################
261 ## Terminal related settings
263 # Character set used externally to dosemu
264 # Default: "" == use the character set from the locale or else:
265 # "cp437", "cp737", "cp773", "cp775", "cp850", "cp852", "cp857", "cp860",
266 # "cp861", "cp862", "cp863", "cp864", "cp865", "cp866", "cp869", "cp874",
267 # "cp1125", "cp1251"
268 # "iso8859-1", "iso8859-2", "iso8859-3", "iso8859-4", "iso8859-5", "iso8859-6",
269 # "iso8859-7", "iso8859-8", "iso8859_9", "iso8859-14", "iso8859-15", "koi8-r"
270 # "koi8-u", "koi8-ru", "utf8"
272 # $_external_char_set = ""
274 # Character set used by dos programs
275 # Default: "" == use "cp437" or else:
276 # "cp437", "cp737", "cp773", "cp775", "cp850", "cp852", "cp857", "cp860",
277 # "cp861", "cp862", "cp863", "cp864", "cp865", "cp866", "cp869", "cp874",
278 # "cp895", "cp1125", "cp1251", "bg-mik"
280 # $_internal_char_set = ""
282 # terminal with color support. Default: (on)
284 # $_term_color = (on)
286 # time between refreshes (units: 20 == 1 second). Default: 4
288 # $_term_updfreq = (4)
290 # xterm, putty and compatibles window title. Default: %s - DOSEMU
291 # where %s is the DOS program's name. Use "" to not change the title
293 # $_xterm_title = "%s - DOSEMU"
295 # Video adapter style used: one of: vga, ega, mda, mga, cga, none
296 # Default: "vga"; none=dumb terminal mode.
298 # $_video = "vga"
300 ##############################################################################
301 ## Keyboard related settings
303 # Keyboard layout: default: 'auto' (which tries to generate the table from
304 # the current Linux console settings)
305 # or one of: finnish(-latin1), de(-latin1), be, it, us, uk, dk(-latin1),
306 # keyb-no, no-latin1, dvorak, pl, po, sg(-latin1), fr(-latin1), sf(-latin1),
307 # es(-latin1), sw, hu(-latin2), hu-cwi, keyb-user, hr-cp852, hr-latin2,
308 # cz-qwerty, cz-qwertz, ru, tr.
310 # $_layout = "auto"
312 # bypass normal keyboard input on the Linux console, maybe dangerous
313 # default: (auto), use only with -s or -k, or (0): off, use -k, or (1): on.
315 # $_rawkeyboard = (auto)
317 # 30 == Ctrl-^ (Ctrl-6 on US keyboards), special-sequence prefix for terminals
318 # use Ctrl-^ h for help
320 # $_escchar = (30)
322 ##############################################################################
323 ## Mouse settings
325 # Use internal mouse driver. Default = (on).
327 # $_mouse_internal = (on)
329 ## ** Below mouse settings are IGNORED for any DOSEMU session except at the
330 ## ** Linux console using suid/sudo/root, the -s switch, and $_graphics=(1).
332 # Mouse protocol: one of (microsoft, mousesystems, logitech, mmseries,
333 # mouseman, hitachi, busmouse, ps2, imps2).
334 # Default: "microsoft"
336 # $_mouse = "microsoft"
338 # Mouse device: if you want to use the internal mouse driver, you can give
339 # the real mouse device such as "/dev/input/mice", "/dev/mouse", "/dev/psaux"
340 # (for PS/2), or "/dev/gpmdata" (for GPM repeater usage).
341 # if you intend to use a DOS serial mouse driver instead, then set this to
342 # one of "com1", "com2", "com3", "com4", and the internal mouse driver will
343 # be disabled.
344 # The default "" means: do not read the mouse device directly (no mouse in
345 # console "$_graphics=(1)" mode, but GPM can still be used in other modes).
347 # $_mouse_dev = ""
349 # Default: "" or one or more of: "emulate3buttons cleardtr"
351 # $_mouse_flags = ""
353 # baudrate, default: 0 == don't set
355 # $_mouse_baud = (0)
357 ##############################################################################
358 ## Joystick config
360 # 1st and 2nd joystick device
361 # e.g. "/dev/js0" or default: "/dev/js0 /dev/js1"
362 # (or "" if you don't want joystick support)
364 # $_joy_device = "/dev/js0 /dev/js1"
366 # range for joystick axis readings, must be > 0, default: 1
368 # $_joy_dos_min = (1)
370 # avoid setting the maximum to > 250, default: 150
372 # $_joy_dos_max = (150)
374 # the higher, the less sensitive - useful if you have a wobbly joystick.
375 # default: 1
377 # $_joy_granularity = (1)
379 # delay between nonblocking linux joystick reads increases performance if >0
380 # and processor>=Pentium recommended: 1-50ms or 0 if unsure. default: 1
382 # $_joy_latency = (1)
384 ##############################################################################
385 ## Serial port settings
387 # use e.g. "/dev/mouse", "/dev/ttyS0", "/dev/ttyS1", ...
388 # Note: all "/dev/ttyXX" may be suffixed by the IRQ
389 # used (instead of the default one), such as "/dev/ttyS2 irq 5"
390 # or "/dev/ttyS3 irq 9". Default: ""
392 # $_com1 = ""
393 # $_com2 = ""
394 # $_com3 = ""
395 # $_com4 = ""
397 # tty lock directory. Empty string "" means no tty locks.
398 # default: "/var/lock"
400 # $_ttylocks = "/var/lock"
402 ##############################################################################
403 ## Printer and parallel port settings
405 # Print commands to use for LPT1, LPT2 and LPT3.
406 # Default: "lpr -l", "lpr -l -P lpt2", and "" (disabled)
407 # Which means: use the default print queue for LPT1, "lpt2" queue for LPT2.
408 # "-l" means raw printing mode (no preprocessing).
410 # $_lpt1 = "lpr -l"
411 # $_lpt2 = "lpr -l -P lpt2"
412 # $_lpt3 = ""
414 # idle time in seconds before spooling out. Default: (20)
416 # $_printer_timeout = (20)
418 ##############################################################################
419 ## Speaker and sound settings
421 # speaker: default: "emulated", or "native" (console only) or "" (off)
423 # $_speaker = "emulated"
425 # sound support on/off; use (2) for newer experimental sound code
427 # $_sound = (on)
429 # (emulated!) Sound Blaster base i/o port, default: (0x220)
431 # $_sb_base = (0x220)
433 # Sound Blaster IRQ setting, default: (5)
435 # $_sb_irq = (5)
437 # Sound Blaster 8 bit DMA setting, default: (1)
439 # $_sb_dma = (1)
441 # Sound Blaster 16 bit DMA setting, default: (5)
443 # $_sb_hdma = (5)
445 # Sound device, default: "/dev/dsp"
447 # $_sb_dsp = "/dev/dsp"
449 # Sound mixer device, default: ""; use "/dev/mixer" if you allow that dosemu
450 # changes the volume
452 # $_sb_mixer = ""
454 # Midi base i/o port
456 # $_mpu_base = (0x330)
458 # The following options are driver-specific and it is not necessary to alter
459 # the default values in most cases. Read sound-usage.txt for more.
460 # Defaults: min_frags: 4, max_frags: 0x20, stalled_frags: 2, do_post: off,
461 # min_extra_frags: 2, dac_freq: 6000.
463 # $_oss_min_frags = (4)
464 # $_oss_max_frags = (0x20)
465 # $_oss_stalled_frags = (2)
466 # $_oss_do_post = (off)
467 # $_oss_min_extra_frags = (2)
468 # $_oss_dac_freq = (6000)
470 ##############################################################################
471 ## Network settings
473 # Enable built-in Packet Driver. Default: on
475 # $_pktdriver = (on)
477 # Virtual networking type. "direct" for direct NIC access, "tap" for
478 # using the TAP virtual device.
479 # NOTE: "direct" method needs root privileges.
480 # Default: "tap"
482 # $_vnet = "tap"
484 # Network device for Packet Driver. For direct NIC access mode, can be
485 # set to, for example, "eth0". For TAP virtual networking mode, should
486 # be set either explicitly, like "tap0", to bind to an existing TAP
487 # device, or left blank for dynamic TAP device allocation. Any setting
488 # that does not start with "tap", is ignored in TAP mode and respected
489 # only in direct mode.
490 # Default: "eth0"
492 # $_netdev = "eth0"
494 # use Novell 802.3 hack. Default: off
496 # $_novell_hack = (off)
498 # NOTE: IPX needs root privileges unless you setup /proc/net/ipx_route
499 # in advance.
500 # Default: (off)
502 # $_ipxsupport = (off)
504 # IPX network address to use. One of those listed in /proc/net/ipx/interface.
505 # Address 0 means use the network to which the primary interface, if exist,
506 # is attached to.
507 # Default: 0
509 # $_ipx_network = (0)
511 ##############################################################################
512 ## Setting specific to the X Window System (xdosemu, dosemu -X)
514 # time between refreshes (units: 20 == 1 second). Default: 5
516 # $_X_updfreq = (5)
518 # Title in the top bar of the window. Default = "DOS in a BOX"
520 # $_X_title = "DOS in a BOX"
522 # Show name of running app in the top bar of the window. Default: on
524 # $_X_title_show_appname = (on)
526 # Text for icon, when minimized. Default = "xdosemu"
528 # $_X_icon_name = "xdosemu"
530 # Start DOSEMU in fullscreen mode. Default = "off"
532 # $_X_fullscreen = (off)
534 # on==translate keyboard via dosemu keytables, or 'off' or 'auto'. Default:auto
536 # $_X_keycode = (auto)
538 # blink rate for the cursor
540 # $_X_blinkrate = (12)
542 # name of the X font that is used (e.g. "vga") default = "" (bitmap fonts)
544 # $_X_font = "terminus-bold-16"
546 # Use shared memory extensions. Faster, but problematic with remote X.
547 # Default: on
549 # $_X_mitshm = (on)
551 # share the colormap with other applications. Default: off
553 # $_X_sharecmap = (off)
555 # Set fixed aspect for resizing the graphics window. Default: on
557 # $_X_fixed_aspect = (on)
559 # Always use an aspect ratio of 4:3 for graphics. Default: off
561 # $_X_aspect_43 = (off)
563 # Use linear filtering for >15 bpp interpolation. Default: off
565 # $_X_lin_filt = (off)
567 # Use bi-linear filtering for >15 bpp interpolation. Default: off
569 # $_X_bilin_filt = (off)
571 # initial size factor for video mode 0x13 (320x200)
573 # $_X_mode13fact = (2)
575 # "x,y" of initial windows size (defaults to ""=float)
577 # $_X_winsize = ""
579 # gamma correction. Default: 1.0
581 # $_X_gamma = (1.0)
583 # size (in Kbytes) of the frame buffer for emulated vga. Default: 4096
585 # $_X_vgaemu_memsize = (4096)
587 # use linear frame buffer in VESA modes. Default: on
589 # $_X_lfb = (on)
591 # use protected mode interface for VESA modes. Default: on
593 # $_X_pm_interface = (on)
595 # KeySym name to activate mouse grab, ""=off. Default: "Home" (ctrl+alt+home)
597 # $_X_mgrab_key = "Home"
599 # List of vesamodes to add. The list has to contain SPACE separated
600 # "xres,yres" pairs, as follows: "xres,yres ... xres,yres". Default: ""
602 # $_X_vesamode = ""
604 # pause xdosemu if it loses focus
606 # $_X_background_pause = (off)
608 ##############################################################################
609 ## Direct hardware access
611 # NOTE: the settings below here that are marked [priv] are only valid in
612 # a system-wide dosemu.conf and cannot be changed by ~/.dosemurc.
613 # For these settings to take effect, DOSEMU must be run with root privileges;
614 # run it as root, via sudo, or suid with adjustments in dosemu.users,
615 # and using the -s switch.
617 # [priv] list of portnumbers such as "0x1ce 0x1cf 0x238" or
618 # "0x1ce range 0x280,0x29f 310" or "range 0x1a0,(0x1a0+15)". Default: ""
619 # $_ports = "device /dev/null fast 0x200"
620 # $_ports = $_ports, " device /dev/lp0 range 0x378 0x37a"
621 # The blank is important
622 # "device" means: if the ports are registered, open this device to block
623 # access. The open must be successful or access to the ports will be denied.
624 # If you know what you are doing, use /dev/null to fake a device to block
626 # $_ports = ""
628 # [priv] list of IRQ numbers (2-15) to pass to DOS such as "3 8 10".Default: ""
629 # This does not work on x86-64.
631 # $_irqpassing = ""
633 # [priv] DOS memory to map directly: list of segment values/ranges such as
635 # "0xc8000 range 0xcc000,0xcffff". Default: ""
637 # $_hardware_ram = ""
639 # [priv] (on): give access to the PCI configuration space.
640 # (auto): restricted, mostly emulated access if the video card requires it.
641 # Default: (auto)
643 # $_pci = (auto)
645 ##############################################################################
646 ## Console video
648 # The following settings apply to direct console video only (not in X)
649 # Many are privileged, and need suid/sudo/root and the -s switch.
651 # use 'console' video (direct video ram access). Default: (1)
653 # $_console = (1)
655 # use the cards BIOS to set graphics and allow direct port i/o. Default: (1)
657 # $_graphics = (1)
659 # [priv] run the VGA card's initialization BIOS routine (most cards don't
660 # need this). Default: (0)
662 # $_vbios_post = (0)
664 # [priv] set the address of your VBIOS (e.g. 0xc000, 0xe000).
665 # Default: (0)=autodetect.
667 # $_vbios_seg = (0)
669 # [priv] set the size of your BIOS (e.g. 0x10000, 0x8000).
671 # Default: (0)=autodetect.
673 # $_vbios_size = (0)
675 # [priv] amount in K of (real) video RAM to save/restore
676 # when switching virtual consoles. (auto) means all video RAM,
677 # which can take *too* long if you have a lot of the video memory.
678 # (off) means no video RAM saving.
679 # Default: 4096
681 # $_vmemsize = (4096)
683 # [priv] real chipset: one of: plainvga, trident, et4000, diamond, avance
684 # cirrus, matrox, wdvga, paradise, ati, s3, sis, svgalib
685 # these drivers are likely to be out of date for modern cards; "vesa"
686 # will probably work; if not, try "plainvga". Default: "vesa"
688 # $_chipset = "vesa"
690 # [priv] if you have one vga _plus_ one hgc (2 monitors)
692 # $_dualmon = (0)
695 #unrecognized option or missing argument: -h
696 # dosemu-1.4.0.0
698 #USAGE:
699 # dosemu.bin [options] [ [-E] linux path or dos command ]
701 # -2,3,4,5,6 choose 286, 386, 486 or 586 or 686 CPU
702 # -A boot from first defined floppy disk (A)
703 # -B boot from second defined floppy disk (B) (#)
704 # -C boot from first defined hard disk (C)
705 # -c use PC console video (!%)
706 # -d detach console
707 # -X run in X Window (#)
708 # -S run in SDL (#)
709 # -D set debug-msg mask to flags {+-}{0-9}{#ACDEIMPQRSTWXZacdeghijkmnpqrsuvwx}
710 # #=default int A=ASPI
711 # C=CDROM D=dos int 21h
712 # E=EMS I=IPC
713 # M=DPMI P=Packet driver
714 # Q=Mapping driver R=disk READ
715 # S=SOUND T=I/O trace
716 # W=disk WRITE X=X support
717 # Z=PCI a=Set all levels
718 # c=configuration d=disk msgs
719 # e=cpu-emu g=general messages
720 # h=hardware i=i/o instructions (in/out)
721 # j=joystick k=keyboard
722 # m=mouse n=IPX network
723 # p=printer q=DMA
724 # r=PIC request s=serial
725 # u=Unicode translation v=video
726 # w=warnings x=XMS
727 # -E STRING pass DOS command on command line (but don't exit afterwards)
728 # -e SIZE enable SIZE K EMS RAM
729 # -F use File as global config-file
730 # -f use dosrcFile as user config-file
731 # --Fusers bypass /etc/dosemu.users (^^)
732 # --Flibdir change keymap and FreeDOS location
733 # --Fimagedir bypass systemwide boot path
734 # -n bypass the system configuration file (^^)
735 # -L load and execute DEXE File
736 # -I insert config statements (on commandline)
737 # -i[bootdir] (re-)install a DOS from bootdir or interactively
738 # -h dump configuration to stderr and exit (sets -D+c)
739 # 0=no parser debug, 1=loop debug, 2=+if_else debug
740 # -H wait for dosdebug terminal at startup and pass dflags
741 # -k use PC console keyboard (!)
742 # -M set memory size to SIZE kilobytes (!)
743 # -m toggle internal mouse driver
744 # -N No boot of DOS
745 # -O write debug messages to stderr
746 # -o FILE put debug messages in file
747 # -P copy debugging output to FILE
748 # -p stop for prompting with a non-fatal configuration problem
749 # -s enable direct hardware access (full feature) (!%)
750 # -t use terminal (S-Lang) mode
751 # -u set user configuration variable 'confvar' prefixed by 'u_'.
752 # -V use BIOS-VGA video modes (!#%)
753 # -v NUM force video card type
754 # -w toggle windowed/fullscreen mode in X
755 # -x SIZE enable SIZE K XMS RAM
756 # -U PIPES calls init_uhook(PIPES) (???)
758 # (!) BE CAREFUL! READ THE DOCS FIRST!
759 # (%) require DOSEMU be run as root (i.e. suid)
760 # (^^) require DOSEMU not be run as root (i.e. not suid)
761 # (#) options do not fully work yet
763 # dosemu.bin --help
764 # dosemu.bin --version print version of dosemu (and show this help)