VOGONS

Common searches


First post, by Pr3tty F1y

User metadata
Rank Newbie
Rank
Newbie

Ever since SVN entry r4096, my Windows 3.11 installation crashes at boot in DOSBox ECE. The changelog for r4096 states:

2018-05-03 16:08  ripsaw8080
* [r4096] src/dos/dos_files.cpp: Support rarely used FCB feature:
open file with search mask. Fixes Buckaroo Banzai.

I'm unsure why this change causes the boot crash, but my windows bootlog.txt stalls at "INITDONE=Display Resources" and crashes out of DOSbox. In a successful boot, the next step would be "INIT=Fonts", but with any build newer than r4095, I never get that far. As far as functionality, r4095 boots Win 3.11 fine and runs a variety of Windows games and apps (e.g,. Myst, Lotus Smart Suite, Adobe Acrobat, Star Trek - Klingon, Best of Windows Entertainment Pack,etc.).

I'm wondering if I have either a font or path issue, but I'm really not sure where to go. I've tried every successive DOSbox ECE build since r4095 up through r4119 and they all crash mid-Windows boot. If anyone can assist without me needing to reinstall my Windows 3.11 installation, I'd supremely appreciate it. The following contains my DOSbox config file for launching Windows 3.11. I've tried different audio, video, and cpu configurations and still no dice. I do run LOCKS.EXE (which enables capslock and numlock automatically), but nothing else in a default autoexec.bat or config.sys.

# This is the configuration file for DOSBox ECE. (Please use the latest version of DOSBox)
# Lines starting with a # are comment lines and are ignored by DOSBox.
# They are used to (briefly) document the effect of each option.

[sdl]
# fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
# fulldouble: Use double buffering in fullscreen. It can reduce screen flickering, but it can also result in a slow DOSBox.
# fullresolution: What resolution to use for fullscreen: original, desktop or a fixed size (e.g. 1024x768).
# Using your monitor's native resolution with aspect=true might give the best results.
# If you end up with small window on a large screen, try an output different from surface.
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
# (output=surface does not!)
# output: What video system to use for output.
# Some values are aliases for output-scaler combinations:
# surfacepp -- pixel-perfect scaling;
# surfacenp -- near-perfect scaling via oversampling;
# surfacenb and openglnb -- nearest-neighbor scaling.
# Possible values: surface, surfacepp, surfacenp, surfacenb, overlay, opengl, openglnb, ddraw.
# autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
# sensitivity: Mouse sensitivity.
# surfacenp-sharpness: Sharpness for the 'surfacenp' output type,
# Measured in percent.
# surface-collapse-dbl: Collapse row and column pairs in double-height and double-width modes
# when using the 'surface' output with a scaler: 'pp', 'np' or 'nb'.
# waitonerror: Wait before closing the console if dosbox has an error.
# priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
# pause is only valid for the second entry.
# Possible values: lowest, lower, normal, higher, highest, pause.
# mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the default value.
# usescancodes: Avoid usage of symkeys, might not work on all operating systems.

fullscreen=true
fulldouble=true
fullresolution=1920x1080
windowresolution=1024x768
output=ddraw
autolock=true
sensitivity=100
surfacenp-sharpness=50
surface-collapse-dbl=false
waitonerror=true
priority=higher,normal
mapperfile=mapper-SVN-Daum.map
usescancodes=false

[dosbox]
# language: Select another language file.
# machine: The type of machine DOSBox tries to emulate.
# Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
# captures: Directory where things like wave, midi, screenshot get captured.
# memsize: Amount of memory DOSBox has in megabytes.
# This value is best left at its default to avoid problems with some games,
# though few games might require a higher value.
# There is generally no speed advantage when raising this value.

language=
machine=svga_s3
captures=capture
memsize=63

Show last 347 lines
[render]
# frameskip: How many frames DOSBox skips before drawing one.
# aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
# scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,
# then the scaler will be used even if the result might not be desired.
# Possible values: none, normal2x, normal3x, normal4x, normal5x, normal6x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.

frameskip=0
aspect=true
scaler=none

[cpu]
# core: CPU Core used in emulation. auto will switch to dynamic if available and
# appropriate.
# Possible values: auto, dynamic, normal, simple.
# cputype: CPU Type used in emulation. auto is the fastest choice.
# Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
# cycles: Amount of instructions DOSBox tries to emulate each millisecond.
# Setting this value too high results in sound dropouts and lags.
# Cycles can be set in 3 ways:
# 'auto' tries to guess what a game needs.
# It usually works, but can fail for certain games.
# 'fixed #number' will set a fixed amount of cycles. This is what you usually
# need if 'auto' fails (Example: fixed 4000).
# 'max' will allocate as much cycles as your computer is able to
# handle.
# Possible values: auto, fixed, max.
# cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
# cycledown: Setting it lower than 100 will be a percentage.

