Path: blob/a-new-beginning/Cherry/Core/include/opcodefd_names.h
2 views
/*1* Gearcoleco - ColecoVision Emulator2* Copyright (C) 2021 Ignacio Sanchez34* This program is free software: you can redistribute it and/or modify5* it under the terms of the GNU General Public License as published by6* the Free Software Foundation, either version 3 of the License, or7* any later version.89* This program is distributed in the hope that it will be useful,10* but WITHOUT ANY WARRANTY; without even the implied warranty of11* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12* GNU General Public License for more details.1314* You should have received a copy of the GNU General Public License15* along with this program. If not, see http://www.gnu.org/licenses/16*17*/1819#ifndef OPCODEFD_NAMES_H20#define OPCODEFD_NAMES_H2122static stOPCodeInfo kOPCodeFDNames[256] = {23{ "NOP", 2, 0 },24{ "LD BC,$%04X", 4, 3 },25{ "LD (BC),A", 2, 0 },26{ "INC BC", 2, 0 },27{ "INC B", 2, 0 },28{ "DEC B", 2, 0 },29{ "LD B,$%02X", 3, 2 },30{ "RLCA", 2, 0 },31{ "EX AF,AF'", 2, 0 },32{ "ADD IY,BC", 2, 0 },33{ "LD A,(BC)", 2, 0 },34{ "DEC BC", 2, 0 },35{ "INC C", 2, 0 },36{ "DEC C", 2, 0 },37{ "LD C,$%02X", 3, 2 },38{ "RRCA", 2, 0 },3940{ "DJNZ $%04X [%+d]", 3, 5 },41{ "LD DE,$%04X", 4, 3 },42{ "LD (DE),A", 2, 0 },43{ "INC DE", 2, 0 },44{ "INC D", 2, 0 },45{ "DEC D", 2, 0 },46{ "LD D,$%02X", 3, 2 },47{ "RLA", 2, 0 },48{ "JR $%04X [%+d]", 3, 5 },49{ "ADD IY,DE", 2, 0 },50{ "LD A,(DE)", 2, 0 },51{ "DEC DE", 2, 0 },52{ "INC E", 2, 0 },53{ "DEC E", 2, 0 },54{ "LD E,$%02X", 3, 2 },55{ "RRA", 2, 0 },5657{ "JR NZ,$%04X [%+d]", 3, 5 },58{ "LD IY,$%04X", 4, 3 },59{ "LD ($%04X),IY", 4, 3 },60{ "INC IY", 2, 0 },61{ "INC IYh [UNDOC]", 2, 0 },62{ "DEC IYh [UNDOC]", 2, 0 },63{ "LD IYh,$%02X [UNDOC]", 3, 2 },64{ "DAA", 2, 0 },65{ "JR Z,$%04X [%+d]", 3, 5 },66{ "ADD IY,IY", 2, 0 },67{ "LD IY,($%04X)", 4, 3 },68{ "DEC IY", 2, 0 },69{ "INC IYl [UNDOC]", 2, 0 },70{ "DEC IYl [UNDOC]", 2, 0 },71{ "LD IYl,$%02X [UNDOC]", 3, 2 },72{ "CPL", 2, 0 },7374{ "JR NC,$%04X [%+d]", 3, 5 },75{ "LD SP,$%04X", 4, 3 },76{ "LD ($%04X),A", 4, 3 },77{ "INC SP", 2, 0 },78{ "INC (IY%+d)", 3, 4 },79{ "DEC (IY%+d)", 3, 4 },80{ "LD (IY%+d),$%02X", 4, 6 },81{ "SCF", 2, 0 },82{ "JR C,$%04X [%+d]", 3, 5 },83{ "ADD IY,SP", 2, 0 },84{ "LD A,($%04X)", 4, 3 },85{ "DEC SP", 2, 0 },86{ "INC A", 2, 0 },87{ "DEC A", 2, 0 },88{ "LDA,$%02X", 3, 2 },89{ "CCF", 2, 0 },9091{ "LD B,B", 2, 0 },92{ "LD B,C", 2, 0 },93{ "LD B,D", 2, 0 },94{ "LD B,E", 2, 0 },95{ "LD B,IYh [UNDOC]", 2, 0 },96{ "LD B,IYl [UNDOC]", 2, 0 },97{ "LD B,(IY%+d)", 3, 4 },98{ "LD B,A", 2, 0 },99{ "LD C,B", 2, 0 },100{ "LD C,C", 2, 0 },101{ "LD C,D", 2, 0 },102{ "LD C,E", 2, 0 },103{ "LD C,IYh [UNDOC]", 2, 0 },104{ "LD C,IYl [UNDOC]", 2, 0 },105{ "LD C,(IY%+d)", 3, 4 },106{ "LD C,A", 2, 0 },107108{ "LD D,B", 2, 0 },109{ "LD D,C", 2, 0 },110{ "LD D,D", 2, 0 },111{ "LD D,E", 2, 0 },112{ "LD D,IYh [UNDOC]", 2, 0 },113{ "LD D,IYl [UNDOC]", 2, 0 },114{ "LD D,(IY%+d)", 3, 4 },115{ "LD D,A", 2, 0 },116{ "LD E,B", 2, 0 },117{ "LD E,C", 2, 0 },118{ "LD E,D", 2, 0 },119{ "LD E,E", 2, 0 },120{ "LD E,IYh [UNDOC]", 2, 0 },121{ "LD E,IYl [UNDOC]", 2, 0 },122{ "LD E,(IY%+d)", 3, 4 },123{ "LD E,A", 2, 0 },124125{ "LD IYh,B [UNDOC]", 2, 0 },126{ "LD IYh,C [UNDOC]", 2, 0 },127{ "LD IYh,D [UNDOC]", 2, 0 },128{ "LD IYh,E [UNDOC]", 2, 0 },129{ "LD IYh,IYh [UNDOC]", 2, 0 },130{ "LD IYh,IYl [UNDOC]", 2, 0 },131{ "LD H,(IY%+d)", 3, 4 },132{ "LD IYh,A [UNDOC]", 2, 0 },133{ "LD IYl,B [UNDOC]", 2, 0 },134{ "LD IYl,C [UNDOC]", 2, 0 },135{ "LD IYl,D [UNDOC]", 2, 0 },136{ "LD IYl,E [UNDOC]", 2, 0 },137{ "LD IYl,IYh [UNDOC]", 2, 0 },138{ "LD IYl,IYl [UNDOC]", 2, 0 },139{ "LD L,(IY%+d)", 3, 4 },140{ "LD IYl,A [UNDOC]", 2, 0 },141142{ "LD (IY%+d),B", 3, 4 },143{ "LD (IY%+d),C", 3, 4 },144{ "LD (IY%+d),D", 3, 4 },145{ "LD (IY%+d),E", 3, 4 },146{ "LD (IY%+d),H", 3, 4 },147{ "LD (IY%+d),L", 3, 4 },148{ "HALT", 2, 0 },149{ "LD (IY%+d),A", 3, 4 },150{ "LD A,B", 2, 0 },151{ "LD A,C", 2, 0 },152{ "LD A,D", 2, 0 },153{ "LD A,E", 2, 0 },154{ "LD A,IYh [UNDOC]", 2, 0 },155{ "LD A,IYl [UNDOC]", 2, 0 },156{ "LD A,(IY%+d)", 3, 4 },157{ "LD A,A", 2, 0 },158159{ "ADD A,B", 2, 0 },160{ "ADD A,C", 2, 0 },161{ "ADD A,D", 2, 0 },162{ "ADD A,E", 2, 0 },163{ "ADD A,IYh [UNDOC]", 2, 0 },164{ "ADD A,IYl [UNDOC]", 2, 0 },165{ "ADD A,(IY%+d)", 3, 4 },166{ "ADD A,A", 2, 0 },167{ "ADC A,B", 2, 0 },168{ "ADC A,C", 2, 0 },169{ "ADC A,D", 2, 0 },170{ "ADC A,E", 2, 0 },171{ "ADC A,IYh [UNDOC]", 2, 0 },172{ "ADC A,IYl [UNDOC]", 2, 0 },173{ "ADC A,(IY%+d)", 3, 4 },174{ "ADC A,A", 2, 0 },175176{ "SUB B", 2, 0 },177{ "SUB C", 2, 0 },178{ "SUB D", 2, 0 },179{ "SUB E", 2, 0 },180{ "SUB IYh [UNDOC]", 2, 0 },181{ "SUB IYl [UNDOC]", 2, 0 },182{ "SUB (IY%+d)", 3, 4 },183{ "SUB A", 2, 0 },184{ "SBC A,B", 2, 0 },185{ "SBC A,C", 2, 0 },186{ "SBC A,D", 2, 0 },187{ "SBC A,E", 2, 0 },188{ "SBC A,IYh [UNDOC]", 2, 0 },189{ "SBC A,IYl [UNDOC]", 2, 0 },190{ "SBC A,(IY%+d)", 3, 4 },191{ "SBC A,A", 2, 0 },192193{ "AND B", 2, 0 },194{ "AND C", 2, 0 },195{ "AND D", 2, 0 },196{ "AND E", 2, 0 },197{ "AND IYh [UNDOC]", 2, 0 },198{ "AND IYl [UNDOC]", 2, 0 },199{ "AND (IY%+d)", 3, 4 },200{ "AND A", 2, 0 },201{ "XOR B", 2, 0 },202{ "XOR C", 2, 0 },203{ "XOR D", 2, 0 },204{ "XOR E", 2, 0 },205{ "XOR IYh [UNDOC]", 2, 0 },206{ "XOR IYl [UNDOC]", 2, 0 },207{ "XOR (IY%+d)", 3, 4 },208{ "XOR A", 2, 0 },209210{ "OR B", 2, 0 },211{ "OR C", 2, 0 },212{ "OR D", 2, 0 },213{ "OR E", 2, 0 },214{ "OR IYh [UNDOC]", 2, 0 },215{ "OR IYl [UNDOC]", 2, 0 },216{ "OR (IY%+d)", 3, 4 },217{ "OR A", 2, 0 },218{ "CP B", 2, 0 },219{ "CP C", 2, 0 },220{ "CP D", 2, 0 },221{ "CP E", 2, 0 },222{ "CP IYh [UNDOC]", 2, 0 },223{ "CP IYl [UNDOC]", 2, 0 },224{ "CP (IY%+d)", 3, 4 },225{ "CP A", 2, 0 },226227{ "RET NZ", 2, 0 },228{ "POP BC", 2, 0 },229{ "JP NZ,$%04X", 4, 3 },230{ "JP $%04X", 4, 3 },231{ "CALL NZ,$%04X", 4, 3 },232{ "PUSH BC", 2, 0 },233{ "ADD A,$%02X", 3, 2 },234{ "RST ", 2, 0 },235{ "RET Z", 2, 0 },236{ "RET", 2, 0 },237{ "JP Z,$%04X", 4, 3 },238{ "CB PREFIX", 2, 0 },239{ "CALL Z,$%04X", 4, 3 },240{ "CALL $%04X", 4, 3 },241{ "ADC A,$%02X", 3, 2 },242{ "RST 08H", 2, 0 },243244{ "RET NC", 2, 0 },245{ "POP DE", 2, 0 },246{ "JP NC,$%04X", 4, 3 },247{ "OUT ($%02X),A", 3, 2 },248{ "CALL NC,$%04X", 4, 3 },249{ "PUSH DE", 2, 0 },250{ "SUB $%02X", 3, 2 },251{ "RST 10H", 2, 0 },252{ "RET C", 2, 0 },253{ "EXX", 2, 0 },254{ "JP C,$%04X", 4, 3 },255{ "IN A,($%02X)", 3, 2 },256{ "CALL C,$%04X", 4, 3 },257{ "DD PREFIX", 2, 0 },258{ "SBC A,$%02X", 3, 2 },259{ "RST 18H", 2, 0 },260261{ "RET PO", 2, 0 },262{ "POP IY", 2, 0 },263{ "JP PO,$%04X", 4, 3 },264{ "EX (SP),IY", 2, 0 },265{ "CALL PO,$%04X", 4, 3 },266{ "PUSH IY", 2, 0 },267{ "AND $%02X", 3, 2 },268{ "RST 20H", 2, 0 },269{ "RET PE", 2, 0 },270{ "JP (IY)", 2, 0 },271{ "JP PE,$%04X", 4, 3 },272{ "EX DE,HL", 2, 0 },273{ "CALL PE,$%04X", 4, 3 },274{ "ED PREFIX", 2, 0 },275{ "XOR $%02X", 3, 2 },276{ "RST 28H", 2, 0 },277278{ "RET P", 2, 0 },279{ "POP AF", 2, 0 },280{ "JP P,$%04X", 4, 3 },281{ "DI", 2, 0 },282{ "CALL P,$%04X", 4, 3 },283{ "PUSH AF", 2, 0 },284{ "OR $%02X", 3, 2 },285{ "RST 30H", 2, 0 },286{ "RET M", 2, 0 },287{ "LD SP,IY", 2, 0 },288{ "JP M,$%04X", 4, 3 },289{ "EI", 2, 0 },290{ "CALL M,$%04X", 4, 3 },291{ "FD PREFIX", 2, 0 },292{ "CP $%02X", 3, 2 },293{ "RST 38H", 2, 0 }294};295296#endif /* OPCODEFD_NAMES_H */297298299300