VOGONS


Finding bugs in 8086-80386 emulation core?

Topic actions

Reply 140 of 142, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've just taken a look at https://github.com/id-Software/wolf3d/blob/ma … SRC/ID_VL_A.ASM , which seems to be a part of the open-source release of wolf3d.exe . Oddly enough, the piece of code in the previous post doesn't seem to show up? Does that mean that wolf3d.exe/wolf8086.exe are damaged?

Edit: It indeed seems to be the case that the files are damaged. Copying a fresh copy of the files into the image(which now is incorrect due to various bugs in the dynamic disk image format handling and differing CHS formats due to incorrect detection of the used formats in both static and dynamic disk image formats) seems to have made it running somewhat again, but crashing displaying the loading screen(it shows the loading screen that says it's loading with logos included, but hanging at that point with corrupted pixels randomly having been placed on the screen). So there's still a CPU bug it seems(might be of the latest CPU 'bugfixes').

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 141 of 142, by superfury

User metadata
Rank l33t++
Rank
l33t++

Just tried booting MS-DOS 6.22 on the XT (80186 CPU). It seems to crash somewhere within IO.SYS, at 0070:0003 with a DIV instruction faulting to the BIOS and returning. I don't think that's supposed to happen? Guess I'll try and single-step through the whole driver running and see what it's doing(Setting the breakpoint to 0070:0000I, thus a breakpoint on the whole IO.SYS).

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 142 of 142, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've just tried running the Compaq Deskpro 386 BIOS again in cycle-accurate mode. Somehow. it never enables a DMA channel(mask is set to 0xF, thus all channels are masked off), then proceeds to boot and finally hang on waiting for bit 0 of the channel 0 high/low counter to change?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io