Bonsoir.
Quelqu'un aurait-il la patience de m'expliquer commment configurer
DosEmu ? malgr� les doc, je n'y arrive pas. (ci-joint dosemu.conf et
global.conf - je crois que les pb viennent de ce dernier).
J'aimerais, aussi, faire fonctionner quelques programes Windoze
(Twain,olifax/voix), donc installer un �mulateur. lequel est le
mieux ? wine ou twine ?
Wine est install� par Mandrake. Comment le configurer (avec hda4 comme
disque C, sans installation M$) et y installer mes programes ?
Merci.
##############################################################################
# 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)
$_timint = (on) # emulate INT08 type timer interrupts
$_mathco = (on) # or off
$_cpu = (80486) # CPU emulation, valid values: 80[345]86
$_rdtsc = (on) # if possible use Pentium cycle counter
$_cpuspeed = (90) # 0 = calibrated by dosemu, else given (e.g.166.666)
$_pci = (on)
$_xms = (4096) # 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 = "" # empty or 3 char., config.sys -> config.XXX
$_emubat = "" # 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 = "3 7" # list of IRQ number (2-15) to pass to DOS such as
# "3 8 10"
$_speaker = "native" # or "native"or "emulated"
$_term_char_set = "latin1"# 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 = (0) # bypass normal keyboard input, maybe dangerous
$_layout = "fr" # 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
$_keybint = (on) # emulate PCish keyboard interrupt
$_X_updfreq = (2) # 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 = (off) # on == translate keybord via dosemu keytables
$_X_blinkrate = (8) # blink rate for the cursor
$_X_font = "vga" # 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 emulatedvga
$_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 = "800,600 640,480" # "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 = "cirrus" # one of: plainvga, trident, et4000, diamond,avance
# cirrus, matrox, wdvga, paradise
$_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 empty, if not existing
$_floppy_b = "" # dito for B:
$_hdimage = "/dev/hda4 /dev/hda5:ro"
# list of hdimages under /var/lib/dosemu
# assigned inthis 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)
$_com1 = "" # e.g. "/dev/mouse" or "/dev/cua0"
$_com2 = "/dev/cua1" # e.g. "/dev/modem" or "/dev/cua1"
$_com3 = "" # dito "/dev/cua2"
$_com4 = "" # dito "/dev/cua3"
$_ttylocks = "" # 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 = "com1" # one of: com1, com2, com3, com4 or /dev/mouse
$_mouse_flags = "" # list of none or one or more of:
# "emulate3buttons cleardtr"
$_mouse_baud = (1200) # baudrate, 0 == don't set
$_printer = "" # list of (/etc/printcap) printer names to appear as
# LPT1, LPT2, LPT3 (not all are needed, empty for none)
$_printer_timeout = (10)# idle time in seconds before spooling out
$_ports = "0x340" # 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 = (on) # sound support on/off
$_sb_base = (0x220)
$_sb_irq = (5)
$_sb_dma = (1)
$_sb_dsp = "/dev/dsp"
$_sb_mixer = "/dev/mixer"
$_mpu_base = "0x330"
##############################################################################
# This file is global.conf, it is _allways_ executed as part of the inititial
# configuration.
#
# Linux dosemu configuration for parser versions >= 3 (dosemu-0.97.0.1)
#
# ./doc/README-tech.txt (chapter 2.) contains a description of the syntax
# and the usage. However, you normal won't edit this file !!
#
# NOTES:
#
# 1. The file /etc/dosemu.conf (and optionally ~/.dosemurc) contains variable
# settings, that are included by /var/lib/dosemu/global.conf for doing the
# most reasonable configuration.
# The file /etc/dosemu.conf (and optionally ~/.dosemurc) is what gets
# updated by the menu driven 'setup-dosemu' tool.
#
# 2. We strongly recommend you to edit ONLY /etc/dosemu.conf.
# If you change /var/lib/dosemu/global.conf, you are at your own and
# could break 'setup-dosemu'. You really need to know a lot of DOSEMU
# internals before you fiddle with editing global.conf.
# However, some very special cases can only be handled in global.conf.
#
# 3. The file global.conf (this one) must either
# - be in /var/lib/dosemu (the default, changeable via dosemu.users)
# - or given via -F option (from root login, else only on
# non-suid-root DOSEMU)
# - or be in $HOME/.dosemu/lib.
#
# For the latter there must be given the following conditions:
# - in /etc/dosemu.user give the keyword 'private_setup' for this user
# - DOSEMU _must_ be non-suid-root, except for user root or if you
# give the keyword 'unrestricted' in addition to 'private_setup'.
#
# This file (global.conf) may also serve as an example file for
# .dosrc ( old style user configuration file )
# option -I ( configuration via commandline, see man/dos.1 )
#
# Access rights are defined in
#
# /etc/dosemu.users
#
##############################################################################
ifdef u_forceold
undef parser_version_3
define version_3_style_used
endif
ifndef parser_version_3
# normally won't come here, because older DOSEMUs don't use this file
# ... but if using -F option ...
include "/etc/dosemu.conf"
else
# we are on version 3 parser
# for security reason we restrict the PATH and restore it later
# to its original value
$_DOSEMU_ORIG_PATH = $PATH
$PATH = "/usr/local/bin:/usr/bin:/bin"
## we set some vital variable
if (!strlen($DOSEMU_LIB_DIR))
# be sure, because older DOSEMU won't set this
$DOSEMU_LIB_DIR = "/var/lib/dosemu";
$DOSEMU_CONF_DIR = "/etc";
endif
$CONFIG_VERSION = ( (0 << 24) | (97 << 16) | (2 << 8) | 0)
# ^ ^^ ^ ^
if ( $DOSEMU_VERSION_CODE < $CONFIG_VERSION )
abort "
*** sorry, your ", $DOSEMU_LIB_DIR, "/global.conf doesn't match this dosemu version
"
endif
$LIST_DELIM = " , " #delimiters for lists <tab>, blank, comma
# we include the global settings from /etc/dosemu.conf
shell("test -f ", $DOSEMU_CONF_DIR, "/dosemu.conf")
if ( $DOSEMU_SHELL_RETURN)
abort "
*** error: ", $DOSEMU_CONF_DIR, "/dosemu.conf not accessable
... giving up.
"
endif
undef version_3_style_used # unset it to have a valid check below
$xxx = 'include "', $DOSEMU_CONF_DIR, '/dosemu.conf"';
$$xxx;
ifndef version_3_style_used
abort "
*** Your ", $DOSEMU_CONF_DIR, "/dosemu.conf is obviously an old style or a too simple
one.
Please read Quickstart and README.txt on how to upgrade.
"
endif
## we check if we have an ${HOME}/.dosemurc (given by $DOSEMU_RC),
## if yes, we include it here 'under user scope', which means it has
## all c_* classes undefined and can only change enviroment variables in
## its own isolated name space (prefixed with 'dosemu_').
## We later take over only such variables, that we allow.
$_dosemurc = $DOSEMU_RC # we get that passed from 'parse_config()'
shell("test -f ", $_dosemurc)
if ( (!$DOSEMU_SHELL_RETURN) && ($DOSEMU_VERSION_CODE >= ( ((97 << 16) | (4 << 8) |
3))))
# we have a .dosemurc and can include
$_dosemurc = ' include "', $_dosemurc, '"';
enter_user_scope;
$$_dosemurc;
leave_user_scope;
define skip_dosrc;
## now we take over the allowed variables, only those which exist
## with 'dosemu_' prefixed will overwrite those without the prefix.
checkuservar $_debug,
$_timint, $_mathco, $_cpu, $_pci, $_xms, $_ems, $_ems_frame,
$_emusys, $_emubat, $_emuini
checkuservar
$_term_char_set, $_term_color, $_term_updfreq, $_escchar, $_layout,
$_keybint
checkuservar
$_X_updfreq, $_X_title, $_X_icon_name, $_X_keycode, $_X_blinkrate,
$_X_font, $_X_mitshm, $_X_sharecmap, $_X_fixed_aspect, $_X_aspect_43,
$_X_lin_filt, $_X_bilin_filt, $_X_mode13fact, $_X_winsize, $_X_gamma,
$_X_vgaemu_memsize, $_X_lfb, $_X_pm_interface, $_X_mgrab_key, $_X_vesamode
ifdef guest
define restricted
else
checkuservar
$_speaker,
$_com1, $_com2, $_com3, $_com4, $_mouse, $_mouse_dev, $_mouse_flags,
$_mouse_baud,
$_printer, $_printer_timeout, $_ports,
$_ipxsupport, $_novell_hack, $_vnet,
$_sound, $_sb_base, $_sb_irq, $_sb_dma, $_sb_dsp, $_sb_mixer, $_mpu_base
endif
ifndef restricted
checkuservar $_hogthreshold, $_dpmi, $_vbootfloppy, $_hdimage, $_ttylocks
endif
endif
## end of .dosemurc inclusion
if (strlen($_debug))
debug $__debug ;
else
debug { off }
endif
if ($_cpuspeed) cpuspeed $_cpuspeed endif
if (!$_rdtsc) rdtsc off endif
pci $_pci
dosbanner on
timint $_timint
mathco $_mathco
cpu $_cpu
xms $_xms
if ($_ems) ems { ems_size $_ems ems_frame $_ems_frame } else ems off endif
dosmem $_dosmem
if ($_emusys ne "") emusys $_emusys endif
if ($_emubat ne "") emubat $_emubat endif
if ($_emuini ne "") emuini $_emuini endif
$DISABLE_MOUSE = (0)
$DISABLE_SERIAL = (0)
## terminal stuff, we check a lot to insure proper operation
$BEING_ON = ""
$USING_X = (0)
$REMOTE_HOST = ""
$xxx = shell("who am i")
if ( strlen($xxx) && (strchr($xxx, "(" ) < 0 ))
$BEING_ON = "console"
else
if (strstr($xxx, "(:") < 0)
$BEING_ON = "remote"
$REMOTE_HOST = strsplit($xxx, strchr($xxx,"(")+1,99)
$REMOTE_HOST = strdel($REMOTE_HOST, strchr($REMOTE_HOST,")"),99)
else
$BEING_ON = ""
endif
if ( (strchr($DOSEMU_OPTIONS,"X") >=0) && ($DISPLAY ne "") )
$USING_X = (1)
endif
if (strstr("xterm dtterm", $TERM) >= 0)
$BEING_ON = $BEING_ON, "_xterm"
else
if (strstr("linux console", $TERM) < 0)
# remote side must be some type of real terminal
$BEING_ON = $BEING_ON, "_terminal"
else
# remote side is a Linux console
$BEING_ON = $BEING_ON, "_console"
endif
endif
endif
warn "dosemu running on ", $BEING_ON;
$xxx = $_term_char_set
if ($xxx eq "")
$xxx = "latin"
if (strstr($BEING_ON, "_console") >= 0)
$xxx = "ibm"
endif
endif
if ( ($BEING_ON ne "console") && (!$USING_X) )
$DISABLE_MOUSE = (1)
if ($_term_color) $_term_color = "on" else $_term_color = "off" endif
terminal { charset $$xxx updatefreq $_term_updfreq escchar $_escchar
color $$_term_color }
endif
if ( $DOSEMU_VERSION_CODE >= ( (97 << 16) | (10 << 8) | 5) )
charset $$xxx
endif
## host checking. Naah, we won't let all in ;-)
## first: logged in hosts
if (strlen($REMOTE_HOST) && strlen($_odd_hosts))
foreach $xxx ($LIST_DELIM,$_odd_hosts)
if ( ! strncmp($xxx, $REMOTE_HOST, strlen($REMOTE_HOST)))
abort "Sorry, your host is on the blacklist"
endif
done
endif
## second: hosts on diskless machines, that aren't allowed
if (strlen($_diskless_hosts))
foreach $xxx ($LIST_DELIM, $_diskless_hosts)
if ( ! strncmp($xxx, $DOSEMU_HOST, strlen($DOSEMU_HOST)))
abort "Sorry, your host is on the blacklist"
endif
done
endif
## X param settings
if ( $USING_X || (strchr($DOSEMU_OPTIONS,"L") >0) )
# running as xdos or DEXE (which may force X later)
if ($_X_keycode) $_X_keycode = "keycode" else $_X_keycode = "" endif
if ($_X_sharecmap) $_X_sharecmap = "sharecmap" else $_X_sharecmap = "" endif
if ($_X_aspect_43) $_X_aspect_43 = "aspect_43" else $_X_aspect_43 = "" endif
if ($_X_lin_filt) $_X_lin_filt = "lin_filt" else $_X_lin_filt = "" endif
if ($_X_bilin_filt) $_X_bilin_filt = "bilin_filt" else $_X_bilin_filt = "" endif
if ($_X_mode13fact != 2)
$_X_mode13fact = "mode13fact ", $_X_mode13fact
else
$_X_mode13fact = ""
endif
$_X_gamma = "gamma ", (int($_X_gamma * 100))
if (strlen($_X_font)) $_X_font = "font ", $_X_font endif
if (strlen($_X_winsize))
$xxx = strstr($_X_winsize, ", ")
$_X_winsize = "winsize (", strdel($_X_winsize,$xxx,999), ") , (",
strsplit($_X_winsize,$xxx+1,999), ")"
endif
$xxx = $_X_vesamode
$_X_vesamode = ""
if (strlen($xxx))
foreach $yyy (" ", $xxx)
$zzz = (strchr($yyy,","))
$_X_vesamode = "vesamode (", strdel($yyy,$zzz,999), "),(",
strsplit($yyy,$zzz+1,999), ") "
done
endif
if (strlen($_X_mgrab_key))
$_X_mgrab_key = 'mgrab_key "', $_X_mgrab_key, '"'
endif
X {
title $_X_title icon_name $_X_icon_name
updatefreq $_X_updfreq blinkrate $_X_blinkrate
fixed_aspect $_X_fixed_aspect vgaemu_memsize $_X_vgaemu_memsize
lfb $_X_lfb pm_interface $_X_pm_interface mitshm $_X_mitshm
$$_X_keycode $$_X_sharecmap $$_X_aspect_43 $$_X_lin_filt $$_X_bilin_filt
$$_X_font $$_X_winsize $$_X_gamma
$$_X_vesamode $$_X_mode13fact $$_X_mgrab_key
};
endif
ifdef guest
## /etc/dosemu.users defined 'guest' for this login
define restricted # force restricted setting
$_hogthreshold = (1) # force 'nice'
$_rawkeyboard = (off) # force normal keyboard
if ($BEING_ON eq "console") video { vga } endif
sound_emu off
$DISABLE_MOUSE = (1)
$DISABLE_SERIAL = (1)
else
## other then guest
# video settings
if ($BEING_ON eq "console")
if (!strlen($_video)) $_video = "plainvga" endif
if ($_console) $_console = "console" else $_console = "" endif
if ($_graphics)
$_graphics = "graphics"
$_console = "console"
$_vbios_seg = "vbios_seg ", ($_vbios_seg)
$_vbios_size = "vbios_size ", ($_vbios_size)
$_vmemsize = "memsize ", ($_vmemsize)
if ($_videoportaccess) allowvideoportaccess on endif
else
$_graphics = ""; $_vbios_seg = ""; $_vbios_size = ""; $_vmemsize = ""
endif
if (strlen($_chipset)) $_chipset = "chipset ",$_chipset endif
if ($_dualmon) $_dualmon = "dualmon" else $_dualmon = "" endif
video {
$$_video $$_console $$_graphics $$_chipset
$$_vbios_seg $$_vbios_size $$_vmemsize $$_dualmon
}
endif
## sound settings
if ($_sound)
sound_emu { sb_base $_sb_base sb_irq $_sb_irq sb_dma $_sb_dma
sb_mixer $_sb_mixer mpu_base $_mpu_base }
else
sound_emu off
endif
## serial
if ((!$DISABLE_SERIAL) && strlen($_ttylocks))
ttylocks { directory $_ttylocks }
endif
if ((!$DISABLE_SERIAL) && strlen($_com1))
if ($_mouse_dev eq "com1")
if (!$DISABLE_MOUSE) serial { mouse com 1 device $_com1 } endif
$_mouse = ""
else
serial { com 1 device $_com1 }
endif
endif
if ((!$DISABLE_SERIAL) && strlen($_com2))
if ($_mouse_dev eq "com2")
if (!$DISABLE_MOUSE) serial { mouse com 2 device $_com2 } endif
$_mouse = ""
else
serial { com 2 device $_com2 }
endif
endif
if ((!$DISABLE_SERIAL) && strlen($_com3))
if ($_mouse_dev eq "com3")
if (!$DISABLE_MOUSE) serial { mouse com 3 device $_com3 } endif
$_mouse = ""
else
serial { com 3 device $_com3 }
endif
endif
if ((!$DISABLE_SERIAL) && strlen($_com4))
if ($_mouse_dev eq "com4")
if (!$DISABLE_MOUSE) serial { mouse com 4 device $_com4 } endif
$_mouse = ""
else
serial { com 4 device $_com4 }
endif
endif
## mouse settings
if ((!$DISABLE_MOUSE) && strlen($_mouse) && (strstr($_mouse_dev,"com")<0))
if ($_mouse_baud)
$_mouse_baud = "baudrate ", $_mouse_baud
else
$_mouse_baud = ""
endif
if (strlen($_mouse_dev))
$_mouse_dev = "device ", $_mouse_dev, " internaldriver"
endif
mouse { $$_mouse $$_mouse_dev $$_mouse_flags $$_mouse_baud }
endif
endif # end 'not guest'
hogthreshold $_hogthreshold
## keyboard setting
if ($BEING_ON ne "console") $_rawkeyboard = (off) endif
if ( strstr($_layout, "load") <0 )
# we use the builtin keytables
if (strlen($_layout)) $_layout = "layout ",$_layout
else $_layout = "layout us" endif
keyboard { $$_layout keybint $_keybint rawkeyboard $_rawkeyboard }
else
# we have to load a keytable
$yyy = ""
foreach $xxx ($LIST_DELIM, $_layout)
if ($xxx ne "load")
$yyy = $xxx
endif
done
if (!strlen($yyy))
abort "no keytable name in $_layout"
endif
shell("test -f ", $DOSEMU_LIB_DIR, "/keymap/", $yyy)
if ( $DOSEMU_SHELL_RETURN)
abort "keytable ",$yyy, "not found in ", $DOSEMU_LIB_DIR, "/keymap/*"
endif
$_layout = 'include "keymap/', $yyy, '"' ;
$$_layout
keyboard { keybint $_keybint rawkeyboard $_rawkeyboard }
endif
secure off
$_disks = ""
ifdef restricted
## /etc/dosemu.users defined 'restricted' for this login
if (!strlen($_secure)) secure on endif
define c_normal
if (strchr($_secure,"d")>=0) dexe { secure } endif
ifdef guest
if (strchr($_secure,"g")>=0) secure on endif
else
if (strchr($_secure,"n")>=0) secure on endif
$_disks = $_hdimage_r
endif
if (strchr($_secure,"0")>=0) secure off endif
dpmi off
speaker emulated
ipxsupport off
# printer { options "%s" command "lpr" timeout 20 }
else
## /etc/dosemu.users does allow full access for this login
dexe { allowdisk }
if (!strlen($_vbootfloppy))
bootC
$_disks = $_hdimage
if (strlen($_floppy_a)) floppy { device /dev/fd0 $$_floppy_a } endif
else
bootA
$yyy = ""; $zzz = "";
foreach $xxx ($LIST_DELIM, $_vbootfloppy)
if (strlen($yyy))
$zzz = $xxx
else
$yyy = $xxx
endif
done
$_vbootfloppy = $DOSEMU_LIB_DIR, "/", $yyy
floppy { heads 2 sectors 18 tracks 80 threeinch file $_vbootfloppy }
if (strlen($zzz))
$_disks = $_hdimage
endif
endif
if (strlen($_floppy_b)) floppy { device /dev/fd1 $$_floppy_b } endif
# misc stuff
dpmi $_dpmi
if (strlen($_irqpassing))
foreach $xxx (" ", $_irqpassing)
$xxx = "irqpassing { use_sigio ", $xxx, " }";
$$xxx
done
else
irqpassing off
endif
if (strlen($_hardware_ram))
hardware_ram { $$_hardware_ram }
endif
if (strlen($_speaker))
$_speaker = "speaker ", $_speaker;
$$_speaker
else
speaker off
endif
ipxsupport $_ipxsupport
if ($_novell_hack) pktdriver novell_hack endif
vnet $_vnet
if (strlen($_printer))
foreach $xxx ($LIST_DELIM, $_printer)
$xxx = "'-P", $xxx, " %s'";
printer { options $$xxx command "lpr" timeout $_printer_timeout }
done
endif
if (strlen($_ports)) ports { $$_ports } endif
endif
## setting up hdimages
$_mounted_devices = ""
if (strlen($_disks) && (!defined(c_dexerun)))
foreach $xxx ($LIST_DELIM, $_disks)
if (!strncmp($xxx, "/dev/", 4))
if (!strlen($_mounted_devices))
# we first get all mounted devices
$_mounted_devices = shell(" df | awk '/\dev\//{print $1}' | tr '\n' ' '");
# we try to get the swap device too
$_mounted_devices = $_mounted_devices, shell("awk '!/^\#/ && /\/dev/ &&
/swap/{print $1}' /etc/fstab | tr '\n' ' '");
endif
$yyy = strdel($xxx, strstr($xxx, ":ro"), 999);
$zzz = strsplit($xxx, strstr($xxx, ":ro"), 999);
if (strstr($_mounted_devices, $yyy) <0)
# device not in use
if (strlen($zzz))
disk { partition $yyy readonly };
else
disk { partition $yyy };
endif
else
abort "
*** device ", $yyy, " in use, cannot do partition access
"
endif
else
$xxx = $DOSEMU_LIB_DIR, "/", $xxx
disk { image $xxx }
endif
done
endif
# ... here we are and need disallow 'shell' any further
# so we can restore PATH
$PATH = $_DOSEMU_ORIG_PATH
## define the allowed classes for subsequent .dosrc and -I parsing
ifdef restricted
undef c_all
ifdef guest
undef c_normal
define c_dexe
define c_nice
define c_x
endif
endif
endif
#############################################################################