core=auto
cputype=pentium_slow
cycles=60000
cycleup=10
cycledown=20

[pci]
# voodoo: Enable VOODOO support.
# Possible values: false, software, opengl, auto.
# voodoomem: Specify VOODOO card memory size.
# 'standard' 4MB card (2MB front buffer + 1x2MB texture unit)
# 'max' 12MB card (4MB front buffer + 2x4MB texture units)
# Possible values: standard, max.

voodoo=opengl
voodoomem=standard

[mixer]
# nosound: Enable silent mode, sound is still emulated though.
# rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
# Possible values: 1024, 2048, 4096, 8192, 512, 256.
# prebuffer: How many milliseconds of data to keep on top of the blocksize.

nosound=false
rate=44100
blocksize=1024
prebuffer=80

[midi]
# mpu401: Type of MPU-401 to emulate.
# Possible values: intelligent, uart, none.
# mididevice: Device that will receive the MIDI data from MPU-401.
# Possible values: default, win32, alsa, oss, coreaudio, coremidi, mt32, fluidsynth, none.
# midiconfig: Special configuration options for the device driver. This is usually the id or part of the name of the device you want to use (find the id/name with mixer/listmidi).
# Or in the case of coreaudio, you can specify a soundfont here.
# When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues.
# In that case, add 'delaysysex', for example: midiconfig=2 delaysysex
# See the README/Manual for more details.
# fluid.driver: Driver to use with Fluidsynth, not needed under Windows. Available drivers depend on what Fluidsynth was compiled with
# Possible values: pulseaudio, alsa, oss, coreaudio, dsound, portaudio, sndman, jack, file, default.
# fluid.soundfont: Soundfont to use with Fluidsynth. One must be specified.
# fluid.samplerate: Sample rate to use with Fluidsynth.
# fluid.gain: Fluidsynth gain.
# fluid.polyphony: Fluidsynth polyphony.
# fluid.cores: Fluidsynth CPU cores to use, default.
# fluid.periods: Fluidsynth periods.
# fluid.periodsize: Fluidsynth period size.
# fluid.reverb: Fluidsynth use reverb.
# Possible values: no, yes.
# fluid.chorus: Fluidsynth use chorus.
# Possible values: no, yes.
# fluid.reverb,roomsize: Fluidsynth reverb room size.
# fluid.reverb.damping: Fluidsynth reverb damping.
# fluid.reverb.width: Fluidsynth reverb width.
# fluid.reverb.level: Fluidsynth reverb level.
# fluid.chorus.number: Fluidsynth chorus voices
# fluid.chorus.level: Fluidsynth chorus level.
# fluid.chorus.speed: Fluidsynth chorus speed.
# fluid.chorus.depth: Fluidsynth chorus depth.
# fluid.chorus.type: Fluidsynth chorus type. 0 is sine wave, 1 is triangle wave.
# Possible values: 0, 1.
# mt32.romdir: Name of the directory where MT-32 Control and PCM ROM files can be found. Emulation requires these files to work.
# Accepted file names are as follows:
# MT32_CONTROL.ROM or CM32L_CONTROL.ROM - control ROM file.
# MT32_PCM.ROM or CM32L_PCM.ROM - PCM ROM file.
# mt32.reverse.stereo: Reverse stereo channels for MT-32 output
# mt32.verbose: MT-32 debug logging
# mt32.thread: MT-32 rendering in separate thread
# mt32.chunk: Minimum milliseconds of data to render at once.
# Increasing this value reduces rendering overhead which may improve performance but also increases audio lag.
# Valid for rendering in separate thread only.
# Possible values: 2, 3, 16, 99, 100.
# mt32.prebuffer: How many milliseconds of data to render ahead.
# Increasing this value may help to avoid underruns but also increases audio lag.
# Cannot be set less than or equal to mt32.chunk value.
# Valid for rendering in separate thread only.
# Possible values: 3, 4, 32, 199, 200.
# mt32.partials: The maximum number of partials playing simultaneously.
# Possible values: 8, 9, 32, 255, 256.
# mt32.dac: MT-32 DAC input emulation mode
# Nice = 0 - default
# Produces samples at double the volume, without tricks.
# Higher quality than the real devices
#
# Pure = 1
# Produces samples that exactly match the bits output from the emulated LA32.
# Nicer overdrive characteristics than the DAC hacks (it simply clips samples within range)
# Much less likely to overdrive than any other mode.
# Half the volume of any of the other modes.
# Perfect for developers while debugging :)
#
# GENERATION1 = 2
# Re-orders the LA32 output bits as in early generation MT-32s (according to Wikipedia).
# Bit order at DAC (where each number represents the original LA32 output bit number, and XX means the bit is always low):
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 XX
#
# GENERATION2 = 3
# Re-orders the LA32 output bits as in later generations (personally confirmed on my CM-32L - KG).
# Bit order at DAC (where each number represents the original LA32 output bit number):
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 14
# Possible values: 0, 1, 2, 3.
# mt32.analog: MT-32 analogue output emulation mode
# Digital = 0
# Only digital path is emulated. The output samples correspond to the digital output signal appeared at the DAC entrance.
# Fastest mode.
#
# Coarse = 1
# Coarse emulation of LPF circuit. High frequencies are boosted, sample rate remains unchanged.
# A bit better sounding but also a bit slower.
#
# Accurate = 2 - default
# Finer emulation of LPF circuit. Output signal is upsampled to 48 kHz to allow emulation of audible mirror spectra above 16 kHz,
# which is passed through the LPF circuit without significant attenuation.
# Sounding is closer to the analog output from real hardware but also slower than the modes 0 and 1.
#
# Oversampled = 3
# Same as the default mode 2 but the output signal is 2x oversampled, i.e. the output sample rate is 96 kHz.
# Even slower than all the other modes but better retains highest frequencies while further resampled in DOSBox mixer.
# Possible values: 0, 1, 2, 3.
# mt32.reverb.mode: MT-32 reverb mode
# Possible values: 0, 1, 2, 3, auto.
# mt32.reverb.time: MT-32 reverb decaying time
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
# mt32.reverb.level: MT-32 reverb level
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
# mt32.rate: Sample rate of MT-32 emulation.
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# mt32.src.quality: MT-32 sample rate conversion quality
# Value '0' is for the fastest conversion, value '3' provides for the best conversion quality. Default is 2.
# Possible values: 0, 1, 2, 3.
# mt32.niceampramp: Toggles "Nice Amp Ramp" mode that improves amplitude ramp for sustaining instruments.
# Quick changes of volume or expression on a MIDI channel may result in amp jumps on real hardware.
# When "Nice Amp Ramp" mode is enabled, amp changes gradually instead.
# Otherwise, the emulation accuracy is preserved.
# Default is true.

