joncampbell123 / dosbox-x

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

Seiyoku Gakuen Seraphita causes DOSBox-X to crash #4898

Open human222 opened 6 months ago

human222 commented 6 months ago

Describe the bug

As soon as I attempt to run the game, DOSBox-X will crash. Screenshot from 2024-03-12 19-33-12

Steps to reproduce the behaviour

Attempt to run it.

Expected behavior

No response

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

Fedora 39

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

Commit 5d6204f

Used configuration

[dosbox]
working directory option    = config
working directory default       = /run/media/segphault/SSDBig/Content/computer/dosbox-x
machine                                 = pc98

[cpu]
cycles                                       = 12010

[midi]
mpu401                          = intelligent
mididevice                          = alsa
midiconfig                          = "SC-D70 - SC-D70 Part A"

[autoexec]
mount c pc98_c
c:

cd games\spaceprj
menu.bat

Output log

./dosbox-x -conf '/run/media/segphault/SSDBig/Content/computer/dosbox-x/Seiyoku Gakuen Seraphita SC-D70.conf'
LOG: Early LOG Init complete
LOG: DOSBox-X's working directory: /run/media/segphault/SSDBig/Content/computer/dosbox-x
LOG: Logging init: beginning logging proper. This is the end of the early init logging
LOG: Logging: No logfile was given. All further logging will be discarded.
LOG: DOSBox-X version 2024.03.01 Commit 02f36ba (Linux SDL2 64-bit)
LOG: SDL: version 2.28.5, Video wayland, Audio pulseaudio
LOG: Host keyboard layout is now  ()
LOG: Mapper keyboard layout is now  ()
LOG: SDL2 reports desktop display mode 1920 x 1080
LOG: The default output for the video system: opengl
LOG: Configured windowposition: -
LOG: SDL: Current window pixel format: SDL_PIXELFORMAT_RGB888
LOG: SDL: You are running in 24 bpp mode, this will slow down things!
LOG: Screen report: Method 'None' (-1.000 x -1.000 pixels) at (0.000 x 0.000) (-1.000 x -1.000 mm) (-0.039 x -0.039 in) (-1.000 x -1.000 DPI)
LOG: WARNING: DOS/V is only supported for VGA video cards.
LOG: Note: The linked SDL 2.x library is not compiled with enhanced IME functions.
LOG: C-BUS BCLK: 9830400.000Hz (9830400/1)
LOG: monopal: green, 
LOG: Active save slot: 1 [Empty]
LOG: USING AVI+ZMBV
LOG: Max 3670016 sz 16384
LOG: Final 16384
LOG: MIDI:Opened device:alsa
LOG: Pentium CMPXCHG8B emulation is enabled
LOG: One joystick reported, initializing with 4axis
LOG: Using joystick DualSense Wireless Controller with 6 axes, 17 buttons and 0 hat(s)
LOG: PC-98 PIT master clock rate 2457600Hz
LOG: VOODOO LFB now at d0000000
LOG: MPU-401 Registering I/O ports as if PC-98 MPU-401 at base e0d0h
LOG: Memory I/O complexity optimization enabled aka option 'memory io optimization 1'. If the game or demo is unable to draw to the screen properly, set the option to false.
LOG: The 'scanline render on demand' option is available and may provide a modest boost in video render performance if set to true.
LOG: Screen report: Method 'None' (-1.000 x -1.000 pixels) at (0.000 x 0.000) (-1.000 x -1.000 mm) (-0.039 x -0.039 in) (-1.000 x -1.000 DPI)
LOG: PC-98: GDC is running at 2.5MHz.
LOG: GDC: sync
LOG: GDC: RESET/SYNC MASTER=1 DOOR=1 DRAM=0 DISP=0 VFRAME=0 AW=80 HS=8 VS=8 HFP=10 HBP=8 VFP=7 AL=400 VBP=25
LOG: GDC: sync
LOG: GDC: RESET/SYNC MASTER=0 DOOR=0 DRAM=1 DISP=1 VFRAME=0 AW=40 HS=4 VS=8 HFP=5 HBP=4 VFP=7 AL=400 VBP=25
LOG: PC-98 FM board is PC-9801-86c at baseio=0x188 irq=12
LOG: PC98FM getbiospath fname='2608_bd.wav'
LOG: PC98FM TRACEOUT: wav: fmt: 1 / 1ch 44100Hz 16bit
LOG: PC98FM TRACEOUT: wav: fmt: 1 / 1ch 44100Hz 16bit
LOG: PC98FM getbiospath fname='2608_sd.wav'
LOG: PC98FM TRACEOUT: wav: fmt: 1 / 1ch 44100Hz 16bit
LOG: PC98FM TRACEOUT: wav: fmt: 1 / 1ch 44100Hz 16bit
LOG: PC98FM getbiospath fname='2608_top.wav'
LOG: PC98FM TRACEOUT: wav: fmt: 1 / 1ch 44100Hz 16bit
LOG: PC98FM TRACEOUT: wav: fmt: 1 / 1ch 44100Hz 16bit
LOG: PC98FM getbiospath fname='2608_hh.wav'
LOG: PC98FM TRACEOUT: wav: fmt: 1 / 1ch 44100Hz 16bit
LOG: PC98FM TRACEOUT: wav: fmt: 1 / 1ch 44100Hz 16bit
LOG: PC98FM getbiospath fname='2608_tom.wav'
LOG: PC98FM TRACEOUT: wav: fmt: 1 / 1ch 44100Hz 16bit
LOG: PC98FM TRACEOUT: wav: fmt: 1 / 1ch 44100Hz 16bit
LOG: PC98FM getbiospath fname='2608_rim.wav'
LOG: PC98FM TRACEOUT: wav: fmt: 1 / 1ch 44100Hz 16bit
LOG: PC98FM TRACEOUT: wav: fmt: 1 / 1ch 44100Hz 16bit
LOG: cbuscore_attachsndex(port=0xa460)
LOG: cbuscore_attachsndex(port=0xa466)
LOG: cbuscore_attachsndex(port=0x188)
LOG: Host keyboard layout is now  ()
LOG: PC-98: Final SB16 resources are DMA8=3 DMA16=3
LOG: PC-98 43Dh mapping BIOS back into top of RAM
LOG: Screen report: Method 'None' (-1.000 x -1.000 pixels) at (0.000 x 0.000) (-1.000 x -1.000 mm) (-0.039 x -0.039 in) (-1.000 x -1.000 DPI)
LOG: PC-98 43Dh mapping BIOS back into top of RAM
LOG: FONT.ROM loaded
LOG: pixratio 1.000, dw false, dh false
LOG: Aspect ratio: 640 x 400  xToY=1.600 yToX=0.625
LOG: menuScale=1
LOG: Screen report: Method 'None' (-1.000 x -1.000 pixels) at (0.000 x 0.000) (-1.000 x -1.000 mm) (-0.039 x -0.039 in) (-1.000 x -1.000 DPI)
LOG: font texture id=2 will make 128 x 256
LOG: Screen report: Method 'None' (-1.000 x -1.000 pixels) at (0.000 x 0.000) (-1.000 x -1.000 mm) (-0.039 x -0.039 in) (-1.000 x -1.000 DPI)
LOG: PC-98 INT 18 AH=42h CH=0xC0
LOG: PC-98 INT 18 AH=42h CH=0x80
LOG: WARNING: No translation support (to host) for code page 0
LOG:   12244633 ERROR BIOS:Keyboard layout file auto not found
LOG:   12244633 ERROR BIOS:Keyboard layout file auto not found
LOG: XMS: 50 handles allocated for use by the DOS environment
LOG: EMS page frame at 0xd000-0xdfff
LOG: COMMAND.COM env size:             720 bytes
LOG: COMMAND.COM environment block:    0x0801 sz=0x002d
LOG: COMMAND.COM main body (PSP):      0x082f sz=0x009a
LOG: COMMAND.COM stack:                0x0849
Killed

