1 /**************************************************************************** 2 h6280.h 3 Function protoypes for simulated execution routines 4 ****************************************************************************/ 5 6 #ifndef H6280_H_ 7 #define H6280_H_ 8 9 #include "cleantyp.h" 10 11 /********************************************/ 12 /* function parameters: */ 13 /* -------------------- */ 14 /* - address (16-bit unsigned), */ 15 /* - pointer to buffer @ program counter */ 16 /********************************************/ 17 18 extern void exe_instruct(void); 19 extern void exe_go(void); 20 21 extern int adc_abs(void); 22 extern int adc_absx(void); 23 extern int adc_absy(void); 24 extern int adc_imm(void); 25 extern int adc_zp(void); 26 extern int adc_zpind(void); 27 extern int adc_zpindx(void); 28 extern int adc_zpindy(void); 29 extern int adc_zpx(void); 30 extern int and_abs(void); 31 extern int and_absx(void); 32 extern int and_absy(void); 33 extern int and_imm(void); 34 extern int and_zp(void); 35 extern int and_zpind(void); 36 extern int and_zpindx(void); 37 extern int and_zpindy(void); 38 extern int and_zpx(void); 39 extern int asl_a(void); 40 extern int asl_abs(void); 41 extern int asl_absx(void); 42 extern int asl_zp(void); 43 extern int asl_zpx(void); 44 extern int bbr0(void); 45 extern int bbr1(void); 46 extern int bbr2(void); 47 extern int bbr3(void); 48 extern int bbr4(void); 49 extern int bbr5(void); 50 extern int bbr6(void); 51 extern int bbr7(void); 52 extern int bbs0(void); 53 extern int bbs1(void); 54 extern int bbs2(void); 55 extern int bbs3(void); 56 extern int bbs4(void); 57 extern int bbs5(void); 58 extern int bbs6(void); 59 extern int bbs7(void); 60 extern int bcc(void); 61 extern int bcs(void); 62 extern int beq(void); 63 extern int bit_abs(void); 64 extern int bit_absx(void); 65 extern int bit_imm(void); 66 extern int bit_zp(void); 67 extern int bit_zpx(void); 68 extern int bmi(void); 69 extern int bne(void); 70 extern int bpl(void); 71 extern int bra(void); 72 extern int brek(void); 73 extern int bsr(void); 74 extern int bvc(void); 75 extern int bvs(void); 76 extern int cla(void); 77 extern int clc(void); 78 extern int cld(void); 79 extern int cli(void); 80 extern int clv(void); 81 extern int clx(void); 82 extern int cly(void); 83 extern int cmp_abs(void); 84 extern int cmp_absx(void); 85 extern int cmp_absy(void); 86 extern int cmp_imm(void); 87 extern int cmp_zp(void); 88 extern int cmp_zpind(void); 89 extern int cmp_zpindx(void); 90 extern int cmp_zpindy(void); 91 extern int cmp_zpx(void); 92 extern int cpx_abs(void); 93 extern int cpx_imm(void); 94 extern int cpx_zp(void); 95 extern int cpy_abs(void); 96 extern int cpy_imm(void); 97 extern int cpy_zp(void); 98 extern int dec_a(void); 99 extern int dec_abs(void); 100 extern int dec_absx(void); 101 extern int dec_zp(void); 102 extern int dec_zpx(void); 103 extern int dex(void); 104 extern int dey(void); 105 extern int eor_abs(void); 106 extern int eor_absx(void); 107 extern int eor_absy(void); 108 extern int eor_imm(void); 109 extern int eor_zp(void); 110 extern int eor_zpind(void); 111 extern int eor_zpindx(void); 112 extern int eor_zpindy(void); 113 extern int eor_zpx(void); 114 extern int halt(void); 115 extern int inc_a(void); 116 extern int inc_abs(void); 117 extern int inc_absx(void); 118 extern int inc_zp(void); 119 extern int inc_zpx(void); 120 extern int inx(void); 121 extern int iny(void); 122 extern int jmp(void); 123 extern int jmp_absind(void); 124 extern int jmp_absindx(void); 125 extern int jsr(void); 126 extern int lda_abs(void); 127 extern int lda_absx(void); 128 extern int lda_absy(void); 129 extern int lda_imm(void); 130 extern int lda_zp(void); 131 extern int lda_zpind(void); 132 extern int lda_zpindx(void); 133 extern int lda_zpindy(void); 134 extern int lda_zpx(void); 135 extern int ldx_abs(void); 136 extern int ldx_absy(void); 137 extern int ldx_imm(void); 138 extern int ldx_zp(void); 139 extern int ldx_zpy(void); 140 extern int ldy_abs(void); 141 extern int ldy_absx(void); 142 extern int ldy_imm(void); 143 extern int ldy_zp(void); 144 extern int ldy_zpx(void); 145 extern int lsr_a(void); 146 extern int lsr_abs(void); 147 extern int lsr_absx(void); 148 extern int lsr_zp(void); 149 extern int lsr_zpx(void); 150 extern int nop(void); 151 extern int ora_abs(void); 152 extern int ora_absx(void); 153 extern int ora_absy(void); 154 extern int ora_imm(void); 155 extern int ora_zp(void); 156 extern int ora_zpind(void); 157 extern int ora_zpindx(void); 158 extern int ora_zpindy(void); 159 extern int ora_zpx(void); 160 extern int pha(void); 161 extern int php(void); 162 extern int phx(void); 163 extern int phy(void); 164 extern int pla(void); 165 extern int plp(void); 166 extern int plx(void); 167 extern int ply(void); 168 extern int rmb0(void); 169 extern int rmb1(void); 170 extern int rmb2(void); 171 extern int rmb3(void); 172 extern int rmb4(void); 173 extern int rmb5(void); 174 extern int rmb6(void); 175 extern int rmb7(void); 176 extern int rol_a(void); 177 extern int rol_abs(void); 178 extern int rol_absx(void); 179 extern int rol_zp(void); 180 extern int rol_zpx(void); 181 extern int ror_a(void); 182 extern int ror_abs(void); 183 extern int ror_absx(void); 184 extern int ror_zp(void); 185 extern int ror_zpx(void); 186 extern int rti(void); 187 extern int rts(void); 188 extern int sax(void); 189 extern int say(void); 190 extern int sbc_abs(void); 191 extern int sbc_absx(void); 192 extern int sbc_absy(void); 193 extern int sbc_imm(void); 194 extern int sbc_zp(void); 195 extern int sbc_zpind(void); 196 extern int sbc_zpindx(void); 197 extern int sbc_zpindy(void); 198 extern int sbc_zpx(void); 199 extern int sec(void); 200 extern int sed(void); 201 extern int sei(void); 202 extern int set(void); 203 extern int smb0(void); 204 extern int smb1(void); 205 extern int smb2(void); 206 extern int smb3(void); 207 extern int smb4(void); 208 extern int smb5(void); 209 extern int smb6(void); 210 extern int smb7(void); 211 extern int st0(void); 212 extern int st1(void); 213 extern int st2(void); 214 extern int sta_abs(void); 215 extern int sta_absx(void); 216 extern int sta_absy(void); 217 extern int sta_zp(void); 218 extern int sta_zpind(void); 219 extern int sta_zpindx(void); 220 extern int sta_zpindy(void); 221 extern int sta_zpx(void); 222 extern int stx_abs(void); 223 extern int stx_zp(void); 224 extern int stx_zpy(void); 225 extern int sty_abs(void); 226 extern int sty_zp(void); 227 extern int sty_zpx(void); 228 extern int stz_abs(void); 229 extern int stz_absx(void); 230 extern int stz_zp(void); 231 extern int stz_zpx(void); 232 extern int sxy(void); 233 extern int tai(void); 234 extern int tam(void); 235 extern int tax(void); 236 extern int tay(void); 237 extern int tdd(void); 238 extern int tia(void); 239 extern int tii(void); 240 extern int tin(void); 241 extern int tma(void); 242 extern int trb_abs(void); 243 extern int trb_zp(void); 244 extern int tsb_abs(void); 245 extern int tsb_zp(void); 246 extern int tstins_abs(void); 247 extern int tstins_absx(void); 248 extern int tstins_zp(void); 249 extern int tstins_zpx(void); 250 extern int tsx(void); 251 extern int txa(void); 252 extern int txs(void); 253 extern int tya(void); 254 255 #define INT_NONE 0 /* No interrupt required */ 256 #define INT_IRQ 1 /* Standard IRQ interrupt */ 257 #define INT_NMI 2 /* Non-maskable interrupt */ 258 #define INT_QUIT 3 /* Exit the emulation */ 259 #define INT_TIMER 4 260 #define INT_IRQ2 8 261 262 #define VEC_RESET 0xFFFE 263 #define VEC_NMI 0xFFFC 264 #define VEC_TIMER 0xFFFA 265 #define VEC_IRQ 0xFFF8 266 #define VEC_IRQ2 0xFFF6 267 #define VEC_BRK 0xFFF6 268 269 extern UChar flnz_list[256]; 270 271 inline UChar imm_operand(UInt16 addr); 272 inline UChar get_8bit_zp(UChar zp_addr); 273 inline UInt16 get_16bit_zp(UChar zp_addr); 274 inline void put_8bit_zp(UChar zp_addr, UChar byte); 275 276 #if !defined(INLINED_ACCESSORS) 277 #define get_8bit_addr(addr) Rd6502((addr)) 278 #define put_8bit_addr(addr,byte) Wr6502((addr),(byte)) 279 #define get_16bit_addr(addr) (Rd6502(addr) + (Rd6502(addr + 1) << 8)) 280 #else 281 inline UChar get_8bit_addr(UInt16 addr); 282 inline void put_8bit_addr(UInt16 addr, UChar byte); 283 inline UInt16 get_16bit_addr(UInt16 addr); 284 #endif 285 286 #endif 287