cscg22-gearboy

CSCG 2022 Challenge 'Gearboy'
git clone https://git.sinitax.com/sinitax/cscg22-gearboy
Log | Files | Refs | sfeed.txt

opcode_names.h (16331B)


      1/*
      2 * Gearboy - Nintendo Game Boy Emulator
      3 * Copyright (C) 2012  Ignacio Sanchez
      4
      5 * This program is free software: you can redistribute it and/or modify
      6 * it under the terms of the GNU General Public License as published by
      7 * the Free Software Foundation, either version 3 of the License, or
      8 * any later version.
      9
     10 * This program is distributed in the hope that it will be useful,
     11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     13 * GNU General Public License for more details.
     14
     15 * You should have received a copy of the GNU General Public License
     16 * along with this program.  If not, see http://www.gnu.org/licenses/ 
     17 * 
     18 */
     19
     20#ifndef OPCODE_NAMES_H
     21#define	OPCODE_NAMES_H
     22
     23struct stOPCodeInfo
     24{
     25    const char* name;
     26    int size;
     27    int type;
     28};
     29
     30static const stOPCodeInfo kOPCodeNames[256] = {
     31    { "NOP", 1, 0 },
     32    { "LD BC,$%04X", 3, 2 },
     33    { "LD (BC),A", 1, 0 },
     34    { "INC BC", 1, 0 },
     35    { "INC B", 1, 0 },
     36    { "DEC B", 1, 0 },
     37    { "LD B,$%02X", 2, 1 },
     38    { "RLCA", 1, 0 },
     39    { "LD ($%04X),SP", 3, 2 },
     40    { "ADD HL,BC", 1, 0 },
     41    { "LD A,(BC)", 1, 0 },
     42    { "DEC BC", 1, 0 },
     43    { "INC C", 1, 0 },
     44    { "DEC C", 1, 0 },
     45    { "LD C,$%02X", 2, 1 },
     46    { "RRCA", 1, 0 },
     47
     48    { "STOP", 2, 0 },
     49    { "LD DE,$%04X", 3, 2 },
     50    { "LD (DE),A", 1, 0 },
     51    { "INC DE", 1, 0 },
     52    { "INC D", 1, 0 },
     53    { "DEC D", 1, 0 },
     54    { "LD D,$%02X", 2, 1 },
     55    { "RLA", 1, 0 },
     56    { "JR $%04X  [%+d]", 2, 4 },
     57    { "ADD HL,DE", 1, 0 },
     58    { "LD A,(DE)", 1, 0 },
     59    { "DEC DE", 1, 0 },
     60    { "INC E", 1, 0 },
     61    { "DEC E", 1, 0 },
     62    { "LD E,$%02X", 2, 1 },
     63    { "RRA", 1, 0 },
     64
     65    { "JR NZ,$%04X  [%+d]", 2, 4 },
     66    { "LD HL,$%04X", 3, 2 },
     67    { "LD (HL+),A", 1, 0 },
     68    { "INC HL", 1, 0 },
     69    { "INC H", 1, 0 },
     70    { "DEC H", 1, 0 },
     71    { "LD H,$%02X", 2, 1 },
     72    { "DAA", 1, 0 },
     73    { "JR Z,$%04X  [%+d]", 2, 4 },
     74    { "ADD HL,HL", 1, 0 },
     75    { "LD A,(HL+)", 1, 0 },
     76    { "DEC HL", 1, 0 },
     77    { "INC L", 1, 0 },
     78    { "DEC L", 1, 0 },
     79    { "LD L,$%02X", 2, 1 },
     80    { "CPL", 1, 0 },
     81
     82    { "JR NC,$%04X  [%+d]", 2, 4 },
     83    { "LD SP,$%04X", 3, 2 },
     84    { "LD (HL-),A", 1, 0 },
     85    { "INC SP", 1, 0 },
     86    { "INC (HL)", 1, 0 },
     87    { "DEC (HL)", 1, 0 },
     88    { "LD (HL),$%02X", 2, 1 },
     89    { "SCF", 1, 0 },
     90    { "JR C,$%04X  [%+d]", 2, 4 },
     91    { "ADD HL,SP", 1, 0 },
     92    { "LD A,(HL-)", 1, 0 },
     93    { "DEC SP", 1, 0 },
     94    { "INC A", 1, 0 },
     95    { "DEC A", 1, 0 },
     96    { "LD A,$%02X", 2, 1 },
     97    { "CCF", 1, 0 },
     98
     99    { "LD B,B", 1, 0 },
    100    { "LD B,C", 1, 0 },
    101    { "LD B,D", 1, 0 },
    102    { "LD B,E", 1, 0 },
    103    { "LD B,H", 1, 0 },
    104    { "LD B,L", 1, 0 },
    105    { "LD B,(HL)", 1, 0 },
    106    { "LD B,A", 1, 0 },
    107    { "LD C,B", 1, 0 },
    108    { "LD C,C", 1, 0 },
    109    { "LD C,D", 1, 0 },
    110    { "LD C,E", 1, 0 },
    111    { "LD C,H", 1, 0 },
    112    { "LD C,L", 1, 0 },
    113    { "LD C,(HL)", 1, 0 },
    114    { "LD C,A", 1, 0 },
    115
    116    { "LD D,B", 1, 0 },
    117    { "LD D,C", 1, 0 },
    118    { "LD D,D", 1, 0 },
    119    { "LD D,E", 1, 0 },
    120    { "LD D,H", 1, 0 },
    121    { "LD D,L", 1, 0 },
    122    { "LD D,(HL)", 1, 0 },
    123    { "LD D,A", 1, 0 },
    124    { "LD E,B", 1, 0 },
    125    { "LD E,C", 1, 0 },
    126    { "LD E,D", 1, 0 },
    127    { "LD E,E", 1, 0 },
    128    { "LD E,H", 1, 0 },
    129    { "LD E,L", 1, 0 },
    130    { "LD E,(HL)", 1, 0 },
    131    { "LD E,A", 1, 0 },
    132
    133    { "LD H,B", 1, 0 },
    134    { "LD H,C", 1, 0 },
    135    { "LD H,D", 1, 0 },
    136    { "LD H,E", 1, 0 },
    137    { "LD H,H", 1, 0 },
    138    { "LD H,L", 1, 0 },
    139    { "LD H,(HL)", 1, 0 },
    140    { "LD H,A", 1, 0 },
    141    { "LD L,B", 1, 0 },
    142    { "LD L,C", 1, 0 },
    143    { "LD L,D", 1, 0 },
    144    { "LD L,E", 1, 0 },
    145    { "LD L,H", 1, 0 },
    146    { "LD L,L", 1, 0 },
    147    { "LD L,(HL)", 1, 0 },
    148    { "LD L,A", 1, 0 },
    149
    150    { "LD (HL),B", 1, 0 },
    151    { "LD (HL),C", 1, 0 },
    152    { "LD (HL),D", 1, 0 },
    153    { "LD (HL),E", 1, 0 },
    154    { "LD (HL),H", 1, 0 },
    155    { "LD (HL),L", 1, 0 },
    156    { "HALT", 1, 0 },
    157    { "LD (HL),A", 1, 0 },
    158    { "LD A,B", 1, 0 },
    159    { "LD A,C", 1, 0 },
    160    { "LD A,D", 1, 0 },
    161    { "LD A,E", 1, 0 },
    162    { "LD A,H", 1, 0 },
    163    { "LD A,L", 1, 0 },
    164    { "LD A,(HL)", 1, 0 },
    165    { "LD A,A", 1, 0 },
    166
    167    { "ADD A,B", 1, 0 },
    168    { "ADD A,C", 1, 0 },
    169    { "ADD A,D", 1, 0 },
    170    { "ADD A,E", 1, 0 },
    171    { "ADD A,H", 1, 0 },
    172    { "ADD A,L", 1, 0 },
    173    { "ADD A,(HL)", 1, 0 },
    174    { "ADD A,A", 1, 0 },
    175    { "ADC A,B", 1, 0 },
    176    { "ADC A,C", 1, 0 },
    177    { "ADC A,D", 1, 0 },
    178    { "ADC A,E", 1, 0 },
    179    { "ADC A,H", 1, 0 },
    180    { "ADC A,L", 1, 0 },
    181    { "ADC A,(HL)", 1, 0 },
    182    { "ADC A,A", 1, 0 },
    183
    184    { "SUB B", 1, 0 },
    185    { "SUB C", 1, 0 },
    186    { "SUB D", 1, 0 },
    187    { "SUB E", 1, 0 },
    188    { "SUB H", 1, 0 },
    189    { "SUB L", 1, 0 },
    190    { "SUB (HL)", 1, 0 },
    191    { "SUB A", 1, 0 },
    192    { "SBC A,B", 1, 0 },
    193    { "SBC A,C", 1, 0 },
    194    { "SBC A,D", 1, 0 },
    195    { "SBC A,E", 1, 0 },
    196    { "SBC A,H", 1, 0 },
    197    { "SBC A,L", 1, 0 },
    198    { "SBC A,(HL)", 1, 0 },
    199    { "SBC A,A", 1, 0 },
    200
    201    { "AND B", 1, 0 },
    202    { "AND C", 1, 0 },
    203    { "AND D", 1, 0 },
    204    { "AND E", 1, 0 },
    205    { "AND H", 1, 0 },
    206    { "AND L", 1, 0 },
    207    { "AND (HL)", 1, 0 },
    208    { "AND A", 1, 0 },
    209    { "XOR B", 1, 0 },
    210    { "XOR C", 1, 0 },
    211    { "XOR D", 1, 0 },
    212    { "XOR E", 1, 0 },
    213    { "XOR H", 1, 0 },
    214    { "XOR L", 1, 0 },
    215    { "XOR (HL)", 1, 0 },
    216    { "XOR A", 1, 0 },
    217
    218    { "OR B", 1, 0 },
    219    { "OR C", 1, 0 },
    220    { "OR D", 1, 0 },
    221    { "OR E", 1, 0 },
    222    { "OR H", 1, 0 },
    223    { "OR L", 1, 0 },
    224    { "OR (HL)", 1, 0 },
    225    { "OR A", 1, 0 },
    226    { "CP B", 1, 0 },
    227    { "CP C", 1, 0 },
    228    { "CP D", 1, 0 },
    229    { "CP E", 1, 0 },
    230    { "CP H", 1, 0 },
    231    { "CP L", 1, 0 },
    232    { "CP (HL)", 1, 0 },
    233    { "CP A", 1, 0 },
    234
    235    { "RET NZ", 1, 0 },
    236    { "POP BC", 1, 0 },
    237    { "JP NZ,$%04X", 3, 2 },
    238    { "JP $%04X", 3, 2 },
    239    { "CALL NZ,$%04X", 3, 2 },
    240    { "PUSH BC", 1, 0 },
    241    { "ADD A,$%02X", 2, 1 },
    242    { "RST ", 1, 0 },
    243    { "RET Z", 1, 0 },
    244    { "RET", 1, 0 },
    245    { "JP Z,$%04X", 3, 2 },
    246    { "cb opcode", 1, 0 },
    247    { "CALL Z,$%04X", 3, 2 },
    248    { "CALL $%04X", 3, 2 },
    249    { "ADC A,$%02X", 2, 1 },
    250    { "RST $08", 1, 0 },
    251
    252    { "RET NC", 1, 0 },
    253    { "POP DE", 1, 0 },
    254    { "JP NC,$%04X", 3, 2 },
    255    { "[UNUSED]", 1, 0 },
    256    { "CALL NC,$%04X", 3, 2 },
    257    { "PUSH DE", 1, 0 },
    258    { "SUB $%02X", 2, 1 },
    259    { "RST $10", 1, 0 },
    260    { "RET C", 1, 0 },
    261    { "RETI", 1, 0 },
    262    { "JP C,$%04X", 3, 2 },
    263    { "[UNUSED]", 1, 0 },
    264    { "CALL C,$%04X", 3, 2 },
    265    { "[UNUSED]", 1, 0 },
    266    { "SBC A,$%02X", 2, 1 },
    267    { "RST $18", 1, 0 },
    268
    269    { "LD ($FF00+$%02X),A  [%s]", 2, 5 },
    270    { "POP HL", 1, 0 },
    271    { "LD ($FF00+C),A", 1, 0 },
    272    { "[UNUSED]", 1, 0 },
    273    { "[UNUSED]", 1, 0 },
    274    { "PUSH HL", 1, 0 },
    275    { "AND $%02X", 2, 1 },
    276    { "RST $20", 1, 0 },
    277    { "ADD SP,%+d", 2, 3 },
    278    { "JP (HL)", 1, 0 },
    279    { "LD ($%04X),A", 3, 2 },
    280    { "[UNUSED]", 1, 0 },
    281    { "[UNUSED]", 1, 0 },
    282    { "[UNUSED]", 1, 0 },
    283    { "XOR $%02X", 2, 1 },
    284    { "RST $28", 1, 0 },
    285
    286    { "LD A,($FF00+$%02X)  [%s]", 2, 5 },
    287    { "POP AF", 1, 0 },
    288    { "LD A,($FF00+C)", 1, 0 },
    289    { "DI", 1, 0 },
    290    { "[UNUSED]", 1, 0 },
    291    { "PUSH AF", 1, 0 },
    292    { "OR $%02X", 2, 1 },
    293    { "RST $30", 1, 0 },
    294    { "LD HL,(SP%+d)", 2, 3 },
    295    { "LD SP,HL", 1, 0 },
    296    { "LD A,($%04X)", 3, 2 },
    297    { "EI", 1, 0 },
    298    { "[UNUSED]", 1, 0 },
    299    { "[UNUSED]", 1, 0 },
    300    { "CP $%02X", 2, 1 },
    301    { "RST $38", 1, 0 }
    302};
    303
    304static const stOPCodeInfo kOPCodeCBNames[256] = {
    305    { "RLC B", 2, 0 },
    306    { "RLC C", 2, 0 },
    307    { "RLC D", 2, 0 },
    308    { "RLC E", 2, 0 },
    309    { "RLC H", 2, 0 },
    310    { "RLC L", 2, 0 },
    311    { "RLC (HL)", 2, 0 },
    312    { "RLC A", 2, 0 },
    313    { "RRC B", 2, 0 },
    314    { "RRC C", 2, 0 },
    315    { "RRC D", 2, 0 },
    316    { "RRC E", 2, 0 },
    317    { "RRC H", 2, 0 },
    318    { "RRC L", 2, 0 },
    319    { "RRC (HL)", 2, 0 },
    320    { "RRC A", 2, 0 },
    321
    322    { "RL B", 2, 0 },
    323    { "RL C", 2, 0 },
    324    { "RL D", 2, 0 },
    325    { "RL E", 2, 0 },
    326    { "RL H", 2, 0 },
    327    { "RL L ", 2, 0 },
    328    { "RL (HL)", 2, 0 },
    329    { "RL A", 2, 0 },
    330    { "RR B", 2, 0 },
    331    { "RR C", 2, 0 },
    332    { "RR D", 2, 0 },
    333    { "RR E", 2, 0 },
    334    { "RR H", 2, 0 },
    335    { "RR L", 2, 0 },
    336    { "RR (HL)", 2, 0 },
    337    { "RR A", 2, 0 },
    338
    339    { "SLA B", 2, 0 },
    340    { "SLA C", 2, 0 },
    341    { "SLA D", 2, 0 },
    342    { "SLA E", 2, 0 },
    343    { "SLA H", 2, 0 },
    344    { "SLA L", 2, 0 },
    345    { "SLA (HL)", 2, 0 },
    346    { "SLA A", 2, 0 },
    347    { "SRA B", 2, 0 },
    348    { "SRA C", 2, 0 },
    349    { "SRA D", 2, 0 },
    350    { "SRA E", 2, 0 },
    351    { "SRA H", 2, 0 },
    352    { "SRA L", 2, 0 },
    353    { "SRA (HL)", 2, 0 },
    354    { "SRA A", 2, 0 },
    355
    356    { "SWAP B", 2, 0 },
    357    { "SWAP C", 2, 0 },
    358    { "SWAP D", 2, 0 },
    359    { "SWAP E", 2, 0 },
    360    { "SWAP H", 2, 0 },
    361    { "SWAP L", 2, 0 },
    362    { "SWAP (HL)", 2, 0 },
    363    { "SWAP A", 2, 0 },
    364    { "SRL B", 2, 0 },
    365    { "SRL C", 2, 0 },
    366    { "SRL D", 2, 0 },
    367    { "SRL E", 2, 0 },
    368    { "SRL H", 2, 0 },
    369    { "SRL L", 2, 0 },
    370    { "SRL (HL)", 2, 0 },
    371    { "SRL A", 2, 0 },
    372
    373    { "BIT 0 B", 2, 0 },
    374    { "BIT 0 C", 2, 0 },
    375    { "BIT 0 D", 2, 0 },
    376    { "BIT 0 E", 2, 0 },
    377    { "BIT 0 H", 2, 0 },
    378    { "BIT 0 L", 2, 0 },
    379    { "BIT 0 (HL)", 2, 0 },
    380    { "BIT 0 A", 2, 0 },
    381    { "BIT 1 B", 2, 0 },
    382    { "BIT 1 C", 2, 0 },
    383    { "BIT 1 D", 2, 0 },
    384    { "BIT 1 E", 2, 0 },
    385    { "BIT 1 H", 2, 0 },
    386    { "BIT 1 L", 2, 0 },
    387    { "BIT 1 (HL)", 2, 0 },
    388    { "BIT 1 A", 2, 0 },
    389
    390    { "BIT 2 B", 2, 0 },
    391    { "BIT 2 C", 2, 0 },
    392    { "BIT 2 D", 2, 0 },
    393    { "BIT 2 E", 2, 0 },
    394    { "BIT 2 H", 2, 0 },
    395    { "BIT 2 L", 2, 0 },
    396    { "BIT 2 (HL)", 2, 0 },
    397    { "BIT 2 A", 2, 0 },
    398    { "BIT 3 B", 2, 0 },
    399    { "BIT 3 C", 2, 0 },
    400    { "BIT 3 D", 2, 0 },
    401    { "BIT 3 E", 2, 0 },
    402    { "BIT 3 H", 2, 0 },
    403    { "BIT 3 L", 2, 0 },
    404    { "BIT 3 (HL)", 2, 0 },
    405    { "BIT 3 A", 2, 0 },
    406
    407    { "BIT 4 B", 2, 0 },
    408    { "BIT 4 C", 2, 0 },
    409    { "BIT 4 D", 2, 0 },
    410    { "BIT 4 E", 2, 0 },
    411    { "BIT 4 H", 2, 0 },
    412    { "BIT 4 L", 2, 0 },
    413    { "BIT 4 (HL)", 2, 0 },
    414    { "BIT 4 A", 2, 0 },
    415    { "BIT 5 B", 2, 0 },
    416    { "BIT 5 C", 2, 0 },
    417    { "BIT 5 D", 2, 0 },
    418    { "BIT 5 E", 2, 0 },
    419    { "BIT 5 H", 2, 0 },
    420    { "BIT 5 L", 2, 0 },
    421    { "BIT 5 (HL)", 2, 0 },
    422    { "BIT 5 A", 2, 0 },
    423
    424    { "BIT 6 B", 2, 0 },
    425    { "BIT 6 C", 2, 0 },
    426    { "BIT 6 D", 2, 0 },
    427    { "BIT 6 E", 2, 0 },
    428    { "BIT 6 H", 2, 0 },
    429    { "BIT 6 L", 2, 0 },
    430    { "BIT 6 (HL)", 2, 0 },
    431    { "BIT 6 A", 2, 0 },
    432    { "BIT 7 B", 2, 0 },
    433    { "BIT 7 C", 2, 0 },
    434    { "BIT 7 D", 2, 0 },
    435    { "BIT 7 E", 2, 0 },
    436    { "BIT 7 H", 2, 0 },
    437    { "BIT 7 L", 2, 0 },
    438    { "BIT 7 (HL)", 2, 0 },
    439    { "BIT 7 A", 2, 0 },
    440
    441    { "RES 0 B", 2, 0 },
    442    { "RES 0 C", 2, 0 },
    443    { "RES 0 D", 2, 0 },
    444    { "RES 0 E", 2, 0 },
    445    { "RES 0 H", 2, 0 },
    446    { "RES 0 L", 2, 0 },
    447    { "RES 0 (HL)", 2, 0 },
    448    { "RES 0 A", 2, 0 },
    449    { "RES 1 B", 2, 0 },
    450    { "RES 1 C", 2, 0 },
    451    { "RES 1 D", 2, 0 },
    452    { "RES 1 E", 2, 0 },
    453    { "RES 1 H", 2, 0 },
    454    { "RES 1 L", 2, 0 },
    455    { "RES 1 (HL)", 2, 0 },
    456    { "RES 1 A", 2, 0 },
    457
    458    { "RES 2 B", 2, 0 },
    459    { "RES 2 C", 2, 0 },
    460    { "RES 2 D", 2, 0 },
    461    { "RES 2 E", 2, 0 },
    462    { "RES 2 H", 2, 0 },
    463    { "RES 2 L", 2, 0 },
    464    { "RES 2 (HL)", 2, 0 },
    465    { "RES 2 A", 2, 0 },
    466    { "RES 3 B", 2, 0 },
    467    { "RES 3 C", 2, 0 },
    468    { "RES 3 D", 2, 0 },
    469    { "RES 3 E", 2, 0 },
    470    { "RES 3 H", 2, 0 },
    471    { "RES 3 L", 2, 0 },
    472    { "RES 3 (HL)", 2, 0 },
    473    { "RES 3 A", 2, 0 },
    474
    475    { "RES 4 B", 2, 0 },
    476    { "RES 4 C", 2, 0 },
    477    { "RES 4 D", 2, 0 },
    478    { "RES 4 E", 2, 0 },
    479    { "RES 4 H", 2, 0 },
    480    { "RES 4 L", 2, 0 },
    481    { "RES 4 (HL)", 2, 0 },
    482    { "RES 4 A", 2, 0 },
    483    { "RES 5 B", 2, 0 },
    484    { "RES 5 C", 2, 0 },
    485    { "RES 5 D", 2, 0 },
    486    { "RES 5 E", 2, 0 },
    487    { "RES 5 H", 2, 0 },
    488    { "RES 5 L", 2, 0 },
    489    { "RES 5 (HL)", 2, 0 },
    490    { "RES 5 A", 2, 0 },
    491
    492    { "RES 6 B", 2, 0 },
    493    { "RES 6 C", 2, 0 },
    494    { "RES 6 D", 2, 0 },
    495    { "RES 6 E", 2, 0 },
    496    { "RES 6 H", 2, 0 },
    497    { "RES 6 L", 2, 0 },
    498    { "RES 6 (HL)", 2, 0 },
    499    { "RES 6 A", 2, 0 },
    500    { "RES 7 B", 2, 0 },
    501    { "RES 7 C", 2, 0 },
    502    { "RES 7 D", 2, 0 },
    503    { "RES 7 E", 2, 0 },
    504    { "RES 7 H", 2, 0 },
    505    { "RES 7 L", 2, 0 },
    506    { "RES 7 (HL)", 2, 0 },
    507    { "RES 7 A", 2, 0 },
    508
    509    { "SET 0 B", 2, 0 },
    510    { "SET 0 C", 2, 0 },
    511    { "SET 0 D", 2, 0 },
    512    { "SET 0 E", 2, 0 },
    513    { "SET 0 H", 2, 0 },
    514    { "SET 0 L", 2, 0 },
    515    { "SET 0 (HL)", 2, 0 },
    516    { "SET 0 A", 2, 0 },
    517    { "SET 1 B", 2, 0 },
    518    { "SET 1 C", 2, 0 },
    519    { "SET 1 D", 2, 0 },
    520    { "SET 1 E", 2, 0 },
    521    { "SET 1 H", 2, 0 },
    522    { "SET 1 L", 2, 0 },
    523    { "SET 1 (HL)", 2, 0 },
    524    { "SET 1 A", 2, 0 },
    525
    526    { "SET 2 B", 2, 0 },
    527    { "SET 2 C", 2, 0 },
    528    { "SET 2 D", 2, 0 },
    529    { "SET 2 E", 2, 0 },
    530    { "SET 2 H", 2, 0 },
    531    { "SET 2 L", 2, 0 },
    532    { "SET 2 (HL)", 2, 0 },
    533    { "SET 2 A", 2, 0 },
    534    { "SET 3 B", 2, 0 },
    535    { "SET 3 C", 2, 0 },
    536    { "SET 3 D", 2, 0 },
    537    { "SET 3 E", 2, 0 },
    538    { "SET 3 H", 2, 0 },
    539    { "SET 3 L", 2, 0 },
    540    { "SET 3 (HL)", 2, 0 },
    541    { "SET 3 A", 2, 0 },
    542
    543    { "SET 4 B", 2, 0 },
    544    { "SET 4 C", 2, 0 },
    545    { "SET 4 D", 2, 0 },
    546    { "SET 4 E", 2, 0 },
    547    { "SET 4 H", 2, 0 },
    548    { "SET 4 L", 2, 0 },
    549    { "SET 4 (HL)", 2, 0 },
    550    { "SET 4 A", 2, 0 },
    551    { "SET 5 B", 2, 0 },
    552    { "SET 5 C", 2, 0 },
    553    { "SET 5 D", 2, 0 },
    554    { "SET 5 E", 2, 0 },
    555    { "SET 5 H", 2, 0 },
    556    { "SET 5 L", 2, 0 },
    557    { "SET 5 (HL)", 2, 0 },
    558    { "SET 5 A", 2, 0 },
    559
    560    { "SET 6 B", 2, 0 },
    561    { "SET 6 C", 2, 0 },
    562    { "SET 6 D", 2, 0 },
    563    { "SET 6 E", 2, 0 },
    564    { "SET 6 H", 2, 0 },
    565    { "SET 6 L", 2, 0 },
    566    { "SET 6 (HL)", 2, 0 },
    567    { "SET 6 A", 2, 0 },
    568    { "SET 7 B", 2, 0 },
    569    { "SET 7 C", 2, 0 },
    570    { "SET 7 D", 2, 0 },
    571    { "SET 7 E", 2, 0 },
    572    { "SET 7 H", 2, 0 },
    573    { "SET 7 L", 2, 0 },
    574    { "SET 7 (HL)", 2, 0 },
    575    { "SET 7 A", 2, 0 }
    576};
    577
    578static const char* kRegisterNames[256] = {
    579    "P1", "SB", "SC", "UNKNOWN", "DIV", "TIMA", "TMA", "TAC", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "IF",
    580    "NR10", "NR11", "NR12", "NR13", "NR14", "UNKNOWN", "NR21", "NR22", "NR23", "NR24", "NR30", "NR31", "NR32", "NR33", "NR34", "UNKNOWN",
    581    "NR41", "NR42", "NR43", "NR44", "NR50", "NR51", "NR52", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN",
    582    "WAVE 0", "WAVE 1", "WAVE 2", "WAVE 3", "WAVE 4", "WAVE 5", "WAVE 6", "WAVE 7", "WAVE 8", "WAVE 9", "WAVE A", "WAVE B", "WAVE C", "WAVE D", "WAVE E", "WAVE F",
    583    "LCDC", "STAT", "SCY", "SCX", "LY", "LYC", "DMA", "BGP", "OBP0", "OBP1", "WY", "WX", "UNKNOWN", "KEY1", "UNKNOWN", "VBK",
    584    "BOOT", "HDMA SOURCE HI", "HDMA SOURCE LOW", "HDMA DEST HI", "HDMA DEST LOW", "HDMA LEN", "RP", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN",
    585    "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "BCPS", "BCPD", "OCPS", "OCPD", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN",
    586    "SVBK", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "PCM12", "PCM34", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN",
    587    "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM",
    588    "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM",
    589    "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM",
    590    "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM",
    591    "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM",
    592    "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM",
    593    "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM",
    594    "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "HIRAM", "IE"
    595};
    596
    597#endif	/* OPCODE_NAMES_H */
    598