Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[git][game]Planet-X3 crashes when using machine=amstrad and CGA Hi-Res Mono 640x200. #2680

Closed
FredBezies opened this issue Jul 15, 2021 · 3 comments

Comments

@FredBezies
Copy link
Contributor

Describe the bug
Hello.

I noticed this bug after I wanted to reproduce what Benedikt Freisen reported in a post in Planet-X3 Facebook group: https://www.facebook.com/groups/503277420168121/posts/1144541842708339/

In order to work around buggy support of machine=amstrad reported in bug #2677 I launched a debug build of dosbox-x with -fast-launch option.

To Reproduce
Steps to reproduce the behavior:

  1. Own a copy of Planet-X3 by The 8-bit Guy :)
  2. Set Dosbox-X to set machine=Amstrad
  3. Launch Dosbox-X with -fastlaunch to work around bug [git][SDL2]Dosbox-X crashes on start if I set machine to amstrad. #2677
  4. Select "3-CGA Hi-Res Mono 640x200 / 2-color" - See attached screenshot
  5. Select PC Speaker for sound
  6. Wait a few seconds

Expected behavior
Game still working.

Screenshots
Starting options of PlanetX3 in machine=amstrad mode:

px3_cga_000

Environment (please complete the following information):

  • Archlinux
  • DOSBox-X commit faecbaa
  • Only modification was to set machine=amstrad.

Additional context

I run coredumpctl gdb on the generated coredump. I added the log to this bug report. It ends with:

(intnum=intnum@entry=33 '!') at callback.cpp:212
#18 0x0000556a93303fab in DOS_Shell::Execute(char*, char const*)
    (this=this@entry=0x556a9908a330, name=name@entry=0x7ffe5b512610 "PX3.COM", args=args@entry=0x7ffe5b513937 "") at shell_misc.cpp:1175
#19 0x0000556a932eaf1d in DOS_Shell::DoCommand(char*)
    (this=this@entry=0x556a9908a330, line=0x7ffe5b513937 "", 
    line@entry=0x7ffe5b513930 "PX3.COM") at shell_cmds.cpp:263
#20 0x0000556a932d3e68 in DOS_Shell::ParseLine(char*)
    (this=0x556a9908a330, line=0x7ffe5b513930 "PX3.COM") at shell.cpp:446
#21 0x0000556a932d47f3 in DOS_Shell::Run() (this=0x556a9908a330)
    at shell.cpp:882
#22 0x0000556a932df94c in SHELL_Run() () at shell.cpp:1825
#23 0x0000556a93392cf8 in VM_Boot_DOSBox_Kernel() () at sdlmain.cpp:9927
#24 0x0000556a9334898f in BIOS::cb_bios_boot__func() () at bios.cpp:9278
#25 0x0000556a9319d2d4 in Normal_Loop() () at dosbox.cpp:364
#26 0x0000556a9319d4be in DOSBOX_RunMachine() () at dosbox.cpp:615
#27 0x0000556a931920fe in main(int, char**)

coredump.log

@Wengier
Copy link
Collaborator

Wengier commented Jul 16, 2021

There is an ongoing PR (#2681) to fix the Amstrad graphics memory, which I am not sure if it will fix this too. You can certainly try the updated code and see if it solves the issue for you (or try it after the code is merged).

@FredBezies
Copy link
Contributor Author

PR #2681 seems to fix this bug too. So, fixing two bugs with only one commit, why not? :)

@FredBezies
Copy link
Contributor Author

Fixed by commit 7e46f35

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants