> 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.
From Teh Shoutbox at forums.bannister.org: crazyc said:
Quote:
on the opcode 0f 3c on the MediaGX is CPU_WRITE according to sandpile.org. The docs say CPU_READ and CPU_WRITE access machine specific registers. Just according to sandpile.org 0f 38-3d are also Cyrix GX1 and AMD Geode opcodes. Doesn't really say which exact chips has which instructions. The AMD GX1 doc at http://support.amd.com/us/Embedded_TechDocs/gx1_ds.pdf does decribe them though on page 97.
- Stiletto
Edited by Stiletto (08/15/13 11:22 PM)
|