68k vector table
Default ASM vector tables for 68k binaries. $C00426 is a BIOS call for a complete reset on every systems (?).
Vector # | Address | Exception name | Condition | Stack frame |
0 | 000000 | Reset SSP | Not really a vector. Stack pointer value at reset. | |
1 | 000004 | Reset PC | Reset | 0 |
2 | 000008 | Bus error | Bus cycle couldn't complete properly | 0 |
3 | 00000C | Address error | Misaligned word or longword memory access | 0 |
4 | 000010 | Illegal instruction | Incorrect opcode for 68000 | 1 |
5 | 000014 | Division by zero | DIVUed or DIVSed by zero | 2 |
6 | 000018 | CHK instruction | CHK resulted in out of bounds | 2 |
7 | 00001C | TRAPV instruction | TRAPV with V = 1 | 2 |
8 | 000020 | Privilege violation | Use of privileged instruction. Never happens on the NeoGeo since the 68k always runs in supervisor mode. | 1 |
9 | 000024 | Trace | After each executed instruction when 68k is in trace mode (debugger function). | 1 |
10 | 000028 | Unimplemented instruction (line A) | 1 | |
11 | 00002C | Unimplemented instruction (line F) | 1 | |
12 | 000030 | Reserved by Motorola | ||
13 | 000034 | |||
14 | 000038 | |||
15 | 00003C | Uninitialised interrupt vector | ||
16 | 000040 | Reserved by Motorola | ||
17 | 000044 | |||
18 | 000048 | |||
19 | 00004C | |||
20 | 000050 | |||
21 | 000054 | |||
22 | 000058 | |||
23 | 00005C | |||
24 | 000060 | Spurious interrupt | No ACK from hardware | |
25 | 000064 | Level 1 interrupt autovector | VBlank / Timer | |
26 | 000068 | Level 2 interrupt autovector | Timer / VBlank | |
27 | 00006C | Level 3 interrupt autovector | Cold boot | |
28 | 000070 | Level 4 autovector (not used) | ||
29 | 000074 | Level 5 autovector (not used) | ||
30 | 000078 | Level 6 autovector (not used) | ||
31 | 00007C | Level 7 autovector (not used) | ||
32 | 000080 | TRAP #0 instruction | 2 | |
33 | 000084 | TRAP #1 instruction | 2 | |
34 | 000088 | TRAP #2 instruction | 2 | |
35 | 00008C | TRAP #3 instruction | 2 | |
36 | 000090 | TRAP #4 instruction | 2 | |
37 | 000094 | TRAP #5 instruction | 2 | |
38 | 000098 | TRAP #6 instruction | 2 | |
39 | 00009C | TRAP #7 instruction | 2 | |
40 | 0000A0 | TRAP #8 instruction | 2 | |
41 | 0000A4 | TRAP #9 instruction | 2 | |
42 | 0000A8 | TRAP #10 instruction | 2 | |
43 | 0000AC | TRAP #11 instruction | 2 | |
44 | 0000B0 | TRAP #12 instruction | 2 | |
45 | 0000B4 | TRAP #13 instruction | 2 | |
46 | 0000B8 | TRAP #14 instruction | 2 | |
47 | 0000BC | TRAP #15 instruction | 2 | |
48~63 | 0000C0~0000FC | Reserved by Motorola | ||
64~255 | 000100~0003FF | User interrupt vectors |
Default vector tables
For cartridge systems
org $0
dc.l $0010F300 ; Initial SP
dc.l $00C00402 ; Initial PC
dc.l $00C00408 ; Bus error
dc.l $00C0040E ; Address error
dc.l $00C0040E ; Illegal Instruction
dc.l $0000034C ; Divide by 0
dc.l $0000034E ; CHK Instruction
dc.l $0000034E ; TRAPV Instruction
dc.l $00C0041A ; Privilege Violation
dc.l $00C00420 ; Trace
dc.l $0000034E,$0000034E ; Emu
dc.l $00C00426,$00C00426,$00C00426 ; Reserved
dc.l $00C0042C ; Uninit. Int. Vector.
dc.l $00C00426,$00C00426,$00C00426,$00C00426 ; Reserved
dc.l $00C00426,$00C00426,$00C00426,$00C00426 ; Reserved
dc.l $00C00432 ; Spurious Interrupt
dc.l VBlank ; Level 1
dc.l IRQ2 ; Level 2
dc.l $00C00426 ; Level 3
dc.l $00C00426,$00C00426,$00C00426,$00C00426 ; Level 4~7
dc.l $0000056E,$0000056E,$0000056E,$0000056E ; Traps...
dc.l $0000056E,$0000056E,$FFFFFFFF,$FFFFFFFF
dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
For CD systems
org $0
dc.l $0010F300,$00C00402,$00C00408,$00C0040E
dc.l $00C00414,$00C00426,$00C00426,$00C00426
dc.l $00C0041A,$00C00420,$00C00426,$00C00426
dc.l $00C00426,$00C00426,$00C00426,$00C0042C
dc.l $00C00522,$00C00528,$00C0052E,$00C00534
dc.l $00C0053A,$00C004F2,$00C004EC,$00C004E6
dc.l $00C004E0, IRQ2, VBlank, IRQ3
dc.l Generic, Generic, Generic, Generic
dc.l Generic, Generic, Generic, Generic
dc.l Generic, Generic, Generic, Generic
dc.l Generic, Generic, Generic, Generic
dc.l Generic, Generic, Generic, Generic
dc.l $00C00426,$00C00426,$00C00426,$00C00426
dc.l $00C00426,$00C00426,$00C00426,$00C00426
dc.l $00C00426,$00C00426,$00C00426,$00C00426
dc.l $00C00426,$00C00426,$00C00426,$00C00426