# Linux dosemu 0.60 configuration file.
# Updated to include QuickStart documentation 5/10/94 by Mark Rejhon
# James MacLean, macleajb@ednet.ns.ca, 12/31/93
# Robert Sanders, gt8134b@prism.gatech.edu, 5/16/93
#
# NOTICE:
#    - Although QuickStart information is included in this file, you
#       should refer to the documentation in the "doc" subdirectory of the
#       DOSEMU distribution, wherever possible. 
#    - This configuration file is designed to be used as a base to make
#       it easier for you to set up DOSEMU for your specific system.
#    - Configuration options between lace brackets { } can be split onto
#       multiple lines.
#    - Comments start with # or ; in column 1. (beginning of a line)
#    - Send Email to the jmaclean address above if you find any errors.


#************************* DEBUG ******************************************
#
# QuickStart:
#    This section is of interest mainly to programmers.  This is useful if
#    you are having problems with DOSEMU and you want to enclose debug info
#    when you make bug reports to a member of the DOSEMU development team.
#    Simply set desired flags to "on" or "off", then redirect stderr of
#    DOSEMU to a file using "dos 2>debug" to record the debug information
#    if desired.  Skip this section if you're only starting to set up.
#
debug { config  off	disk    off	warning off	hardware off
        port    off	read    off	general off	IPC      off
        video   off	write   off	xms     off	ems      off
        serial  off	keyb    off	dpmi    off
       	printer off	mouse   off	sound	off
      }


#************************ MISCELLANEOUS ************************************
#
#   Want startup DOSEMU banner messages?  Of course :-)
dosbanner on
#
#   timint is necessary for many programs to work.
timint on


#************************** KEYBOARD ************************************
# 
# QuickStart:
#    With the "layout" keyword, you can specify your country's keyboard
#    layout.  The following layouts are implemented:
#        finnish           us           dvorak       sf
#        finnish-latin1    uk           sg           sf-latin1
#        de                dk           sg-latin1    es
#        de-latin1         dk-latin1    fr           es-latin1
#        be                no           fr-latin1    portuguese
#	 it		   sw
#    The us-layout is selected by default if the "layout" keyword is omitted.
#
#    The keyword "keybint" allows more accurate of keyboard interrupts,
#    It is a bit unstable, but makes keyboard work better when set to "on".
#
#    The keyword "rawkeyboard" allows for accurate keyboard emulation for
#    DOS programs, and is only activated when DOSEMU starts up at the 
#    console.  It only becomes a problem when DOSEMU prematurely exits 
#    with a "Segmentation Fault" fatal error, because the keyboard would
#    have not been reset properly.  In that case, you would have to run 
#    kbd_mode -a remotely, or use the RESET button.  In reality, 
#    this should never happen.  But if it does, please do report to the 
#    dosemu development team, of the problem and detailed circumstances, 
#    we're trying our best!  If you don't need near complete keyboard
#    emulation (needed by major software package), set it to "off"
#
keyboard {  layout us  keybint on  rawkeyboard on  }
# keyboard {  layout de-latin1  keybint on  rawkeyboard on  }
#
#    The HogThreshold value determines how nice Dosemu will be about
#    giving other Linux processes a chance to run.  Setting the HogThreshold
#    value to approximately half of you BogoMips value will slightly
#    degrade Dosemu performance, but significantly increase overall
#    system idle time.  A zero value runs Dosemu at full tilt.
#
HogThreshold 0


