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

Prochaine révision
Révision précédente
neo-geo:68k-vectors-table [2023/08/03 16:33] – créée fraterneo-geo:68k-vectors-table [2023/08/03 20:34] (Version actuelle) – [Vector list] frater
Ligne 10: Ligne 10:
 Is $C00426 an universal [[BIOS calls|BIOS call]] for a complete reset ? Is $C00426 an universal [[BIOS calls|BIOS call]] for a complete reset ?
  
-=Stack frames=+===== Stack frames ===== 
  
 See [[68k exception handling]]. See [[68k exception handling]].
  
-==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 
-!Size 
-!Value 
-|- 
-| +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==+Flags:  
 +{{tablelayout?rowsHeaderSource=Auto}} 
 +^  15  ^  14  ^  13  ^  12  ^  11  ^  10  ^  9  ^  8  ^  7  ^  6  ^  5  ^  4                  ^  3              ^  2              1  ^  0  ^ 
 +|                                                             ||||||||||| 0: Write\\ 1: Read  | 0: Instruction  | Function Code            |||
  
-{|class="wikitable" +==== Format B ====
-!Offset from SP +
-!Size +
-!Value +
-|- +
-| +0 +
-|Word +
-|SR +
-|- +
-| +2 +
-|Longword +
-|PC +
-|}+
  
-=Vector list=+{{tablelayout?rowsHeaderSource=Auto&colwidth=""}} 
 +^  Offset from SP  ^  Size      ^  Value  ^ 
 +|  +0              |  Word      |  SR     | 
 +|  +2              |  Longword  |  PC     |
  
-{|class="regdef" +===== Vector list =====
-|'''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 +
-+
-+
-|}+
  
-=Templates= 
  
-==For cartridge systems== +{{tablelayout?rowsHeaderSource=Auto&colwidth=""}} 
-<syntaxhighlight>+^  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 ===== 
 + 
 +==== For cartridge systems ==== 
 +<code 68000devpac>
     org  $0     org  $0
     dc.l $0010F300            ; Initial SP     dc.l $0010F300            ; Initial SP
Ligne 285: Ligne 109:
     dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF     dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
     dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF     dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
-</syntaxhighlight>+</code>
  
-==For CD systems== +==== For CD systems ==== 
-<syntaxhighlight>+<code 68000devpac>
     org  $0     org  $0
     dc.l $0010F300,$00C00402,$00C00408,$00C0040E     dc.l $0010F300,$00C00402,$00C00408,$00C0040E
Ligne 306: Ligne 130:
     dc.l $00C00426,$00C00426,$00C00426,$00C00426     dc.l $00C00426,$00C00426,$00C00426,$00C00426
     dc.l $00C00426,$00C00426,$00C00426,$00C00426     dc.l $00C00426,$00C00426,$00C00426,$00C00426
-</syntaxhighlight> +</code>
- +
-[[Category:Base system]] +
-[[Category:Code]] +
neo-geo/68k-vectors-table.1691073235.txt.gz · Dernière modification : 2023/08/03 16:33 de frater