Outils pour utilisateurs

Outils du site


neo-geo:68k-vectors-table

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
neo-geo:68k-vectors-table [2023/08/03 16:39] fraterneo-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  | Access address  |
 +|  +6              |  Word      | IR              |
 +|  +8              |  Word      | SR              |
 +|  +10              Longword  | PC              |
  
-{|class="wikitable" + 
-!Offset from SP +Flags:  
-!Size +{{tablelayout?rowsHeaderSource=Auto}} 
-!Value +^  15  ^  14  ^  13  ^  12  ^  11  ^  10  ^  9  ^  8  ^  7  ^  6  ^  5  ^  4                  ^  3              ^  2              1  ^  0  ^ 
-|+                                                            ||||||||||| 0: Write\\ 1: Read  | 0: Instruction  | Function Code            |||
-+0 +
-|Word +
-|Flags:{{16BitRegister| |11|0:Write 1:Read |1|0:Instruction|1|Function code|3}} +
-|+
-+2 +
-|Longword +
-|Access address +
-|- +
-| +6 +
-|Word +
-|IR +
-|- +
-| +8 +
-|Word +
-|SR +
-|- +
-| +10 +
-|Longword +
-|PC +
-|}+
  
 ==== Format B ==== ==== Format B ====
  
-{|class="wikitable+{{tablelayout?rowsHeaderSource=Auto&colwidth=""}} 
-!Offset from SP +^  Offset from SP  ^  Size      ^  Value  ^ 
-!Size + +0               Word       SR     
-!Value + +2               Longword   PC     |
-|+
-+0 +
-|Word +
-|SR +
-|- +
-| +2 +
-|Longword +
-|PC +
-|}+
  
 ===== Vector list ===== ===== Vector list =====
  
-{|class="regdef" 
-|'''Vector #''' 
-|'''Address''' 
-|'''Exception name''' 
-|'''Trigger condition''' 
-|'''[[68k stack frames|Stack frame]]''' 
-|- 
-|0 
-|000000 
-|Reset SP 
-|Not really a vector. Used to initialize the stack pointer. 
-| 
-|- 
-|1 
-|000004 
-|Reset PC 
-|Reset/startup 
-| 
-|- 
-|2 
-|000008 
-|Bus error 
-|Bus cycle couldn't complete properly. 
-|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/Unused on 68000 
-|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="3"|Normally reserved but used on the NeoGeo CD. See [[68k interrupts]]. 
-|- 
-|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/Unused on 68000 
-| 
-| 
-|- 
-|64~255 
-|000100~0003FF 
-|User interrupt vectors 
-| 
-| 
-|} 
  
 +{{tablelayout?rowsHeaderSource=Auto&colwidth=""}}
 +^  Vector #  ^  Address        ^  Exception name                                                    Trigger condition                                                                                        ^  Stack frame  ^
 +|  0          000000         | Reset SP                                                          | Not really a vector. Used to initialize the stack pointer.                                                |               |
 +|  1          000004         | Reset PC                                                          | Reset/startup                                                                                                           |
 +|  2          000008         | Bus error                                                         | Bus cycle couldn't complete properly.                                                                      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         | Reserved/Unused on 68000                                          |                                                                                                                         |
 +|  13        |  000034                                                                                                                                                                                                   |
 +|  14        |  000038                                                                                                                                                                                                   |
 +|  15        |  00003C         | Uninitialized interrupt vector                                    | Default vector used by uninitialized peripherals.                                                          B?           |
 +|  16        |  000040         | Reserved                                                          |                                                                                                                         |
 +|  17        |  000044                                                                                                                                                                                                   |
 +|  18        |  000048                                                                                                                                                                                                   |
 +|  19        |  00004C                                                                                                                                                                                                   |
 +|  20        |  000050                                                                                                                                                                                                   |
 +|  21        |  000054         | Normally reserved but used on the NeoGeo CD. See 68k interrupts.  |                                                                                                                         |
 +|  22        |  000058                                                                                                                                                                                                   |
 +|  23        |  00005C                                                                                                                                                                                                   |
 +|  24        |  000060         | Spurious interrupt                                                | No acknowledge from hardware.                                                                                           |
 +|  25        |  000064         | Level 1 interrupt autovector                                      | 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/Unused on 68000                                          |                                                                                                                         |
 +|  64~255    |  000100~0003FF  | User interrupt vectors                                            |                                                                                                                         |
 ===== Templates ===== ===== Templates =====
  
neo-geo/68k-vectors-table.1691073569.txt.gz · Dernière modification : de frater