;;
;; MS-DOS drives configuration
;;
;; Each section has the following format:
;; [Drive X]
;; Path=xxx       (Unix path for drive root)
;; Type=xxx       (supported types are 'floppy', 'hd', 'cdrom' and 'network')
;; Label=xxx      (drive label, at most 11 characters)
;; Serial=xxx     (serial number, 8 characters hexadecimal number)
;; Filesystem=xxx (supported types are 'msdos'/'dos'/'fat', 'win95'/'vfat', 'unix')
;;   This is the FS Wine is supposed to emulate on a certain
;;   directory structure.
;;   Recommended:
;;   - "win95" for ext2fs, VFAT and FAT32
;;   - "msdos" for FAT16 (ugly, upgrading to VFAT driver strongly recommended)
;;   DON'T use "unix" unless you intend to port programs using Winelib !
;; Device=/dev/xx (only if you want to allow raw device access)
;;
[Drive A]
Path=/mnt/fd0
Type=floppy
Label=Floppy
Serial=87654321
Device=/dev/fd0

[Drive C]
Path=/c
Type=hd
Label=MS-DOS
Filesystem=win95

[Drive D]
Path=/cdrom
Type=cdrom
Label=CD-Rom
Filesystem=win95
; make sure that device is correct and has proper permissions !
Device=/dev/cdrom

[Drive E]
Path=/tmp
Type=hd
Label=Tmp Drive
Filesystem=win95

[Drive F]
Path=${HOME}
Type=network
Label=Home
Filesystem=win95

[wine]
Windows=c:\windows
System=c:\windows\system
Temp=e:\
Path=c:\windows;c:\windows\system;e:\;e:\test;f:\
Profile=c:\windows\Profiles\Administrator
GraphicsDriver=x11drv
; Wine doesn't pass directory symlinks to Windows programs by default.
; Enabling this may crash some programs that do recursive lookups of a whole
; subdir tree in case of a symlink pointing back to itself.
;ShowDirSymlinks=1
ShellLinker=wineshelllink

# <wineconf>

[DllDefaults]
EXTRA_LD_LIBRARY_PATH=${HOME}/wine/cvs/lib
DefaultLoadOrder = native, builtin, so

[DllOverrides]
commdlg      = builtin, native
comdlg32     = builtin, native
ver          = builtin, native
version      = builtin, native
shell        = builtin, native
shell32      = builtin, native
lzexpand     = builtin, native
lz32         = builtin, native
comctl32     = builtin, native
commctrl     = builtin, native
wsock32      = builtin
winsock      = builtin
advapi32     = builtin, native
crtdll       = builtin, native
mpr          = builtin, native
winspool.drv = builtin, native
ddraw        = builtin, native
dinput       = builtin, native
dsound       = builtin, native
mmsystem     = builtin
winmm        = builtin
msvideo      = builtin, native
msvfw32      = builtin, native
mcicda.drv   = builtin, native
mciseq.drv   = builtin, native
mciwave.drv  = builtin, native
mciavi.drv   = native, builtin
mcianim.drv  = native, builtin
msacm.drv    = builtin, native
midimap.drv  = builtin, native
wnaspi32     = builtin
icmp         = builtin

[x11drv]
; Number of colors to allocate from the system palette
AllocSystemColors = 100
; Use a private color map
PrivateColorMap = N
; Favor correctness over speed in some graphics operations
PerfectGraphics = N
; Color depth to use on multi-depth screens
;;ScreenDepth = 16
; Name of X11 display to use
;;Display = :0.0
; Allow the window manager to manage created windows
Managed = N
; Use a desktop window of 640x480 for Wine
;Desktop = 640x480
; Use XFree86 DGA extension if present
UseDGA = Y
; Use XShm extension if present
UseXShm = Y
; Enable DirectX mouse grab
DXGrab = N
; Create the desktop window with a double-buffered visual
; (useful to play OpenGL games)
DesktopDoubleBuffered = N
; Code page used for captions in managed mode
; 0 means default ANSI code page (CP_ACP == 0)
TextCP=0
; Use this if you have more than one port for video on your setup 
; (Wine uses for now the first 'input image' it finds).
;; XVideoPort = 43

[fonts]
;Read documentation/fonts before adding aliases
Resolution = 96
Default = -adobe-times-

[serialports]
Com1=/dev/ttyS0
Com2=/dev/ttyS1
Com3=/dev/modem,38400
Com4=/dev/modem

[parallelports]
Lpt1=/dev/lp0

[spooler]
LPT1:=|lpr
LPT2:=|gs -sDEVICE=bj200 -sOutputFile=/tmp/fred -q -
LPT3:=/dev/lp3

[ports]
;read=0x779,0x379,0x280-0x2a0
;write=0x779,0x379,0x280-0x2a0

[spy]
Exclude=WM_SIZE;WM_TIMER;

[registry]
; Paths must be given in /dir/dir/file.reg format.
; Wine will not understand dos file names here...

;These are all booleans.  Y/y/T/t/1 are true, N/n/F/f/0 are false.
;Defaults are read all, write to Home
; Global registries (stored in /etc)
LoadGlobalRegistryFiles=Y
; Home registries (stored in ~user/.wine/)
LoadHomeRegistryFiles=Y
; Load Windows registries from the Windows directory
LoadWindowsRegistryFiles=Y
; TRY to write all changes to home registries
WritetoHomeRegistryFiles=Y
; Use new file format
UseNewFormat=Y
; Registry periodic save timeout in seconds
; PeriodicSave=600
; Save only modified keys
SaveOnlyUpdatedKeys=Y

[Tweak.Layout]
;; WineLook=xxx  (supported styles are 'Win31'(default), 'Win95', 'Win98')
WineLook=Win95

[programs]
Default=
Startup=

[Console]
;Drivers=tty
;XtermProg=nxterm
;InitialRows=25
;InitialColumns=80
;TerminalType=nxterm

[Clipboard]
ClearAllSelections=0
PersistentSelection=1

# </wineconf>

