joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.83k stars 383 forks source link

FULIST does not run in pure DOSBOX-X, but is OK in PC DOS 3.3 #4805

Open prino opened 9 months ago

prino commented 9 months ago

Describe the bug

The attached zipped image contains PC DOS 3.3, with one additional file, FULIST.COM

If the image is mounted, and you run FULIST, which should give you a screen where you can enter commands on a lot of files, it immediately returns to the DOS prompt. BOOT A: and it runs OK.

Steps to reproduce the behaviour

  1. Mount the attached image
  2. Start FULIST.COM -> immediate return to DOS prompt
  3. BOOT A:
  4. Start FULIST.COM -> works as expected (even in the full-screen entering /c, followed by Ctrl-Enter / Numerical+, which unloads it)r

Expected behavior

FULIST is a TSR that allows you to execute DOS commands on multiple files, using a full-screen interface, by entering the commands, and pressing numerical+ to execute them (or Ctrl-Enter)

When it's started in DOSBox-X, it immediately returns to the DOS prompt, when the attached image is booted into PC DOS 3.3, it works as expected.

What operating system(s) this bug have occurred on?

W7-64 Pro

What version(s) of DOSBox-X have this bug?

0.84.0 SDL2

Used configuration

[sdl]
fullscreen = false
fulldouble = false
fullresolution = desktop
windowresolution = original
windowposition =
display = 0
output = ttf
videodriver =
transparency = 0
maximize = false
autolock = false
autolock_feedback = beep
middle_unlock = manual
clip_mouse_button = right
clip_key_modifier = shift
clip_paste_bios = default
clip_paste_speed = 30
sensitivity = 100
usesystemcursor = false
mouse_emulation = locked
mouse_wheel_key = -1
waitonerror = true
priority = higher,normal
mapperfile = mapper-dosbox-x.map
mapperfile_sdl1 =
mapperfile_sdl2 =
forcesquarecorner = true
usescancodes = auto
overscan = 0
titlebar =
showbasic = true
showdetails = false
showmenu = true

[log]
logfile =
vga = false
vgagfx = false
vgamisc = false
int10 = false
sblaster = false
dma_control = false
fpu = false
cpu = false
paging = false
fcb = false
files = false
ioctl = false
exec = false
dosmisc = false
pit = false
keyboard = false
pic = false
mouse = false
bios = false
gui = false
misc = false
io = false
pci = false
sst = false
int21 = false
fileio = false
debuggerrun = debugger

[dosbox]
language =
title =
fastbioslogo = false
disable graphical splash = false
startbanner = true
bannercolortheme = default
dpi aware = auto
quit warning = auto
allow quit after warning = true
working directory option = default
working directory default =
show advanced options = false
resolve config path = true
hostkey = mapper
mapper send key = ctrlaltdel
ime = auto
synchronize time = false
keyboard hook = false
weitek = false
bochs debug port e9 = false
machine = svga_s3
captures = capture
autosave =
saveslot = 1
savefile =
saveremark = true
forceloadstate = false
compresssaveparts = true
show recorded filename = true
skip encoding unchanged frames = false
capture chroma format = auto
capture format = default
shell environment size = 0
private area size = 32768
a20 = mask
turn off a20 gate on boot = true
cbus bus clock = std10
isa bus clock = std8.3
pci bus clock = std33.3
call binary on reset =
unhandled irq handler =
call binary on boot =
ibm rom basic =
rom bios allocation max = 0
rom bios minimum size = 0
irq delay ns = -1
iodelay = -1
iodelay16 = -1
iodelay32 = -1
acpi = off
acpi rsd ptr location = auto
acpi sci irq = -1
acpi iobase = 0
acpi reserved size = 0
memsize = 16
memsizekb = 0
dos mem limit = 0
isa memory hole at 512kb = false
reboot delay = -1
memalias = 0
nocachedir = false
freesizecap = cap
leading colon write protect image = true
locking disk image mount = true
unmask keyboard on int 16 read = true
int16 keyboard polling undocumented cf behavior = false
allow port 92 reset = true
enable port 92 = true
enable 1st dma controller = true
enable 2nd dma controller = true
allow dma address decrement = true
enable 128k capable 16-bit dma = auto
enable dma extra page registers = true
dma page registers write-only = false
cascade interrupt never in service = false
cascade interrupt ignore in service = auto
enable slave pic = true
enable pc nmi mask = true
allow more than 640kb base memory = false
enable pci bus = true

