Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
neo-geo:68k-vectors-table [2023/08/03 16:39] – frater | neo-geo:68k-vectors-table [2023/08/03 20:34] (Version actuelle) – [Vector list] frater | ||
---|---|---|---|
Ligne 16: | Ligne 16: | ||
==== Format A ==== | ==== Format A ==== | ||
+ | ^ Offset from SP ^ Size ^ Value ^ | ||
+ | | +0 | Word | Flags | | ||
+ | | +2 | Longword | ||
+ | | +6 | Word | IR | | ||
+ | | +8 | Word | SR | | ||
+ | | +10 | ||
- | {|class=" | + | |
- | !Offset from SP | + | Flags: |
- | !Size | + | {{tablelayout? |
- | !Value | + | ^ 15 ^ 14 ^ 13 ^ 12 ^ 11 ^ 10 ^ 9 ^ 8 ^ 7 ^ 6 ^ 5 ^ 4 ^ 3 ^ 2 |
- | |- | + | | ||||||||||| 0: Write\\ 1: Read | 0: Instruction |
- | | +0 | + | |
- | |Word | + | |
- | |Flags: | + | |
- | |- | + | |
- | | +2 | + | |
- | |Longword | + | |
- | |Access address | + | |
- | |- | + | |
- | | +6 | + | |
- | |Word | + | |
- | |IR | + | |
- | |- | + | |
- | | +8 | + | |
- | |Word | + | |
- | |SR | + | |
- | |- | + | |
- | | +10 | + | |
- | |Longword | + | |
- | |PC | + | |
- | |} | + | |
==== Format B ==== | ==== Format B ==== | ||
- | {|class="wikitable" | + | {{tablelayout? |
- | !Offset from SP | + | ^ |
- | !Size | + | | +0 | Word | SR |
- | !Value | + | | +2 | Longword |
- | |- | + | |
- | | +0 | + | |
- | |Word | + | |
- | |SR | + | |
- | |- | + | |
- | | +2 | + | |
- | |Longword | + | |
- | |PC | + | |
- | |} | + | |
===== Vector list ===== | ===== Vector list ===== | ||
- | {|class=" | ||
- | |''' | ||
- | |''' | ||
- | |''' | ||
- | |''' | ||
- | |''' | ||
- | |- | ||
- | |0 | ||
- | |000000 | ||
- | |Reset SP | ||
- | |Not really a vector. Used to initialize the stack pointer. | ||
- | | | ||
- | |- | ||
- | |1 | ||
- | |000004 | ||
- | |Reset PC | ||
- | |Reset/ | ||
- | | | ||
- | |- | ||
- | |2 | ||
- | |000008 | ||
- | |Bus error | ||
- | |Bus cycle couldn' | ||
- | |A | ||
- | |- | ||
- | |3 | ||
- | |00000C | ||
- | |Address error | ||
- | |Misaligned (odd) word or longword memory access. | ||
- | |A | ||
- | |- | ||
- | |4 | ||
- | |000010 | ||
- | |Illegal instruction | ||
- | |Tried executing an invalid opcode. | ||
- | |B | ||
- | |- | ||
- | |5 | ||
- | |000014 | ||
- | |Division by zero | ||
- | |DIVUed or DIVSed by zero. | ||
- | |B | ||
- | |- | ||
- | |6 | ||
- | |000018 | ||
- | |CHK instruction | ||
- | |CHK resulted in "out of bounds" | ||
- | |B | ||
- | |- | ||
- | |7 | ||
- | |00001C | ||
- | |TRAPV instruction | ||
- | |TRAPV with overflow flag set. | ||
- | |B | ||
- | |- | ||
- | |8 | ||
- | |000020 | ||
- | |Privilege violation | ||
- | |Use of privileged instruction. Never happens on the NeoGeo since the 68k always runs in supervisor mode. | ||
- | |B | ||
- | |- | ||
- | |9 | ||
- | |000024 | ||
- | |Trace | ||
- | |After each executed instruction when 68k is in trace mode (debugger function). | ||
- | |B | ||
- | |- | ||
- | |10 | ||
- | |000028 | ||
- | |Unimplemented instruction (line A) | ||
- | |Used to implement 680xx instructions in software. Not used on the NeoGeo. | ||
- | |B | ||
- | |- | ||
- | |11 | ||
- | |00002C | ||
- | |Unimplemented instruction (line F) | ||
- | |Used to implement 680xx instructions in software. Not used on the NeoGeo. | ||
- | |B | ||
- | |- | ||
- | |12 | ||
- | |000030 | ||
- | |rowspan=3|Reserved/ | ||
- | |rowspan=3| | ||
- | |rowspan=3| | ||
- | |- | ||
- | |13 | ||
- | |000034 | ||
- | |- | ||
- | |14 | ||
- | |000038 | ||
- | |- | ||
- | |15 | ||
- | |00003C | ||
- | |Uninitialized interrupt vector | ||
- | |Default vector used by uninitialized peripherals. | ||
- | |B? | ||
- | |- | ||
- | |16 | ||
- | |000040 | ||
- | |rowspan=8|Reserved | ||
- | |rowspan=5| | ||
- | |rowspan=8| | ||
- | |- | ||
- | |17 | ||
- | |000044 | ||
- | |- | ||
- | |18 | ||
- | |000048 | ||
- | |- | ||
- | |19 | ||
- | |00004C | ||
- | |- | ||
- | |20 | ||
- | |000050 | ||
- | |- | ||
- | |21 | ||
- | |000054 | ||
- | |rowspan=" | ||
- | |- | ||
- | |22 | ||
- | |000058 | ||
- | |- | ||
- | |23 | ||
- | |00005C | ||
- | |- | ||
- | |24 | ||
- | |000060 | ||
- | |Spurious interrupt | ||
- | |No acknowledge from hardware. | ||
- | | | ||
- | |- | ||
- | |25 | ||
- | |000064 | ||
- | |Level 1 [[68k interrupts|interrupt]] autovector | ||
- | |[[68k interrupts|V-Blank]] (cart) / [[Timer interrupt]] (CD). | ||
- | | | ||
- | |- | ||
- | |26 | ||
- | |000068 | ||
- | |Level 2 interrupt autovector | ||
- | |Timer interrupt (cart) / V-Blank (CD). | ||
- | | | ||
- | |- | ||
- | |27 | ||
- | |00006C | ||
- | |Level 3 interrupt autovector | ||
- | |Cold boot (cart). | ||
- | | | ||
- | |- | ||
- | |28 | ||
- | |000070 | ||
- | |Level 4 interrupt autovector | ||
- | |Not used on the NeoGeo. | ||
- | | | ||
- | |- | ||
- | |29 | ||
- | |000074 | ||
- | |Level 5 interrupt autovector | ||
- | |Not used on the NeoGeo. | ||
- | | | ||
- | |- | ||
- | |30 | ||
- | |000078 | ||
- | |Level 6 interrupt autovector | ||
- | |Not used on the NeoGeo. | ||
- | | | ||
- | |- | ||
- | |31 | ||
- | |00007C | ||
- | |Level 7 interrupt autovector | ||
- | |Not used on the NeoGeo. | ||
- | | | ||
- | |- | ||
- | |32 | ||
- | |000080 | ||
- | |TRAP #0~15 | ||
- | |TRAP instructions. | ||
- | |2 | ||
- | |- | ||
- | |48~63 | ||
- | |0000C0~0000FC | ||
- | |Reserved/ | ||
- | | | ||
- | | | ||
- | |- | ||
- | |64~255 | ||
- | |000100~0003FF | ||
- | |User interrupt vectors | ||
- | | | ||
- | | | ||
- | |} | ||
+ | {{tablelayout? | ||
+ | ^ Vector # ^ Address | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 2 | ||
+ | | 3 | ||
+ | | 4 | ||
+ | | 5 | ||
+ | | 6 | ||
+ | | 7 | ||
+ | | 8 | ||
+ | | 9 | ||
+ | | 10 | 000028 | ||
+ | | 11 | 00002C | ||
+ | | 12 | 000030 | ||
+ | | 13 | 000034 | ||
+ | | 14 | 000038 | ||
+ | | 15 | 00003C | ||
+ | | 16 | 000040 | ||
+ | | 17 | 000044 | ||
+ | | 18 | 000048 | ||
+ | | 19 | 00004C | ||
+ | | 20 | 000050 | ||
+ | | 21 | 000054 | ||
+ | | 22 | 000058 | ||
+ | | 23 | 00005C | ||
+ | | 24 | 000060 | ||
+ | | 25 | 000064 | ||
+ | | 26 | 000068 | ||
+ | | 27 | 00006C | ||
+ | | 28 | 000070 | ||
+ | | 29 | 000074 | ||
+ | | 30 | 000078 | ||
+ | | 31 | 00007C | ||
+ | | 32 | 000080 | ||
+ | | 48~63 | ||
+ | | 64~255 | ||
===== Templates ===== | ===== Templates ===== | ||