#**************************** SERIAL ************************************
#
# QuickStart:
#    You can specify up to 4 simultaneous serial ports here.  
#    If more than one ports have the same IRQ, only one of those ports
#    can be used at the same time.  Also, you can specify the com port,
#    base address, irq, and device path!  The defaults are:
#        COM1 default is base 0x03F8, irq 4, and device /dev/cua0
#        COM2 default is base 0x02F8, irq 3, and device /dev/cua1 
#        COM3 default is base 0x03E8, irq 4, and device /dev/cua2
#        COM4 default is base 0x02E8, irq 3, and device /dev/cua3
#    If the "com" keyword is omitted, the next unused COM port is assigned.
#    Also, remember, these are only how you want the ports to be emulated
#    in DOSEMU.  That means what is COM3 on IRQ 5 in real DOS, can become 
#    COM1 on IRQ 4 in DOSEMU!
#
#    Also, as an example of defaults, these two lines are functionally equal:
#    serial { com 1  mouse }
#    serial { com 1  mouse  base 0x03F8  irq 4  device /dev/cua0 }
#
#    If you want to use a serial mouse with DOSEMU, the "mouse" keyword 
#    should be specified in only one of the serial lines.  (For PS/2
#    mice, it is not necessary, and device path is in mouse line instead)
#
#    Uncomment/modify any of the following if you want to support a modem:
#    (or any other serial device.)
#serial { com 1  device /dev/modem }
serial { com 2  device /dev/modem }
#serial { com 3  device /dev/modem }
#serial { com 4  device /dev/modem }
#serial { com 3  base 0x03E8  irq 5  device /dev/cua2 }
#
#    If you are going to load a msdos mouse driver for mouse support
#      uncomment/modify one of the following
serial { mouse  com 1  device /dev/mouse }
#serial { mouse  com 2  device /dev/mouse }
#
#    What type is your mouse?  Uncomment one of the following.
#    Use the 'internaldriver' option to try Dosemu internaldriver.
#    Use the 'emulate3buttons' for 3button mice.
mouse { microsoft }
#mouse { logitech }
#mouse { mmseries }
#mouse { mouseman }
#mouse { hitachi }
#mouse { mousesystems }
#mouse { busmouse }
#mouse { ps2  device /dev/mouse internaldriver emulate3buttons }
#mouse { mousesystems device /dev/mouse internaldriver cleardtr }

# For tty locking capabilities:
# ttylocks { directory /var/locks namestub LCK.. [binary] }

#************************* NETWORKING SUPPORT *****************************
#
#    Turn the following option 'on' if you require IPX/SPX emulation.
#    Therefore, there is no need to load IPX.COM within the DOS session.
#    The following option does not emulate LSL.COM, IPXODI.COM, etc.
#    NOTE: MUST HAVE IPX PROTOCOL ENABLED IN KERNEL !!
ipxsupport off
#
#    Enable Novell 8137->raw 802.3 translation hack in new packet driver.
#pktdriver novell_hack


#************************** TERMINALS *************************************
#
# This section applies whenever you run DOSEMU remotely or in an xterm.
# Color terminal support is now built into DOSEMU.  Skip this section for 
# now to use terminal defaults, until you get DOSEMU to work.
#
# QuickStart: 
#       There is a number of keywords for the terminal { } configuration line.
#    "charset" latin, ibm                                  (default latin)
#       Select the character set to use with DOSEMU. 
#    "color" off, on                                       (default on)
#       Enable or disable color terminal support.
#    "updatefreq" value                                    (default 4)
#       A number indicating the frequency of terminal updates of the screen.  
#       The smaller the number, the more frequent.  A value of 20 gives a 
#       frequency of about one per second, which is very slow.  However, more
#       CPU time is given to DOS applications when updates are less frequent.
#       A value of 4 is recommended in most cases, but if you have a fast
#       system or link, you can decrease this to 0. 
#    "escchar"  value                                      (default 30)
#       A number that specifies the control character used as a prefix 
#       character for sending alt, shift, ctrl, and function keycodes.  The
#       default value is 30 which is Ctrl-^.  So, for example, F1 is 
#       'Ctrl-^ 1', Alt-F7 is 'Ctrl-^ a Ctrl-^ 7'.  For online help, press
#       'Ctrl-^ h'.
#
#    Use the following to enable the IBM character set.
#terminal { charset ibm  color on updatefreq 4}
#
#    Use this for color xterms or rxvt's with no IBM font, with only 8 colors.
#terminal { charset latin  color on }
#
#    Use this for color xterms or rxvt's with IBM font, with only 8 colors.
#terminal { charset ibm  color on }
#
#    More detailed line for user configuration:
terminal { charset ibm  updatefreq 2  color on }

