joncampbell123 / dosbox-x

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

Wing Commander 3 - crash using cheat codes #3193

Closed Cerrseien closed 2 years ago

Cerrseien commented 2 years ago

Code of Conduct & Contributing Guidelines

Have you checked that no other similar bug report(s) already exists?

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

Windows 10 21H2

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

0.83.21 SDL2 mingw

Describe the bug

Launching Wing Commander 3 with the parameter "-mitchell" activates the cheat mode. Upon entering a mission the word "Mitchell" is being said, as an indicator that cheat mode is actually on. When using CTRL + W to destroy the current target, or CTRL + ALT + W to destroy all targets video suddenly halts. The explosion audio file is being played, and music is also running for a couple seconds. After those seconds audio stops as well, video occasionally glitches out, and DOSBox-X shows the error message "E_Exit" "IRET:Illegal descriptor type 0". When "-mitchell" is not being passed nothing happens upon pressing either CTRL + W or CTRL + ALT + W.

Expected behavior

The game is not expected to crash. Whatever is being targeted is supposed to be destroyed.

Steps to reproduce the behaviour

  1. Lanuch WC3 (WC3.EXE -mitchell)
  2. Play any mission (tested with the first mission as well as the last mission on the losing track in the Sol System)
  3. Press CTRL + W.
  4. Video freezes, music keeps playing.
  5. Wait a couple seconds.
  6. Error message pops up.

Used configuration

[sdl]
fullscreen        = false
fulldouble        = false
fullresolution    = desktop
windowresolution  = 1280x800
windowposition    = 
display           = 0
output            = DirectDraw
videodriver       = 
transparency      = 0
maximize          = false
autolock          = true
autolock_feedback = none
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
usescancodes      = auto
overscan          = 0
titlebar          = 
showbasic         = true
showdetails       = false
showmenu          = true

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

[dosbox]
language                  = 
title                     = 
fastbioslogo              = false
startbanner               = true
bannercolortheme          = default
dpi aware                 = auto
quit warning              = auto
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
machine                   = svga_s3
captures                  = capture
autosave                  = 
saveslot                  = 1
savefile                  = 
saveremark                = true
forceloadstate            = false
a20                       = mask
memsize                   = 32
nocachedir                = false
freesizecap               = cap

[render]
frameskip      = 0
aspect         = false
char9          = true
euro           = -1
doublescan     = true
scaler         =
glshader       = none
pixelshader    = none
autofit        = true
monochrome_pal = green

[pc98]
pc-98 BIOS copyright string     = false
pc-98 fm board                  = auto
pc-98 enable 256-color          = true
pc-98 enable 16-color           = true
pc-98 enable grcg               = true
pc-98 enable egc                = true
pc-98 bus mouse                 = true
pc-98 force ibm keyboard layout = auto
pc-98 try font rom              = true
pc-98 anex86 font               = 

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

[video]
vmemsize = 32
vmemsizekb = 0
vesa modelist width limit = 0
vesa modelist height limit = 0
high intensity blinking = true

[vsync]
vsyncmode = off
vsyncrate = 

[cpu]
core       = auto
fpu        = true
cputype    = pentium_ii
cycles     = 70000
cycleup    = 10
cycledown  = 20
turbo      = false
apmbios    = true
isapnpbios = true

