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 ===== | ||