#************************* X SUPPORT **************************************
#
# valid keywords for the X { } config line:
#
#    "updatefreq" value                                    (default 8)
#       A number indicating the frequency of X updates of the screen.  
#       The smaller the number, the more frequent.  A value of 20 gives a 
#       frequency of about one per second, which is very slow.  However, more
#       CPU time is given to DOS applications when updates are less frequent.
#
#    "display" string                                      (default ":0")
#       The X server to use. If this is not specified, dosemu will use
#       the DISPLAY environment variable. (This is the normal case)
#
#    "title" string                                    (default "dosemu")
#       What you want dosemu to display in the title bar of its window.
#
#    "icon_name" string                                (default "dosemu")
#       Used when the dosemu window is iconified.
#
#    "keycode"						(default 0)
#	Used to give Xdos access to keycode part of XFree86.
#
#    "blinkrate" value					(default 8)
#	Used to add blinking to cursor.
#
#    "font" value					(default vga)
#	Used to pick a font other than vga. Must be monospaced.
#
#    "sharecmap"					(default 0)
#	Used to share the colormap with other applications in graphics mode.
#	If not set, a private colormap is used.
#
X { updatefreq 2 title "Xdos dosemu-0.63" icon_name "xdos" }



#************************* VIDEO ******************************************
#
# !!WARNING!!: A LOT OF THIS VIDEO CODE IS ALPHA!  IF YOU ENABLE GRAPHICS
# ON AN INCOMPATIBLE ADAPTOR, YOU COULD GET A BLANK SCREEN OR MESSY SCREEN
# EVEN AFTER EXITING DOSEMU.  JUST REBOOT (BLINDLY) AND THEN MODIFY CONFIG.
#
# QuickStart:
#    Start with only text video using the following line, to get started.
#    then when DOSEMU is running, you can set up a better video configuration.
#
#video { vga }          # Use this line, if you are using VGA
#video { cga  console }          # Use this line, if you are using CGA
#video { ega  console }          # Use this line, if you are using EGA
#video { mda  console }          # Use this line, if you are using MDA
#
# QuickStart Notes for Graphics:
#   - If your VGA-Bios resides at E000-EFFF, turn off video BIOS shadow
#     for this address range and add the statement vbios_seg 0xe000
#     to the correct vios-statement, see the example below
#   - If your VBios size is only 32K you set it with  vbios_size 0x8000,
#     you then gain some space for UMB or hardware ram locations.
#   - Set "allowvideoportaccess on" earlier in this configuration file
#     if DOSEMU won't boot properly, such as hanging with a blank screen,
#     beeping, leaving Linux video in a bad state, or the video card 
#     bootup message seems to stick.
#   - Video BIOS shadowing (in your CMOS setup) at C000-CFFF must be disabled. 
#
#     *> CAUTION <*: TURN OFF VIDEO BIOS SHADOWING BEFORE ENABLING GRAPHICS!
#                    This is not always necessary, but a word to the wise
#                    shall be sufficient.
#
#   - If you have a dual-monitor configuration (e.g. MDA as second display),
#     you then may run CAD programs on 2 displays or let play your debugger
#     on the MDA while debugging a graphics program on the VGA (e.g TD -do ).
#     You also may switch to the MDA display by using the DOS command
#     mode mono (mode co80 returns to your normal display).
#     This feature can be enabled by the switch "dualmon" like this:
#       video { vga  console  graphics dualmon }
#     and can be used on a xterm and the console, but of course not, if you
#     have the MDA as your primary display. 
#     You also must set USE_DUALMON 1 in include/video.h.
#     NOTE: Make sure no more then one process is using this feature !
#           ( you will get funny garbage on your MDA display. ) 
#           Also, you must NOT have the dualmon-patches for kernel applied
#           ( having the MDA as Linux console ) 
#        
#   It may be necessary to set this to "on" if DOSEMU can't boot up properly
#   on your system when it's set "off" and when graphics are enabled.
#   Note: May interfere with serial ports when using certain video boards.
#allowvideoportaccess on
#
#   Any 100% compatible standard VGA card _MAY_ work with this:
#video { vga  console  graphics }
#
#   If your VGA-BIOS is at segment E000, this may work for you:
#video { vga  console  graphics  vbios_seg 0xe000 }
#
#   Trident SVGA with 1 megabyte on board
#video { vga  console  graphics  chipset trident  memsize 1024 }
#
#   Diamond SVGA
#video { vga  console  graphics  chipset diamond }
#
#   ET4000 SVGA card with 1 megabyte on board:
#video { vga  console  graphics  chipset et4000  memsize 1024 }
# or
#video { vga  console  graphics  chipset et4000  memsize 1024 vbios_size 0x8000 }
#
# For ATI graphic mode
#ports { 0x1ce 0x1cf 0x238 0x23b 0x23c 0x23f 0x9ae8 0x9ae9 0x9aee 0x9aef }
#
#   S3-based SVGA video card with 1 megabyte on board:
video { vga  console  graphics  chipset s3  memsize 2048 }