mpu401=intelligent
mididevice=default
midiconfig=
fluid.driver=default
fluid.soundfont=
fluid.samplerate=48000
fluid.gain=.6
fluid.polyphony=256
fluid.cores=default
fluid.periods=8
fluid.periodsize=512
fluid.reverb=yes
fluid.chorus=yes
fluid.reverb,roomsize=.61
fluid.reverb.damping=.23
fluid.reverb.width=.76
fluid.reverb.level=.57
fluid.chorus.number=3
fluid.chorus.level=1.2
fluid.chorus.speed=.3
fluid.chorus.depth=8.0
fluid.chorus.type=0
mt32.romdir=
mt32.reverse.stereo=false
mt32.verbose=false
mt32.thread=false
mt32.chunk=16
mt32.prebuffer=32
mt32.partials=32
mt32.dac=0
mt32.analog=2
mt32.reverb.mode=auto
mt32.reverb.time=5
mt32.reverb.level=3
mt32.rate=44100
mt32.src.quality=2
mt32.niceampramp=true

[sblaster]
# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
# sbbase: The IO address of the soundblaster.
# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
# irq: The IRQ number of the soundblaster.
# Possible values: 7, 5, 3, 9, 10, 11, 12.
# dma: The DMA number of the soundblaster.
# Possible values: 1, 5, 0, 3, 6, 7.
# hdma: The High DMA number of the soundblaster.
# Possible values: 1, 5, 0, 3, 6, 7.
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
# Possible values: auto, cms, opl2, dualopl2, opl3, opl3gold, none.
# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
# Possible values: default, compat, fast, nuked.
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
# Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.
# fmstrength: Strength of the FM playback volume in percent, in relation to PCM playback volume. Default is 150.
# Possible Values: 1 to 1000 (0.01x to 10x)

sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100
fmstrength=150