[render]
frameskip = 0
alt render = false
aspect = false
aspect_ratio = 0:0
char9 = true
euro = -1
doublescan = true
scaler = normal2x
glshader = none
pixelshader = none
xbrz slice = 16
xbrz fixed scale factor = 0
xbrz max scale factor = 0
autofit = true
monochrome_pal = green

[pc98]
pc-98 BIOS copyright string = false
pc-98 int 1b fdc timer wait = false
pc-98 pic init to read isr = true
pc-98 fm board = auto
pc-98 fm board irq = 0
pc-98 fm board io port = 0
pc-98 sound bios = false
pc-98 load sound bios rom file = true
pc-98 buffer page flip = false
pc-98 enable 256-color planar = true
pc-98 enable 256-color = true
pc-98 enable 16-color = true
pc-98 enable grcg = true
pc-98 enable egc = true
pc-98 enable 188 user cg = true
pc-98 start gdc at 5mhz = false
pc-98 allow scanline effect = true
pc-98 bus mouse = true
pc-98 video mode =
pc-98 timer always cycles = auto
pc-98 timer master frequency = 0
pc-98 allow 4 display partition graphics = -1
pc-98 force ibm keyboard layout = auto
pc-98 try font rom = true
pc-98 anex86 font =
pc-98 show graphics layer on initialize = true

[dosv]
dosv = off
getsysfont = true
fontxsbcs =
fontxsbcs16 =
fontxsbcs24 =
fontxdbcs =
fontxdbcs14 =
fontxdbcs24 =
showdbcsnodosv = auto
yen = false
del = true
fepcontrol = both
vtext1 = svga
vtext2 = xga
use20pixelfont = false
j3100 = off
j3100type = default
j3100colorscroll = false
j3100backcolor =
j3100textcolor =

[video]
vmemdelay = 0
vmemsize = -1
vmemsizekb = 0
vbe window granularity = 0
vbe window size = 0
enable 8-bit dac = true
high intensity blinking = true
svga lfb base = 0
pci vga = true
vga attribute controller mapping = auto
vga bios use rom image = false
vga bios rom image =
vga bios size override = 0
video bios dont duplicate cga first half rom font = false
video bios always offer 14-pixel high rom font = false
video bios always offer 16-pixel high rom font = false
video bios enable cga second half rom font = true
forcerate =
sierra ramdac = true
sierra ramdac lock 565 = false
vga fill active memory = false
page flip debug line = false
vertical retrace poll debug line = false
cgasnow = true
vga 3da undefined bits = 4
rom bios 8x8 CGA font = true
rom bios video parameter table = true
int 10h points at vga bios = true
unmask timer on int 10 setmode = false
vesa bank switching window mirroring = false
vesa bank switching window range check = true
vesa zero buffer on get information = true
vesa set display vsync = -1
vesa lfb base scanline adjust = 0
vesa map non-lfb modes to 128kb region = false
ega per scanline hpel = true
allow hpel effects = false
allow hretrace effects = false
hretrace effect weight = 4.00
vesa modelist cap = 0
vesa modelist width limit = 1280
vesa modelist height limit = 1024
vesa vbe put modelist in vesa information = false
vesa vbe 1.2 modes are 32bpp = auto
allow low resolution vesa modes = true
allow explicit 24bpp vesa modes = false
allow high definition vesa modes = false
allow unusual vesa modes = false
allow 32bpp vesa modes = true
allow 24bpp vesa modes = true
allow 16bpp vesa modes = true
allow 15bpp vesa modes = true
allow 8bpp vesa modes = true
allow 4bpp vesa modes = true
allow 4bpp packed vesa modes = false
allow tty vesa modes = true
double-buffered line compare = false
ignore vblank wraparound = false
ignore extended memory bit = false
enable vga resize delay = false
resize only on vga active display width increase = false
vga palette update on full load = true
ignore odd-even mode in non-cga modes = false

[vsync]
vsyncmode = off
vsyncrate = 75

[cpu]
core = auto
fpu = true
processor serial number =
segment limits = true
double fault = true
reset on triple fault = true
always report double fault = false
always report triple fault = false
allow lmsw to exit protected mode = auto
report fdiv bug = false
enable msr = true
enable cmpxchg8b = true
enable syscall = true
ignore undefined msr = false
interruptible rep string op = -1
dynamic core cache block size = 32
cputype = experimental
cycles = 80000
cycleup = 10
cycledown = 20
cycle emulation percentage adjust = 0
turbo = false
stop turbo on key = true
stop turbo after second = 0
use dynamic core with paging on = auto
ignore opcode 63 = true
apmbios = true
apmbios pnp = false
apm power button event = suspend
apmbios version = auto
apmbios allow realmode = true
apmbios allow 16-bit protected mode = true
apmbios allow 32-bit protected mode = true
integration device = false
integration device pnp = false
isapnpbios = true
isapnpport = auto
realbig16 = false

