New Project: Prodigy 040/060 Card

My theory is that, if an FPU exception (which is the actual behaviour of an LC040) causes a sad Mac on emulation, then something else is being done by the ROM beforehand in order to determine the CPU. But how does the ROM, then, can successfully distinguish between a full 040 and an LC040? I mean, you must probe the CPU in some way, it's nothing you can automatically retrieve from a table.
Yeah. I had a similar problem with the '030 and it turned out that Apple was checking the internal details of the 680x0 coprocessor interface (there are coprocessor interface registers in the CPU address space). The coprocessor interface doesn't exist on the '040 so it's not that. The SuperMario code does the more expected "check if an F line trap happens on an FPU instruction" thing instead of the coprocessor interface, but that's clearly not all of how it checks for an LC040.
 
Back
Top