[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           = 
bold         = true
italic       = true
underline    = true
strikeout    = false
printfont    = true
autodbcs     = true
blinkc       = true
gbk          = false
chinasea     = false
dosvfunc     = false

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

[mixer]
nosound         = false
sample accurate = true
swapstereo      = false
rate            = 48000
blocksize       = 2048
prebuffer       = 25

[midi]
mpu401 = intelligent
mpubase = 0
mpuirq = -1
samplerate = 48000

mididevice = mt32
midiconfig =

mt32.romdir = MT32-87
mt32.model = auto
mt32.rate = 48000
mt32.src.quality = 3
mt32.dac = 0
mt32.verbose = off
mt32.thread = on

mt32.chunk = 100
mt32.prebuffer = 200

fluid.driver = default
fluid.soundfont =

[sblaster]
sbtype                       = sb16
sbbase                       = 220
irq                          = 7
dma                          = 1
hdma                         = 5
enable speaker               = false
sbmixer                      = true
oplmode                      = auto
oplemu                       = default
oplrate                      = 48000
oplport                      = 
retrowave_bus                = serial
retrowave_port               = 
hardwarebase                 = 220
goldplay                     = true
blaster environment variable = true

[gus]
gus               = false
gusrate           = 48000
gusmemsize        = -1
gus master volume = 0.00
gusbase           = 240
gusirq            = 5
gusdma            = 3
gustype           = classic
ultradir          = C:\ULTRASND

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

[speaker]
pcspeaker    = true
pcrate       = 48000
tandy        = auto
tandyrate    = 48000
disney       = false
ps1audio     = off
ps1audiorate = 48000

[joystick]
joysticktype = auto
timed        = true
autofire     = false
swap34       = false
buttonwrap   = false

[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     = false
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
hma                             = true
hard drive data rate limit      = 0
floppy drive data rate limit    = 0
ansi.sys                        = true
log console                     = false
share                           = true
file access tries               = 3
network redirector              = true
minimum mcb free                = 0
ems                             = false
umb                             = true
quick reboot                    = false
ver                             = 7.1
lfn                             = auto
shellhigh                       = auto
automount                       = true
automountall                    = false
mountwarning                    = true
autofixwarning                  = true
startcmd                        = false
starttranspath                  = false
startwait                       = true
startquiet                      = false
int33                           = true
keyboardlayout                  = auto
customcodepage                  = 
dbcs                            = true
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]
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

[ide, primary]
enable = true
pnp = true
int13fakeio = true
int13fakev86io = true

[ide, secondary]
enable = true
int13fakeio = true
int13fakev86io = true
cd-rom spinup time      = 10
cd-rom spindown timeout = 10
cd-rom insertion delay  = 10

[ide, tertiary]
enable = false
pnp    = true

[ide, quaternary]
enable = false
pnp    = true

[ide, quinternary]
enable = false
pnp    = true

[ide, sexternary]
enable = false
pnp    = true

[ide, septernary]
enable = false
pnp    = true

[ide, octernary]
enable = false
pnp    = true

[fdc, primary]
enable = false
int13fakev86io = true
pnp    = true
mode   = ps2

[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   = c
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]
MOUNT Y "."
Y:

Emulator log

Logging: opened logfile 'log.txt' successfully. All further logging will go to this file.
DOSBox-X version 0.83.21 (Windows SDL2)
         0       MISC:Copyright 2011-2022 The DOSBox-X Team. Project maintainer: joncampbell123 (The Great Codeholio). DOSBox-X published under GNU GPL.
         0       GUI:Press Ctrl-F10 to capture/release mouse, Alt-F10 for configuration.
Windows keyboard layout ID is 0x0409
Host keyboard layout is now us (US English)
Mapper keyboard layout is now us (US English)
SDL2 reports desktop display mode 1920 x 1080
The default output for the video system: direct3d
Configured windowposition: 
SDL: Current window pixel format: SDL_PIXELFORMAT_RGB888
SDL: You are running in 24 bpp mode, this will slow down things!
Screen report: Method 'Win98base' (1920.000 x 1080.000 pixels) at (0.000 x 0.000) (508.000 x 285.750 mm) (20.000 x 11.250 in) (96.000 x 96.000 DPI)
ISA BCLK: 8333333.333Hz (25000000/3)
monopal: green, 
Active save slot: 1 [Empty]
USING AVI+ZMBV
Max 3670016 sz 32768
Final 32768
MT32: Found ROM pair in MT32-87/: MT32_CONTROL.ROM and MT32_PCM.ROM
MIDI:Opened device:mt32
Pentium CMPXCHG8B emulation is enabled
         0       FPU:FPU core: x86 FPU
VOODOO LFB now at d0000000
Serial1: BASE 3f8h
Serial2: BASE 2f8h
Parallel1: BASE 378h
Error: printer is not enabled.
MPU-401 Registering I/O ports as if IBM PC MPU-401 at base 330h
         0       MISC:MPU IRQ 9
         0       VGA:Video RAM: 16384KB
Screen report: Method 'Win98base' (1920.000 x 1080.000 pixels) at (0.000 x 0.000) (508.000 x 285.750 mm) (20.000 x 11.250 in) (96.000 x 96.000 DPI)
Allocated APM BIOS pm entry point at f000:ce20
Writing code to fce20
         0       KEYBOARD:Keyboard AUX emulation enabled
         0       SBLASTER:DSP:Reset
Screen report: Method 'Win98base' (1920.000 x 1080.000 pixels) at (0.000 x 0.000) (508.000 x 285.750 mm) (20.000 x 11.250 in) (96.000 x 96.000 DPI)
Windows: IID_ITaskbarList3 is available
         3       INT10:Set Video Mode 3
         3       VGA:Blinking 8
         3       VGA:Blinking 0
         3       MOUSE:INT 15H PS/2 emulation enabled
ISA Plug & Play BIOS enabled
VGA ROM BIOS init callback
         8       INT10:Set Video Mode 3
         8       VGA:Blinking 8
        13 WARN  MISC:MEM_SlowPath called within system RAM at page c4
        13 WARN  MISC:MEM_SlowPath called within system RAM at page c5
        13 WARN  MISC:MEM_SlowPath called within system RAM at page c6
        13 WARN  MISC:MEM_SlowPath called within system RAM at page c7
        13 WARN  MISC:MEM_SlowPath called within system RAM at page c8
        13 WARN  MISC:MEM_SlowPath called within system RAM at page c9
        13 WARN  MISC:MEM_SlowPath called within system RAM at page ca
        13 WARN  MISC:MEM_SlowPath called within system RAM at page cb
        13 WARN  MISC:MEM_SlowPath called within system RAM at page cc
        13 WARN  MISC:MEM_SlowPath called within system RAM at page cd
        13 WARN  MISC:MEM_SlowPath called within system RAM at page ce
        13 WARN  MISC:MEM_SlowPath called within system RAM at page cf
        13 WARN  MISC:MEM_SlowPath called within system RAM at page d0
        13 WARN  MISC:MEM_SlowPath called within system RAM at page d1
        13 WARN  MISC:MEM_SlowPath called within system RAM at page d2
        13 WARN  MISC:MEM_SlowPath called within system RAM at page d3
        13 WARN  MISC:MEM_SlowPath called within system RAM at page d4
        13 WARN  MISC:MEM_SlowPath called within system RAM at page d5
        13 WARN  MISC:MEM_SlowPath called within system RAM at page d6
        13 WARN  MISC:MEM_SlowPath called within system RAM at page d7
        13 WARN  MISC:MEM_SlowPath called within system RAM at page d8
        13 WARN  MISC:MEM_SlowPath called within system RAM at page d9
        13 WARN  MISC:MEM_SlowPath called within system RAM at page da
        13 WARN  MISC:MEM_SlowPath called within system RAM at page db
        13 WARN  MISC:MEM_SlowPath called within system RAM at page dc
        13 WARN  MISC:MEM_SlowPath called within system RAM at page dd
        13 WARN  MISC:MEM_SlowPath called within system RAM at page de
        13 WARN  MISC:MEM_SlowPath called within system RAM at page df
        13 WARN  MISC:MEM_SlowPath called within system RAM at page e0
        13 WARN  MISC:MEM_SlowPath called within system RAM at page e1
        13 WARN  MISC:MEM_SlowPath called within system RAM at page e2
        13 WARN  MISC:MEM_SlowPath called within system RAM at page e3
        13 WARN  MISC:MEM_SlowPath called within system RAM at page e4
        13 WARN  MISC:MEM_SlowPath called within system RAM at page e5
        13 WARN  MISC:MEM_SlowPath called within system RAM at page e6
        13 WARN  MISC:MEM_SlowPath called within system RAM at page e7
        13 WARN  MISC:MEM_SlowPath called within system RAM at page e8
        13 WARN  MISC:MEM_SlowPath called within system RAM at page e9
        13 WARN  MISC:MEM_SlowPath called within system RAM at page ea
        13 WARN  MISC:MEM_SlowPath called within system RAM at page eb
        13 WARN  MISC:MEM_SlowPath called within system RAM at page ec
        13 WARN  MISC:MEM_SlowPath called within system RAM at page ed
        13 WARN  MISC:MEM_SlowPath called within system RAM at page ee
        13 WARN  MISC:MEM_SlowPath called within system RAM at page ef
        15       DOSMISC:DOS clipboard device (dummy access) is enabled with the name CLIP$
WARNING: No translation support (to host) for code page 0
        15       BIOS:Keyboard layout gr successfully loaded
DOS keyboard layout loaded with main language code GR for layout gr
XMS: 50 handles allocated for use by the DOS environment
        15       MISC:UMB assigned region is 0xcc00-0xefff
COMMAND.COM env size:             720 bytes
COMMAND.COM environment block:    0xcc01 sz=0x002d
COMMAND.COM main body (PSP):      0xcc2f sz=0x009a
COMMAND.COM stack:                0xcc49
        15       FILES:file open command 2 file CON
        15       FILES:file open command 2 file CON
        15       FILES:file open command 2 file CON
        15       FILES:file open command 2 file PRN
        15       FILES:file open command 2 file CON
        15       MOUSE:INT 33H emulation enabled
    262693       VGA:VGA refresh rate is now, 70.087
pixratio 1.350, dw false, dh false
Aspect ratio: 720 x 540  xToY=1.333 yToX=0.750
menuScale=2
Screen report: Method 'Win98base' (1920.000 x 1080.000 pixels) at (0.000 x 0.000) (508.000 x 285.750 mm) (20.000 x 11.250 in) (96.000 x 96.000 DPI)
    306893       FILES:Special file open command 80 file Z:\AUTOEXEC.BAT
    306893       FILES:Closing file AUTOEXEC.BAT
    306893       FILES:Special file open command 80 file Z:\AUTOEXEC.BAT
    306893       FILES:Closing file AUTOEXEC.BAT
    306893       FILES:Special file open command 80 file Z:\AUTOEXEC.BAT
    306893       FILES:Closing file AUTOEXEC.BAT
    307128       FILES:file search attributes FFF7 name "Z:\SYSTEM"
    307131       EXEC:Execute Z:\SYSTEM\MOUNT.COM 0
    307131       FILES:file open command 0 file Z:\SYSTEM\MOUNT.COM
    307131       FILES:Closing file MOUNT.COM
    307751       DOSMISC:DIRCACHE: Set volume label to Y_DRIVE
    307755       FILES:Closing file CON
    307755       FILES:Closing file CON
    307755       FILES:Closing file CON
    307755       FILES:Closing file CON
    307755       FILES:Closing file CON
    307757       FILES:Special file open command 80 file Z:\AUTOEXEC.BAT
    307757       FILES:Closing file AUTOEXEC.BAT
    307857       FILES:Special file open command 80 file Z:\AUTOEXEC.BAT
    307857       FILES:Closing file AUTOEXEC.BAT
    308122       FILES:Special file open command 80 file Y:\BATS\WC3.BAT
    308122       FILES:Closing file BATS\WC3.BAT
    308122       FILES:Special file open command 80 file Y:\BATS\WC3.BAT
    308122       FILES:Closing file BATS\WC3.BAT
    308447       FILES:file search attributes FFF7 name "Z:\SYSTEM"
    308450       EXEC:Execute Z:\SYSTEM\MOUNT.COM 0
    308450       FILES:file open command 0 file Z:\SYSTEM\MOUNT.COM
    308450       FILES:Closing file MOUNT.COM
    308460       DOSMISC:DIRCACHE: Set volume label to 
    309160       DOSMISC:DIRCACHE: Set volume label to C_DRIVE
    309164       FILES:Closing file CON
    309164       FILES:Closing file CON
    309164       FILES:Closing file CON
    309164       FILES:Closing file CON
    309164       FILES:Closing file CON
    309166       FILES:Special file open command 80 file Y:\BATS\WC3.BAT
    309166       FILES:Closing file BATS\WC3.BAT
    309836       FILES:file search attributes FFF7 name "Z:\SYSTEM"
    309839       EXEC:Execute Z:\SYSTEM\IMGMOUNT.COM 0
    309839       FILES:file open command 0 file Z:\SYSTEM\IMGMOUNT.COM
    309839       FILES:Closing file IMGMOUNT.COM
IDE: index 0 slave=0
    309849       MISC:MSCDEX: Mounting iso file as cdrom: Disks\\Wing Commander 3.iso
    310863       FILES:Closing file CON
    310863       FILES:Closing file CON
    310863       FILES:Closing file CON
    310863       FILES:Closing file CON
    310863       FILES:Closing file CON
    310865       FILES:Special file open command 80 file Y:\BATS\WC3.BAT
    310865       FILES:Closing file BATS\WC3.BAT
    310965       FILES:Special file open command 80 file Y:\BATS\WC3.BAT
    310965       FILES:Closing file BATS\WC3.BAT
    311293       EXEC:Execute WC3.EXE 0
    311293       FILES:file open command 0 file WC3.EXE
    311293       FILES:Closing file WC3.EXE
    311606       DOSMISC:Call is made for list of lists - let's hope for the best
    311666 ERROR BIOS:INT15:Unknown call ax=1209
    311870       FILES:file open command 0 file D:\jemm.ovl
    311895       FILES:Closing file JEMM.OVL
    311913       EXEC:Execute D:\jemm.ovl 3
    311913       FILES:file open command 0 file D:\jemm.ovl
    311913       FILES:Closing file jemm.ovl
    324259       FILES:file open command 0 file D:\WC3.EXE
    324484       FILES:Closing file WC3.EXE
    324736       FILES:file open command 0 file C:\WC3\WC3.CON
    325336       FILES:Closing file WC3\WC3.CON
    325346       FILES:file open command 0 file C:\WC3\WC3.CFG
    325386       FILES:Closing file WC3\WC3.CFG
    325418       FILES:file open command 0 file WC3.CON
    325458       FILES:Closing file WC3.CON
    325468       FILES:file create attributes 0 file C:\WC3\WC3.CON
    325512       FILES:Closing file WC3\WC3.CON
    325533       FILES:file open command 0 file C:\WC3\VIDEO.DLL
    325533       FILES:file open command 0 file C:\WC3\VIDEO.DLL
    325561       FILES:file open command 0 file C:\WC3\WC3JOY.DLL
    325561       FILES:file open command 0 file C:\WC3\WC3JOY.DLL
    325607       FILES:file open command 0 file .\GLOBALS.IFF
    330060       PIT:PIT 0 Timer at 120.0022 Hz mode 3
    330234       FILES:file open command 0 file MCGA.DLL
    330274       FILES:Closing file MCGA.DLL
    330284       FILES:file open command 0 file VESA480.DLL
    330324       FILES:Closing file VESA480.DLL
    330464       FILES:Closing file GLOBALS.IFF
    330490       MOUSE:INT 33h reset
    330578       MOUSE:Define Horizontal range min:0 max:640
    330578       MOUSE:Define Horizontal range min:0 max:640 defines the bounds of the screen
    330588       MOUSE:Define Vertical range min:0 max:480
    330588       MOUSE:Define Vertical range min:0 max:480 defines the bounds of the screen
    330654       MOUSE:Define Horizontal range min:0 max:640
    330664       MOUSE:Define Vertical range min:0 max:480
    330694       FILES:file open command 0 file INSTALL.TRE
    330778       FILES:file open command 0 file C:\WC3\WC3.CFG
    330818       FILES:Closing file WC3\WC3.CFG
    330838       FILES:file create attributes 0 file C:\WC3\TESTE.TST
    330892       FILES:Closing file WC3\TESTE.TST
    330902       FILES:Deleting file c:\wc3\teste.tst
    330924       FILES:Closing file INSTALL.TRE
    330967       FILES:file open command 0 file C:\WC3\WC3.CON
    331027       FILES:file open command 0 file CD1MOVIE.TRE
    331107       FILES:file open command 0 file MOVIES.TRE
    331107       FILES:file open command 0 file MOVIES.TRE
    331137       FILES:file open command 0 file D:MOVIES.TRE
    331217       FILES:file open command 0 file CD1MISS.TRE
    331297       FILES:file open command 0 file OBJECTS.TRE
    331377       FILES:file open command 0 file MISSIONS.TRE
    331457       FILES:file open command 0 file GAMEFLOW.TRE
    331547       FILES:Closing file WC3\WC3.CON
    332987       FILES:file create attributes 0 file C:\WC3\SWAPFILE.$$$
    333099       FILES:Closing file WC3\SWAPFILE.$$$
    333109       FILES:file open command 2 file C:\WC3\SWAPFILE.$$$
    333173       FILES:file open command 0 file C:\WC3\WC3.CFG
    333213       FILES:Closing file WC3\WC3.CFG
    333253       FILES:file open command 0 file hmidrv.386
    333725       FILES:Closing file HMIDRV.386
    333775       FILES:file open command 0 file hmidrv.386
    334818       FILES:Closing file HMIDRV.386
    334834       SBLASTER:DSP:Reset
    334865 WARN  SBLASTER:MIXER:Write B to unhandled index 83
    334890       SBLASTER:DMA unmasked,starting output, auto 1 block 8191
    334894       FILES:file open command 0 file hmimdrv.386
    335026       FILES:Closing file HMIMDRV.386
    335032       MISC:MPU-401:Reset FF
    335032       MISC:MPU-401:Set UART mode 3F
    335086       SBLASTER:limiting amount masked to sb.dma.min
    335086       SBLASTER:DMA masked,stopping output, left 6631
    335215       FILES:file open command 0 file hmidrv.386
    335707       FILES:Closing file HMIDRV.386
    335717       FILES:file open command 0 file hmidrv.386
    336772       FILES:Closing file HMIDRV.386
    336788       SBLASTER:DSP:Reset
    336809 WARN  SBLASTER:MIXER:Write B to unhandled index 83
    336834       SBLASTER:DMA unmasked,starting output, auto 1 block 4095
    337321       MOUSE:Define Horizontal range min:0 max:640
    337331       MOUSE:Define Vertical range min:0 max:480
    337354       FILES:file open command 0 file C:\WC3\KEYCODEE.DAT
    337354       FILES:file open command 0 file C:\WC3\KEYCODEE.DAT
    337384       INT10:Set Video Mode 101
    337384       VGA:Blinking 0
    337384       VGA:Blinking 8
    337384 ERROR MOUSE:Unhandled videomode 69 on reset
    337458       VGA:VGA refresh rate is now, 70.007
pixratio 1.000, dw false, dh false
Aspect ratio: 640 x 480  xToY=1.333 yToX=0.750
menuScale=2
Screen report: Method 'Win98base' (1920.000 x 1080.000 pixels) at (0.000 x 0.000) (508.000 x 285.750 mm) (20.000 x 11.250 in) (96.000 x 96.000 DPI)
    337465       INT10:Set Video Mode 101
    337465       VGA:Blinking 0
    337465       VGA:Blinking 8
    337465       MOUSE:New video mode is the same as the old
    337465 ERROR MOUSE:Unhandled videomode 69 on reset
    337485       MOUSE:Define Horizontal range min:0 max:640
    337495       MOUSE:Define Vertical range min:0 max:480
    337532       VGA:VGA refresh rate is now, 70.007
    337612       PIT:PIT 0 Timer at 240.0286 Hz mode 3
    338204       SBLASTER:Raising IRQ
    338438       SBLASTER:Raising IRQ
    338683       SBLASTER:Raising IRQ
    338901       SBLASTER:Raising IRQ
    339105       SBLASTER:Raising IRQ
    339289       SBLASTER:Raising IRQ
    340002       SBLASTER:Raising IRQ
    340194       SBLASTER:Raising IRQ
    340412       SBLASTER:Raising IRQ
    340662       SBLASTER:Raising IRQ
    340860       SBLASTER:Raising IRQ
    345277       SBLASTER:Raising IRQ
    385130       SBLASTER:Raising IRQ
    385318       SBLASTER:Raising IRQ
    385568       SBLASTER:Raising IRQ
    385811       SBLASTER:Raising IRQ
    386146       SBLASTER:Raising IRQ
    386639       SBLASTER:Raising IRQ
    386984       SBLASTER:Raising IRQ
    387143       MOUSE:Define Horizontal range min:0 max:1278
    387143       MOUSE:Define Horizontal range min:0 max:1278 defines the bounds of the screen
    387153       MOUSE:Define Vertical range min:0 max:479
    391321       SBLASTER:Raising IRQ
    400260       SBLASTER:Raising IRQ
    409148       SBLASTER:Raising IRQ
    418029       SBLASTER:Raising IRQ
    427011       SBLASTER:Raising IRQ
    435965       SBLASTER:Raising IRQ
    444920       SBLASTER:Raising IRQ
    453464       SBLASTER:Raising IRQ
    453874       SBLASTER:Raising IRQ
    454288       SBLASTER:Raising IRQ
    454612       SBLASTER:Raising IRQ
    455421       SBLASTER:Raising IRQ
    456018       SBLASTER:Raising IRQ
    458065       SBLASTER:Raising IRQ
    460734       SBLASTER:Raising IRQ
    463394       SBLASTER:Raising IRQ
    464395       SBLASTER:Raising IRQ
    465024       SBLASTER:Raising IRQ
    465686       SBLASTER:Raising IRQ
    466209       SBLASTER:Raising IRQ
    466443       SBLASTER:Raising IRQ
    466986       SBLASTER:Raising IRQ
    467255       SBLASTER:Raising IRQ
    468230       SBLASTER:Raising IRQ
    470220       SBLASTER:Raising IRQ
    472379       SBLASTER:Raising IRQ
    474570       SBLASTER:Raising IRQ
    476668       SBLASTER:Raising IRQ
    478416       SBLASTER:Raising IRQ
    478952       SBLASTER:Raising IRQ
    479507       SBLASTER:Raising IRQ
    480041       SBLASTER:Raising IRQ
    480578       SBLASTER:Raising IRQ
    480849       SBLASTER:Raising IRQ
    481432       SBLASTER:Raising IRQ
    481863       SBLASTER:Raising IRQ
    482858       SBLASTER:Raising IRQ
    485503       SBLASTER:Raising IRQ
    488314       SBLASTER:Raising IRQ
    490314       SBLASTER:Raising IRQ
    490851       MOUSE:Define Horizontal range min:0 max:640
    490851       MOUSE:Define Horizontal range min:0 max:640 defines the bounds of the screen
    490861       MOUSE:Define Vertical range min:0 max:480
    490867       SBLASTER:limiting amount masked to sb.dma.min
    490867       SBLASTER:DMA masked,stopping output, left 965
    490992       PIT:PIT 0 Timer at 120.0022 Hz mode 3
    490996       FILES:file open command 0 file hmidrv.386
    491468       FILES:Closing file HMIDRV.386
    491488       FILES:file open command 0 file hmidrv.386
    492520       FILES:Closing file HMIDRV.386
    492536       SBLASTER:DSP:Reset
    492618 WARN  SBLASTER:MIXER:Write B to unhandled index 83
    492643       SBLASTER:DMA unmasked,starting output, auto 1 block 8191
    493273       INT10:Set Video Mode 101
    493273       VGA:Blinking 0
    493273       VGA:Blinking 8
    493273       MOUSE:New video mode is the same as the old
    493273 ERROR MOUSE:Unhandled videomode 69 on reset
    493363       VGA:VGA refresh rate is now, 70.007
    493392       INT10:Set Video Mode 101
    493392       VGA:Blinking 0
    493392       VGA:Blinking 8
    493392       MOUSE:New video mode is the same as the old
    493392 ERROR MOUSE:Unhandled videomode 69 on reset
    493412       MOUSE:Define Horizontal range min:0 max:640
    493422       MOUSE:Define Vertical range min:0 max:480
    493449       VGA:VGA refresh rate is now, 70.007
    495407       SBLASTER:Raising IRQ
    496304       SBLASTER:Raising IRQ
    497665       SBLASTER:Raising IRQ
    498994       SBLASTER:Raising IRQ
    499488       SBLASTER:Raising IRQ
    501604       FILES:file open command 0 file C:\WC3\SFOSAVED.DAT
    501997       FILES:Closing file WC3\SFOSAVED.DAT
    502344       SBLASTER:Raising IRQ
    502841       SBLASTER:Raising IRQ
    502983       PAGING:Recursive PageFault for e0002800 used=0
    503087       PAGING:Recursive PageFault for e0002800 used=0
    503318       PAGING:Recursive PageFault for e0002800 used=0
    503549       PAGING:Recursive PageFault for e0002800 used=0
    503781       PAGING:Recursive PageFault for e0002800 used=0
  11150041       SBLASTER:Raising IRQ
  25161662       SBLASTER:Raising IRQ
  39180717       SBLASTER:Raising IRQ
  53198607       SBLASTER:Raising IRQ
  67216596       SBLASTER:Raising IRQ
  81229358       SBLASTER:Raising IRQ
  95249308       SBLASTER:Raising IRQ
 109274321       SBLASTER:Raising IRQ
 123305890       SBLASTER:Raising IRQ
 137336243       SBLASTER:Raising IRQ
 151364203       SBLASTER:Raising IRQ
 165399815       SBLASTER:Raising IRQ
 179434362       SBLASTER:Raising IRQ
 193466479       SBLASTER:Raising IRQ
 207495231       SBLASTER:Raising IRQ
 221526222       SBLASTER:Raising IRQ
 235559784       SBLASTER:Raising IRQ
 249597454       SBLASTER:Raising IRQ
 263635280       SBLASTER:Raising IRQ
 277667460       SBLASTER:Raising IRQ
 291700446       SBLASTER:Raising IRQ
 305734198       SBLASTER:Raising IRQ
 319772758       SBLASTER:Raising IRQ
 333806035       SBLASTER:Raising IRQ
 347838989       SBLASTER:Raising IRQ
 361866374       SBLASTER:Raising IRQ
 375899103       SBLASTER:Raising IRQ
 378084049       PAGING:Recursive PageFault for e0002800 used=0
 378084289 ERROR BIOS:INT15:Unknown call ax=8080
 378084291       PAGING:Recursive PageFault for e0002800 used=0
 378084521 ERROR BIOS:INT16:Unhandled call 86
 378084523       PAGING:Recursive PageFault for e0002800 used=0
BIOS INT17: Unhandled call AH=86 DX=   0
 378084755       PAGING:Recursive PageFault for e0002800 used=0
Restart by INT 18h requested
Removing UMB block 0xcc00-0xefff
Rebooting the system
 378084984       VGA:Video RAM: 16384KB
Aspect ratio: 640 x 480  xToY=1.333 yToX=0.750
menuScale=2
Screen report: Method 'Win98base' (1920.000 x 1080.000 pixels) at (0.000 x 0.000) (508.000 x 285.750 mm) (20.000 x 11.250 in) (96.000 x 96.000 DPI)
Aspect ratio: 640 x 480  xToY=1.333 yToX=0.750
menuScale=2
Screen report: Method 'Win98base' (1920.000 x 1080.000 pixels) at (0.000 x 0.000) (508.000 x 285.750 mm) (20.000 x 11.250 in) (96.000 x 96.000 DPI)
Aspect ratio: 640 x 480  xToY=1.333 yToX=0.750
menuScale=2
Screen report: Method 'Win98base' (1920.000 x 1080.000 pixels) at (0.000 x 0.000) (508.000 x 285.750 mm) (20.000 x 11.250 in) (96.000 x 96.000 DPI)
Screen report: Method 'Win98base' (1920.000 x 1080.000 pixels) at (0.000 x 0.000) (508.000 x 285.750 mm) (20.000 x 11.250 in) (96.000 x 96.000 DPI)
 378084984       KEYBOARD:Keyboard AUX emulation enabled
 378084984       SBLASTER:DSP:Reset
 378084984       SBLASTER:DSP:Reset
 378084984       INT10:Set Video Mode 3
 378122901       VGA:VGA refresh rate is now, 70.087
pixratio 1.350, dw false, dh false
Aspect ratio: 720 x 540  xToY=1.333 yToX=0.750
menuScale=2
Screen report: Method 'Win98base' (1920.000 x 1080.000 pixels) at (0.000 x 0.000) (508.000 x 285.750 mm) (20.000 x 11.250 in) (96.000 x 96.000 DPI)
 397402025       INT10:Set Video Mode 3
 397402025       MOUSE:INT 15H PS/2 emulation enabled
ISA Plug & Play BIOS enabled
VGA ROM BIOS init callback
 397402030       INT10:Set Video Mode 3
 397402037       DOSMISC:DOS clipboard device (dummy access) is enabled with the name CLIP$
 397402037       BIOS:Keyboard layout gr successfully loaded
DOS keyboard layout loaded with main language code GR for layout gr
XMS: 50 handles allocated for use by the DOS environment
 397402037       MISC:UMB assigned region is 0xcc00-0xefff
COMMAND.COM env size:             720 bytes
COMMAND.COM environment block:    0xcc01 sz=0x002d
COMMAND.COM main body (PSP):      0xcc2f sz=0x009a
COMMAND.COM stack:                0xcc49
 397402037       FILES:file open command 2 file CON
 397402037       FILES:file open command 2 file CON
 397402037       FILES:file open command 2 file CON
 397402037       FILES:file open command 2 file PRN
 397402037       FILES:file open command 2 file CON
 397402037       MOUSE:INT 33H emulation enabled
 397428076       VGA:VGA refresh rate is now, 70.087
 397756329       FILES:Special file open command 80 file Z:\AUTOEXEC.BAT
 397756329       FILES:Closing file AUTOEXEC.BAT
 397756329       FILES:Special file open command 80 file Z:\AUTOEXEC.BAT
 397756329       FILES:Closing file AUTOEXEC.BAT
 397756329       FILES:Special file open command 80 file Z:\AUTOEXEC.BAT
 397756329       FILES:Closing file AUTOEXEC.BAT
 397756564       FILES:file search attributes FFF7 name "Z:\SYSTEM"
 397756567       EXEC:Execute Z:\SYSTEM\MOUNT.COM 0
 397756567       FILES:file open command 0 file Z:\SYSTEM\MOUNT.COM
 397756567       FILES:Closing file MOUNT.COM
 397757187       DOSMISC:DIRCACHE: Set volume label to Y_DRIVE
 397757191       FILES:Closing file CON
 397757191       FILES:Closing file CON
 397757191       FILES:Closing file CON
 397757191       FILES:Closing file CON
 397757191       FILES:Closing file CON
 397757193       FILES:Special file open command 80 file Z:\AUTOEXEC.BAT
 397757193       FILES:Closing file AUTOEXEC.BAT
 397757307       FILES:Special file open command 80 file Z:\AUTOEXEC.BAT
 397757307       FILES:Closing file AUTOEXEC.BAT
 397757572       FILES:Special file open command 80 file Y:\BATS\WC3.BAT
 397757572       FILES:Closing file BATS\WC3.BAT
 397757572       FILES:Special file open command 80 file Y:\BATS\WC3.BAT
 397757572       FILES:Closing file BATS\WC3.BAT
 397757897       FILES:file search attributes FFF7 name "Z:\SYSTEM"
 397757900       EXEC:Execute Z:\SYSTEM\MOUNT.COM 0
 397757900       FILES:file open command 0 file Z:\SYSTEM\MOUNT.COM
 397757900       FILES:Closing file MOUNT.COM
 397757910       DOSMISC:DIRCACHE: Set volume label to 
 397758610       DOSMISC:DIRCACHE: Set volume label to C_DRIVE
 397758614       FILES:Closing file CON
 397758614       FILES:Closing file CON
 397758614       FILES:Closing file CON
 397758614       FILES:Closing file CON
 397758614       FILES:Closing file CON
 397758616       FILES:Special file open command 80 file Y:\BATS\WC3.BAT
 397758616       FILES:Closing file BATS\WC3.BAT
 397759286       FILES:file search attributes FFF7 name "Z:\SYSTEM"
 397759289       EXEC:Execute Z:\SYSTEM\IMGMOUNT.COM 0
 397759289       FILES:file open command 0 file Z:\SYSTEM\IMGMOUNT.COM
 397759289       FILES:Closing file IMGMOUNT.COM
IDE: index 0 slave=0
 397759299       MISC:MSCDEX: Mounting iso file as cdrom: Disks\\Wing Commander 3.iso
 397760313       FILES:Closing file CON
 397760313       FILES:Closing file CON
 397760313       FILES:Closing file CON
 397760313       FILES:Closing file CON
 397760313       FILES:Closing file CON
 397760315       FILES:Special file open command 80 file Y:\BATS\WC3.BAT
 397760315       FILES:Closing file BATS\WC3.BAT
 397760415       FILES:Special file open command 80 file Y:\BATS\WC3.BAT
 397760415       FILES:Closing file BATS\WC3.BAT
 397760743       EXEC:Execute WC3.EXE 0
 397760743       FILES:file open command 0 file WC3.EXE
 397760743       FILES:Closing file WC3.EXE
 397761056       DOSMISC:Call is made for list of lists - let's hope for the best
 397761116 ERROR BIOS:INT15:Unknown call ax=1209
 397761320       FILES:file open command 0 file D:\jemm.ovl
 397761345       FILES:Closing file JEMM.OVL
 397761363       EXEC:Execute D:\jemm.ovl 3
 397761363       FILES:file open command 0 file D:\jemm.ovl
 397761363       FILES:Closing file jemm.ovl
E_Exit: IRET:Illegal descriptor type 0
 397773507 WARN  MISC:Interrupt vector changed on 1B BIOS 1Bh stock CTRL+BREAK handler
 397773507 WARN  MISC:Interrupt vector changed on 4B INT 4B

Additional context

I have set DOS.EMS to false since the game wouldn't even start without crashing hard upon startup. WC3 is configured to use SVGA for both gameplay and video, MT32-87 for music, and Soundblaster 16 for digital effects. English subtitles are activated. In order to solve problems with sound clipping I had to manually assign CPU cycles to 70000, which introduces some stuttering if capital ships are present, but make the movies run smoothly.

The version in question is the GOG version of which I took the ISO file and performed a custom installation of WC3 with, since I like to have one DOS emulator for three dozen different games (custom configurations are passed via parameters in batch files). This version has the content of all four CDs put into one image so that no CD switches are necessary.

As an aside I really don't appreciate the warning that "I am running in 24 bpp mode, this will slow down things". I am most certainly not running in 24 bpp mode, yet SDL has been complaining about this for years at this point.

Cerrseien commented 2 years ago

Since 0.83.22 came out today I've tried to use the cheat again. Same result.

wc3

Cerrseien commented 2 years ago

Do you need any further information? Problem is still present with 0.83.23. wc3_2

maron2000 commented 2 years ago

It seems that it works if you install the game on a booted PCDOS image, but crashes if you press Ctrl+ W a couple of times. According to the log there are lots of page faults, but I don't know whether it is a bug of WC3 or DOSBox-X.

grapeli commented 2 years ago

It looks like the same error as here #3350.

Apply this patch. WC3 starts correctly with ems=true. It also works properly when using cheat codes. Certainly nothing freezes. I compared how it works with and without this patch.

maron2000 commented 2 years ago

@grapeli I applied your patch and it seems that WC3 -mitchell work okay. Destroyed X objects appears on the screen if I press CTRL+W.

grapeli commented 2 years ago

@maron2000 This is not "my" patch. I would never have made it up in my life. This is just a commit d02eef9 restored.

maron2000 commented 2 years ago

@grapeli Okay, even if it is not your idea, I appreciate your efforts for bisecting.

grapeli commented 2 years ago

@maron2000 Contrary to appearances, git bisect is tiring. Usually associated with compilation errors.

This was also the case here. In addition, commit d013fa8 distorted the entire result. A dosbox-x crash was causing it. It had to be undone. In addition, the x86_64 version stopped building at some point, it was necessary to add a patch. At one point, she also caused the problem. I switched to x86_32. This is where the nullmodem.cpp file was compiling inconsistently. In total, I have done maybe nearly 30 dosbox-x builds. The compilation itself is very fast.

grapeli commented 2 years ago

@maron2000 This fix is also beneficial for Strike Commander. Works fine with the default ems=true, not causing dosbox-x to restart.

3135

Cerrseien commented 2 years ago

Can confirm that the problem is fixed with the patch: objects

I'll close the issue. Thank you very much.