[keyboard]
aux = true
allow output port reset = true
controllertype = auto
auxdevice = intellimouse

[ttf]
font =
fontbold =
fontital =
fontboit =
colors =
outputswitch = auto
winperc = 60
ptsize = 0
lins = 0
cols = 0
righttoleft = false
wp =
wpbg = -1
wpfg = 7
bold = true
italic = true
underline = true
strikeout = false
char512 = true
printfont = true
autodbcs = true
autoboxdraw = true
halfwidthkana = true
blinkc = true
gbk = false
chinasea = false
uao = false
dosvfunc = false

[voodoo]
voodoo_card = auto
voodoo_maxmem = true
glide = false
lfb = full_noaux
splash = true

[mixer]
nosound = false
sample accurate = false
swapstereo = false
rate = 44100
blocksize = 1024
prebuffer = 25

[midi]
mpu401 = intelligent
mpubase = 0
mididevice = default
midiconfig =
samplerate = 44100
mpuirq = -1
mt32.romdir =
mt32.model = auto
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.output.gain = 100
mt32.reverb.mode = auto
mt32.reverb.output.gain = 100
mt32.reverb.time = 5
mt32.reverb.level = 3
mt32.rate = 48000
mt32.src.quality = 2
mt32.niceampramp = true
fluid.driver = default
fluid.soundfont =
fluid.samplerate = 48000
fluid.gain = .2
fluid.polyphony = 256
fluid.cores = default
fluid.periods = default
fluid.periodsize = default
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

[sblaster]
sbtype = sb16
sbbase = 220
irq = 7
mindma = -1
irq hack = none
dma = 1
hdma = 5
dsp command aliases = true
pic unmask irq = false
enable speaker = false
enable asp = false
disable filtering = false
dsp write buffer status must return 0x7f or 0xff = false
pre-set sbpro stereo = false
sbmixer = true
oplmode = auto
adlib force timer overflow on detect = false
oplemu = default
oplrate = 44100
oplport =
retrowave_bus = serial
retrowave_spi_cs = 0,6
retrowave_port =
hardwarebase = 220
force dsp auto-init = false
force goldplay = false
goldplay = true
goldplay stereo = true
dsp require interrupt acknowledge = auto
dsp write busy delay = -1
blaster environment variable = true
sample rate limits = true
instant direct dac = false
stereo control with sbpro only = true
dsp busy cycle rate = -1
dsp busy cycle always = -1
dsp busy cycle duty = -1
io port aliasing = true

[gus]
gus = false
autoamp = false
unmask dma = false
ignore channel count while active = false
pic unmask irq = false
startup initialized = false
dma enable on dma control polling = false
clear dma tc irq if excess polling = false
force master irq enable = false
gus panning table = default
gusrate = 44100
gus fixed render rate = false
gusmemsize = -1
gus master volume = 0.00
gusbase = 240
gusirq = 5
gusdma = 3
irq hack = none
gustype = classic
ultradir = C:\ULTRASND

[innova]
innova = false
samplerate = 22050
sidbase = 280
quality = 0

[speaker]
pcspeaker = true
pcspeaker clock gate enable at startup = false
initial frequency = -1
pcrate = 65536
tandy = auto
tandyrate = 44100
disney = false
ps1audio = off
ps1audiorate = 22050

[joystick]
joysticktype = auto
timed = true
autofire = false
swap34 = false
buttonwrap = false
joy1deadzone1 = 0.25
joy1deadzone2 = 0.25
joy2deadzone1 = 0.25
joy1response1 = 1.00
joy1response2 = 1.00
joy2response1 = 1.00
joy1axis0 = 0
joy1axis1 = 1
joy1axis2 = 2
joy1axis3 = 3
joy1axis4 = 4
joy1axis5 = 5
joy1axis6 = 6
joy1axis7 = 7
joy2axis0 = 0
joy2axis1 = 1
joy2axis2 = 2
joy2axis3 = 3
joy2axis4 = 4
joy2axis5 = 5
joy2axis6 = 6
joy2axis7 = 7

