What is "exception #4"?

Started by andreas_g, January 11, 2011, 03:24:47 AM

Previous topic - Next topic

andreas_g

Does anyone know the meaning of this error message?

Exception #4 (0x10) at 0xfe69

The error occurs during boot process with ROM version 1.0 v41 and also 1.2 v43 and is displayed in the ROM monitor.

I do not need a solution for the problem. A short explanation what this message means would be just fine.
Is there any listing of all possible exceptions and their corresponding meaning? That would be great.

Thanks in advance!

Andreas

cuby

If I'm reading the docs correctly, on 68k CPUs exception #4 means "illegal opcode" (see http://research.cs.tamu.edu/prism/lectures/mbsd/mbsd_l9.pdf, p. 8). This error can have a lot of causes, e.g. a flipped bit in the boot EPROM, a faulty bit in RAM or even problems with the memory bus.

cuby

I just read the new posts in the emulation thread - I suspect that's where your question re. exception #4 originated :).

You can check the ROM contents at the exception address displayed. The 1.0 ROM is most probably for an original 68030-based Cube. IIRC, the 68030 uses some supervisor-mode instructions (perhaps in MMU handling? Darn, that's quite some time ago and my 68030/040 manuals are at home, not in the office) not available in the 68040. Which CPU is currently being emulated? If it's a 68040 instead of a 68030, maybe you hit one of these instructions...

andreas_g

Thank you for the detailed answer!

For the experiment to boot from ROM version 1.0 v41 the emulator has been configured to emulate a 68030 CPU.

I looked at the addresses where the exceptions happen (0xfe69 in v41 ROM and 0xfe83 in v43 ROM) and found the same sequence in both.

Starting at 0xfe69 (v41) respectively 0xfe83 (v43):

00 4C 00 00 00 00 00

After this sequence the two ROMs continue with different values.

Now this goes way beyond my knowledge about computing.

I think it makes sense to stop here, because as far as i know 68030 emulation is not even a goal of the emulator.

Nevertheless thank you for the explanation and the linked document! Knowing the meaning of the exception codes can be helpful during development of the emulator.