From: Eric A. <e....@jp...> - 2024-08-15 22:14:12
|
Hi! I have been watching https://www.youtube.com/watch?v=K6-AlpCEqpc where Phils Computer Lab tests SBEMU with the pre-installed FreeDOS image which you can download from SBEMU's crazii. At one point, a game crashes with a loop of the following, some leading 0s omitted by me: JemmEx: exception 06 occured at CS:EIP=9689:FF14, ERRC=0 SS:ESP=D70A:C7D4 EBP=FFFF EFL=33093 CR0=80000013 CR4=200 EAX=FFFF9002 EBX=FFFF0007 ECX=FFFFFF00 EDX=FFFFF1EC ESI=40001A EDI=0EFF DS=0040 ES=FFFF FS=FFFF GS=00D9 [CS:IP]=FF FF FF FF FF FF FF FF Press ESC to abort program JemmEx: exception 06 occured at CS:EIP=9689:FF14, ERRC=0 SS:ESP=D70A:C7BE EBP=FFFF EFL=33093 CR0=80000013 CR4=200 EAX=FFFF9002 EBX=FFFF0007 ECX=FFFFFF00 EDX=FFFFF1EC ESI=40001A EDI=0EFF DS=0040 ES=FFFF FS=FFFF GS=00D9 [CS:IP]=FF FF FF FF FF FF FF FF Press ESC to abort program and so on, all registers except ESP stay constant and the video shows a loop of JemmEx messages scrolling through as the stack pointer goes down while CS:EIP is frozen pointing to an impossible FF FF opcode. Exc. 06 is undefined opcode. As the messages scroll so fast, I am not sure whether each instance actually shows all lines. The may even be nested? Later in the same video, F-117A mgraphic crashes, with far more readable JemmEx reactions: > JemmEx: exception 0C occured at CS:EIP=0360:2A01, ERRC=0 > SS:ESP=0360:FFEA EBP=0 EFL=33202 CRO=80000013 CR4=00000200 > EAX=0021 EBX=0 ECX=0 EDX=FFEC ESI=FFFF EDI=01FF > DS=0350 ES=0350 FS=0350 GS=O2BA [C3:IP]=36 8B 28 36 8B 88 B8 01 > Press ESC to abort progran > > JemmEx: exception 06 occured at CS:EIP=0000:0108, ERRC=0 > SS:ESP=0914:10002 EBP=C600 EFL=00033246 CRO=80000013 CR4=200 > EAX=0 EBX=0 ECX=0 EDX=0 ES1=0 EDI=0 > DS=0 ES=0 FS=0 GS=0 [C3:IP]=65 F0 00 F0 36 03 00 C0 > Press ESC to abort program > > JemmEx: exception 0D occured at CS:EIP=D79B:0984, ERRC=0 > SS:ESP=00D9:08D0 EBP=0 EFL=33093 CRO=80000013 CR4=200 > EAX=00FF EBX=0 ECX=FF54 EDX=0904 ESI=A8B1 EDI=0 > DS=00D9 ES=D7A0 FS=0 GS=0 [CS:IP]=67 66 2E 83 3C 9D 4C 04 ... This starts with a stack error first, "mov bp,[ss:bx+si]" wrapping the end of the first 64 kB of the stack segment, then an undefined opcode exception apparently caused by an invalid locked combination saying GS: LOCK: ADD AL,DH etc. and finally a general protection fault. Of course this does not tell much about whether it was futile to try to abort the program after the first stack exception, but note how there is no LOOP of exceptions here, so it gets a lot easier to read the messages :-) Thanks to https://www.sandpile.org/ for their tables :-) Likewise, the F-19 game also crashes, even with loadfix: JemmEx: exception 0D occured at CS:EIP=1025:4142, ERRC=0 SS:ESP:2025:DAC6 EBP=DAD0 EFL=33282 CR0=80000013 CR4=200 EAX=0 EBX=FFFE ECX=9BCC EDX=4605 ESI=C88C EDI=0 DS=2025 ES=46E8 FS=1015 GS=02BA [CS:IP]=89 47 01 89 7F 03 83 C6 which is mov [bx+1],ax and again wraps the end of some 64 kB boundary, but you actually get to read the text without a loop :-) *So now I wonder why JemmEx exception messages sometimes* *end up in a loop, while usually they do not, luckily.* The video features kernel 2043 (2021-05-14) FAT32 Watcom 386, JemmEx 5.84 02/11/23, QPIEMU, FreeCOM 0.85a 2021-07-10, UDVD2 (not used, no drive in the shown thin client), SBEMU (in VIA VT82XX AC97 mode), CuteMouse 2.1beta4, originally based on the FreeDOS 1.3 distro, it seems. It also mentions Aladdin failing to start, with the message "XMS allocation error.." (sic!) and Lotus 3 crashing with "Interrupt divide by zero, stack: D34C 0360 3002 518D ADE8 EB6F EB4A 314A E8D2 B117 C689 C389 7C80" In Sam+Max, audio setup fails with "hdpmi: fatal exit 0007". In Space Quest 5 adlib works, while emulated SB use hangs. Finally, some related GOOD news from this video: TETRIS CLASSIC is working fine :-) It is one of the games mentioned in my "game compatibility updates?" post as a game which was NOT working in 2022 :-) Cheers, Eric |