Even though it's marked as mechanical, the "weeds" comment made me look. It seems that there's a chip that's intercepting certain otherwise unimplemented opcodes such as 0f 3c. To the best of my knowledge, this is not an undocumented instruction, it simply doesn't exist. The BIOS is attempting to execute this instruction, along with two that decode to vmread and vmwrite on modern CPUs, but which definitely did not exist at the time. I have no idea what the instructions are supposed to do, nor how one would go about finding out. Beyond that, it's also waiting on a status from port 0x801 (after the port 0x401 check). If I bypass that, then it jumps into unmapped memory. I suspect that the BIOS was not dumped correctly.
Oh, and there's a crash condition in the debugger for mamepp, but I can't reproduce it reliably. Apparently, something to do with the scroll bars, based on the call stack.
|