#************************** MISCELLANEOUS **********************************
#
# QuickStart:
#    For "mathco", set this to "on" to enable the coprocessor during DOSEMU.
#    This really only has an effect on kernels prior to 1.0.3.
#    For "cpu", set this to the CPU you want recognized during DOSEMU.
#    For "bootA"/"bootC", set this to the bootup drive you want to use.
#    It is strongly recommended you start with "bootA" to get DOSEMU
#    going, and during configuration of DOSEMU to recognize hard disks.
#
mathco on           # Math coprocessor valid values:  on  off
cpu 80486           # CPU emulation valid values:  80286  80386  80486
bootC               # Startup drive valid values:  bootA  bootC


#*********************** MEMORY ******************************************
#
# QuickStart:
#    These are memory parameters, stated in number of kilobytes.
#    If you get lots of disk swapping while DOSEMU runs, you should 
#    reduce these values.  Also, DPMI is still somewhat unstable,
#    (as of early April 1994) so be careful with DPMI parameters.
#
#    For ems, you now can set the frame to any 16K between 0xc800..0xe000
#
#    If you have adapters, which have memory mapped IO, you may now
#    map those regions with hardware_ram { .. }. You can only map in
#    entities of 4k, you give the address, not the segment.
#
#    umb_max is a new parameter which tells DOSEMU to be more aggressive
#    about finding upper memory blocks.  The default is 'off'.
#
 
#umb_max on	       # be more aggressive about finding XMS UMB blocks

dpmi 4096              # DPMI size in K, or "off"
xms 4096	       # XMS size in K,  or "off"
ems off		       # EMS size in K,  or "off"
#ems { ems_size 1024 ems_frame 0xe000 }
#ems { ems_size 2048 ems_frame 0xd000 }

#hardware_ram { 0xc8000 range 0xcc000 0xcffff }
			# maps 0xc8000..0xc8fff and 0xcc000..0xcffff

#dosmem 640		# Maximum conventional RAM to show apps

#*********************** IRQ ******************************************
#
# QuickStart:
#    These are parameters needed for SIG, the Silly Interrupt Generator.
#    To use this feature, you also must have the emumodule.o driver
#    loaded. For more details see emumod/README.emumod.
#
#    The sillyint statement accepts IRQ values between 3..15,
#    if using the { .. } syntax each value or range can be prefixed
#    by the keyword use_sigio to monitor the IRQ via SIGIO. 
#    If this is missing the IRQ is monitored by SIGALRM. 
#

sillyint off    # this disables IRQ monitoring
#sillyint 15
#sillyint { 15 }
#sillyint { use_sigio 15 }
#sillyint { 10  use_sigio range 3 5 }