Additional information

Using DOSBox-X DOS.

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

Code of Conduct & Contributing Guidelines

maron2000 commented 6 months ago

Boots fine with and without MIDI support on Windows (I tried internal MT32). Totally default for other settings. Maybe the problem is in your host system rather than DOSBox-X considering your other unsolved issues.

seraphita

Edit: No problem on ArchLinux seraphita_archlinux

human222 commented 6 months ago

I've had crashing and MIDI issues on Debian as well, but good to know that it works for you.

maron2000 commented 6 months ago

Tried timidity via alsa, and works fine. Edge still freezes though.

seraphita_timidity

human222 commented 6 months ago

I made a small discovery. The game will only work if I boot an HDI image and set the CPU core option to simple. This trick doesn't work with DOSBox-X DOS. Also while booting the HDI image with the CPU core set to auto/normal, the terminal will spam this as DOSBox-X is crashing:

LOG: DYNX86:Can't run code in this page!

joncampbell123 commented 6 months ago

I made a small discovery. The game will only work if I boot an HDI image and set the CPU core option to simple. This trick doesn't work with DOSBox-X DOS. Also while booting the HDI image with the CPU core set to auto/normal, the terminal will spam this as DOSBox-X is crashing:

LOG: DYNX86:Can't run code in this page!