[gus]
# gus: Enable the Gravis Ultrasound emulation.
# gusrate: Sample rate of Ultrasound emulation.
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# gusbase: The IO base address of the Gravis Ultrasound.
# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
# gusirq: The IRQ number of the Gravis Ultrasound.
# Possible values: 5, 3, 7, 9, 10, 11, 12.
# gusdma: The DMA channel of the Gravis Ultrasound.
# Possible values: 3, 0, 1, 5, 6, 7.
# ultradir: Path to Ultrasound directory. In this directory
# there should be a MIDI directory that contains
# the patch files for GUS playback. Patch sets used
# with Timidity should work fine.

gus=false
gusrate=44100
gusbase=240
gusirq=5
gusdma=3
ultradir=C:\ULTRASND

[speaker]
# pcspeaker: Enable PC-Speaker emulation.
# pcrate: Sample rate of the PC-Speaker sound generation.
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
# Possible values: auto, on, off.
# tandyrate: Sample rate of the Tandy 3-Voice generation.
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).

pcspeaker=true
pcrate=44100
tandy=auto
tandyrate=44100
disney=false

[joystick]
# joysticktype: Type of joystick to emulate: auto (default), none,
# 2axis (supports two joysticks),
# 4axis (supports one joystick, first joystick used),
# 4axis_2 (supports one joystick, second joystick used),
# fcs (Thrustmaster), ch (CH Flightstick).
# none disables joystick emulation.
# auto chooses emulation depending on real joystick(s).
# (Remember to reset dosbox's mapperfile if you saved it earlier)
# Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
# timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
# autofire: continuously fires as long as you keep the button pressed.
# swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
# buttonwrap: enable button wrapping at the number of emulated buttons.

joysticktype=2axis
timed=true
autofire=false
swap34=false
buttonwrap=false

[serial]
# serial1: set type of device connected to com port.
# Can be disabled, dummy, modem, nullmodem, directserial.
# Additional parameters must be in the same line in the form of
# parameter:value. Parameter for all types is irq (optional).
# for directserial: realport (required), rxdelay (optional).
# (realport:COM1 realport:ttyS0).
# for modem: listenport (optional).
# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
# transparent, port, inhsocket (all optional).
# Example: serial1=modem listenport:5000
# Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial2: see serial1
# Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial3: see serial1
# Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial4: see serial1
# Possible values: dummy, disabled, modem, nullmodem, directserial.

serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled

[dos]
# xms: Enable XMS support.
# ems: Enable EMS support. The default (=true) provides the best
# compatibility but certain applications may run better with
# other choices, or require EMS support to be disabled (=false)
# to work at all.
# Possible values: true, emsboard, emm386, false.
# umb: Enable UMB support.
# keyboardlayout: Language code of the keyboard layout (or none).

xms=true
ems=true
umb=true
keyboardlayout=auto

[ipx]
# ipx: Enable ipx over UDP/IP emulation.

ipx=false

[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
mount c "C:\Emulators\DBGL\dosroot\"
C:\LOCKS.EXE

My Windows 3.11 launch parameters are as follows:

@c:\windows\smartdrv.exe
@SET PATH=%PATH%;C:\WINDOWS;
@SET TEMP=C:\WINDOWS\TEMP
@lh devlod C:\SB16\DRV\CSP.SYS /UNIT=0 /BLASTER=A:220
@lh devlod C:\SB16\DRV\CTMMSYS.SYS
@SET SOUND=C:\SB16
@SET BLASTER=A220 I7 D1 H5 P330 T6
@SET MIDI=SYNTH:1 MAP:E
@C:\SB16\MIXERSET /P /Q
@windows\win /b

Reply 1 of 2, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Windows 3.11 works for me in current source.

Only 0.74 and vanilla SVN builds of DOSBox are supported here. The maintainer of the ECE build also offers a build of vanilla SVN, and I suggest you use that to install and run Windows 3.

FYI, r4096 was around the time that the ECE build added more video memory, and that additional memory is far more likely to be the source of your problem than obscure FCB behaviors.

If you want support for the ECE build then ask in its thread: DOSBox ECE (for Windows & Linux)

Reply 2 of 2, by Pr3tty F1y

User metadata
Rank Newbie
Rank
Newbie
ripsaw8080 wrote:
Windows 3.11 works for me in current source. […]
Show full quote

Windows 3.11 works for me in current source.

Only 0.74 and vanilla SVN builds of DOSBox are supported here. The maintainer of the ECE build also offers a build of vanilla SVN, and I suggest you use that to install and run Windows 3.

FYI, r4096 was around the time that the ECE build added more video memory, and that additional memory is far more likely to be the source of your problem than obscure FCB behaviors.

If you want support for the ECE build then ask in its thread: DOSBox ECE (for Windows & Linux)

Thank you much! That's exactly the information that I needed and exactly the problem.