#********************** PORT ACCESS **************************************
#
# !!WARNING!!: GIVING ACCESS TO PORTS IS BOTH A SECURITY CONCERN AND
# SOME PORTS ARE DANGEROUS TO USE.  PLEASE SKIP THIS SECTION, AND 
# DON'T FIDDLE WITH THIS SECTION UNLESS YOU KNOW WHAT YOU'RE DOING.
#
# ports { 0x388 0x389 }  # for SimEarth
# ports { 0x21e 0x22e 0x23e 0x24e 0x25e 0x26e 0x27e 0x28e 0x29e } # for jill
 

#******************* SPEAKER *********************************************
# 
# These keywords are allowable on the "speaker" line:
#   native      Enable DOSEMU direct access to the speaker ports.
#   emulated    Enable simple beeps at the terminal.
#   off         Disable speaker emulation.
#
speaker native         # or "off" or "emulated"


#******************* HARD DISKS ******************************************
#
# !!WARNING!!: DAMAGE MIGHT RESULT TO YOUR HARD DISK (LINUX AND/OR DOS)
# IF YOU FIDDLE WITH THIS SECTION WITHOUT KNOWING WHAT YOU'RE DOING!
#
# QuickStart:
#    The best way to get started is to start with a boot floppy, and set
#    "bootA" above in the configuration.  Keep using the boot floppy 
#    while you are setting this hard disk configuration up for DOSEMU,
#    and testing by using DIR C: or something like that.
#    If you want DOSEMU to be able to access a DOS partition, the 
#    safer type of access is "partition" access, because "wholedisk" 
#    access gives DOSEMU write access to a whole physical disk, 
#    including any vulnerable Linux partitions on that drive!
#
#    !!! IMPORTANT !!!
#    You must not have LILO installed on the partition for dosemu to boot off. 
#    As of 04/26/94, doublespace and stacker 3.1 will work with wholedisk 
#    or partition only access.  Stacker 4.0 has been reported to work with
#    wholedisk access.
#
#    Please read the documentation in the "doc" subdirectory for info
#    on how to set up access to real hard disk.
#
#    "image" specifies a hard disk image file.
#    "partition" specifies partition access, with device and partition number.
#    "wholedisk" specifies full access to entire hard drive.
#    "readonly" for read only access.  A good idea to set up with.
#    "bootfile" to specify an image of a boot sector to boot from.
#
#disk { image "/var/lib/dosemu/hdimage" }      # use diskimage file.
#disk { partition "/dev/hda2" readonly }       # 1st partition on 1st IDE.
#disk { partition "/dev/hda1" bootfile "/var/lib/bootsect.dos" }
                                               # 1st partition on 1st IDE
                                               # booting from the specified
                                               # file.
#disk { partition "/dev/hda6" readonly }       # 6th logical partition.
#disk { partition "/dev/sdb1" readonly }       # 1st partition on 2nd SCSI.
#disk { wholedisk "/dev/hda" }                 # Entire disk drive unit
#
disk { partition "/dev/hda1" }


#******************* DOSEMU BOOT *******************************************
#
#    Use the following option to boot from the specified file, and then
#    once booted, have bootoff execute in autoexec.bat. Thanks Ted :-).
#    Notice it follows a typical floppy spec. To create this file use
#    dd if=/dev/fd0 of=/var/lib/dosemu/bdisk bs=16k
#
#bootdisk { heads 2 sectors 18 tracks 80 threeinch file /var/lib/dosemu/bdisk }
#
#    Specify extensions for the CONFIG and AUTOEXEC files.  If the below
#    are uncommented, the extensions become CONFIG.EMU and AUTOEXEC.EMU.
#    NOTE: this feature may affect file naming even after boot time.
#    If you use MSDOS 6+, you may want to use a CONFIG.SYS menu instead. 
#
#EmuSys EMU
#EmuBat EMU


