Closed Python-Exoproject closed 1 year ago
There was also DOS32A mentioned in process. https://www.dosbox.com/wiki/TOOLS:DOS32A
And I believe, Timber tested the different version the last time. This one: https://archive.org/download/redump_pc_S-2/Screamer%20%28Europe%29%20%28Sold%20Out%20Software%29.7z
I tested the redump version: It doesn't crash at the same point but the whole dosbox closes a bit later before the first round finishes (tested twice)
I reinstalled the current WIP version and it crashes as described above in the second screenshot. If I change the memsize to 64 it runs without problems for me. I can finish the whole race (although I'm not good at it and crossed the finish line as 4th place :-P)
It looks like even the original version used to crash a lot in svga mode. There is a workaround for the 5th track (see here) though i think that is a different one from the one on top. Here is a vogons thread with more info. Maybe it is best to set the game in VGA mode?
e: Also the game felt a little choppy to me. at around 110000 cycles it was smoother.
Some test results with the current WIP version and its settings (SVGA, SB16 Stereo). Repro steps:
CHOICE.DAT
into SCREAMER/CONFIG/
Tried a bunch of things, but results were all bad:
core = normal
: crashed w/ IRET error, freeze, dos/4gw detecting a problem, or garbage text written overtop the graphics. dos4g-2.60
: crashMap 5 exposes some memory management bugs in the game, causing it to corrupt huge chunks of its own memory.
If Screamer 2 was a bug-fixed build of Screamer 1 ("Virgin management: "we'll sell them the bug fix as a new game" :money_mouth_face:), maybe there's hope that someone can patch-in the bug-fixed memory handling code..
Without renaming the files, the best I could do was this:
Use DOS/4W-2.60 in the SCREAMER/
directory, replacing the original executable.
Use these conf modifications (applicable to all DOSBoxes):
[cpu]
core = dynamic
cycles = max
[dos]
xms = false
ems = false
umb = false
I've been able to beat stage 5 four for four now, and haven't hit a single crash: (EDIT! Nope: this config still crashes, but just less likely).
https://user-images.githubusercontent.com/1557255/211601704-a0f5a2eb-58f4-4669-86c1-64be59ae0ed9.mp4
ok. so there seem to be a few options here (both mentioned in the thread linked my @Eulisker above): 1: just use lo res mode for the launch and ignore SVGA 2: use SVGA, but for track 5, rename the high res track file and instead copy the lo res track file over with the high res name. This essentially plays a lo res version of just track 5, which supposedly works for most folks.
@kcgen 's work above is beneficial to understanding the over all, but ultimately it is a variation of option one, which uses the low res files (if I read it correctly)
I saw one person in a thread mention that turning sound off also helped... but that seems unnecessary.
Unfortunately even the file-rename approach isn't reliable - I was still able to get a crash after a handful of wins. Same with my suggestions above.. I think I just got lucky; after more attempts, I was still able to get a crash on the resumed championship course.
The odds of avoiding the corruption improve considerably using the low-resolution (files and settings) -- so I also agree it's the best compromise. Keen users can retry a handful of times to get past it - and maybe a canned save game that let's them jump to level 6 would be worst-case fallback.
Maybe we can offer the vga mode as an option and have a note that warns of the svga mode being prone to crashing?
E: and by we i mean eXo :)
yea, I agree with the final option. No reason to force lo-res or high-res when it can be an informed choice.
@grapeli has found an in-game driving path that avoids the bug: https://github.com/joncampbell123/dosbox-x/issues/3939#issuecomment-1387146638 !
User Dosgamert has reported that screamer crashes as certain points, usually around checkpoints. He has provided a save game and screenshot.
CHOICE.zip (put this is \Screamer\Screamer\Config).
Its been confirmed by both Timber and myself. Timber tried changing memsize to 64 from the current 32 and said he finished the race but myself and Dosgamert still had issues with that setting. Ive also tried memsize=16, ECE, and staging. memsize=16 gave a similar DOS/4GW error with exception code 0dh and both Staging and ECE just closed abruptly.