Please try again with the latest commit, a mistake was made while implementing some experimental ACPI emulation that marked all RAM as non-code that made dynamic core unhappy.

human222 commented 6 months ago

With the latest commit, the HDI appears to work perfectly with all core options except full core. With full core, I get stuck at this screen: Screenshot from 2024-03-13 17-25-06 And it spams this message: LOG: PC-98 INT 1Bh unknown SCSI BIOS call AX=0FA0 BX=0000 CX=0007 DX=0101 SI=0DDF DI=0529 DS=0060 ES=07FE

Running the game from DOSBox-X DOS still results in a crash regardless of core option.

maron2000 commented 6 months ago

So strange that you have to boot the image. From my screenshots you can see that they are all launched from native DOSBox-X.

human222 commented 5 months ago

I just did some experimenting. Here is the menu.bat file:

CLS
ECHO   Seiyoku Gakuen Seraphita
ECHO   ------------------------
ECHO   1. FM Music
ECHO   2. GS MIDI Music
ECHO.
ECHO   3. Quit
ECHO   ------------------------
ECHO.
:START
BATKEY 0 [1,2,3]?
IF ERRORLEVEL 9 GOTO :START
IF ERRORLEVEL 8 GOTO :START
IF ERRORLEVEL 7 GOTO :START
IF ERRORLEVEL 6 GOTO :START
IF ERRORLEVEL 5 GOTO :START
IF ERRORLEVEL 4 GOTO :START
IF ERRORLEVEL 3 GOTO :EXIT
IF ERRORLEVEL 2 GOTO :OP2
IF ERRORLEVEL 1 GOTO :OP1
IF ERRORLEVEL 0 GOTO :START

:OP1
CD SP
SP
GOTO EXIT

:OP2
CD SP
SPM
GOTO EXIT

:EXIT
ECHO.

So the bat file implements a menu system where the user can select between soundtracks; FM and GS MIDI. DOSBox-X DOS doesn't seem to like the :START line in particular.

If I CD into the SP directory and run SP or SPM manually, the game will run.

maron2000 commented 5 months ago

Absolutely no problem on Windows, 2024.03.01 RELEASE. Added @echo off to your menu.bat, just to suppress unneeded displays.

seraphita1

https://github.com/joncampbell123/dosbox-x/assets/68574602/6ef3cf32-5b87-4902-8f6e-0bba264af19f