[mapper]
joy1deadzone0- = 0.60
joy1deadzone0+ = 0.60
joy1deadzone1- = 0.60
joy1deadzone1+ = 0.60
joy1deadzone2- = 0.60
joy1deadzone2+ = 0.60
joy1deadzone3- = 0.60
joy1deadzone3+ = 0.60
joy1deadzone4- = 0.60
joy1deadzone4+ = 0.60
joy1deadzone5- = 0.60
joy1deadzone5+ = 0.60
joy1deadzone6- = 0.60
joy1deadzone6+ = 0.60
joy1deadzone7- = 0.60
joy1deadzone7+ = 0.60
joy2deadzone0- = 0.60
joy2deadzone0+ = 0.60
joy2deadzone1- = 0.60
joy2deadzone1+ = 0.60
joy2deadzone2- = 0.60
joy2deadzone2+ = 0.60
joy2deadzone3- = 0.60
joy2deadzone3+ = 0.60
joy2deadzone4- = 0.60
joy2deadzone4+ = 0.60
joy2deadzone5- = 0.60
joy2deadzone5+ = 0.60
joy2deadzone6- = 0.60
joy2deadzone6+ = 0.60
joy2deadzone7- = 0.60
joy2deadzone7+ = 0.60

[serial]
serial1 = dummy
serial2 = dummy
serial3 = disabled
serial4 = disabled
serial5 = disabled
serial6 = disabled
serial7 = disabled
serial8 = disabled
serial9 = disabled
phonebookfile = phonebook-dosbox-x.txt

[parallel]
parallel1 = printer
parallel2 = disabled
parallel3 = disabled
parallel4 = disabled
parallel5 = disabled
parallel6 = disabled
parallel7 = disabled
parallel8 = disabled
parallel9 = disabled
dongle = false

[printer]
printer = true
dpi = 360
width = 85
height = 110
printoutput = printer
multipage = false
device = -
docpath = .
fontpath = FONTS
openwith =
openerror =
printdbcs = auto
shellhide = false
timeout = 0

[dos]
xms = true
xms handles = 0
shell configuration as commands = false
badcommandhandler =
hma = true
hma allow reservation = true
hard drive data rate limit = 0
floppy drive data rate limit = 0
special operation file prefix = .DB
drive z is remote = auto
drive z expand path = true
drive z hide files = /TEXTUTIL\25.COM /TEXTUTIL\28.COM /TEXTUTIL\50.COM
hidenonrepresentable = true
hma minimum allocation = 0
ansi.sys = true
log console = false
dos sda size = 0
hma free space = 34816
cpm compatibility mode = auto
share = true
file access tries = 3
network redirector = true
minimum dos initial private segment = 0
minimum mcb segment = 0
minimum mcb free = 0
enable dummy device mcb = false
maximum environment block size on exec = -1
additional environment block size on exec = -1
enable a20 on windows init = false
zero memory on xms memory allocation = false
ems = true
vcpi = true
unmask timer on disk io = false
zero int 67h if no ems = true
zero unused int 68h = false
emm386 startup active = false
zero memory on ems memory allocation = false
ems system handle memory size = 384
ems system handle on even megabyte = false
umb = true
umb start = 0
umb end = 0
kernel allocation in umb = false
keep umb on boot = false
keep private area on boot = auto
private area in umb = true
quick reboot = false
ver =
lfn = auto
fat32setversion = ask
shellhigh = auto
automount = true
automountall = false
mountwarning = true
autoa20fix = true
autoloadfix = true
autofixwarning = false
startcmd = false
starttranspath = true
startwait = true
startquiet = false
startincon = assoc attrib chcp copy dir echo for ftype help if set type ver vol xcopy
vmware = true
int33 = true
int33 hide host cursor if interrupt subroutine = true
int33 hide host cursor when polling = false
int33 disable cell granularity = false
int 13 disk change detect = true
int 13 extensions = true
biosps2 = true
int15 wait force unmask irq = true
int15 mouse callback does not preserve registers = false
keyboardlayout = auto
customcodepage =
dbcs = true
filenamechar = true
collating and uppercase = true
con device use int 16h to detect keyboard input = true
zero memory on int 21h memory allocation = false
dos clipboard device enable = false
dos clipboard device name = CLIP$
dos clipboard api = true

[ipx]
ipx = false

[ne2000]
ne2000 = false
nicbase = 300
nicirq = 3
macaddr = AC:DE:48:88:99:AA
backend = auto

[ethernet, pcap]
realnic = list
timeout = default

