/* GSPLUS - Advanced Apple IIGS Emulator Environment Copyright (C) 2016 - Dagen Brock Copyright (C) 2010 by GSport contributors Based on the KEGS emulator written by and Copyright (C) 2003 Kent Dickey This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ .word inst00_SYM+1 /* brk */ .word inst01_SYM+1 /* ORA (Dloc,X) */ .word inst02_SYM+1 /* COP */ .word inst03_SYM+1 /* ORA Disp8,S */ .word inst04_SYM+1 /* TSB Dloc */ .word inst05_SYM+1 /* ORA Dloc */ .word inst06_SYM+1 /* ASL Dloc */ .word inst07_SYM+1 /* ORA [Dloc] */ .word inst08_SYM+0 /* PHP */ .word inst09_SYM+4 /* ORA #imm */ .word inst0a_SYM+0 /* ASL a */ .word inst0b_SYM+0 /* PHD */ .word inst0c_SYM+2 /* TSB abs */ .word inst0d_SYM+2 /* ORA abs */ .word inst0e_SYM+2 /* ASL abs */ .word inst0f_SYM+3 /* ORA long */ .word inst10_SYM+1 /* BPL disp8 */ .word inst11_SYM+1 /* ORA (),y */ .word inst12_SYM+1 /* ORA () */ .word inst13_SYM+1 /* ORA (disp8,s),y */ .word inst14_SYM+1 /* TRB Dloc */ .word inst15_SYM+1 /* ORA Dloc,x */ .word inst16_SYM+1 /* ASL Dloc,x */ .word inst17_SYM+1 /* ORA [],y */ .word inst18_SYM+0 /* clc */ .word inst19_SYM+2 /* ORA abs,y */ .word inst1a_SYM+0 /* INC a */ .word inst1b_SYM+0 /* TCS */ .word inst1c_SYM+2 /* TRB Abs */ .word inst1d_SYM+2 /* ORA Abs,X */ .word inst1e_SYM+2 /* ASL abs,x */ .word inst1f_SYM+3 /* ORA Long,x */ .word inst20_SYM+2 /* JSR abs */ .word inst21_SYM+1 /* AND (Dloc,X) */ .word inst22_SYM+3 /* JSL Abslong */ .word inst23_SYM+1 /* AND Disp8,S */ .word inst24_SYM+1 /* BIT Dloc */ .word inst25_SYM+1 /* AND Dloc */ .word inst26_SYM+1 /* ROL Dloc */ .word inst27_SYM+1 /* AND [Dloc] */ .word inst28_SYM+0 /* PLP */ .word inst29_SYM+4 /* AND #imm */ .word inst2a_SYM+0 /* ROL a */ .word inst2b_SYM+0 /* PLD */ .word inst2c_SYM+2 /* BIT abs */ .word inst2d_SYM+2 /* AND abs */ .word inst2e_SYM+2 /* ROL abs */ .word inst2f_SYM+3 /* AND long */ .word inst30_SYM+1 /* BMI disp8 */ .word inst31_SYM+1 /* AND (),y */ .word inst32_SYM+1 /* AND () */ .word inst33_SYM+1 /* AND (disp8,s),y */ .word inst34_SYM+1 /* BIT Dloc,X */ .word inst35_SYM+1 /* AND Dloc,x */ .word inst36_SYM+1 /* ROL Dloc,x */ .word inst37_SYM+1 /* AND [],y */ .word inst38_SYM+0 /* SEC */ .word inst39_SYM+2 /* AND abs,y */ .word inst3a_SYM+0 /* DEC a */ .word inst3b_SYM+0 /* TSC */ .word inst3c_SYM+2 /* BIT Abs,X */ .word inst3d_SYM+2 /* AND Abs,X */ .word inst3e_SYM+2 /* ROL abs,x */ .word inst3f_SYM+3 /* AND Long,x */ .word inst40_SYM+0 /* RTI */ .word inst41_SYM+1 /* EOR (Dloc,X) */ .word inst42_SYM+1 /* WDM */ .word inst43_SYM+1 /* EOR Disp8,S */ .word inst44_SYM+2 /* MVP I,J */ .word inst45_SYM+1 /* EOR Dloc */ .word inst46_SYM+1 /* LSR Dloc */ .word inst47_SYM+1 /* EOR [Dloc] */ .word inst48_SYM+0 /* PHA */ .word inst49_SYM+4 /* EOR #imm */ .word inst4a_SYM+0 /* LSR a */ .word inst4b_SYM+0 /* PHK */ .word inst4c_SYM+2 /* JMP abs */ .word inst4d_SYM+2 /* EOR abs */ .word inst4e_SYM+2 /* LSR abs */ .word inst4f_SYM+3 /* EOR long */ .word inst50_SYM+1 /* BVC disp8 */ .word inst51_SYM+1 /* EOR (),y */ .word inst52_SYM+1 /* EOR () */ .word inst53_SYM+1 /* EOR (disp8,s),y */ .word inst54_SYM+2 /* MVN I,J */ .word inst55_SYM+1 /* EOR Dloc,x */ .word inst56_SYM+1 /* LSR Dloc,x */ .word inst57_SYM+1 /* EOR [],y */ .word inst58_SYM+0 /* CLI */ .word inst59_SYM+2 /* EOR abs,y */ .word inst5a_SYM+0 /* PHY */ .word inst5b_SYM+0 /* TCD */ .word inst5c_SYM+3 /* JMP Long */ .word inst5d_SYM+2 /* EOR Abs,X */ .word inst5e_SYM+2 /* LSR abs,x */ .word inst5f_SYM+3 /* EOR Long,x */ .word inst60_SYM+0 /* RTS */ .word inst61_SYM+1 /* ADC (Dloc,X) */ .word inst62_SYM+2 /* PER DISP16 */ .word inst63_SYM+1 /* ADC Disp8,S */ .word inst64_SYM+1 /* STZ Dloc */ .word inst65_SYM+1 /* ADC Dloc */ .word inst66_SYM+1 /* ROR Dloc */ .word inst67_SYM+1 /* ADC [Dloc] */ .word inst68_SYM+0 /* PLA */ .word inst69_SYM+4 /* ADC #imm */ .word inst6a_SYM+0 /* ROR a */ .word inst6b_SYM+0 /* RTL */ .word inst6c_SYM+2 /* JMP (abs) */ .word inst6d_SYM+2 /* ADC abs */ .word inst6e_SYM+2 /* ROR abs */ .word inst6f_SYM+3 /* ADC long */ .word inst70_SYM+1 /* BVS disp8 */ .word inst71_SYM+1 /* ADC (),y */ .word inst72_SYM+1 /* ADC () */ .word inst73_SYM+1 /* ADC (disp8,s),y */ .word inst74_SYM+1 /* STZ Dloc,X */ .word inst75_SYM+1 /* ADC Dloc,x */ .word inst76_SYM+1 /* ROR Dloc,x */ .word inst77_SYM+1 /* ADC [],y */ .word inst78_SYM+0 /* SEI */ .word inst79_SYM+2 /* ADC abs,y */ .word inst7a_SYM+0 /* PLY */ .word inst7b_SYM+0 /* TDC */ .word inst7c_SYM+2 /* JMP (abs,x) */ .word inst7d_SYM+2 /* ADC Abs,X */ .word inst7e_SYM+2 /* ROR abs,x */ .word inst7f_SYM+3 /* ADC Long,x */ .word inst80_SYM+1 /* BRA Disp8 */ .word inst81_SYM+1 /* STA (Dloc,X) */ .word inst82_SYM+2 /* BRL DISP16 */ .word inst83_SYM+1 /* STA Disp8,S */ .word inst84_SYM+1 /* STY Dloc */ .word inst85_SYM+1 /* STA Dloc */ .word inst86_SYM+1 /* STX Dloc */ .word inst87_SYM+1 /* STA [Dloc] */ .word inst88_SYM+0 /* DEY */ .word inst89_SYM+4 /* BIT #imm */ .word inst8a_SYM+0 /* TXA */ .word inst8b_SYM+0 /* PHB */ .word inst8c_SYM+2 /* STY abs */ .word inst8d_SYM+2 /* STA abs */ .word inst8e_SYM+2 /* STX abs */ .word inst8f_SYM+3 /* STA long */ .word inst90_SYM+1 /* BCC disp8 */ .word inst91_SYM+1 /* STA (),y */ .word inst92_SYM+1 /* STA () */ .word inst93_SYM+1 /* STA (disp8,s),y */ .word inst94_SYM+1 /* STY Dloc,X */ .word inst95_SYM+1 /* STA Dloc,x */ .word inst96_SYM+1 /* STX Dloc,y */ .word inst97_SYM+1 /* STA [],y */ .word inst98_SYM+0 /* TYA */ .word inst99_SYM+2 /* STA abs,y */ .word inst9a_SYM+0 /* TXS */ .word inst9b_SYM+0 /* TXY */ .word inst9c_SYM+2 /* STX abs */ .word inst9d_SYM+2 /* STA Abs,X */ .word inst9e_SYM+2 /* STZ abs,x */ .word inst9f_SYM+3 /* STA Long,x */ .word insta0_SYM+5 /* LDY #imm */ .word insta1_SYM+1 /* LDA (Dloc,X) */ .word insta2_SYM+5 /* LDX #imm */ .word insta3_SYM+1 /* LDA Disp8,S */ .word insta4_SYM+1 /* LDY Dloc */ .word insta5_SYM+1 /* LDA Dloc */ .word insta6_SYM+1 /* LDX Dloc */ .word insta7_SYM+1 /* LDA [Dloc] */ .word insta8_SYM+0 /* TAY */ .word insta9_SYM+4 /* LDA #imm */ .word instaa_SYM+0 /* TAX */ .word instab_SYM+0 /* PLB */ .word instac_SYM+2 /* LDY abs */ .word instad_SYM+2 /* LDA abs */ .word instae_SYM+2 /* LDX abs */ .word instaf_SYM+3 /* LDA long */ .word instb0_SYM+1 /* BCS disp8 */ .word instb1_SYM+1 /* LDA (),y */ .word instb2_SYM+1 /* LDA () */ .word instb3_SYM+1 /* LDA (disp8,s),y */ .word instb4_SYM+1 /* LDY Dloc,X */ .word instb5_SYM+1 /* LDA Dloc,x */ .word instb6_SYM+1 /* LDX Dloc,y */ .word instb7_SYM+1 /* LDA [],y */ .word instb8_SYM+0 /* CLV */ .word instb9_SYM+2 /* LDA abs,y */ .word instba_SYM+0 /* TSX */ .word instbb_SYM+0 /* TYX */ .word instbc_SYM+2 /* LDY abs,x */ .word instbd_SYM+2 /* LDA Abs,X */ .word instbe_SYM+2 /* LDX abs,y */ .word instbf_SYM+3 /* LDA Long,x */ .word instc0_SYM+5 /* CPY #Imm */ .word instc1_SYM+1 /* CMP (Dloc,X) */ .word instc2_SYM+1 /* REP #8bit */ .word instc3_SYM+1 /* CMP Disp8,S */ .word instc4_SYM+1 /* CPY Dloc */ .word instc5_SYM+1 /* CMP Dloc */ .word instc6_SYM+1 /* DEC Dloc */ .word instc7_SYM+1 /* CMP [Dloc] */ .word instc8_SYM+0 /* INY */ .word instc9_SYM+4 /* CMP #imm */ .word instca_SYM+0 /* DEX */ .word instcb_SYM+0 /* WAI */ .word instcc_SYM+2 /* CPY abs */ .word instcd_SYM+2 /* CMP abs */ .word instce_SYM+2 /* DEC abs */ .word instcf_SYM+3 /* CMP long */ .word instd0_SYM+1 /* BNE disp8 */ .word instd1_SYM+1 /* CMP (),y */ .word instd2_SYM+1 /* CMP () */ .word instd3_SYM+1 /* CMP (disp8,s),y */ .word instd4_SYM+1 /* PEI Dloc */ .word instd5_SYM+1 /* CMP Dloc,x */ .word instd6_SYM+1 /* DEC Dloc,x */ .word instd7_SYM+1 /* CMP [],y */ .word instd8_SYM+0 /* CLD */ .word instd9_SYM+2 /* CMP abs,y */ .word instda_SYM+0 /* PHX */ .word instdb_SYM+0 /* STP */ .word instdc_SYM+2 /* JML (Abs) */ .word instdd_SYM+2 /* CMP Abs,X */ .word instde_SYM+2 /* DEC abs,x */ .word instdf_SYM+3 /* CMP Long,x */ .word inste0_SYM+5 /* CPX #Imm */ .word inste1_SYM+1 /* SBC (Dloc,X) */ .word inste2_SYM+1 /* SEP #8bit */ .word inste3_SYM+1 /* SBC Disp8,S */ .word inste4_SYM+1 /* CPX Dloc */ .word inste5_SYM+1 /* SBC Dloc */ .word inste6_SYM+1 /* INC Dloc */ .word inste7_SYM+1 /* SBC [Dloc] */ .word inste8_SYM+0 /* INX */ .word inste9_SYM+4 /* SBC #imm */ .word instea_SYM+0 /* NOP */ .word insteb_SYM+0 /* XBA */ .word instec_SYM+2 /* CPX abs */ .word insted_SYM+2 /* SBC abs */ .word instee_SYM+2 /* INC abs */ .word instef_SYM+3 /* SBC long */ .word instf0_SYM+1 /* BEQ disp8 */ .word instf1_SYM+1 /* SBC (),y */ .word instf2_SYM+1 /* SBC () */ .word instf3_SYM+1 /* SBC (disp8,s),y */ .word instf4_SYM+2 /* PEA Imm */ .word instf5_SYM+1 /* SBC Dloc,x */ .word instf6_SYM+1 /* INC Dloc,x */ .word instf7_SYM+1 /* SBC [],y */ .word instf8_SYM+0 /* SED */ .word instf9_SYM+2 /* SBC abs,y */ .word instfa_SYM+0 /* PLX */ .word instfb_SYM+0 /* XCE */ .word instfc_SYM+2 /* JSR (Abs,x) */ .word instfd_SYM+2 /* SBC Abs,X */ .word instfe_SYM+2 /* INC abs,x */ .word instff_SYM+3 /* SBC Long,x */ .block 4*16