[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: DOSEMU



On 31 Jan 2000, Helmut Hullen wrote:

> 
> Stefan Koehler hat dazu vor wenigen Tagen eine Anleitung in die Linux- 
> ger gesetzt:
ich hab sie leider nicht. kannst Du mir sie mir bitte zuschicken?

> 
> Absender   : stk_bEi_warlock.kbbs.org  (Stefan Koehler)
> 
> nachdem ich hier berichtet hatte, dass XP 3.12 bei mir im DOSEmu voellig
> reibungslos laeuft, haben etliche Leute nachgefragt. Ich stelle Euch also
> hier einmal mein Setup vor:
> 
> ==== Vorweg meine Technik:
> 
> Pentium P100, 2 IDE-Festplatten, Grafikkarte Spea V7 S3, 48 MB RAM.
> Die primaere Bootpartition fuer DOS und Win95 ist C: = /dev/hda1, XP lebt auf
> F: = /dev/hda6.
> Die DOS-Programme fuer den EMU aus /var/lib/dosemu/commands liegen in
> C:\EMUUTILS, das auch im DOS-Pfad eingetragen ist.
> Uebliches Modem an COM2, UUCP-Verbindung mit XP zu meiner Mailbox.
> SuSE 6.1 mit allerdings neuerer DOSEmu-Version 0.98.8.0, die ich stabiler
> finde als die auf der SusSE CD.
> Sound und CD sind unter DOS nicht konfiguriert. An den Einstellungen fuer X
> habe ich nicht gedreht, die sind so noch unveraendert.
> 
> 
> ==== 1. ====
> 
> Hier meine /etc/dosemu.conf:
> 
> ############################################################################
> ##
> # This file is /etc/dosemu.conf, included by /var/lib/dosemu/global.conf
> #
> # Linux DOSEMU configuration  for parser versions >= 3 (dosemu-0.97.0.1)
> #
> # ./doc/README.txt (chapter 2.) contains a description of the syntax
> # and the usage of dosemu.conf.
> #
> #
> # Access rights are defined in
> #
> #      /etc/dosemu.users
> #
> ##############################################################################
> 
> 
> 
> # Notes for editing this section:
> #
> #   In    $_xxx = (n)    n is a numerical or boolean value
> #                  =     =
> #   In    $_zzz = "s"    s is a string
> #
> # Please edit only beteen the brakets and quotes and keep the rest intact.
> #        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
> 
> $_debug = "-a"          # same format as -D commandline option
>                         # (but without the -D in front)
> $_features= ""          # list of temporary hacks, see release notes in
>                         # the file ChangeLog. e.g "0:1 2:0", which means
>                         # to set feature_0 to 1 and feature_2 to 0.
> $_timint = (on)         # emulate INT08 type timer interrupts
> $_mathco = (on)         # or off
> $_cpu = (80586)         # CPU emulation, valid values:  80[345]86
> 
> $_rdtsc = (on)          # if possible use Pentium cycle counter
> $_cpuspeed = (0)        # 0 = calibrated by dosemu, else given (e.g.166.666)
> $_pci = (off)
> 
> $_xms = (1024)          # in Kbyte
> $_ems = (1024)          # in Kbyte
> $_ems_frame = (0xe000)
> $_dpmi = (off)          # in Kbyte
> $_dosmem = (640)        # in Kbyte, < 640
> $_hardware_ram = ""     # list of segment values/ranges such as
>                         # "0xc8000 range 0xcc000,0xcffff"
> 
> $_secure ="ngd"         # secure for: n (normal users), g (guest), d (dexe)
>                         # empty string: depending on 'restricted'
>                         # "0": always insecure (not recommended)
> $_odd_hosts = ""        # black list such as "lucifer.hell.com billy.the.cat"
> $_diskless_hosts=""     # black list such as "hacker1 newbee gateway1"
> 
> $_emusys = "emu"        # empty or 3 char., config.sys   -> config.XXX
> $_emubat = "emu"        # empty or 3 char., autoexec.bat -> autoexec.XXX
> $_emuini = ""           # empty or 3 char., system.ini   -> system.XXX
> 
> $_hogthreshold = (1)    # 0 == all CPU power to DOSEMU
> $_irqpassing = ""       # list of IRQ number (2-15) to pass to DOS such as
>                         # "3 8 10"
> $_speaker = "native"    # or "native" or "emulated"
> 
> 
> $_term_char_set = "ibm" # Global code page and character set selection.
>                         # "" == automatic, else: ibm, latin, latin1, latin2
> 
> $_term_color = (on)     # terminal with color support
> $_term_updfreq = (4)    # time between refreshs (units: 20 == 1 second)
> $_escchar = (30)        # 30 == Ctrl-^, special-sequence prefix
> 
> $_rawkeyboard = (1)     # bypass normal keyboard input, maybe dangerous
> $_layout = "de-latin1"  # one of: finnish(-latin1), de(-latin1), be, it, us
>                         # uk, dk(-latin1), keyb-no, no-latin1, dvorak, po
>                         # sg(-latin1), fr(-latin1), sf(-latin1), es(-latin1)
>                         # sw, hu(-latin2), hu-cwi, keyb-user
>                         # hr-cp852, hr-latin2, cz-qwerty, cz-qwertz.
>                         # Or 'auto' (which tries to generate the table from
>                         # the current Linux console settings)
> $_keybint = (on)        # emulate PCish keyboard interrupt
> 
> 
> $_X_updfreq = (5)       # time between refreshs (units: 20 == 1 second)
> $_X_title = "DOS in a BOX"      # Title in the top bar of the window
> $_X_icon_name = "xdos"  # Text for icon, when minimized
> $_X_keycode = (auto)    # on == translate keybord via dosemu keytables
>                         # or 'off' or 'auto'
> $_X_blinkrate = (8)     # blink rate for the cursor
> $_X_font = ""           # basename from /usr/X11R6/lib/X11/fonts/misc/*
>                         # (without extension) e.g. "vga"
> $_X_mitshm = (on)       # Use shared memory extensions
> $_X_sharecmap = (off)   # share the colormap with other applications
> $_X_fixed_aspect = (on) # Set fixed aspect for resize the graphics window
> $_X_aspect_43 = (on)    # Always use an aspect ratio of 4:3 for graphics
> $_X_lin_filt = (off)    # Use linear filtering for >15 bpp interpolation
> $_X_bilin_filt = (off)  # Use bi-linear filtering for >15 bpp interpolation
> $_X_mode13fact = (2)    # initial size factor for video mode 0x13 (320x200)
> $_X_winsize = ""        # "x,y" of initial windows size (defaults to float)
> $_X_gamma = (1.0)       # gamma correction
> $_X_vgaemu_memsize = (1024) # size (in Kbytes) of the frame buffer for emulated
> vga
> $_X_lfb = (on)          # use linear frame buffer in VESA modes
> $_X_pm_interface = (on) # use protected mode interface for VESA modes
> $_X_mgrab_key = ""      # KeySym name to activate mouse grab, empty == off
> $_X_vesamode = ""       # "xres,yres ... xres,yres"
>                         # List of vesamodes to add. The list has to contain
>                         # SPACE separated "xres,yres" pairs
> 
> 
> 
> $_video = "vga"         # one of: plainvga, vga, ega, mda, mga, cga
> $_console = (0)         # use 'console' video
> $_graphics = (1)        # use the cards BIOS to set graphics
> $_videoportaccess = (1) # allow videoportaccess when 'graphics' enabled
> $_vbios_seg = (0xc000)  # set the address of your VBIOS (e.g. 0xe000)
> $_vbios_size = (0x10000)# set the size of your BIOS (e.g. 0x8000)
> $_vmemsize = (1024)     # size of regen buffer
> $_chipset = "s3"        # one of: plainvga, trident, et4000, diamond, avance
>                         # cirrus, matrox, wdvga, paradise, ati, s3
> $_dualmon = (0)         # if you have one vga _plus_ one hgc (2 monitors)
> 
> 
> $_vbootfloppy = ""      # if you want to boot from a virtual floppy:
>                         # file name of the floppy image under /var/lib/dosemu
>                         # e.g. "floppyimage" disables $_hdimage
>                         #      "floppyimage +hd" does _not_ disable $_hdimage
> $_floppy_a ="threeinch" # or "fiveinch" or "atapi" or empty, if not existing
>                         # optionally the device may be appended such as
>                         # "threeinch:/dev/fd0"
> $_floppy_b = "fiveinch" # dito for B:
> 
> $_hdimage = "/dev/hda1" # list of hdimages under /var/lib/dosemu
>                         # assigned in this order such as
>                         # "hdimage_c hdimage_d hdimage_e"
>                         # If the name begins with '/dev/', then partion
>                         # access is done instead of virtual hdimage such as
>                         # "/dev/hda1" or "/dev/hda1:ro" for readonly
>                         # Currently mounted devices and swap are refused.
>                         # Hdimages and devices may be mixed such as
>                         # "hdimage_c /dev/hda1 /dev/hda3:ro"
>                         # Note: 'wholedisk' is _not_ supported.
> $_hdimage_r = $_hdimage # hdimages for 'restricted access (if different)
> 
> $_aspi = ""             # list of generic SCSI devices to make available
>                         # for the builtin aspi driver (format of an entry
>                         # is 'device:type:mappedtarget' such as
>                         # "sg2:WORM sg3:Sequential-Access:6 sg4:CD-ROM" or
>                         # "sg2:4 sg3:1:6 sg4:5" (which are equal)
> 
> $_com1 = ""             # e.g. "/dev/mouse" or "/dev/cua0"
> $_com2 = "/dev/modem"   # e.g. "/dev/modem" or "/dev/cua1"
> $_com3 = ""             # dito                 "/dev/cua2"
> $_com4 = ""             # dito                 "/dev/cua3"
> $_ttylocks = "/var/lock" # Lock directory (e.g. "/var/lock")
>                         # default ("") is /usr/spool/uucp
> 
> $_mouse = "microsoft"   # one of: microsoft, mousesystems, logitech, mmseries
>                         # mouseman, hitachi, busmouse, ps2
> $_mouse_dev = "/dev/mouse"      # one of: com1, com2, com3, com4 or /dev/mouse
> $_mouse_flags = ""      # list of none or one or more of:
>                         # "emulate3buttons cleardtr"
> $_mouse_baud = (0)      # baudrate, 0 == don't set
> 
> $_printer = "lp"        # list of (/etc/printcap) printer names to appear as
>                         # LPT1, LPT2, LPT3 (not all are needed, empty for none)
> $_printer_timeout = (20)# idle time in seconds before spooling out
> 
> $_ports = ""            # list of portnumbers such as "0x1ce 0x1cf 0x238"
>                         # or "0x1ce range 0x280,0x29f 310"
>                         # or "range 0x1a0,(0x1a0+15)"
> 
> $_ipxsupport = (off)    # or on
> $_novell_hack = (off)
> $_vnet = (off)          # 'on' for packet-multi (used by dosnet)
> 
> $_sound = (off)         # sound support on/off
> $_sb_base = (0x220)
> $_sb_irq = (5)
> $_sb_dma = (1)
> $_sb_dsp = "/dev/dsp"
> $_sb_mixer = "/dev/mixer"
> $_mpu_base = "0x330"
> 
> 
> 
> ==== 2. ====
> 
> Den EMU starte ich mit folgendem Skript dosxp (der user muss natuerlich die
> DOS-Filesystems mounten duerfen):
> 
> umount /dosc
> mount -t vfat /dev/hda6 /dosf
> dos
> mount /dosc
> 
> Dies ist so noetig, weil C: bei mir beim Linux-Boot automatisch gemountet
> wird. Wenn man aber als $_hdimage kein disk image, sondern direkt /dev/hdxx
> eintraegt, darf die betreffende Partition fuer EMU nicht gemountet sein, daher
> wird sie hier vor dem EMU-Start umounted und hinterher wieder gemountet.
> /dosc bzw. /dosf sind die mountpoints der jeweiligen DOS-Partitionen.
> Fuer den nachher (4.) folgenden lredir-Aufruf (noetig, weil XP auf einer
> anderen Partition als C: liegt) muss F: unter Linux gemountet sein.
> 
> 
> ==== 3. ====
> 
> 
> Fuer den DOS-Start im EMU bestehen nun folgende DOS-Dateien in C:\ :
> 
> ==autoexec.emu:
> 
> _bEi_ECHO OFF
> PROMPT DOSEMU $p$g$g
> SET GDC=C:\SPEA\GDC
> rem Das ist der Pfad fuer meine Grafikkarte
> SET PATH=%PATH%;EINIGES-MEHR;C:\EMUUTILS
> doskey
> 
> 
> ==config.emu:
> 
> device=c:\windows\ramdrive.sys 1000 /e
> rem  Im Moment startet hier nur eine RAMdisk.
> 
> 
> ==== 4. ====
> 
> 
> Nun sollte man am DOS-Prompt angekommen sein. Ich starte XP mit folgender
> 
>  XPEMU.BAT in C:\
> 
> c:\emuutils\lredir f: linux\fs\/dosf
> f:
> cd xp
> xp
> 
> 
> D.h., der Weg vom Linux-Prompt ist:
> 
> LINUX: ./dosxp
> [nun sollte der DOS-Prompt erreicht sein ]
> im DOSEMU  XPEMU
>  ... fertig.
> XP normal verlassen, und das Programm EXITEMU in C:\emuutils beendet dann
> den EMU.
> 
> 
> Eigentlich ist das alles gar nicht so kompliziert, wie es klingt. Sehr
> geholfen hat mir, auf hdimages zu verzichten und als $_hdimage direkt die
> DOS-Boot-Partition einzutragen. Auf diese Partition sollte dann aber nur der
> EMU schreiben. Noch viel einfacher duerfte es sein, wenn XP auf der DOS-Boot-
> Partition liegt, dann braucht man den lredir-Umweg nicht.
> 
> Ich hoffe, ich habe einigen etwas weitergeholfen.
> 
> Viele Gruesse, have fun -
> 
> Stefan
> ---------------------- Ende Zitat --------------
> 
> Viele Gruesse!
> Helmut
> 
> 

-------------------------------------------------------

tel : 089 693 75 214
homepage: http://www.suse.de/~thr/