[ethernet, slirp]
restricted = false
disable_host_loopback = false
mtu = 0
mru = 0
ipv4_network = 10.0.2.0
ipv4_netmask = 255.255.255.0
ipv4_host = 10.0.2.2
ipv4_nameserver = 10.0.2.3
ipv4_dhcp_start = 10.0.2.15
tcp_port_forwards =
udp_port_forwards =

[ide, primary]
enable = true
pnp = true
irq = 0
io = 0
altio = 0
int13fakeio = false
int13fakev86io = false
enable pio32 = false
ignore pio32 = false
cd-rom spinup time = 0
cd-rom spindown timeout = 0
cd-rom insertion delay = 0

[ide, secondary]
enable = true
pnp = true
irq = 0
io = 0
altio = 0
int13fakeio = false
int13fakev86io = false
enable pio32 = false
ignore pio32 = false
cd-rom spinup time = 0
cd-rom spindown timeout = 0
cd-rom insertion delay = 0

[ide, tertiary]
enable = false
pnp = true
irq = 0
io = 0
altio = 0
int13fakeio = false
int13fakev86io = false
enable pio32 = false
ignore pio32 = false
cd-rom spinup time = 0
cd-rom spindown timeout = 0
cd-rom insertion delay = 0

[ide, quaternary]
enable = false
pnp = true
irq = 0
io = 0
altio = 0
int13fakeio = false
int13fakev86io = false
enable pio32 = false
ignore pio32 = false
cd-rom spinup time = 0
cd-rom spindown timeout = 0
cd-rom insertion delay = 0

[ide, quinternary]
enable = false
pnp = true
irq = 0
io = 0
altio = 0
int13fakeio = false
int13fakev86io = false
enable pio32 = false
ignore pio32 = false
cd-rom spinup time = 0
cd-rom spindown timeout = 0
cd-rom insertion delay = 0

[ide, sexternary]
enable = false
pnp = true
irq = 0
io = 0
altio = 0
int13fakeio = false
int13fakev86io = false
enable pio32 = false
ignore pio32 = false
cd-rom spinup time = 0
cd-rom spindown timeout = 0
cd-rom insertion delay = 0

[ide, septernary]
enable = false
pnp = true
irq = 0
io = 0
altio = 0
int13fakeio = false
int13fakev86io = false
enable pio32 = false
ignore pio32 = false
cd-rom spinup time = 0
cd-rom spindown timeout = 0
cd-rom insertion delay = 0

[ide, octernary]
enable = false
pnp = true
irq = 0
io = 0
altio = 0
int13fakeio = false
int13fakev86io = false
enable pio32 = false
ignore pio32 = false
cd-rom spinup time = 0
cd-rom spindown timeout = 0
cd-rom insertion delay = 0

[fdc, primary]
enable = false
pnp = true
irq = 0
io = 0
dma = -1
int13fakev86io = false
instant mode = false
auto-attach to int 13h = true
mode = ps2
chip = 82077aa

[4dos]
rem = This section is the 4DOS.INI file, if you use 4DOS as the command shell

[config]
rem = This section is DOS's CONFIG.SYS file, not all CONFIG.SYS options supported
break = off
numlock =
shell =
dos = high, umb
fcbs = 100
files = 200
country =
lastdrive = a
set path = Z:\;Z:\SYSTEM;Z:\BIN;Z:\DOS;Z:\4DOS;Z:\DEBUG;Z:\TEXTUTIL
set prompt = $P$G
set temp =
install =
installhigh =
device =
devicehigh =

[autoexec]
@chcp 437
@mount d "D:\Robert's Programs\DOS"
@mount e "D:\Robert's Programs\DOS\16-bit"
@mount f "d:\01-zlift\tp6\asm"
@mount g "d:\01-zlift\tp301\bu"
@mount o "d:\99-zlift-old\tp301\bu"
@mount h "d:\06-ida"
append e:
alias l=e:\list.com
alias use=z:\system\mount.com
alias hc=superc *.org *.h-h nopc ctyp=f outp=con
path .;..;..\..;h:\;g:\;e:\;d:\;c:\4dos;c:\doszip;c:\;z:\
h:

Output log

No response

Additional information

pcdos-33.zip

Have you checked that no similar bug report(s) exist?

Code of Conduct & Contributing Guidelines

prino commented 9 months ago

Additional note, after upgrading t 23.10, and trying to use BOOT, the result is some messages on converting the mounted disks to FAT, and then a black screen, that I cancelled after a good 15 minutes. Reverted to 0.84.0.