#******************* FLOPPY DISKS ****************************************
#
# QuickStart:
#    This part is fairly easy.  Make sure that the first (/dev/fd0) and
#    second (/dev/fd1) floppy drives are of the correct size, "threeinch"
#    and/or "fiveinch".  A floppy disk image can be used instead, however.
#
#    FOR SAFETY, UNMOUNT ALL FLOPPY DRIVES FROM YOUR FILESYSTEM BEFORE 
#    STARTING UP DOSEMU!  DAMAGE TO THE FLOPPY MAY RESULT OTHERWISE!
#
floppy { device /dev/fd0 threeinch }  
# floppy { device /dev/fd1 fiveinch }  
#floppy { heads 2  sectors 18  tracks 80  
#         threeinch  file /var/lib/dosemu/diskimage }
#
#    If floppy disk speed is very important, uncomment the following
#    line.  However, this makes the floppy drive a bit unstable.  This 
#    is best used if the floppies are write-protected.
#    Use an integer value to set the time between floppy updates.
#
#FastFloppy 8


#******************* PRINTERS ********************************************
#
# QuickStart:
#    Printer is emulated by piping printer data to a file or via a unix
#    command such as "lpr".  Don't bother fiddling with this configuration
#    until you've got DOSEMU up and running already.
#
#    NOTE: Printers are assigned to LPT1:, LPT2:, and LPT3: on a one for
#    one basis with each line below.  The first printer line is assigned
#    to LPT1:, second to LPT2:, and third to LPT3:.  If you do not specify
#    a base port, the emulator will setup the bios to report 0x378, 0x278,
#    and 0x3bc for LPT1:, LPT2:, and LPT3: respectively.
#
#    To use standard unix lpr command for printing use this line:
#
#printer { options "%s"  command "lpr"  timeout 20 }
#
#    And for any special options like using pr to format files,
#    add it to the options parameter:
#
#printer { options "-p %s"  command "lpr"  timeout 10 }    # pr format it
#
#    To just have your printer output end up in a file, use the following line:
#
#printer { file "lpt3" }
#
#    If you have a DOS application that is looking to access the printer
#    port directly, and uses the bios LPT: setting to find out the port to use, 
#    you can modify the base port the bios will report with the following:
#
#printer { options "%s"  command "lpr"  base 0x3bc }
#
#    Be sure to also add a port line to allow the application access to
#    the port:
#
#ports { 0x3bc 0x3bd 0x3be }
#
#    NOTE: applications that require this will not interfere with applications
#    that continue to use the standard bios calls.  These applications will
#    continue to send the output piped to the file or unix command.
#
printer { options "-Praw %s"  command "lpr"  base 0x378 }
#
#    Be sure to also add a port line to allow the application access to
#    the port:
#
#ports { 0x3bc 0x3bd 0x3be }
#ports { 0x3b8 0x3b9 0x3ba 0x3bb 0x3bc 0x3bd 0x3be 0x3bf } # lpt0
ports  { 0x378 0x379 0x37a 0x37b 0x37c 0x37d 0x37e 0x37f } # lpt1
#ports { 0x278 0x279 0x27a 0x27b 0x27c 0x27d 0x27e 0x27f } # lpt2

#******************* SOUND ***********************************************
#
# This is likely to be very broken at the moment. 8-(
#
# sb_base 	- base address of the SB (HEX)
# sb_irq	- IRQ for the SB
# sb_dma	- DMA channel for the SB
# sb_dsp	- Path the sound device
# sb_mixer	- path to the mixer control
# mpu_base	- base address for the MPU-401 chip (HEX) (Not Implemented)
#

# Linux defaults
#sound_emu { sb_base 0x220 sb_irq 5 sb_dma 1 sb_dsp /dev/dsp sb_mixer /dev/mixer mpu_base 0x330 }
# NetBSD defaults
#sound_emu { sb_base 0x220 sb_irq 5 sb_dma 1 sb_dsp /dev/sound sb_mixer /dev/mixer mpu_base 0x330 }
