MiSTer-devel / ao486_MiSTer

ao486 port for MiSTer
Other
262 stars 69 forks source link

Ultima 7 Part 2 Serpent Isle crashes at startup #42

Open kompasmedia opened 4 years ago

kompasmedia commented 4 years ago

Ultima 7 Part 2 is closely related to the similarly named Ultima 7 the Black Gate. The latter runs without issue on the MiSTer but not so for the Serpent Isle. I used multiple releases of the same game, with and without expansion packs, but all show the same symptoms. Upon startup the screen flickers into VGA 320x200x256 mode and then drops back to the DOS prompt. No error message at all.

Retrying the same action does give an error about the extended memory being 0, which is obviously not really true but probably a symptom of the problem.

The Ultima 7 games are a good compatibility test for this core because they are extremely taxing on memory management and CPU modes.

The successor to Ultima 7, Ultima 8, once again runs just fine. So I think this particular case is touching a small incompatibility somewhere.

kompasmedia commented 4 years ago

Just to be clear: Serpent Isle runs fine on a real PC with the same configuration in DOS. I only load himem.sys and tested with a few different mouse drivers which all work on a real PC but make no difference on the MiSTer core.

kompasmedia commented 4 years ago

Issue persists on release 20200917 (didn't expect CD-support to really affect this, but tried anyway). Also got rid of himem.sys, then the system didn't have enough free memory. Getting rid of the mouse driver gave me enough memory, but still the same symptom. System changes video mode, then crashes back to prompt without error message. Running MS DOS 6.22.

rsn8887 commented 4 years ago

It works for me just fine, using latest ao486 release, using gog.com files and DOS 7.1. Maybe it works for me because I am using DOS 7.1, not 6.22? u7ss_mister

kompasmedia commented 4 years ago

I'm using the original floppies. I'll try with 7.1 to see if GOG makes any difference. I'm also going to try with the contemporary MS DOS 5.0, which is what the world was actually using at the time. I'd say that fully contemporary software should work correctly with the core. If it doesn't, the issue should then be sought in the core. 6.22 was close enough to fully authentic for me to report this issue.

Kitrinx commented 4 years ago

It runs without issue for me as well, and being one of my favorite games, I have tested this constantly throughout the core development. I'm afraid to say this is almost certainly user error. The game itself can be temperamental and requires some understanding of the workings of DOS to operate correctly. I suggest you use HIRAM for unreal mode UMB access so you are able to achieve adequate conventional memory. It is also possible through mis-configuration to cause the game to crash in such a way that it leaves the working directory dirty and needs files deleted to repair.

kompasmedia commented 3 years ago

I know what DOS is. I've been a user of the OS since the early 80's and a professional sysadmin on the platform well into the late 90's. User error sounds plausible but it's not. Serpent Isle runs fine on an actual 486 from the 90's with just himem.sys and a Microsoft mouse driver from the era on MS-DOS 5.0, 6.0 and 6.22. I cloned that exact hard drive over to a VHD: got DOS, but no game. Reinstalled from scratch on the MiSTer with images of the exact same floppies: no game. Used the Ultima Collection CD: no game. The fact that it does not work on this core, is an issue with this core. Not with my configuration. Sure there are probably ways around this, but the issue itself remains: the core is apparently incompatible with one of the more demanding games of the era when it's being used with the surrounding software that was current at the time. I might add that MS-DOS 5.0 as an OS, which is what people would actually be running Serpent Isle on, doesn't work at all on my MiSTer setup. It freezes up right after booting and I'm now looking into different boot disks with many OEM versions of the OS and their differences.

I'm sorry for being heavily opinionated on this, but when era-appropriate software does not work properly when it does on the real hardware, there's an issue. Workarounds are nice and much appreciated, but they are not solutions to the actual issue.

rsn8887 commented 3 years ago

Did you verify that it works for you using DOS 7.1? I don't think there's an exact real hardware to compare this core to, because the bios is custom etc.

kompasmedia commented 3 years ago

Ok, so I reinstalled the whole shebang onto a pristine SD card and now it works with the exact HD-image I had been experiencing the above problems with. For posterity: MS-DOS 6.22, Microsoft mouse driver, installed from floppy images, regular SoundBlaster audio (not Pro). So either something was broken in my SD card, or a recent update to the core clicked things in place.

Fenyx4 commented 2 years ago

I was running into the same symptoms. Also with 6.22. Installed from Serpent Isle Floppies. Crashed when I had sound enabled and worked when I had sound disabled. But your last comment got it working for me. I'd been setting it up as SoundBlaster Pro. Swapping to SoundBlaster got it working.