Previous 199869 Revisions Next

r23777 Tuesday 18th June, 2013 at 14:11:02 UTC by Miodrag Milanović
Renamed one more include of .c in h file, and updated makemak (nw)
[src/build]makemak.c
[src/emu/cpu]cpu.mak
[src/emu/cpu/h6280]h6280.h tblh6280.c tblh6280.inc*

trunk/src/build/makemak.c
r23776r23777
608608                       
609609                        printf("%s:   %s\n", target2.cstr(), t.cstr());
610610                     }
611                     if (core_filename_ends_with(t, ".inc"))
612                     {
613                        astring target2(file.name);
614                        target2.replace(0, "src/", "$(OBJ)/");
615                        target2.replace(0, ".c", ".o");
616
617                        printf("%s:   %s\n", target2.cstr(), t.cstr());
618                     }
611619                  }
612620               }
613621            }
trunk/src/emu/cpu/cpu.mak
r23776r23777
621621$(CPUOBJ)/h6280/h6280.o:    $(CPUSRC)/h6280/h6280.c \
622622                     $(CPUSRC)/h6280/h6280.h \
623623                     $(CPUSRC)/h6280/h6280ops.h \
624                     $(CPUSRC)/h6280/tblh6280.c
625624
626625
627626
trunk/src/emu/cpu/h6280/tblh6280.c
r23776r23777
1/*****************************************************************************
2
3    tblh6280.c
4
5    Copyright Bryan McPhail, mish@tendril.co.uk
6
7    This source code is based (with permission!) on the 6502 emulator by
8    Juergen Buchmueller.  It is released as part of the Mame emulator project.
9    Let me know if you intend to use this code in any other project.
10
11******************************************************************************/
12
13#undef  OP
14#define OP(nnn) inline void op##nnn()
15
16/*****************************************************************************
17 *****************************************************************************
18 *
19 *   Hu6280 opcodes
20 *
21 *****************************************************************************
22 * op     temp     cycles             rdmem   opc   wrmem   ******************/
23OP(_000) {         H6280_CYCLES(8);       BRK;         } // 8 BRK
24OP(_020) {         H6280_CYCLES(7); EA_ABS; JSR;       } // 7 JSR  ABS
25OP(_040) {         H6280_CYCLES(7);       RTI;         } // 7 RTI
26OP(_060) {         H6280_CYCLES(7);       RTS;         } // 7 RTS
27OP(_080) { int tmp;                           BRA(1);      } // 4 BRA  REL
28OP(_0a0) { int tmp; H6280_CYCLES(2); RD_IMM; LDY;          } // 2 LDY  IMM
29OP(_0c0) { int tmp; H6280_CYCLES(2); RD_IMM; CPY;          } // 2 CPY  IMM
30OP(_0e0) { int tmp; H6280_CYCLES(2); RD_IMM; CPX;          } // 2 CPX  IMM
31
32OP(_010) { int tmp;                           BPL;         } // 2/4 BPL  REL
33OP(_030) { int tmp;                           BMI;         } // 2/4 BMI  REL
34OP(_050) { int tmp;                           BVC;         } // 2/4 BVC  REL
35OP(_070) { int tmp;                           BVS;         } // 2/4 BVS  REL
36OP(_090) { int tmp;                           BCC;         } // 2/4 BCC  REL
37OP(_0b0) { int tmp;                           BCS;         } // 2/4 BCS  REL
38OP(_0d0) { int tmp;                           BNE;         } // 2/4 BNE  REL
39OP(_0f0) { int tmp;                           BEQ;         } // 2/4 BEQ  REL
40
41OP(_001) { int tmp; H6280_CYCLES(7); RD_IDX; ORA;          } // 7 ORA  IDX
42OP(_021) { int tmp; H6280_CYCLES(7); RD_IDX; AND;          } // 7 AND  IDX
43OP(_041) { int tmp; H6280_CYCLES(7); RD_IDX; EOR;          } // 7 EOR  IDX
44OP(_061) { int tmp; H6280_CYCLES(7); RD_IDX; ADC;          } // 7 ADC  IDX
45OP(_081) { int tmp; H6280_CYCLES(7);         STA; WR_IDX; } // 7 STA  IDX
46OP(_0a1) { int tmp; H6280_CYCLES(7); RD_IDX; LDA;          } // 7 LDA  IDX
47OP(_0c1) { int tmp; H6280_CYCLES(7); RD_IDX; CMP;          } // 7 CMP  IDX
48OP(_0e1) { int tmp; H6280_CYCLES(7); RD_IDX; SBC;          } // 7 SBC  IDX
49
50OP(_011) { int tmp; H6280_CYCLES(7); RD_IDY; ORA;          } // 7 ORA  IDY
51OP(_031) { int tmp; H6280_CYCLES(7); RD_IDY; AND;          } // 7 AND  IDY
52OP(_051) { int tmp; H6280_CYCLES(7); RD_IDY; EOR;          } // 7 EOR  IDY
53OP(_071) { int tmp; H6280_CYCLES(7); RD_IDY; ADC;          } // 7 ADC  AZP
54OP(_091) { int tmp; H6280_CYCLES(7);          STA; WR_IDY; } // 7 STA  IDY
55OP(_0b1) { int tmp; H6280_CYCLES(7); RD_IDY; LDA;          } // 7 LDA  IDY
56OP(_0d1) { int tmp; H6280_CYCLES(7); RD_IDY; CMP;          } // 7 CMP  IDY
57OP(_0f1) { int tmp; H6280_CYCLES(7); RD_IDY; SBC;          } // 7 SBC  IDY
58
59OP(_002) { int tmp; H6280_CYCLES(3);          SXY;         } // 3 SXY
60OP(_022) { int tmp; H6280_CYCLES(3);          SAX;         } // 3 SAX
61OP(_042) { int tmp; H6280_CYCLES(3);          SAY;         } // 3 SAY
62OP(_062) {         H6280_CYCLES(2);       CLA;         } // 2 CLA
63OP(_082) {         H6280_CYCLES(2);       CLX;         } // 2 CLX
64OP(_0a2) { int tmp; H6280_CYCLES(2); RD_IMM; LDX;          } // 2 LDX  IMM
65OP(_0c2) {         H6280_CYCLES(2);       CLY;         } // 2 CLY
66OP(_0e2) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
67
68OP(_012) { int tmp; H6280_CYCLES(7); RD_ZPI; ORA;          } // 7 ORA  ZPI
69OP(_032) { int tmp; H6280_CYCLES(7); RD_ZPI; AND;          } // 7 AND  ZPI
70OP(_052) { int tmp; H6280_CYCLES(7); RD_ZPI; EOR;          } // 7 EOR  ZPI
71OP(_072) { int tmp; H6280_CYCLES(7); RD_ZPI; ADC;          } // 7 ADC  ZPI
72OP(_092) { int tmp; H6280_CYCLES(7);          STA; WR_ZPI; } // 7 STA  ZPI
73OP(_0b2) { int tmp; H6280_CYCLES(7); RD_ZPI; LDA;          } // 7 LDA  ZPI
74OP(_0d2) { int tmp; H6280_CYCLES(7); RD_ZPI; CMP;          } // 7 CMP  ZPI
75OP(_0f2) { int tmp; H6280_CYCLES(7); RD_ZPI; SBC;          } // 7 SBC  ZPI
76
77OP(_003) { int tmp; H6280_CYCLES(5); RD_IMM; ST0;          } // 4 + 1 penalty cycle ST0  IMM
78OP(_023) { int tmp; H6280_CYCLES(5); RD_IMM; ST2;          } // 4 + 1 penalty cycle ST2  IMM
79OP(_043) { int tmp; H6280_CYCLES(4); RD_IMM; TMA;          } // 4 TMA
80OP(_063) {          H6280_CYCLES(4);           NOP;        } // 2 NOP
81OP(_083) { int tmp,tmp2; H6280_CYCLES(7); RD_IMM2; RD_ZPG; TST; } // 7 TST  IMM,ZPG
82OP(_0a3) { int tmp,tmp2; H6280_CYCLES(7); RD_IMM2; RD_ZPX; TST; } // 7 TST  IMM,ZPX
83OP(_0c3) { int to,from,length;                TDD;         } // 6*l+17 TDD  XFER
84OP(_0e3) { int to,from,length,alternate;       TIA;        } // 6*l+17 TIA  XFER
85
86OP(_013) { int tmp; H6280_CYCLES(5); RD_IMM; ST1;          } // 4 + 1 penalty cycle ST1
87OP(_033) {          H6280_CYCLES(2);           NOP;        } // 2 NOP
88OP(_053) { int tmp; H6280_CYCLES(5); RD_IMM; TAM;          } // 5 TAM  IMM
89OP(_073) { int to,from,length;                TII;         } // 6*l+17 TII  XFER
90OP(_093) { int tmp,tmp2; H6280_CYCLES(8); RD_IMM2; RD_ABS; TST; } // 8 TST  IMM,ABS
91OP(_0b3) { int tmp,tmp2; H6280_CYCLES(8); RD_IMM2; RD_ABX; TST; } // 8 TST  IMM,ABX
92OP(_0d3) { int to,from,length;                TIN;         } // 6*l+17 TIN  XFER
93OP(_0f3) { int to,from,length,alternate;       TAI;        } // 6*l+17 TAI  XFER
94
95OP(_004) { int tmp; H6280_CYCLES(6); RD_ZPG; TSB; WB_EAZ; } // 6 TSB  ZPG
96OP(_024) { int tmp; H6280_CYCLES(4); RD_ZPG; HBIT;         } // 4 BIT  ZPG
97OP(_044) { int tmp;                           BSR;         } // 8 BSR  REL
98OP(_064) { int tmp; H6280_CYCLES(4);          STZ; WR_ZPG; } // 4 STZ  ZPG
99OP(_084) { int tmp; H6280_CYCLES(4);          STY; WR_ZPG; } // 4 STY  ZPG
100OP(_0a4) { int tmp; H6280_CYCLES(4); RD_ZPG; LDY;          } // 4 LDY  ZPG
101OP(_0c4) { int tmp; H6280_CYCLES(4); RD_ZPG; CPY;          } // 4 CPY  ZPG
102OP(_0e4) { int tmp; H6280_CYCLES(4); RD_ZPG; CPX;          } // 4 CPX  ZPG
103
104OP(_014) { int tmp; H6280_CYCLES(6); RD_ZPG; TRB; WB_EAZ; } // 6 TRB  ZPG
105OP(_034) { int tmp; H6280_CYCLES(4); RD_ZPX; HBIT;         } // 4 BIT  ZPX
106OP(_054) {         H6280_CYCLES(3);         CSL;           } // 3 CSL
107OP(_074) { int tmp; H6280_CYCLES(4);          STZ; WR_ZPX; } // 4 STZ  ZPX
108OP(_094) { int tmp; H6280_CYCLES(4);          STY; WR_ZPX; } // 4 STY  ZPX
109OP(_0b4) { int tmp; H6280_CYCLES(4); RD_ZPX; LDY;          } // 4 LDY  ZPX
110OP(_0d4) {         H6280_CYCLES(3);         CSH;           } // 3 CSH
111OP(_0f4) {         H6280_CYCLES(2);       SET;         } // 2 SET
112
113OP(_005) { int tmp; H6280_CYCLES(4); RD_ZPG; ORA;          } // 4 ORA  ZPG
114OP(_025) { int tmp; H6280_CYCLES(4); RD_ZPG; AND;          } // 4 AND  ZPG
115OP(_045) { int tmp; H6280_CYCLES(4); RD_ZPG; EOR;          } // 4 EOR  ZPG
116OP(_065) { int tmp; H6280_CYCLES(4); RD_ZPG; ADC;          } // 4 ADC  ZPG
117OP(_085) { int tmp; H6280_CYCLES(4);          STA; WR_ZPG; } // 4 STA  ZPG
118OP(_0a5) { int tmp; H6280_CYCLES(4); RD_ZPG; LDA;          } // 4 LDA  ZPG
119OP(_0c5) { int tmp; H6280_CYCLES(4); RD_ZPG; CMP;          } // 4 CMP  ZPG
120OP(_0e5) { int tmp; H6280_CYCLES(4); RD_ZPG; SBC;          } // 4 SBC  ZPG
121
122OP(_015) { int tmp; H6280_CYCLES(4); RD_ZPX; ORA;          } // 4 ORA  ZPX
123OP(_035) { int tmp; H6280_CYCLES(4); RD_ZPX; AND;          } // 4 AND  ZPX
124OP(_055) { int tmp; H6280_CYCLES(4); RD_ZPX; EOR;          } // 4 EOR  ZPX
125OP(_075) { int tmp; H6280_CYCLES(4); RD_ZPX; ADC;          } // 4 ADC  ZPX
126OP(_095) { int tmp; H6280_CYCLES(4);          STA; WR_ZPX; } // 4 STA  ZPX
127OP(_0b5) { int tmp; H6280_CYCLES(4); RD_ZPX; LDA;          } // 4 LDA  ZPX
128OP(_0d5) { int tmp; H6280_CYCLES(4); RD_ZPX; CMP;          } // 4 CMP  ZPX
129OP(_0f5) { int tmp; H6280_CYCLES(4); RD_ZPX; SBC;          } // 4 SBC  ZPX
130
131OP(_006) { int tmp; H6280_CYCLES(6); RD_ZPG; ASL; WB_EAZ; } // 6 ASL  ZPG
132OP(_026) { int tmp; H6280_CYCLES(6); RD_ZPG; ROL; WB_EAZ; } // 6 ROL  ZPG
133OP(_046) { int tmp; H6280_CYCLES(6); RD_ZPG; LSR; WB_EAZ; } // 6 LSR  ZPG
134OP(_066) { int tmp; H6280_CYCLES(6); RD_ZPG; ROR; WB_EAZ; } // 6 ROR  ZPG
135OP(_086) { int tmp; H6280_CYCLES(4);          STX; WR_ZPG; } // 4 STX  ZPG
136OP(_0a6) { int tmp; H6280_CYCLES(4); RD_ZPG; LDX;          } // 4 LDX  ZPG
137OP(_0c6) { int tmp; H6280_CYCLES(6); RD_ZPG; DEC; WB_EAZ; } // 6 DEC  ZPG
138OP(_0e6) { int tmp; H6280_CYCLES(6); RD_ZPG; INC; WB_EAZ; } // 6 INC  ZPG
139
140OP(_016) { int tmp; H6280_CYCLES(6); RD_ZPX; ASL; WB_EAZ;  } // 6 ASL  ZPX
141OP(_036) { int tmp; H6280_CYCLES(6); RD_ZPX; ROL; WB_EAZ;  } // 6 ROL  ZPX
142OP(_056) { int tmp; H6280_CYCLES(6); RD_ZPX; LSR; WB_EAZ;  } // 6 LSR  ZPX
143OP(_076) { int tmp; H6280_CYCLES(6); RD_ZPX; ROR; WB_EAZ;  } // 6 ROR  ZPX
144OP(_096) { int tmp; H6280_CYCLES(4);          STX; WR_ZPY; } // 4 STX  ZPY
145OP(_0b6) { int tmp; H6280_CYCLES(4); RD_ZPY; LDX;          } // 4 LDX  ZPY
146OP(_0d6) { int tmp; H6280_CYCLES(6); RD_ZPX; DEC; WB_EAZ; } // 6 DEC  ZPX
147OP(_0f6) { int tmp; H6280_CYCLES(6); RD_ZPX; INC; WB_EAZ; } // 6 INC  ZPX
148
149OP(_007) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(0);WB_EAZ;} // 7 RMB0 ZPG
150OP(_027) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(2);WB_EAZ;} // 7 RMB2 ZPG
151OP(_047) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(4);WB_EAZ;} // 7 RMB4 ZPG
152OP(_067) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(6);WB_EAZ;} // 7 RMB6 ZPG
153OP(_087) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(0);WB_EAZ;} // 7 SMB0 ZPG
154OP(_0a7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(2);WB_EAZ;} // 7 SMB2 ZPG
155OP(_0c7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(4);WB_EAZ;} // 7 SMB4 ZPG
156OP(_0e7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(6);WB_EAZ;} // 7 SMB6 ZPG
157
158OP(_017) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(1);WB_EAZ;} // 7 RMB1 ZPG
159OP(_037) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(3);WB_EAZ;} // 7 RMB3 ZPG
160OP(_057) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(5);WB_EAZ;} // 7 RMB5 ZPG
161OP(_077) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(7);WB_EAZ;} // 7 RMB7 ZPG
162OP(_097) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(1);WB_EAZ;} // 7 SMB1 ZPG
163OP(_0b7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(3);WB_EAZ;} // 7 SMB3 ZPG
164OP(_0d7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(5);WB_EAZ;} // 7 SMB5 ZPG
165OP(_0f7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(7);WB_EAZ;} // 7 SMB7 ZPG
166
167OP(_008) {         H6280_CYCLES(3);       PHP;         } // 3 PHP
168OP(_028) {         H6280_CYCLES(4);       PLP;         } // 4 PLP
169OP(_048) {         H6280_CYCLES(3);       PHA;         } // 3 PHA
170OP(_068) {         H6280_CYCLES(4);       PLA;         } // 4 PLA
171OP(_088) {         H6280_CYCLES(2);       DEY;         } // 2 DEY
172OP(_0a8) {         H6280_CYCLES(2);       TAY;         } // 2 TAY
173OP(_0c8) {         H6280_CYCLES(2);       INY;         } // 2 INY
174OP(_0e8) {         H6280_CYCLES(2);       INX;         } // 2 INX
175
176OP(_018) {         H6280_CYCLES(2);       CLC;         } // 2 CLC
177OP(_038) {         H6280_CYCLES(2);       SEC;         } // 2 SEC
178OP(_058) {         H6280_CYCLES(2);       CLI;         } // 2 CLI
179OP(_078) {         H6280_CYCLES(2);       SEI;         } // 2 SEI
180OP(_098) {         H6280_CYCLES(2);       TYA;         } // 2 TYA
181OP(_0b8) {         H6280_CYCLES(2);       CLV;         } // 2 CLV
182OP(_0d8) {         H6280_CYCLES(2);       CLD;         } // 2 CLD
183OP(_0f8) {         H6280_CYCLES(2);       SED;         } // 2 SED
184
185OP(_009) { int tmp; H6280_CYCLES(2); RD_IMM; ORA;          } // 2 ORA  IMM
186OP(_029) { int tmp; H6280_CYCLES(2); RD_IMM; AND;          } // 2 AND  IMM
187OP(_049) { int tmp; H6280_CYCLES(2); RD_IMM; EOR;          } // 2 EOR  IMM
188OP(_069) { int tmp; H6280_CYCLES(2); RD_IMM; ADC;          } // 2 ADC  IMM
189OP(_089) { int tmp; H6280_CYCLES(2); RD_IMM; HBIT;         } // 2 BIT  IMM
190OP(_0a9) { int tmp; H6280_CYCLES(2); RD_IMM; LDA;          } // 2 LDA  IMM
191OP(_0c9) { int tmp; H6280_CYCLES(2); RD_IMM; CMP;          } // 2 CMP  IMM
192OP(_0e9) { int tmp; H6280_CYCLES(2); RD_IMM; SBC;          } // 2 SBC  IMM
193
194OP(_019) { int tmp; H6280_CYCLES(5); RD_ABY; ORA;          } // 5 ORA  ABY
195OP(_039) { int tmp; H6280_CYCLES(5); RD_ABY; AND;          } // 5 AND  ABY
196OP(_059) { int tmp; H6280_CYCLES(5); RD_ABY; EOR;          } // 5 EOR  ABY
197OP(_079) { int tmp; H6280_CYCLES(5); RD_ABY; ADC;          } // 5 ADC  ABY
198OP(_099) { int tmp; H6280_CYCLES(5);          STA; WR_ABY; } // 5 STA  ABY
199OP(_0b9) { int tmp; H6280_CYCLES(5); RD_ABY; LDA;          } // 5 LDA  ABY
200OP(_0d9) { int tmp; H6280_CYCLES(5); RD_ABY; CMP;          } // 5 CMP  ABY
201OP(_0f9) { int tmp; H6280_CYCLES(5); RD_ABY; SBC;          } // 5 SBC  ABY
202
203OP(_00a) { int tmp; H6280_CYCLES(2); RD_ACC; ASL; WB_ACC; } // 2 ASL  A
204OP(_02a) { int tmp; H6280_CYCLES(2); RD_ACC; ROL; WB_ACC; } // 2 ROL  A
205OP(_04a) { int tmp; H6280_CYCLES(2); RD_ACC; LSR; WB_ACC; } // 2 LSR  A
206OP(_06a) { int tmp; H6280_CYCLES(2); RD_ACC; ROR; WB_ACC; } // 2 ROR  A
207OP(_08a) {         H6280_CYCLES(2);       TXA;         } // 2 TXA
208OP(_0aa) {         H6280_CYCLES(2);       TAX;         } // 2 TAX
209OP(_0ca) {         H6280_CYCLES(2);       DEX;         } // 2 DEX
210OP(_0ea) {         H6280_CYCLES(2);       NOP;         } // 2 NOP
211
212OP(_01a) {         H6280_CYCLES(2);       INA;         } // 2 INC  A
213OP(_03a) {         H6280_CYCLES(2);       DEA;         } // 2 DEC  A
214OP(_05a) {         H6280_CYCLES(3);       PHY;         } // 3 PHY
215OP(_07a) {         H6280_CYCLES(4);       PLY;         } // 4 PLY
216OP(_09a) {         H6280_CYCLES(2);       TXS;         } // 2 TXS
217OP(_0ba) {         H6280_CYCLES(2);       TSX;         } // 2 TSX
218OP(_0da) {         H6280_CYCLES(3);       PHX;         } // 3 PHX
219OP(_0fa) {         H6280_CYCLES(4);       PLX;         } // 4 PLX
220
221OP(_00b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
222OP(_02b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
223OP(_04b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
224OP(_06b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
225OP(_08b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
226OP(_0ab) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
227OP(_0cb) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
228OP(_0eb) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
229
230OP(_01b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
231OP(_03b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
232OP(_05b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
233OP(_07b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
234OP(_09b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
235OP(_0bb) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
236OP(_0db) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
237OP(_0fb) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
238
239OP(_00c) { int tmp; H6280_CYCLES(7); RD_ABS; TSB; WB_EA;  } // 7 TSB  ABS
240OP(_02c) { int tmp; H6280_CYCLES(5); RD_ABS; HBIT;         } // 5 BIT  ABS
241OP(_04c) {         H6280_CYCLES(4); EA_ABS; JMP;           } // 4 JMP  ABS
242OP(_06c) { int tmp; H6280_CYCLES(7); EA_IND; JMP;          } // 7 JMP  IND
243OP(_08c) { int tmp; H6280_CYCLES(5);          STY; WR_ABS; } // 5 STY  ABS
244OP(_0ac) { int tmp; H6280_CYCLES(5); RD_ABS; LDY;          } // 5 LDY  ABS
245OP(_0cc) { int tmp; H6280_CYCLES(5); RD_ABS; CPY;          } // 5 CPY  ABS
246OP(_0ec) { int tmp; H6280_CYCLES(5); RD_ABS; CPX;          } // 5 CPX  ABS
247
248OP(_01c) { int tmp; H6280_CYCLES(7); RD_ABS; TRB; WB_EA;  } // 7 TRB  ABS
249OP(_03c) { int tmp; H6280_CYCLES(5); RD_ABX; HBIT;         } // 5 BIT  ABX
250OP(_05c) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
251OP(_07c) { int tmp; H6280_CYCLES(7); EA_IAX; JMP;          } // 7 JMP  IAX
252OP(_09c) { int tmp; H6280_CYCLES(5);          STZ; WR_ABS; } // 5 STZ  ABS
253OP(_0bc) { int tmp; H6280_CYCLES(5); RD_ABX; LDY;          } // 5 LDY  ABX
254OP(_0dc) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
255OP(_0fc) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
256
257OP(_00d) { int tmp; H6280_CYCLES(5); RD_ABS; ORA;          } // 5 ORA  ABS
258OP(_02d) { int tmp; H6280_CYCLES(5); RD_ABS; AND;          } // 5 AND  ABS
259OP(_04d) { int tmp; H6280_CYCLES(5); RD_ABS; EOR;          } // 5 EOR  ABS
260OP(_06d) { int tmp; H6280_CYCLES(5); RD_ABS; ADC;          } // 5 ADC  ABS
261OP(_08d) { int tmp; H6280_CYCLES(5);          STA; WR_ABS; } // 5 STA  ABS
262OP(_0ad) { int tmp; H6280_CYCLES(5); RD_ABS; LDA;          } // 5 LDA  ABS
263OP(_0cd) { int tmp; H6280_CYCLES(5); RD_ABS; CMP;          } // 5 CMP  ABS
264OP(_0ed) { int tmp; H6280_CYCLES(5); RD_ABS; SBC;          } // 5 SBC  ABS
265
266OP(_01d) { int tmp; H6280_CYCLES(5); RD_ABX; ORA;          } // 5 ORA  ABX
267OP(_03d) { int tmp; H6280_CYCLES(5); RD_ABX; AND;          } // 5 AND  ABX
268OP(_05d) { int tmp; H6280_CYCLES(5); RD_ABX; EOR;          } // 5 EOR  ABX
269OP(_07d) { int tmp; H6280_CYCLES(5); RD_ABX; ADC;          } // 5 ADC  ABX
270OP(_09d) { int tmp; H6280_CYCLES(5);          STA; WR_ABX; } // 5 STA  ABX
271OP(_0bd) { int tmp; H6280_CYCLES(5); RD_ABX; LDA;          } // 5 LDA  ABX
272OP(_0dd) { int tmp; H6280_CYCLES(5); RD_ABX; CMP;          } // 5 CMP  ABX
273OP(_0fd) { int tmp; H6280_CYCLES(5); RD_ABX; SBC;          } // 5 SBC  ABX
274
275OP(_00e) { int tmp; H6280_CYCLES(7); RD_ABS; ASL; WB_EA;  } // 7 ASL  ABS
276OP(_02e) { int tmp; H6280_CYCLES(7); RD_ABS; ROL; WB_EA;  } // 7 ROL  ABS
277OP(_04e) { int tmp; H6280_CYCLES(7); RD_ABS; LSR; WB_EA;  } // 7 LSR  ABS
278OP(_06e) { int tmp; H6280_CYCLES(7); RD_ABS; ROR; WB_EA;  } // 7 ROR  ABS
279OP(_08e) { int tmp; H6280_CYCLES(5);          STX; WR_ABS; } // 5 STX  ABS
280OP(_0ae) { int tmp; H6280_CYCLES(5); RD_ABS; LDX;          } // 5 LDX  ABS
281OP(_0ce) { int tmp; H6280_CYCLES(7); RD_ABS; DEC; WB_EA;  } // 7 DEC  ABS
282OP(_0ee) { int tmp; H6280_CYCLES(7); RD_ABS; INC; WB_EA;  } // 7 INC  ABS
283
284OP(_01e) { int tmp; H6280_CYCLES(7); RD_ABX; ASL; WB_EA;  } // 7 ASL  ABX
285OP(_03e) { int tmp; H6280_CYCLES(7); RD_ABX; ROL; WB_EA;  } // 7 ROL  ABX
286OP(_05e) { int tmp; H6280_CYCLES(7); RD_ABX; LSR; WB_EA;  } // 7 LSR  ABX
287OP(_07e) { int tmp; H6280_CYCLES(7); RD_ABX; ROR; WB_EA;  } // 7 ROR  ABX
288OP(_09e) { int tmp; H6280_CYCLES(5);          STZ; WR_ABX; } // 5 STZ  ABX
289OP(_0be) { int tmp; H6280_CYCLES(5); RD_ABY; LDX;          } // 5 LDX  ABY
290OP(_0de) { int tmp; H6280_CYCLES(7); RD_ABX; DEC; WB_EA;  } // 7 DEC  ABX
291OP(_0fe) { int tmp; H6280_CYCLES(7); RD_ABX; INC; WB_EA;  } // 7 INC  ABX
292
293OP(_00f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(0);       } // 6/8 BBR0 ZPG,REL
294OP(_02f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(2);       } // 6/8 BBR2 ZPG,REL
295OP(_04f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(4);       } // 6/8 BBR4 ZPG,REL
296OP(_06f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(6);       } // 6/8 BBR6 ZPG,REL
297OP(_08f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(0);       } // 6/8 BBS0 ZPG,REL
298OP(_0af) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(2);       } // 6/8 BBS2 ZPG,REL
299OP(_0cf) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(4);       } // 6/8 BBS4 ZPG,REL
300OP(_0ef) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(6);       } // 6/8 BBS6 ZPG,REL
301
302OP(_01f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(1);       } // 6/8 BBR1 ZPG,REL
303OP(_03f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(3);       } // 6/8 BBR3 ZPG,REL
304OP(_05f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(5);       } // 6/8 BBR5 ZPG,REL
305OP(_07f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(7);       } // 6/8 BBR7 ZPG,REL
306OP(_09f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(1);       } // 6/8 BBS1 ZPG,REL
307OP(_0bf) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(3);       } // 6/8 BBS3 ZPG,REL
308OP(_0df) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(5);       } // 6/8 BBS5 ZPG,REL
309OP(_0ff) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(7);       } // 6/8 BBS7 ZPG,REL
trunk/src/emu/cpu/h6280/h6280.h
r23776r23777
119119   #include "h6280ops.h"
120120
121121   // include the opcode macros and functions
122   #include "tblh6280.c"
122   #include "tblh6280.inc"
123123
124124   // address spaces
125125   const address_space_config m_program_config;
trunk/src/emu/cpu/h6280/tblh6280.inc
r0r23777
1/*****************************************************************************
2
3    tblh6280.c
4
5    Copyright Bryan McPhail, mish@tendril.co.uk
6
7    This source code is based (with permission!) on the 6502 emulator by
8    Juergen Buchmueller.  It is released as part of the Mame emulator project.
9    Let me know if you intend to use this code in any other project.
10
11******************************************************************************/
12
13#undef  OP
14#define OP(nnn) inline void op##nnn()
15
16/*****************************************************************************
17 *****************************************************************************
18 *
19 *   Hu6280 opcodes
20 *
21 *****************************************************************************
22 * op     temp     cycles             rdmem   opc   wrmem   ******************/
23OP(_000) {         H6280_CYCLES(8);       BRK;         } // 8 BRK
24OP(_020) {         H6280_CYCLES(7); EA_ABS; JSR;       } // 7 JSR  ABS
25OP(_040) {         H6280_CYCLES(7);       RTI;         } // 7 RTI
26OP(_060) {         H6280_CYCLES(7);       RTS;         } // 7 RTS
27OP(_080) { int tmp;                           BRA(1);      } // 4 BRA  REL
28OP(_0a0) { int tmp; H6280_CYCLES(2); RD_IMM; LDY;          } // 2 LDY  IMM
29OP(_0c0) { int tmp; H6280_CYCLES(2); RD_IMM; CPY;          } // 2 CPY  IMM
30OP(_0e0) { int tmp; H6280_CYCLES(2); RD_IMM; CPX;          } // 2 CPX  IMM
31
32OP(_010) { int tmp;                           BPL;         } // 2/4 BPL  REL
33OP(_030) { int tmp;                           BMI;         } // 2/4 BMI  REL
34OP(_050) { int tmp;                           BVC;         } // 2/4 BVC  REL
35OP(_070) { int tmp;                           BVS;         } // 2/4 BVS  REL
36OP(_090) { int tmp;                           BCC;         } // 2/4 BCC  REL
37OP(_0b0) { int tmp;                           BCS;         } // 2/4 BCS  REL
38OP(_0d0) { int tmp;                           BNE;         } // 2/4 BNE  REL
39OP(_0f0) { int tmp;                           BEQ;         } // 2/4 BEQ  REL
40
41OP(_001) { int tmp; H6280_CYCLES(7); RD_IDX; ORA;          } // 7 ORA  IDX
42OP(_021) { int tmp; H6280_CYCLES(7); RD_IDX; AND;          } // 7 AND  IDX
43OP(_041) { int tmp; H6280_CYCLES(7); RD_IDX; EOR;          } // 7 EOR  IDX
44OP(_061) { int tmp; H6280_CYCLES(7); RD_IDX; ADC;          } // 7 ADC  IDX
45OP(_081) { int tmp; H6280_CYCLES(7);         STA; WR_IDX; } // 7 STA  IDX
46OP(_0a1) { int tmp; H6280_CYCLES(7); RD_IDX; LDA;          } // 7 LDA  IDX
47OP(_0c1) { int tmp; H6280_CYCLES(7); RD_IDX; CMP;          } // 7 CMP  IDX
48OP(_0e1) { int tmp; H6280_CYCLES(7); RD_IDX; SBC;          } // 7 SBC  IDX
49
50OP(_011) { int tmp; H6280_CYCLES(7); RD_IDY; ORA;          } // 7 ORA  IDY
51OP(_031) { int tmp; H6280_CYCLES(7); RD_IDY; AND;          } // 7 AND  IDY
52OP(_051) { int tmp; H6280_CYCLES(7); RD_IDY; EOR;          } // 7 EOR  IDY
53OP(_071) { int tmp; H6280_CYCLES(7); RD_IDY; ADC;          } // 7 ADC  AZP
54OP(_091) { int tmp; H6280_CYCLES(7);          STA; WR_IDY; } // 7 STA  IDY
55OP(_0b1) { int tmp; H6280_CYCLES(7); RD_IDY; LDA;          } // 7 LDA  IDY
56OP(_0d1) { int tmp; H6280_CYCLES(7); RD_IDY; CMP;          } // 7 CMP  IDY
57OP(_0f1) { int tmp; H6280_CYCLES(7); RD_IDY; SBC;          } // 7 SBC  IDY
58
59OP(_002) { int tmp; H6280_CYCLES(3);          SXY;         } // 3 SXY
60OP(_022) { int tmp; H6280_CYCLES(3);          SAX;         } // 3 SAX
61OP(_042) { int tmp; H6280_CYCLES(3);          SAY;         } // 3 SAY
62OP(_062) {         H6280_CYCLES(2);       CLA;         } // 2 CLA
63OP(_082) {         H6280_CYCLES(2);       CLX;         } // 2 CLX
64OP(_0a2) { int tmp; H6280_CYCLES(2); RD_IMM; LDX;          } // 2 LDX  IMM
65OP(_0c2) {         H6280_CYCLES(2);       CLY;         } // 2 CLY
66OP(_0e2) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
67
68OP(_012) { int tmp; H6280_CYCLES(7); RD_ZPI; ORA;          } // 7 ORA  ZPI
69OP(_032) { int tmp; H6280_CYCLES(7); RD_ZPI; AND;          } // 7 AND  ZPI
70OP(_052) { int tmp; H6280_CYCLES(7); RD_ZPI; EOR;          } // 7 EOR  ZPI
71OP(_072) { int tmp; H6280_CYCLES(7); RD_ZPI; ADC;          } // 7 ADC  ZPI
72OP(_092) { int tmp; H6280_CYCLES(7);          STA; WR_ZPI; } // 7 STA  ZPI
73OP(_0b2) { int tmp; H6280_CYCLES(7); RD_ZPI; LDA;          } // 7 LDA  ZPI
74OP(_0d2) { int tmp; H6280_CYCLES(7); RD_ZPI; CMP;          } // 7 CMP  ZPI
75OP(_0f2) { int tmp; H6280_CYCLES(7); RD_ZPI; SBC;          } // 7 SBC  ZPI
76
77OP(_003) { int tmp; H6280_CYCLES(5); RD_IMM; ST0;          } // 4 + 1 penalty cycle ST0  IMM
78OP(_023) { int tmp; H6280_CYCLES(5); RD_IMM; ST2;          } // 4 + 1 penalty cycle ST2  IMM
79OP(_043) { int tmp; H6280_CYCLES(4); RD_IMM; TMA;          } // 4 TMA
80OP(_063) {          H6280_CYCLES(4);           NOP;        } // 2 NOP
81OP(_083) { int tmp,tmp2; H6280_CYCLES(7); RD_IMM2; RD_ZPG; TST; } // 7 TST  IMM,ZPG
82OP(_0a3) { int tmp,tmp2; H6280_CYCLES(7); RD_IMM2; RD_ZPX; TST; } // 7 TST  IMM,ZPX
83OP(_0c3) { int to,from,length;                TDD;         } // 6*l+17 TDD  XFER
84OP(_0e3) { int to,from,length,alternate;       TIA;        } // 6*l+17 TIA  XFER
85
86OP(_013) { int tmp; H6280_CYCLES(5); RD_IMM; ST1;          } // 4 + 1 penalty cycle ST1
87OP(_033) {          H6280_CYCLES(2);           NOP;        } // 2 NOP
88OP(_053) { int tmp; H6280_CYCLES(5); RD_IMM; TAM;          } // 5 TAM  IMM
89OP(_073) { int to,from,length;                TII;         } // 6*l+17 TII  XFER
90OP(_093) { int tmp,tmp2; H6280_CYCLES(8); RD_IMM2; RD_ABS; TST; } // 8 TST  IMM,ABS
91OP(_0b3) { int tmp,tmp2; H6280_CYCLES(8); RD_IMM2; RD_ABX; TST; } // 8 TST  IMM,ABX
92OP(_0d3) { int to,from,length;                TIN;         } // 6*l+17 TIN  XFER
93OP(_0f3) { int to,from,length,alternate;       TAI;        } // 6*l+17 TAI  XFER
94
95OP(_004) { int tmp; H6280_CYCLES(6); RD_ZPG; TSB; WB_EAZ; } // 6 TSB  ZPG
96OP(_024) { int tmp; H6280_CYCLES(4); RD_ZPG; HBIT;         } // 4 BIT  ZPG
97OP(_044) { int tmp;                           BSR;         } // 8 BSR  REL
98OP(_064) { int tmp; H6280_CYCLES(4);          STZ; WR_ZPG; } // 4 STZ  ZPG
99OP(_084) { int tmp; H6280_CYCLES(4);          STY; WR_ZPG; } // 4 STY  ZPG
100OP(_0a4) { int tmp; H6280_CYCLES(4); RD_ZPG; LDY;          } // 4 LDY  ZPG
101OP(_0c4) { int tmp; H6280_CYCLES(4); RD_ZPG; CPY;          } // 4 CPY  ZPG
102OP(_0e4) { int tmp; H6280_CYCLES(4); RD_ZPG; CPX;          } // 4 CPX  ZPG
103
104OP(_014) { int tmp; H6280_CYCLES(6); RD_ZPG; TRB; WB_EAZ; } // 6 TRB  ZPG
105OP(_034) { int tmp; H6280_CYCLES(4); RD_ZPX; HBIT;         } // 4 BIT  ZPX
106OP(_054) {         H6280_CYCLES(3);         CSL;           } // 3 CSL
107OP(_074) { int tmp; H6280_CYCLES(4);          STZ; WR_ZPX; } // 4 STZ  ZPX
108OP(_094) { int tmp; H6280_CYCLES(4);          STY; WR_ZPX; } // 4 STY  ZPX
109OP(_0b4) { int tmp; H6280_CYCLES(4); RD_ZPX; LDY;          } // 4 LDY  ZPX
110OP(_0d4) {         H6280_CYCLES(3);         CSH;           } // 3 CSH
111OP(_0f4) {         H6280_CYCLES(2);       SET;         } // 2 SET
112
113OP(_005) { int tmp; H6280_CYCLES(4); RD_ZPG; ORA;          } // 4 ORA  ZPG
114OP(_025) { int tmp; H6280_CYCLES(4); RD_ZPG; AND;          } // 4 AND  ZPG
115OP(_045) { int tmp; H6280_CYCLES(4); RD_ZPG; EOR;          } // 4 EOR  ZPG
116OP(_065) { int tmp; H6280_CYCLES(4); RD_ZPG; ADC;          } // 4 ADC  ZPG
117OP(_085) { int tmp; H6280_CYCLES(4);          STA; WR_ZPG; } // 4 STA  ZPG
118OP(_0a5) { int tmp; H6280_CYCLES(4); RD_ZPG; LDA;          } // 4 LDA  ZPG
119OP(_0c5) { int tmp; H6280_CYCLES(4); RD_ZPG; CMP;          } // 4 CMP  ZPG
120OP(_0e5) { int tmp; H6280_CYCLES(4); RD_ZPG; SBC;          } // 4 SBC  ZPG
121
122OP(_015) { int tmp; H6280_CYCLES(4); RD_ZPX; ORA;          } // 4 ORA  ZPX
123OP(_035) { int tmp; H6280_CYCLES(4); RD_ZPX; AND;          } // 4 AND  ZPX
124OP(_055) { int tmp; H6280_CYCLES(4); RD_ZPX; EOR;          } // 4 EOR  ZPX
125OP(_075) { int tmp; H6280_CYCLES(4); RD_ZPX; ADC;          } // 4 ADC  ZPX
126OP(_095) { int tmp; H6280_CYCLES(4);          STA; WR_ZPX; } // 4 STA  ZPX
127OP(_0b5) { int tmp; H6280_CYCLES(4); RD_ZPX; LDA;          } // 4 LDA  ZPX
128OP(_0d5) { int tmp; H6280_CYCLES(4); RD_ZPX; CMP;          } // 4 CMP  ZPX
129OP(_0f5) { int tmp; H6280_CYCLES(4); RD_ZPX; SBC;          } // 4 SBC  ZPX
130
131OP(_006) { int tmp; H6280_CYCLES(6); RD_ZPG; ASL; WB_EAZ; } // 6 ASL  ZPG
132OP(_026) { int tmp; H6280_CYCLES(6); RD_ZPG; ROL; WB_EAZ; } // 6 ROL  ZPG
133OP(_046) { int tmp; H6280_CYCLES(6); RD_ZPG; LSR; WB_EAZ; } // 6 LSR  ZPG
134OP(_066) { int tmp; H6280_CYCLES(6); RD_ZPG; ROR; WB_EAZ; } // 6 ROR  ZPG
135OP(_086) { int tmp; H6280_CYCLES(4);          STX; WR_ZPG; } // 4 STX  ZPG
136OP(_0a6) { int tmp; H6280_CYCLES(4); RD_ZPG; LDX;          } // 4 LDX  ZPG
137OP(_0c6) { int tmp; H6280_CYCLES(6); RD_ZPG; DEC; WB_EAZ; } // 6 DEC  ZPG
138OP(_0e6) { int tmp; H6280_CYCLES(6); RD_ZPG; INC; WB_EAZ; } // 6 INC  ZPG
139
140OP(_016) { int tmp; H6280_CYCLES(6); RD_ZPX; ASL; WB_EAZ;  } // 6 ASL  ZPX
141OP(_036) { int tmp; H6280_CYCLES(6); RD_ZPX; ROL; WB_EAZ;  } // 6 ROL  ZPX
142OP(_056) { int tmp; H6280_CYCLES(6); RD_ZPX; LSR; WB_EAZ;  } // 6 LSR  ZPX
143OP(_076) { int tmp; H6280_CYCLES(6); RD_ZPX; ROR; WB_EAZ;  } // 6 ROR  ZPX
144OP(_096) { int tmp; H6280_CYCLES(4);          STX; WR_ZPY; } // 4 STX  ZPY
145OP(_0b6) { int tmp; H6280_CYCLES(4); RD_ZPY; LDX;          } // 4 LDX  ZPY
146OP(_0d6) { int tmp; H6280_CYCLES(6); RD_ZPX; DEC; WB_EAZ; } // 6 DEC  ZPX
147OP(_0f6) { int tmp; H6280_CYCLES(6); RD_ZPX; INC; WB_EAZ; } // 6 INC  ZPX
148
149OP(_007) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(0);WB_EAZ;} // 7 RMB0 ZPG
150OP(_027) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(2);WB_EAZ;} // 7 RMB2 ZPG
151OP(_047) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(4);WB_EAZ;} // 7 RMB4 ZPG
152OP(_067) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(6);WB_EAZ;} // 7 RMB6 ZPG
153OP(_087) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(0);WB_EAZ;} // 7 SMB0 ZPG
154OP(_0a7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(2);WB_EAZ;} // 7 SMB2 ZPG
155OP(_0c7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(4);WB_EAZ;} // 7 SMB4 ZPG
156OP(_0e7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(6);WB_EAZ;} // 7 SMB6 ZPG
157
158OP(_017) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(1);WB_EAZ;} // 7 RMB1 ZPG
159OP(_037) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(3);WB_EAZ;} // 7 RMB3 ZPG
160OP(_057) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(5);WB_EAZ;} // 7 RMB5 ZPG
161OP(_077) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(7);WB_EAZ;} // 7 RMB7 ZPG
162OP(_097) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(1);WB_EAZ;} // 7 SMB1 ZPG
163OP(_0b7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(3);WB_EAZ;} // 7 SMB3 ZPG
164OP(_0d7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(5);WB_EAZ;} // 7 SMB5 ZPG
165OP(_0f7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(7);WB_EAZ;} // 7 SMB7 ZPG
166
167OP(_008) {         H6280_CYCLES(3);       PHP;         } // 3 PHP
168OP(_028) {         H6280_CYCLES(4);       PLP;         } // 4 PLP
169OP(_048) {         H6280_CYCLES(3);       PHA;         } // 3 PHA
170OP(_068) {         H6280_CYCLES(4);       PLA;         } // 4 PLA
171OP(_088) {         H6280_CYCLES(2);       DEY;         } // 2 DEY
172OP(_0a8) {         H6280_CYCLES(2);       TAY;         } // 2 TAY
173OP(_0c8) {         H6280_CYCLES(2);       INY;         } // 2 INY
174OP(_0e8) {         H6280_CYCLES(2);       INX;         } // 2 INX
175
176OP(_018) {         H6280_CYCLES(2);       CLC;         } // 2 CLC
177OP(_038) {         H6280_CYCLES(2);       SEC;         } // 2 SEC
178OP(_058) {         H6280_CYCLES(2);       CLI;         } // 2 CLI
179OP(_078) {         H6280_CYCLES(2);       SEI;         } // 2 SEI
180OP(_098) {         H6280_CYCLES(2);       TYA;         } // 2 TYA
181OP(_0b8) {         H6280_CYCLES(2);       CLV;         } // 2 CLV
182OP(_0d8) {         H6280_CYCLES(2);       CLD;         } // 2 CLD
183OP(_0f8) {         H6280_CYCLES(2);       SED;         } // 2 SED
184
185OP(_009) { int tmp; H6280_CYCLES(2); RD_IMM; ORA;          } // 2 ORA  IMM
186OP(_029) { int tmp; H6280_CYCLES(2); RD_IMM; AND;          } // 2 AND  IMM
187OP(_049) { int tmp; H6280_CYCLES(2); RD_IMM; EOR;          } // 2 EOR  IMM
188OP(_069) { int tmp; H6280_CYCLES(2); RD_IMM; ADC;          } // 2 ADC  IMM
189OP(_089) { int tmp; H6280_CYCLES(2); RD_IMM; HBIT;         } // 2 BIT  IMM
190OP(_0a9) { int tmp; H6280_CYCLES(2); RD_IMM; LDA;          } // 2 LDA  IMM
191OP(_0c9) { int tmp; H6280_CYCLES(2); RD_IMM; CMP;          } // 2 CMP  IMM
192OP(_0e9) { int tmp; H6280_CYCLES(2); RD_IMM; SBC;          } // 2 SBC  IMM
193
194OP(_019) { int tmp; H6280_CYCLES(5); RD_ABY; ORA;          } // 5 ORA  ABY
195OP(_039) { int tmp; H6280_CYCLES(5); RD_ABY; AND;          } // 5 AND  ABY
196OP(_059) { int tmp; H6280_CYCLES(5); RD_ABY; EOR;          } // 5 EOR  ABY
197OP(_079) { int tmp; H6280_CYCLES(5); RD_ABY; ADC;          } // 5 ADC  ABY
198OP(_099) { int tmp; H6280_CYCLES(5);          STA; WR_ABY; } // 5 STA  ABY
199OP(_0b9) { int tmp; H6280_CYCLES(5); RD_ABY; LDA;          } // 5 LDA  ABY
200OP(_0d9) { int tmp; H6280_CYCLES(5); RD_ABY; CMP;          } // 5 CMP  ABY
201OP(_0f9) { int tmp; H6280_CYCLES(5); RD_ABY; SBC;          } // 5 SBC  ABY
202
203OP(_00a) { int tmp; H6280_CYCLES(2); RD_ACC; ASL; WB_ACC; } // 2 ASL  A
204OP(_02a) { int tmp; H6280_CYCLES(2); RD_ACC; ROL; WB_ACC; } // 2 ROL  A
205OP(_04a) { int tmp; H6280_CYCLES(2); RD_ACC; LSR; WB_ACC; } // 2 LSR  A
206OP(_06a) { int tmp; H6280_CYCLES(2); RD_ACC; ROR; WB_ACC; } // 2 ROR  A
207OP(_08a) {         H6280_CYCLES(2);       TXA;         } // 2 TXA
208OP(_0aa) {         H6280_CYCLES(2);       TAX;         } // 2 TAX
209OP(_0ca) {         H6280_CYCLES(2);       DEX;         } // 2 DEX
210OP(_0ea) {         H6280_CYCLES(2);       NOP;         } // 2 NOP
211
212OP(_01a) {         H6280_CYCLES(2);       INA;         } // 2 INC  A
213OP(_03a) {         H6280_CYCLES(2);       DEA;         } // 2 DEC  A
214OP(_05a) {         H6280_CYCLES(3);       PHY;         } // 3 PHY
215OP(_07a) {         H6280_CYCLES(4);       PLY;         } // 4 PLY
216OP(_09a) {         H6280_CYCLES(2);       TXS;         } // 2 TXS
217OP(_0ba) {         H6280_CYCLES(2);       TSX;         } // 2 TSX
218OP(_0da) {         H6280_CYCLES(3);       PHX;         } // 3 PHX
219OP(_0fa) {         H6280_CYCLES(4);       PLX;         } // 4 PLX
220
221OP(_00b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
222OP(_02b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
223OP(_04b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
224OP(_06b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
225OP(_08b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
226OP(_0ab) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
227OP(_0cb) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
228OP(_0eb) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
229
230OP(_01b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
231OP(_03b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
232OP(_05b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
233OP(_07b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
234OP(_09b) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
235OP(_0bb) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
236OP(_0db) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
237OP(_0fb) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
238
239OP(_00c) { int tmp; H6280_CYCLES(7); RD_ABS; TSB; WB_EA;  } // 7 TSB  ABS
240OP(_02c) { int tmp; H6280_CYCLES(5); RD_ABS; HBIT;         } // 5 BIT  ABS
241OP(_04c) {         H6280_CYCLES(4); EA_ABS; JMP;           } // 4 JMP  ABS
242OP(_06c) { int tmp; H6280_CYCLES(7); EA_IND; JMP;          } // 7 JMP  IND
243OP(_08c) { int tmp; H6280_CYCLES(5);          STY; WR_ABS; } // 5 STY  ABS
244OP(_0ac) { int tmp; H6280_CYCLES(5); RD_ABS; LDY;          } // 5 LDY  ABS
245OP(_0cc) { int tmp; H6280_CYCLES(5); RD_ABS; CPY;          } // 5 CPY  ABS
246OP(_0ec) { int tmp; H6280_CYCLES(5); RD_ABS; CPX;          } // 5 CPX  ABS
247
248OP(_01c) { int tmp; H6280_CYCLES(7); RD_ABS; TRB; WB_EA;  } // 7 TRB  ABS
249OP(_03c) { int tmp; H6280_CYCLES(5); RD_ABX; HBIT;         } // 5 BIT  ABX
250OP(_05c) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
251OP(_07c) { int tmp; H6280_CYCLES(7); EA_IAX; JMP;          } // 7 JMP  IAX
252OP(_09c) { int tmp; H6280_CYCLES(5);          STZ; WR_ABS; } // 5 STZ  ABS
253OP(_0bc) { int tmp; H6280_CYCLES(5); RD_ABX; LDY;          } // 5 LDY  ABX
254OP(_0dc) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
255OP(_0fc) {          H6280_CYCLES(2);          NOP;         } // 2 NOP
256
257OP(_00d) { int tmp; H6280_CYCLES(5); RD_ABS; ORA;          } // 5 ORA  ABS
258OP(_02d) { int tmp; H6280_CYCLES(5); RD_ABS; AND;          } // 5 AND  ABS
259OP(_04d) { int tmp; H6280_CYCLES(5); RD_ABS; EOR;          } // 5 EOR  ABS
260OP(_06d) { int tmp; H6280_CYCLES(5); RD_ABS; ADC;          } // 5 ADC  ABS
261OP(_08d) { int tmp; H6280_CYCLES(5);          STA; WR_ABS; } // 5 STA  ABS
262OP(_0ad) { int tmp; H6280_CYCLES(5); RD_ABS; LDA;          } // 5 LDA  ABS
263OP(_0cd) { int tmp; H6280_CYCLES(5); RD_ABS; CMP;          } // 5 CMP  ABS
264OP(_0ed) { int tmp; H6280_CYCLES(5); RD_ABS; SBC;          } // 5 SBC  ABS
265
266OP(_01d) { int tmp; H6280_CYCLES(5); RD_ABX; ORA;          } // 5 ORA  ABX
267OP(_03d) { int tmp; H6280_CYCLES(5); RD_ABX; AND;          } // 5 AND  ABX
268OP(_05d) { int tmp; H6280_CYCLES(5); RD_ABX; EOR;          } // 5 EOR  ABX
269OP(_07d) { int tmp; H6280_CYCLES(5); RD_ABX; ADC;          } // 5 ADC  ABX
270OP(_09d) { int tmp; H6280_CYCLES(5);          STA; WR_ABX; } // 5 STA  ABX
271OP(_0bd) { int tmp; H6280_CYCLES(5); RD_ABX; LDA;          } // 5 LDA  ABX
272OP(_0dd) { int tmp; H6280_CYCLES(5); RD_ABX; CMP;          } // 5 CMP  ABX
273OP(_0fd) { int tmp; H6280_CYCLES(5); RD_ABX; SBC;          } // 5 SBC  ABX
274
275OP(_00e) { int tmp; H6280_CYCLES(7); RD_ABS; ASL; WB_EA;  } // 7 ASL  ABS
276OP(_02e) { int tmp; H6280_CYCLES(7); RD_ABS; ROL; WB_EA;  } // 7 ROL  ABS
277OP(_04e) { int tmp; H6280_CYCLES(7); RD_ABS; LSR; WB_EA;  } // 7 LSR  ABS
278OP(_06e) { int tmp; H6280_CYCLES(7); RD_ABS; ROR; WB_EA;  } // 7 ROR  ABS
279OP(_08e) { int tmp; H6280_CYCLES(5);          STX; WR_ABS; } // 5 STX  ABS
280OP(_0ae) { int tmp; H6280_CYCLES(5); RD_ABS; LDX;          } // 5 LDX  ABS
281OP(_0ce) { int tmp; H6280_CYCLES(7); RD_ABS; DEC; WB_EA;  } // 7 DEC  ABS
282OP(_0ee) { int tmp; H6280_CYCLES(7); RD_ABS; INC; WB_EA;  } // 7 INC  ABS
283
284OP(_01e) { int tmp; H6280_CYCLES(7); RD_ABX; ASL; WB_EA;  } // 7 ASL  ABX
285OP(_03e) { int tmp; H6280_CYCLES(7); RD_ABX; ROL; WB_EA;  } // 7 ROL  ABX
286OP(_05e) { int tmp; H6280_CYCLES(7); RD_ABX; LSR; WB_EA;  } // 7 LSR  ABX
287OP(_07e) { int tmp; H6280_CYCLES(7); RD_ABX; ROR; WB_EA;  } // 7 ROR  ABX
288OP(_09e) { int tmp; H6280_CYCLES(5);          STZ; WR_ABX; } // 5 STZ  ABX
289OP(_0be) { int tmp; H6280_CYCLES(5); RD_ABY; LDX;          } // 5 LDX  ABY
290OP(_0de) { int tmp; H6280_CYCLES(7); RD_ABX; DEC; WB_EA;  } // 7 DEC  ABX
291OP(_0fe) { int tmp; H6280_CYCLES(7); RD_ABX; INC; WB_EA;  } // 7 INC  ABX
292
293OP(_00f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(0);       } // 6/8 BBR0 ZPG,REL
294OP(_02f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(2);       } // 6/8 BBR2 ZPG,REL
295OP(_04f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(4);       } // 6/8 BBR4 ZPG,REL
296OP(_06f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(6);       } // 6/8 BBR6 ZPG,REL
297OP(_08f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(0);       } // 6/8 BBS0 ZPG,REL
298OP(_0af) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(2);       } // 6/8 BBS2 ZPG,REL
299OP(_0cf) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(4);       } // 6/8 BBS4 ZPG,REL
300OP(_0ef) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(6);       } // 6/8 BBS6 ZPG,REL
301
302OP(_01f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(1);       } // 6/8 BBR1 ZPG,REL
303OP(_03f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(3);       } // 6/8 BBR3 ZPG,REL
304OP(_05f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(5);       } // 6/8 BBR5 ZPG,REL
305OP(_07f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(7);       } // 6/8 BBR7 ZPG,REL
306OP(_09f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(1);       } // 6/8 BBS1 ZPG,REL
307OP(_0bf) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(3);       } // 6/8 BBS3 ZPG,REL
308OP(_0df) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(5);       } // 6/8 BBS5 ZPG,REL
309OP(_0ff) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(7);       } // 6/8 BBS7 ZPG,REL
Property changes on: trunk/src/emu/cpu/h6280/tblh6280.inc
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Previous 199869 Revisions Next


© 1997-2024 The MAME Team