ROLAND  0.70
Amstrad Emulator based on Caprice Source rewritten in C++.
Public Types | Public Member Functions | Private Types | Private Attributes | Static Private Attributes | List of all members
Z80 Class Referencefinal

#include <z80.h>

Public Types

enum  Flags2 : tUBYTE {
  CF = 0x01, NF = 0x02, PF = 0x04, VF = PF,
  XF = 0x08, HF = 0x10, YF = 0x20, ZF = 0x40,
  SF = 0x80
}
 
enum  ExitCode : tUBYTE {
  EC_BREAKPOINT = 10, EC_TRACE = 20, EC_FRAME_COMPLETE = 30, EC_CYCLE_COUNT = 40,
  EC_SOUND_BUFFER = 50
}
 
enum  opcodes : tUBYTE {
  nop, ld_bc_word, ld_mbc_a, inc_bc,
  inc_b, dec_b, ld_b_byte, rlca,
  ex_af_af, add_hl_bc, ld_a_mbc, dec_bc,
  inc_c, dec_c, ld_c_byte, rrca,
  djnz, ld_de_word, ld_mde_a, inc_de,
  inc_d, dec_d, ld_d_byte, rla,
  jr, add_hl_de, ld_a_mde, dec_de,
  inc_e, dec_e, ld_e_byte, rra,
  jr_nz, ld_hl_word, ld_mword_hl, inc_hl,
  inc_h, dec_h, ld_h_byte, daa,
  jr_z, add_hl_hl, ld_hl_mword, dec_hl,
  inc_l, dec_l, ld_l_byte, cpl,
  jr_nc, ld_sp_word, ld_mword_a, inc_sp,
  inc_mhl, dec_mhl, ld_mhl_byte, scf,
  jr_c, add_hl_sp, ld_a_mword, dec_sp,
  inc_a, dec_a, ld_a_byte, ccf,
  ld_b_b, ld_b_c, ld_b_d, ld_b_e,
  ld_b_h, ld_b_l, ld_b_mhl, ld_b_a,
  ld_c_b, ld_c_c, ld_c_d, ld_c_e,
  ld_c_h, ld_c_l, ld_c_mhl, ld_c_a,
  ld_d_b, ld_d_c, ld_d_d, ld_d_e,
  ld_d_h, ld_d_l, ld_d_mhl, ld_d_a,
  ld_e_b, ld_e_c, ld_e_d, ld_e_e,
  ld_e_h, ld_e_l, ld_e_mhl, ld_e_a,
  ld_h_b, ld_h_c, ld_h_d, ld_h_e,
  ld_h_h, ld_h_l, ld_h_mhl, ld_h_a,
  ld_l_b, ld_l_c, ld_l_d, ld_l_e,
  ld_l_h, ld_l_l, ld_l_mhl, ld_l_a,
  ld_mhl_b, ld_mhl_c, ld_mhl_d, ld_mhl_e,
  ld_mhl_h, ld_mhl_l, halt, ld_mhl_a,
  ld_a_b, ld_a_c, ld_a_d, ld_a_e,
  ld_a_h, ld_a_l, ld_a_mhl, ld_a_a,
  add_b, add_c, add_d, add_e,
  add_h, add_l, add_mhl, add_a,
  adc_b, adc_c, adc_d, adc_e,
  adc_h, adc_l, adc_mhl, adc_a,
  sub_b, sub_c, sub_d, sub_e,
  sub_h, sub_l, sub_mhl, sub_a,
  sbc_b, sbc_c, sbc_d, sbc_e,
  sbc_h, sbc_l, sbc_mhl, sbc_a,
  and_b, and_c, and_d, and_e,
  and_h, and_l, and_mhl, and_a,
  xor_b, xor_c, xor_d, xor_e,
  xor_h, xor_l, xor_mhl, xor_a,
  or_b, or_c, or_d, or_e,
  or_h, or_l, or_mhl, or_a,
  cp_b, cp_c, cp_d, cp_e,
  cp_h, cp_l, cp_mhl, cp_a,
  ret_nz, pop_bc, jp_nz, jp,
  call_nz, push_bc, add_byte, rst00,
  ret_z, ret, jp_z, pfx_cb,
  call_z, call, adc_byte, rst08,
  ret_nc, pop_de, jp_nc, outa,
  call_nc, push_de, sub_byte, rst10,
  ret_c, exx, jp_c, ina,
  call_c, pfx_dd, sbc_byte, rst18,
  ret_po, pop_hl, jp_po, ex_msp_hl,
  call_po, push_hl, and_byte, rst20,
  ret_pe, ld_pc_hl, jp_pe, ex_de_hl,
  call_pe, pfx_ed, xor_byte, rst28,
  ret_p, pop_af, jp_p, di,
  call_p, push_af, or_byte, rst30,
  ret_m, ld_sp_hl, jp_m, ei,
  call_m, pfx_fd, cp_byte, rst38
}
 
enum  CBcodes : tUBYTE {
  rlc_b, rlc_c, rlc_d, rlc_e,
  rlc_h, rlc_l, rlc_mhl, rlc_a,
  rrc_b, rrc_c, rrc_d, rrc_e,
  rrc_h, rrc_l, rrc_mhl, rrc_a,
  rl_b, rl_c, rl_d, rl_e,
  rl_h, rl_l, rl_mhl, rl_a,
  rr_b, rr_c, rr_d, rr_e,
  rr_h, rr_l, rr_mhl, rr_a,
  sla_b, sla_c, sla_d, sla_e,
  sla_h, sla_l, sla_mhl, sla_a,
  sra_b, sra_c, sra_d, sra_e,
  sra_h, sra_l, sra_mhl, sra_a,
  sll_b, sll_c, sll_d, sll_e,
  sll_h, sll_l, sll_mhl, sll_a,
  srl_b, srl_c, srl_d, srl_e,
  srl_h, srl_l, srl_mhl, srl_a,
  bit0_b, bit0_c, bit0_d, bit0_e,
  bit0_h, bit0_l, bit0_mhl, bit0_a,
  bit1_b, bit1_c, bit1_d, bit1_e,
  bit1_h, bit1_l, bit1_mhl, bit1_a,
  bit2_b, bit2_c, bit2_d, bit2_e,
  bit2_h, bit2_l, bit2_mhl, bit2_a,
  bit3_b, bit3_c, bit3_d, bit3_e,
  bit3_h, bit3_l, bit3_mhl, bit3_a,
  bit4_b, bit4_c, bit4_d, bit4_e,
  bit4_h, bit4_l, bit4_mhl, bit4_a,
  bit5_b, bit5_c, bit5_d, bit5_e,
  bit5_h, bit5_l, bit5_mhl, bit5_a,
  bit6_b, bit6_c, bit6_d, bit6_e,
  bit6_h, bit6_l, bit6_mhl, bit6_a,
  bit7_b, bit7_c, bit7_d, bit7_e,
  bit7_h, bit7_l, bit7_mhl, bit7_a,
  res0_b, res0_c, res0_d, res0_e,
  res0_h, res0_l, res0_mhl, res0_a,
  res1_b, res1_c, res1_d, res1_e,
  res1_h, res1_l, res1_mhl, res1_a,
  res2_b, res2_c, res2_d, res2_e,
  res2_h, res2_l, res2_mhl, res2_a,
  res3_b, res3_c, res3_d, res3_e,
  res3_h, res3_l, res3_mhl, res3_a,
  res4_b, res4_c, res4_d, res4_e,
  res4_h, res4_l, res4_mhl, res4_a,
  res5_b, res5_c, res5_d, res5_e,
  res5_h, res5_l, res5_mhl, res5_a,
  res6_b, res6_c, res6_d, res6_e,
  res6_h, res6_l, res6_mhl, res6_a,
  res7_b, res7_c, res7_d, res7_e,
  res7_h, res7_l, res7_mhl, res7_a,
  set0_b, set0_c, set0_d, set0_e,
  set0_h, set0_l, set0_mhl, set0_a,
  set1_b, set1_c, set1_d, set1_e,
  set1_h, set1_l, set1_mhl, set1_a,
  set2_b, set2_c, set2_d, set2_e,
  set2_h, set2_l, set2_mhl, set2_a,
  set3_b, set3_c, set3_d, set3_e,
  set3_h, set3_l, set3_mhl, set3_a,
  set4_b, set4_c, set4_d, set4_e,
  set4_h, set4_l, set4_mhl, set4_a,
  set5_b, set5_c, set5_d, set5_e,
  set5_h, set5_l, set5_mhl, set5_a,
  set6_b, set6_c, set6_d, set6_e,
  set6_h, set6_l, set6_mhl, set6_a,
  set7_b, set7_c, set7_d, set7_e,
  set7_h, set7_l, set7_mhl, set7_a
}
 
enum  EDcodes : tUBYTE {
  ed_00, ed_01, ed_02, ed_03,
  ed_04, ed_05, ed_06, ed_07,
  ed_08, ed_09, ed_0a, ed_0b,
  ed_0c, ed_0d, ed_0e, ed_0f,
  ed_10, ed_11, ed_12, ed_13,
  ed_14, ed_15, ed_16, ed_17,
  ed_18, ed_19, ed_1a, ed_1b,
  ed_1c, ed_1d, ed_1e, ed_1f,
  ed_20, ed_21, ed_22, ed_23,
  ed_24, ed_25, ed_26, ed_27,
  ed_28, ed_29, ed_2a, ed_2b,
  ed_2c, ed_2d, ed_2e, ed_2f,
  ed_30, ed_31, ed_32, ed_33,
  ed_34, ed_35, ed_36, ed_37,
  ed_38, ed_39, ed_3a, ed_3b,
  ed_3c, ed_3d, ed_3e, ed_3f,
  in_b_c, out_c_b, sbc_hl_bc, ld_EDmword_bc,
  neg, retn, im_0, ld_i_a,
  in_c_c, out_c_c, adc_hl_bc, ld_EDbc_mword,
  neg_1, reti, im_0_1, ld_r_a,
  in_d_c, out_c_d, sbc_hl_de, ld_EDmword_de,
  neg_2, retn_1, im_1, ld_a_i,
  in_e_c, out_c_e, adc_hl_de, ld_EDde_mword,
  neg_3, reti_1, im_2, ld_a_r,
  in_h_c, out_c_h, sbc_hl_hl, ld_EDmword_hl,
  neg_4, retn_2, im_0_2, rrd,
  in_l_c, out_c_l, adc_hl_hl, ld_EDhl_mword,
  neg_5, reti_2, im_0_3, rld,
  in_0_c, out_c_0, sbc_hl_sp, ld_EDmword_sp,
  neg_6, retn_3, im_1_1, ed_77,
  in_a_c, out_c_a, adc_hl_sp, ld_EDsp_mword,
  neg_7, reti_3, im_2_1, ed_7f,
  ed_80, ed_81, ed_82, ed_83,
  ed_84, ed_85, ed_86, ed_87,
  ed_88, ed_89, ed_8a, ed_8b,
  ed_8c, ed_8d, ed_8e, ed_8f,
  ed_90, ed_91, ed_92, ed_93,
  ed_94, ed_95, ed_96, ed_97,
  ed_98, ed_99, ed_9a, ed_9b,
  ed_9c, ed_9d, ed_9e, ed_9f,
  ldi, cpi, ini, outi,
  ed_a4, ed_a5, ed_a6, ed_a7,
  ldd, cpd, ind, outd,
  ed_ac, ed_ad, ed_ae, ed_af,
  ldir, cpir, inir, otir,
  ed_b4, ed_b5, ed_b6, ed_b7,
  lddr, cpdr, indr, otdr,
  ed_bc, ed_bd, ed_be, ed_bf,
  ed_c0, ed_c1, ed_c2, ed_c3,
  ed_c4, ed_c5, ed_c6, ed_c7,
  ed_c8, ed_c9, ed_ca, ed_cb,
  ed_cc, ed_cd, ed_ce, ed_cf,
  ed_d0, ed_d1, ed_d2, ed_d3,
  ed_d4, ed_d5, ed_d6, ed_d7,
  ed_d8, ed_d9, ed_da, ed_db,
  ed_dc, ed_dd, ed_de, ed_df,
  ed_e0, ed_e1, ed_e2, ed_e3,
  ed_e4, ed_e5, ed_e6, ed_e7,
  ed_e8, ed_e9, ed_ea, ed_eb,
  ed_ec, ed_ed, ed_ee, ed_ef,
  ed_f0, ed_f1, ed_f2, ed_f3,
  ed_f4, ed_f5, ed_f6, ed_f7,
  ed_f8, ed_f9, ed_fa, ed_fb,
  ed_fc, ed_fd, ed_fe, ed_ff
}
 

Public Member Functions

 Z80 ()
 
tUBYTE read_mem (tUWORD addr)
 
void write_mem (tUWORD addr, tUBYTE val)
 
void setMembank_read (tUBYTE bank, tUBYTE *ptr)
 
void setMembank_write (tUBYTE bank, tUBYTE *ptr)
 
void setInHandler (Z80_IN_Handler handler)
 
void setOutHandler (Z80_OUT_Handler handler)
 
void setWsHandler (Z80_WS_Handler handler)
 
Registerreg ()
 
void init ()
 
int execute (int cc)
 
void stop ()
 
void init_tables ()
 
int cycleCount ()
 
void mf2stop ()
 
void setMF2ExitAddr (tUDWORD addr)
 
void setIntPending (tUBYTE ip)
 
tUBYTE intPending ()
 
void initMemMap ()
 
void endMemMap ()
 
void z80_pfx_cb ()
 
void z80_pfx_dd ()
 
void z80_pfx_ddcb ()
 
void z80_pfx_ed ()
 
void z80_pfx_fd ()
 
void z80_pfx_fdcb ()
 
tUBYTE RES (tUBYTE bit, tUBYTE val)
 
tUBYTE RLC (tUBYTE val)
 
tUBYTE RL (tUBYTE val)
 
tUBYTE RRC (tUBYTE val)
 
tUBYTE RR (tUBYTE val)
 
tUBYTE SET (tUBYTE bit, tUBYTE val)
 
tUBYTE SLA (tUBYTE val)
 
tUBYTE SLL (tUBYTE val)
 
tUBYTE SRA (tUBYTE val)
 
tUBYTE SRL (tUBYTE val)
 

Private Types

typedef tUBYTE(Cpc::* Z80_IN_Handler) (tREGPAIR port)
 
typedef void(Cpc::* Z80_OUT_Handler) (tREGPAIR port, tUBYTE value)
 
typedef void(Cpc::* Z80_WS_Handler) (void)
 

Private Attributes

Register z80
 
tUBYTEmembank_read [4]
 
tUBYTEmembank_write [4]
 
Z80_IN_Handler IN_handler
 
Z80_OUT_Handler OUT_handler
 
Z80_WS_Handler WS_handler
 
tDWORD dwMF2ExitAddr
 
tDWORD dwMF2Flags
 
int iCycleCountSum
 
int iCycleCount
 
int iCycleCountInit
 
int iWSAdjust
 
bool mStop
 
tUBYTE SZ [256]
 
tUBYTE SZ_BIT [256]
 
tUBYTE SZP [256]
 
tUBYTE SZHV_inc [256]
 
tUBYTE SZHV_dec [256]
 

Static Private Attributes

static const tUBYTE irep_tmp1 [4][4]
 
static const tUBYTE drep_tmp1 [4][4]
 
static const tUBYTE breg_tmp2 [256]
 
static const tUBYTE cc_op [256]
 
static const tUBYTE cc_cb [256]
 
static const tUBYTE cc_ed [256]
 
static const tUBYTE cc_xy [256]
 
static const tUBYTE cc_ex [256]
 
static const tUBYTE cc_xycb [256]
 
static const tUWORD DAATable [2048]
 

Detailed Description

The CPU of the CPC. With the Power of 4 Mhz and 8bit registers. The Z80 was later used in Sega Mega Drive as sound processor.

Author
Fred Klaus

Member Typedef Documentation

typedef tUBYTE(Cpc::* Z80_IN_Handler) (tREGPAIR port)
private
typedef void(Cpc::* Z80_OUT_Handler) (tREGPAIR port, tUBYTE value)
private
typedef void(Cpc::* Z80_WS_Handler) (void)
private

Member Enumeration Documentation

enum CBcodes : tUBYTE
Enumerator
rlc_b 
rlc_c 
rlc_d 
rlc_e 
rlc_h 
rlc_l 
rlc_mhl 
rlc_a 
rrc_b 
rrc_c 
rrc_d 
rrc_e 
rrc_h 
rrc_l 
rrc_mhl 
rrc_a 
rl_b 
rl_c 
rl_d 
rl_e 
rl_h 
rl_l 
rl_mhl 
rl_a 
rr_b 
rr_c 
rr_d 
rr_e 
rr_h 
rr_l 
rr_mhl 
rr_a 
sla_b 
sla_c 
sla_d 
sla_e 
sla_h 
sla_l 
sla_mhl 
sla_a 
sra_b 
sra_c 
sra_d 
sra_e 
sra_h 
sra_l 
sra_mhl 
sra_a 
sll_b 
sll_c 
sll_d 
sll_e 
sll_h 
sll_l 
sll_mhl 
sll_a 
srl_b 
srl_c 
srl_d 
srl_e 
srl_h 
srl_l 
srl_mhl 
srl_a 
bit0_b 
bit0_c 
bit0_d 
bit0_e 
bit0_h 
bit0_l 
bit0_mhl 
bit0_a 
bit1_b 
bit1_c 
bit1_d 
bit1_e 
bit1_h 
bit1_l 
bit1_mhl 
bit1_a 
bit2_b 
bit2_c 
bit2_d 
bit2_e 
bit2_h 
bit2_l 
bit2_mhl 
bit2_a 
bit3_b 
bit3_c 
bit3_d 
bit3_e 
bit3_h 
bit3_l 
bit3_mhl 
bit3_a 
bit4_b 
bit4_c 
bit4_d 
bit4_e 
bit4_h 
bit4_l 
bit4_mhl 
bit4_a 
bit5_b 
bit5_c 
bit5_d 
bit5_e 
bit5_h 
bit5_l 
bit5_mhl 
bit5_a 
bit6_b 
bit6_c 
bit6_d 
bit6_e 
bit6_h 
bit6_l 
bit6_mhl 
bit6_a 
bit7_b 
bit7_c 
bit7_d 
bit7_e 
bit7_h 
bit7_l 
bit7_mhl 
bit7_a 
res0_b 
res0_c 
res0_d 
res0_e 
res0_h 
res0_l 
res0_mhl 
res0_a 
res1_b 
res1_c 
res1_d 
res1_e 
res1_h 
res1_l 
res1_mhl 
res1_a 
res2_b 
res2_c 
res2_d 
res2_e 
res2_h 
res2_l 
res2_mhl 
res2_a 
res3_b 
res3_c 
res3_d 
res3_e 
res3_h 
res3_l 
res3_mhl 
res3_a 
res4_b 
res4_c 
res4_d 
res4_e 
res4_h 
res4_l 
res4_mhl 
res4_a 
res5_b 
res5_c 
res5_d 
res5_e 
res5_h 
res5_l 
res5_mhl 
res5_a 
res6_b 
res6_c 
res6_d 
res6_e 
res6_h 
res6_l 
res6_mhl 
res6_a 
res7_b 
res7_c 
res7_d 
res7_e 
res7_h 
res7_l 
res7_mhl 
res7_a 
set0_b 
set0_c 
set0_d 
set0_e 
set0_h 
set0_l 
set0_mhl 
set0_a 
set1_b 
set1_c 
set1_d 
set1_e 
set1_h 
set1_l 
set1_mhl 
set1_a 
set2_b 
set2_c 
set2_d 
set2_e 
set2_h 
set2_l 
set2_mhl 
set2_a 
set3_b 
set3_c 
set3_d 
set3_e 
set3_h 
set3_l 
set3_mhl 
set3_a 
set4_b 
set4_c 
set4_d 
set4_e 
set4_h 
set4_l 
set4_mhl 
set4_a 
set5_b 
set5_c 
set5_d 
set5_e 
set5_h 
set5_l 
set5_mhl 
set5_a 
set6_b 
set6_c 
set6_d 
set6_e 
set6_h 
set6_l 
set6_mhl 
set6_a 
set7_b 
set7_c 
set7_d 
set7_e 
set7_h 
set7_l 
set7_mhl 
set7_a 
enum EDcodes : tUBYTE
Enumerator
ed_00 
ed_01 
ed_02 
ed_03 
ed_04 
ed_05 
ed_06 
ed_07 
ed_08 
ed_09 
ed_0a 
ed_0b 
ed_0c 
ed_0d 
ed_0e 
ed_0f 
ed_10 
ed_11 
ed_12 
ed_13 
ed_14 
ed_15 
ed_16 
ed_17 
ed_18 
ed_19 
ed_1a 
ed_1b 
ed_1c 
ed_1d 
ed_1e 
ed_1f 
ed_20 
ed_21 
ed_22 
ed_23 
ed_24 
ed_25 
ed_26 
ed_27 
ed_28 
ed_29 
ed_2a 
ed_2b 
ed_2c 
ed_2d 
ed_2e 
ed_2f 
ed_30 
ed_31 
ed_32 
ed_33 
ed_34 
ed_35 
ed_36 
ed_37 
ed_38 
ed_39 
ed_3a 
ed_3b 
ed_3c 
ed_3d 
ed_3e 
ed_3f 
in_b_c 
out_c_b 
sbc_hl_bc 
ld_EDmword_bc 
neg 
retn 
im_0 
ld_i_a 
in_c_c 
out_c_c 
adc_hl_bc 
ld_EDbc_mword 
neg_1 
reti 
im_0_1 
ld_r_a 
in_d_c 
out_c_d 
sbc_hl_de 
ld_EDmword_de 
neg_2 
retn_1 
im_1 
ld_a_i 
in_e_c 
out_c_e 
adc_hl_de 
ld_EDde_mword 
neg_3 
reti_1 
im_2 
ld_a_r 
in_h_c 
out_c_h 
sbc_hl_hl 
ld_EDmword_hl 
neg_4 
retn_2 
im_0_2 
rrd 
in_l_c 
out_c_l 
adc_hl_hl 
ld_EDhl_mword 
neg_5 
reti_2 
im_0_3 
rld 
in_0_c 
out_c_0 
sbc_hl_sp 
ld_EDmword_sp 
neg_6 
retn_3 
im_1_1 
ed_77 
in_a_c 
out_c_a 
adc_hl_sp 
ld_EDsp_mword 
neg_7 
reti_3 
im_2_1 
ed_7f 
ed_80 
ed_81 
ed_82 
ed_83 
ed_84 
ed_85 
ed_86 
ed_87 
ed_88 
ed_89 
ed_8a 
ed_8b 
ed_8c 
ed_8d 
ed_8e 
ed_8f 
ed_90 
ed_91 
ed_92 
ed_93 
ed_94 
ed_95 
ed_96 
ed_97 
ed_98 
ed_99 
ed_9a 
ed_9b 
ed_9c 
ed_9d 
ed_9e 
ed_9f 
ldi 
cpi 
ini 
outi 
ed_a4 
ed_a5 
ed_a6 
ed_a7 
ldd 
cpd 
ind 
outd 
ed_ac 
ed_ad 
ed_ae 
ed_af 
ldir 
cpir 
inir 
otir 
ed_b4 
ed_b5 
ed_b6 
ed_b7 
lddr 
cpdr 
indr 
otdr 
ed_bc 
ed_bd 
ed_be 
ed_bf 
ed_c0 
ed_c1 
ed_c2 
ed_c3 
ed_c4 
ed_c5 
ed_c6 
ed_c7 
ed_c8 
ed_c9 
ed_ca 
ed_cb 
ed_cc 
ed_cd 
ed_ce 
ed_cf 
ed_d0 
ed_d1 
ed_d2 
ed_d3 
ed_d4 
ed_d5 
ed_d6 
ed_d7 
ed_d8 
ed_d9 
ed_da 
ed_db 
ed_dc 
ed_dd 
ed_de 
ed_df 
ed_e0 
ed_e1 
ed_e2 
ed_e3 
ed_e4 
ed_e5 
ed_e6 
ed_e7 
ed_e8 
ed_e9 
ed_ea 
ed_eb 
ed_ec 
ed_ed 
ed_ee 
ed_ef 
ed_f0 
ed_f1 
ed_f2 
ed_f3 
ed_f4 
ed_f5 
ed_f6 
ed_f7 
ed_f8 
ed_f9 
ed_fa 
ed_fb 
ed_fc 
ed_fd 
ed_fe 
ed_ff 
enum ExitCode : tUBYTE
Enumerator
EC_BREAKPOINT 
EC_TRACE 
EC_FRAME_COMPLETE 
EC_CYCLE_COUNT 
EC_SOUND_BUFFER 
enum Flags2 : tUBYTE
Enumerator
CF 
NF 
PF 
VF 
XF 
HF 
YF 
ZF 
SF 
enum opcodes : tUBYTE
Enumerator
nop 
ld_bc_word 
ld_mbc_a 
inc_bc 
inc_b 
dec_b 
ld_b_byte 
rlca 
ex_af_af 
add_hl_bc 
ld_a_mbc 
dec_bc 
inc_c 
dec_c 
ld_c_byte 
rrca 
djnz 
ld_de_word 
ld_mde_a 
inc_de 
inc_d 
dec_d 
ld_d_byte 
rla 
jr 
add_hl_de 
ld_a_mde 
dec_de 
inc_e 
dec_e 
ld_e_byte 
rra 
jr_nz 
ld_hl_word 
ld_mword_hl 
inc_hl 
inc_h 
dec_h 
ld_h_byte 
daa 
jr_z 
add_hl_hl 
ld_hl_mword 
dec_hl 
inc_l 
dec_l 
ld_l_byte 
cpl 
jr_nc 
ld_sp_word 
ld_mword_a 
inc_sp 
inc_mhl 
dec_mhl 
ld_mhl_byte 
scf 
jr_c 
add_hl_sp 
ld_a_mword 
dec_sp 
inc_a 
dec_a 
ld_a_byte 
ccf 
ld_b_b 
ld_b_c 
ld_b_d 
ld_b_e 
ld_b_h 
ld_b_l 
ld_b_mhl 
ld_b_a 
ld_c_b 
ld_c_c 
ld_c_d 
ld_c_e 
ld_c_h 
ld_c_l 
ld_c_mhl 
ld_c_a 
ld_d_b 
ld_d_c 
ld_d_d 
ld_d_e 
ld_d_h 
ld_d_l 
ld_d_mhl 
ld_d_a 
ld_e_b 
ld_e_c 
ld_e_d 
ld_e_e 
ld_e_h 
ld_e_l 
ld_e_mhl 
ld_e_a 
ld_h_b 
ld_h_c 
ld_h_d 
ld_h_e 
ld_h_h 
ld_h_l 
ld_h_mhl 
ld_h_a 
ld_l_b 
ld_l_c 
ld_l_d 
ld_l_e 
ld_l_h 
ld_l_l 
ld_l_mhl 
ld_l_a 
ld_mhl_b 
ld_mhl_c 
ld_mhl_d 
ld_mhl_e 
ld_mhl_h 
ld_mhl_l 
halt 
ld_mhl_a 
ld_a_b 
ld_a_c 
ld_a_d 
ld_a_e 
ld_a_h 
ld_a_l 
ld_a_mhl 
ld_a_a 
add_b 
add_c 
add_d 
add_e 
add_h 
add_l 
add_mhl 
add_a 
adc_b 
adc_c 
adc_d 
adc_e 
adc_h 
adc_l 
adc_mhl 
adc_a 
sub_b 
sub_c 
sub_d 
sub_e 
sub_h 
sub_l 
sub_mhl 
sub_a 
sbc_b 
sbc_c 
sbc_d 
sbc_e 
sbc_h 
sbc_l 
sbc_mhl 
sbc_a 
and_b 
and_c 
and_d 
and_e 
and_h 
and_l 
and_mhl 
and_a 
xor_b 
xor_c 
xor_d 
xor_e 
xor_h 
xor_l 
xor_mhl 
xor_a 
or_b 
or_c 
or_d 
or_e 
or_h 
or_l 
or_mhl 
or_a 
cp_b 
cp_c 
cp_d 
cp_e 
cp_h 
cp_l 
cp_mhl 
cp_a 
ret_nz 
pop_bc 
jp_nz 
jp 
call_nz 
push_bc 
add_byte 
rst00 
ret_z 
ret 
jp_z 
pfx_cb 
call_z 
call 
adc_byte 
rst08 
ret_nc 
pop_de 
jp_nc 
outa 
call_nc 
push_de 
sub_byte 
rst10 
ret_c 
exx 
jp_c 
ina 
call_c 
pfx_dd 
sbc_byte 
rst18 
ret_po 
pop_hl 
jp_po 
ex_msp_hl 
call_po 
push_hl 
and_byte 
rst20 
ret_pe 
ld_pc_hl 
jp_pe 
ex_de_hl 
call_pe 
pfx_ed 
xor_byte 
rst28 
ret_p 
pop_af 
jp_p 
di 
call_p 
push_af 
or_byte 
rst30 
ret_m 
ld_sp_hl 
jp_m 
ei 
call_m 
pfx_fd 
cp_byte 
rst38 

Constructor & Destructor Documentation

Z80 ( )

References Z80::init().

Member Function Documentation

int cycleCount ( )
inline

References Z80::iCycleCount, and Z80::mf2stop().

Referenced by Cpc::waitstates().

void endMemMap ( )
inline
int execute ( int  cc)

References ADC, Z80::adc_a, Z80::adc_b, Z80::adc_byte, Z80::adc_c, Z80::adc_d, Z80::adc_e, Z80::adc_h, Z80::adc_l, Z80::adc_mhl, ADD, ADD16, Z80::add_a, Z80::add_b, Z80::add_byte, Z80::add_c, Z80::add_d, Z80::add_e, Z80::add_h, Z80::add_hl_bc, Z80::add_hl_de, Z80::add_hl_hl, Z80::add_hl_sp, Z80::add_l, Z80::add_mhl, Register::AF, Register::AFx, AND, Z80::and_a, Z80::and_b, Z80::and_byte, Z80::and_c, Z80::and_d, Z80::and_e, Z80::and_h, Z80::and_l, Z80::and_mhl, b, Register::BC, Register::break_point, Sound::bufferFull(), Z80::call, CALL, Z80::call_c, Z80::call_m, Z80::call_nc, Z80::call_nz, Z80::call_p, Z80::call_pe, Z80::call_po, Z80::call_z, Z80::cc_ex, Z80::cc_op, Z80::ccf, Z80::CF, CP, Z80::cp_a, Z80::cp_b, Z80::cp_byte, Z80::cp_c, Z80::cp_d, Z80::cp_e, Z80::cp_h, Z80::cp_l, Z80::cp_mhl, cpcx::cpc, Z80::cpl, Z80::daa, DAA, Register::DE, DEC, Z80::dec_a, Z80::dec_b, Z80::dec_bc, Z80::dec_c, Z80::dec_d, Z80::dec_de, Z80::dec_e, Z80::dec_h, Z80::dec_hl, Z80::dec_l, Z80::dec_mhl, Z80::dec_sp, Z80::di, Z80::djnz, Z80::dwMF2ExitAddr, Z80::dwMF2Flags, Z80::EC_BREAKPOINT, Z80::ei, Register::EI_issued, EX, Z80::ex_af_af, Z80::ex_de_hl, Z80::ex_msp_hl, EX_SP, Z80::exx, EXX, Register::HALT, Z80::halt, Register::HL, Z80::iCycleCount, Z80::iCycleCountInit, Z80::iCycleCountSum, Register::IFF1, Register::IFF2, Z80::ina, INC, Z80::inc_a, Z80::inc_b, Z80::inc_bc, Z80::inc_c, Z80::inc_d, Z80::inc_de, Z80::inc_e, Z80::inc_h, Z80::inc_hl, Z80::inc_l, Z80::inc_mhl, Z80::inc_sp, Register::int_pending, Z80::iWSAdjust, Z80::jp, JP, Z80::jp_c, Z80::jp_m, Z80::jp_nc, Z80::jp_nz, Z80::jp_p, Z80::jp_pe, Z80::jp_po, Z80::jp_z, Z80::jr, JR, Z80::jr_c, Z80::jr_nc, Z80::jr_nz, Z80::jr_z, LD16_MEM, Z80::ld_a_a, Z80::ld_a_b, Z80::ld_a_byte, Z80::ld_a_c, Z80::ld_a_d, Z80::ld_a_e, Z80::ld_a_h, Z80::ld_a_l, Z80::ld_a_mbc, Z80::ld_a_mde, Z80::ld_a_mhl, Z80::ld_a_mword, Z80::ld_b_a, Z80::ld_b_b, Z80::ld_b_byte, Z80::ld_b_c, Z80::ld_b_d, Z80::ld_b_e, Z80::ld_b_h, Z80::ld_b_l, Z80::ld_b_mhl, Z80::ld_bc_word, Z80::ld_c_a, Z80::ld_c_b, Z80::ld_c_byte, Z80::ld_c_c, Z80::ld_c_d, Z80::ld_c_e, Z80::ld_c_h, Z80::ld_c_l, Z80::ld_c_mhl, Z80::ld_d_a, Z80::ld_d_b, Z80::ld_d_byte, Z80::ld_d_c, Z80::ld_d_d, Z80::ld_d_e, Z80::ld_d_h, Z80::ld_d_l, Z80::ld_d_mhl, Z80::ld_de_word, Z80::ld_e_a, Z80::ld_e_b, Z80::ld_e_byte, Z80::ld_e_c, Z80::ld_e_d, Z80::ld_e_e, Z80::ld_e_h, Z80::ld_e_l, Z80::ld_e_mhl, Z80::ld_h_a, Z80::ld_h_b, Z80::ld_h_byte, Z80::ld_h_c, Z80::ld_h_d, Z80::ld_h_e, Z80::ld_h_h, Z80::ld_h_l, Z80::ld_h_mhl, Z80::ld_hl_mword, Z80::ld_hl_word, Z80::ld_l_a, Z80::ld_l_b, Z80::ld_l_byte, Z80::ld_l_c, Z80::ld_l_d, Z80::ld_l_e, Z80::ld_l_h, Z80::ld_l_l, Z80::ld_l_mhl, Z80::ld_mbc_a, Z80::ld_mde_a, Z80::ld_mhl_a, Z80::ld_mhl_b, Z80::ld_mhl_byte, Z80::ld_mhl_c, Z80::ld_mhl_d, Z80::ld_mhl_e, Z80::ld_mhl_h, Z80::ld_mhl_l, Z80::ld_mword_a, Z80::ld_mword_hl, Z80::ld_pc_hl, Z80::ld_sp_hl, Z80::ld_sp_word, LDMEM_16, MF2_INVISIBLE, MF2_RUNNING, Z80::mStop, Z80::nop, OR, Z80::or_a, Z80::or_b, Z80::or_byte, Z80::or_c, Z80::or_d, Z80::or_e, Z80::or_h, Z80::or_l, Z80::or_mhl, Z80::outa, Register::PC, Z80::pfx_cb, Z80::pfx_dd, Z80::pfx_ed, Z80::pfx_fd, POP, Z80::pop_af, Z80::pop_bc, Z80::pop_de, Z80::pop_hl, PUSH, Z80::push_af, Z80::push_bc, Z80::push_de, Z80::push_hl, Register::R, Z80::read_mem(), Z80::ret, RET, Z80::ret_c, Z80::ret_m, Z80::ret_nc, Z80::ret_nz, Z80::ret_p, Z80::ret_pe, Z80::ret_po, Z80::ret_z, Z80::rla, RLA, Z80::rlca, RLCA, Z80::rra, RRA, Z80::rrca, RRCA, RST, Z80::rst00, Z80::rst08, Z80::rst10, Z80::rst18, Z80::rst20, Z80::rst28, Z80::rst30, Z80::rst38, SBC, Z80::sbc_a, Z80::sbc_b, Z80::sbc_byte, Z80::sbc_c, Z80::sbc_d, Z80::sbc_e, Z80::sbc_h, Z80::sbc_l, Z80::sbc_mhl, Z80::scf, Cpc::sound(), Register::SP, SUB, Z80::sub_a, Z80::sub_b, Z80::sub_byte, Z80::sub_c, Z80::sub_d, Z80::sub_e, Z80::sub_h, Z80::sub_l, Z80::sub_mhl, Z80::write_mem(), XOR, Z80::xor_a, Z80::xor_b, Z80::xor_byte, Z80::xor_c, Z80::xor_d, Z80::xor_e, Z80::xor_h, Z80::xor_l, Z80::xor_mhl, Z80::z80, z80_IN_handler, z80_int_handler, z80_OUT_handler, Z80::z80_pfx_cb(), Z80::z80_pfx_dd(), Z80::z80_pfx_ed(), Z80::z80_pfx_fd(), and z80_wait_states.

Referenced by Z80::reg().

void init ( )
void init_tables ( )
void initMemMap ( )
inline
tUBYTE intPending ( )
inline

References Register::int_pending, and Z80::z80.

void mf2stop ( )
tUBYTE read_mem ( tUWORD  addr)
inline
Register& reg ( )
inline

References Z80::execute(), Z80::init(), and Z80::z80.

tUBYTE RES ( tUBYTE  bit,
tUBYTE  val 
)
inline
tUBYTE RL ( tUBYTE  val)
inline
tUBYTE RLC ( tUBYTE  val)
inline
tUBYTE RR ( tUBYTE  val)
inline
tUBYTE RRC ( tUBYTE  val)
inline
tUBYTE SET ( tUBYTE  bit,
tUBYTE  val 
)
inline
void setInHandler ( Z80_IN_Handler  handler)
inline

References Z80::IN_handler.

void setIntPending ( tUBYTE  ip)
inline
void setMembank_read ( tUBYTE  bank,
tUBYTE ptr 
)
inline
void setMembank_write ( tUBYTE  bank,
tUBYTE ptr 
)
inline

References Z80::membank_write.

Referenced by MemMan::memoryManager().

void setMF2ExitAddr ( tUDWORD  addr)
inline

References Z80::dwMF2ExitAddr.

void setOutHandler ( Z80_OUT_Handler  handler)
inline

References Z80::OUT_handler.

void setWsHandler ( Z80_WS_Handler  handler)
inline

References Z80::WS_handler.

tUBYTE SLA ( tUBYTE  val)
inline
tUBYTE SLL ( tUBYTE  val)
inline
tUBYTE SRA ( tUBYTE  val)
inline
tUBYTE SRL ( tUBYTE  val)
inline
void stop ( )
inline

References Z80::init_tables(), and Z80::mStop.

Referenced by Vdu::access_video_memory().

void write_mem ( tUWORD  addr,
tUBYTE  val 
)
inline
void z80_pfx_cb ( )

References Register::AF, b, Register::BC, BIT, Z80::bit0_a, Z80::bit0_b, Z80::bit0_c, Z80::bit0_d, Z80::bit0_e, Z80::bit0_h, Z80::bit0_l, Z80::bit0_mhl, Z80::bit1_a, Z80::bit1_b, Z80::bit1_c, Z80::bit1_d, Z80::bit1_e, Z80::bit1_h, Z80::bit1_l, Z80::bit1_mhl, Z80::bit2_a, Z80::bit2_b, Z80::bit2_c, Z80::bit2_d, Z80::bit2_e, Z80::bit2_h, Z80::bit2_l, Z80::bit2_mhl, Z80::bit3_a, Z80::bit3_b, Z80::bit3_c, Z80::bit3_d, Z80::bit3_e, Z80::bit3_h, Z80::bit3_l, Z80::bit3_mhl, Z80::bit4_a, Z80::bit4_b, Z80::bit4_c, Z80::bit4_d, Z80::bit4_e, Z80::bit4_h, Z80::bit4_l, Z80::bit4_mhl, Z80::bit5_a, Z80::bit5_b, Z80::bit5_c, Z80::bit5_d, Z80::bit5_e, Z80::bit5_h, Z80::bit5_l, Z80::bit5_mhl, Z80::bit6_a, Z80::bit6_b, Z80::bit6_c, Z80::bit6_d, Z80::bit6_e, Z80::bit6_h, Z80::bit6_l, Z80::bit6_mhl, Z80::bit7_a, Z80::bit7_b, Z80::bit7_c, Z80::bit7_d, Z80::bit7_e, Z80::bit7_h, Z80::bit7_l, Z80::bit7_mhl, Z80::cc_cb, Register::DE, Register::HL, Z80::iCycleCount, Register::PC, Register::R, Z80::read_mem(), Z80::RES(), Z80::res0_a, Z80::res0_b, Z80::res0_c, Z80::res0_d, Z80::res0_e, Z80::res0_h, Z80::res0_l, Z80::res0_mhl, Z80::res1_a, Z80::res1_b, Z80::res1_c, Z80::res1_d, Z80::res1_e, Z80::res1_h, Z80::res1_l, Z80::res1_mhl, Z80::res2_a, Z80::res2_b, Z80::res2_c, Z80::res2_d, Z80::res2_e, Z80::res2_h, Z80::res2_l, Z80::res2_mhl, Z80::res3_a, Z80::res3_b, Z80::res3_c, Z80::res3_d, Z80::res3_e, Z80::res3_h, Z80::res3_l, Z80::res3_mhl, Z80::res4_a, Z80::res4_b, Z80::res4_c, Z80::res4_d, Z80::res4_e, Z80::res4_h, Z80::res4_l, Z80::res4_mhl, Z80::res5_a, Z80::res5_b, Z80::res5_c, Z80::res5_d, Z80::res5_e, Z80::res5_h, Z80::res5_l, Z80::res5_mhl, Z80::res6_a, Z80::res6_b, Z80::res6_c, Z80::res6_d, Z80::res6_e, Z80::res6_h, Z80::res6_l, Z80::res6_mhl, Z80::res7_a, Z80::res7_b, Z80::res7_c, Z80::res7_d, Z80::res7_e, Z80::res7_h, Z80::res7_l, Z80::res7_mhl, Z80::RL(), Z80::rl_a, Z80::rl_b, Z80::rl_c, Z80::rl_d, Z80::rl_e, Z80::rl_h, Z80::rl_l, Z80::rl_mhl, Z80::RLC(), Z80::rlc_a, Z80::rlc_b, Z80::rlc_c, Z80::rlc_d, Z80::rlc_e, Z80::rlc_h, Z80::rlc_l, Z80::rlc_mhl, Z80::RR(), Z80::rr_a, Z80::rr_b, Z80::rr_c, Z80::rr_d, Z80::rr_e, Z80::rr_h, Z80::rr_l, Z80::rr_mhl, Z80::RRC(), Z80::rrc_a, Z80::rrc_b, Z80::rrc_c, Z80::rrc_d, Z80::rrc_e, Z80::rrc_h, Z80::rrc_l, Z80::rrc_mhl, Z80::SET(), Z80::set0_a, Z80::set0_b, Z80::set0_c, Z80::set0_d, Z80::set0_e, Z80::set0_h, Z80::set0_l, Z80::set0_mhl, Z80::set1_a, Z80::set1_b, Z80::set1_c, Z80::set1_d, Z80::set1_e, Z80::set1_h, Z80::set1_l, Z80::set1_mhl, Z80::set2_a, Z80::set2_b, Z80::set2_c, Z80::set2_d, Z80::set2_e, Z80::set2_h, Z80::set2_l, Z80::set2_mhl, Z80::set3_a, Z80::set3_b, Z80::set3_c, Z80::set3_d, Z80::set3_e, Z80::set3_h, Z80::set3_l, Z80::set3_mhl, Z80::set4_a, Z80::set4_b, Z80::set4_c, Z80::set4_d, Z80::set4_e, Z80::set4_h, Z80::set4_l, Z80::set4_mhl, Z80::set5_a, Z80::set5_b, Z80::set5_c, Z80::set5_d, Z80::set5_e, Z80::set5_h, Z80::set5_l, Z80::set5_mhl, Z80::set6_a, Z80::set6_b, Z80::set6_c, Z80::set6_d, Z80::set6_e, Z80::set6_h, Z80::set6_l, Z80::set6_mhl, Z80::set7_a, Z80::set7_b, Z80::set7_c, Z80::set7_d, Z80::set7_e, Z80::set7_h, Z80::set7_l, Z80::set7_mhl, Z80::SLA(), Z80::sla_a, Z80::sla_b, Z80::sla_c, Z80::sla_d, Z80::sla_e, Z80::sla_h, Z80::sla_l, Z80::sla_mhl, Z80::SLL(), Z80::sll_a, Z80::sll_b, Z80::sll_c, Z80::sll_d, Z80::sll_e, Z80::sll_h, Z80::sll_l, Z80::sll_mhl, Z80::SRA(), Z80::sra_a, Z80::sra_b, Z80::sra_c, Z80::sra_d, Z80::sra_e, Z80::sra_h, Z80::sra_l, Z80::sra_mhl, Z80::SRL(), Z80::srl_a, Z80::srl_b, Z80::srl_c, Z80::srl_d, Z80::srl_e, Z80::srl_h, Z80::srl_l, Z80::srl_mhl, Z80::write_mem(), and Z80::z80.

Referenced by Z80::endMemMap(), and Z80::execute().

void z80_pfx_dd ( )

References ADC, Z80::adc_a, Z80::adc_b, Z80::adc_byte, Z80::adc_c, Z80::adc_d, Z80::adc_e, Z80::adc_h, Z80::adc_l, Z80::adc_mhl, ADD, ADD16, Z80::add_a, Z80::add_b, Z80::add_byte, Z80::add_c, Z80::add_d, Z80::add_e, Z80::add_h, Z80::add_hl_bc, Z80::add_hl_de, Z80::add_hl_hl, Z80::add_hl_sp, Z80::add_l, Z80::add_mhl, Register::AF, Register::AFx, AND, Z80::and_a, Z80::and_b, Z80::and_byte, Z80::and_c, Z80::and_d, Z80::and_e, Z80::and_h, Z80::and_l, Z80::and_mhl, b, Register::BC, Z80::call, CALL, Z80::call_c, Z80::call_m, Z80::call_nc, Z80::call_nz, Z80::call_p, Z80::call_pe, Z80::call_po, Z80::call_z, Z80::cc_ex, Z80::cc_xy, Z80::ccf, Z80::CF, CP, Z80::cp_a, Z80::cp_b, Z80::cp_byte, Z80::cp_c, Z80::cp_d, Z80::cp_e, Z80::cp_h, Z80::cp_l, Z80::cp_mhl, Z80::cpl, Z80::daa, DAA, Register::DE, DEC, Z80::dec_a, Z80::dec_b, Z80::dec_bc, Z80::dec_c, Z80::dec_d, Z80::dec_de, Z80::dec_e, Z80::dec_h, Z80::dec_hl, Z80::dec_l, Z80::dec_mhl, Z80::dec_sp, Z80::di, Z80::djnz, Z80::ei, Register::EI_issued, EX, Z80::ex_af_af, Z80::ex_de_hl, Z80::ex_msp_hl, EX_SP, Z80::exx, EXX, Register::HALT, Z80::halt, Register::HL, Z80::iCycleCount, Register::IFF1, Register::IFF2, Z80::ina, INC, Z80::inc_a, Z80::inc_b, Z80::inc_bc, Z80::inc_c, Z80::inc_d, Z80::inc_de, Z80::inc_e, Z80::inc_h, Z80::inc_hl, Z80::inc_l, Z80::inc_mhl, Z80::inc_sp, Z80::iWSAdjust, Register::IX, Z80::jp, JP, Z80::jp_c, Z80::jp_m, Z80::jp_nc, Z80::jp_nz, Z80::jp_p, Z80::jp_pe, Z80::jp_po, Z80::jp_z, Z80::jr, JR, Z80::jr_c, Z80::jr_nc, Z80::jr_nz, Z80::jr_z, LD16_MEM, Z80::ld_a_a, Z80::ld_a_b, Z80::ld_a_byte, Z80::ld_a_c, Z80::ld_a_d, Z80::ld_a_e, Z80::ld_a_h, Z80::ld_a_l, Z80::ld_a_mbc, Z80::ld_a_mde, Z80::ld_a_mhl, Z80::ld_a_mword, Z80::ld_b_a, Z80::ld_b_b, Z80::ld_b_byte, Z80::ld_b_c, Z80::ld_b_d, Z80::ld_b_e, Z80::ld_b_h, Z80::ld_b_l, Z80::ld_b_mhl, Z80::ld_bc_word, Z80::ld_c_a, Z80::ld_c_b, Z80::ld_c_byte, Z80::ld_c_c, Z80::ld_c_d, Z80::ld_c_e, Z80::ld_c_h, Z80::ld_c_l, Z80::ld_c_mhl, Z80::ld_d_a, Z80::ld_d_b, Z80::ld_d_byte, Z80::ld_d_c, Z80::ld_d_d, Z80::ld_d_e, Z80::ld_d_h, Z80::ld_d_l, Z80::ld_d_mhl, Z80::ld_de_word, Z80::ld_e_a, Z80::ld_e_b, Z80::ld_e_byte, Z80::ld_e_c, Z80::ld_e_d, Z80::ld_e_e, Z80::ld_e_h, Z80::ld_e_l, Z80::ld_e_mhl, Z80::ld_h_a, Z80::ld_h_b, Z80::ld_h_byte, Z80::ld_h_c, Z80::ld_h_d, Z80::ld_h_e, Z80::ld_h_h, Z80::ld_h_l, Z80::ld_h_mhl, Z80::ld_hl_mword, Z80::ld_hl_word, Z80::ld_l_a, Z80::ld_l_b, Z80::ld_l_byte, Z80::ld_l_c, Z80::ld_l_d, Z80::ld_l_e, Z80::ld_l_h, Z80::ld_l_l, Z80::ld_l_mhl, Z80::ld_mbc_a, Z80::ld_mde_a, Z80::ld_mhl_a, Z80::ld_mhl_b, Z80::ld_mhl_byte, Z80::ld_mhl_c, Z80::ld_mhl_d, Z80::ld_mhl_e, Z80::ld_mhl_h, Z80::ld_mhl_l, Z80::ld_mword_a, Z80::ld_mword_hl, Z80::ld_pc_hl, Z80::ld_sp_hl, Z80::ld_sp_word, LDMEM_16, Z80::nop, OR, Z80::or_a, Z80::or_b, Z80::or_byte, Z80::or_c, Z80::or_d, Z80::or_e, Z80::or_h, Z80::or_l, Z80::or_mhl, Z80::outa, Register::PC, Z80::pfx_cb, Z80::pfx_dd, Z80::pfx_ed, Z80::pfx_fd, POP, Z80::pop_af, Z80::pop_bc, Z80::pop_de, Z80::pop_hl, PUSH, Z80::push_af, Z80::push_bc, Z80::push_de, Z80::push_hl, Register::R, Z80::read_mem(), Z80::ret, RET, Z80::ret_c, Z80::ret_m, Z80::ret_nc, Z80::ret_nz, Z80::ret_p, Z80::ret_pe, Z80::ret_po, Z80::ret_z, Z80::rla, RLA, Z80::rlca, RLCA, Z80::rra, RRA, Z80::rrca, RRCA, RST, Z80::rst00, Z80::rst08, Z80::rst10, Z80::rst18, Z80::rst20, Z80::rst28, Z80::rst30, Z80::rst38, SBC, Z80::sbc_a, Z80::sbc_b, Z80::sbc_byte, Z80::sbc_c, Z80::sbc_d, Z80::sbc_e, Z80::sbc_h, Z80::sbc_l, Z80::sbc_mhl, Z80::scf, Register::SP, SUB, Z80::sub_a, Z80::sub_b, Z80::sub_byte, Z80::sub_c, Z80::sub_d, Z80::sub_e, Z80::sub_h, Z80::sub_l, Z80::sub_mhl, Z80::write_mem(), XOR, Z80::xor_a, Z80::xor_b, Z80::xor_byte, Z80::xor_c, Z80::xor_d, Z80::xor_e, Z80::xor_h, Z80::xor_l, Z80::xor_mhl, Z80::z80, z80_IN_handler, z80_OUT_handler, Z80::z80_pfx_ddcb(), Z80::z80_pfx_ed(), and Z80::z80_pfx_fd().

Referenced by Z80::endMemMap(), Z80::execute(), and Z80::z80_pfx_fd().

void z80_pfx_ddcb ( )

References Register::AF, b, Register::BC, Z80::bit0_a, Z80::bit0_b, Z80::bit0_c, Z80::bit0_d, Z80::bit0_e, Z80::bit0_h, Z80::bit0_l, Z80::bit0_mhl, Z80::bit1_a, Z80::bit1_b, Z80::bit1_c, Z80::bit1_d, Z80::bit1_e, Z80::bit1_h, Z80::bit1_l, Z80::bit1_mhl, Z80::bit2_a, Z80::bit2_b, Z80::bit2_c, Z80::bit2_d, Z80::bit2_e, Z80::bit2_h, Z80::bit2_l, Z80::bit2_mhl, Z80::bit3_a, Z80::bit3_b, Z80::bit3_c, Z80::bit3_d, Z80::bit3_e, Z80::bit3_h, Z80::bit3_l, Z80::bit3_mhl, Z80::bit4_a, Z80::bit4_b, Z80::bit4_c, Z80::bit4_d, Z80::bit4_e, Z80::bit4_h, Z80::bit4_l, Z80::bit4_mhl, Z80::bit5_a, Z80::bit5_b, Z80::bit5_c, Z80::bit5_d, Z80::bit5_e, Z80::bit5_h, Z80::bit5_l, Z80::bit5_mhl, Z80::bit6_a, Z80::bit6_b, Z80::bit6_c, Z80::bit6_d, Z80::bit6_e, Z80::bit6_h, Z80::bit6_l, Z80::bit6_mhl, Z80::bit7_a, Z80::bit7_b, Z80::bit7_c, Z80::bit7_d, Z80::bit7_e, Z80::bit7_h, Z80::bit7_l, Z80::bit7_mhl, BIT_XY, Z80::cc_xycb, Register::DE, Register::HL, Z80::iCycleCount, Register::IX, Register::PC, Z80::read_mem(), Z80::RES(), Z80::res0_a, Z80::res0_b, Z80::res0_c, Z80::res0_d, Z80::res0_e, Z80::res0_h, Z80::res0_l, Z80::res0_mhl, Z80::res1_a, Z80::res1_b, Z80::res1_c, Z80::res1_d, Z80::res1_e, Z80::res1_h, Z80::res1_l, Z80::res1_mhl, Z80::res2_a, Z80::res2_b, Z80::res2_c, Z80::res2_d, Z80::res2_e, Z80::res2_h, Z80::res2_l, Z80::res2_mhl, Z80::res3_a, Z80::res3_b, Z80::res3_c, Z80::res3_d, Z80::res3_e, Z80::res3_h, Z80::res3_l, Z80::res3_mhl, Z80::res4_a, Z80::res4_b, Z80::res4_c, Z80::res4_d, Z80::res4_e, Z80::res4_h, Z80::res4_l, Z80::res4_mhl, Z80::res5_a, Z80::res5_b, Z80::res5_c, Z80::res5_d, Z80::res5_e, Z80::res5_h, Z80::res5_l, Z80::res5_mhl, Z80::res6_a, Z80::res6_b, Z80::res6_c, Z80::res6_d, Z80::res6_e, Z80::res6_h, Z80::res6_l, Z80::res6_mhl, Z80::res7_a, Z80::res7_b, Z80::res7_c, Z80::res7_d, Z80::res7_e, Z80::res7_h, Z80::res7_l, Z80::res7_mhl, Z80::RL(), Z80::rl_a, Z80::rl_b, Z80::rl_c, Z80::rl_d, Z80::rl_e, Z80::rl_h, Z80::rl_l, Z80::rl_mhl, Z80::RLC(), Z80::rlc_a, Z80::rlc_b, Z80::rlc_c, Z80::rlc_d, Z80::rlc_e, Z80::rlc_h, Z80::rlc_l, Z80::rlc_mhl, Z80::RR(), Z80::rr_a, Z80::rr_b, Z80::rr_c, Z80::rr_d, Z80::rr_e, Z80::rr_h, Z80::rr_l, Z80::rr_mhl, Z80::RRC(), Z80::rrc_a, Z80::rrc_b, Z80::rrc_c, Z80::rrc_d, Z80::rrc_e, Z80::rrc_h, Z80::rrc_l, Z80::rrc_mhl, Z80::SET(), Z80::set0_a, Z80::set0_b, Z80::set0_c, Z80::set0_d, Z80::set0_e, Z80::set0_h, Z80::set0_l, Z80::set0_mhl, Z80::set1_a, Z80::set1_b, Z80::set1_c, Z80::set1_d, Z80::set1_e, Z80::set1_h, Z80::set1_l, Z80::set1_mhl, Z80::set2_a, Z80::set2_b, Z80::set2_c, Z80::set2_d, Z80::set2_e, Z80::set2_h, Z80::set2_l, Z80::set2_mhl, Z80::set3_a, Z80::set3_b, Z80::set3_c, Z80::set3_d, Z80::set3_e, Z80::set3_h, Z80::set3_l, Z80::set3_mhl, Z80::set4_a, Z80::set4_b, Z80::set4_c, Z80::set4_d, Z80::set4_e, Z80::set4_h, Z80::set4_l, Z80::set4_mhl, Z80::set5_a, Z80::set5_b, Z80::set5_c, Z80::set5_d, Z80::set5_e, Z80::set5_h, Z80::set5_l, Z80::set5_mhl, Z80::set6_a, Z80::set6_b, Z80::set6_c, Z80::set6_d, Z80::set6_e, Z80::set6_h, Z80::set6_l, Z80::set6_mhl, Z80::set7_a, Z80::set7_b, Z80::set7_c, Z80::set7_d, Z80::set7_e, Z80::set7_h, Z80::set7_l, Z80::set7_mhl, Z80::SLA(), Z80::sla_a, Z80::sla_b, Z80::sla_c, Z80::sla_d, Z80::sla_e, Z80::sla_h, Z80::sla_l, Z80::sla_mhl, Z80::SLL(), Z80::sll_a, Z80::sll_b, Z80::sll_c, Z80::sll_d, Z80::sll_e, Z80::sll_h, Z80::sll_l, Z80::sll_mhl, Z80::SRA(), Z80::sra_a, Z80::sra_b, Z80::sra_c, Z80::sra_d, Z80::sra_e, Z80::sra_h, Z80::sra_l, Z80::sra_mhl, Z80::SRL(), Z80::srl_a, Z80::srl_b, Z80::srl_c, Z80::srl_d, Z80::srl_e, Z80::srl_h, Z80::srl_l, Z80::srl_mhl, Z80::write_mem(), and Z80::z80.

Referenced by Z80::endMemMap(), and Z80::z80_pfx_dd().

void z80_pfx_ed ( )

References ADC16, Z80::adc_hl_bc, Z80::adc_hl_de, Z80::adc_hl_hl, Z80::adc_hl_sp, Register::AF, Register::BC, Z80::cc_ed, Z80::cpd, CPD, Z80::cpdr, CPDR, Z80::cpi, CPI, Z80::cpir, CPIR, Register::DE, Z80::ed_00, Z80::ed_01, Z80::ed_02, Z80::ed_03, Z80::ed_04, Z80::ed_05, Z80::ed_06, Z80::ed_07, Z80::ed_08, Z80::ed_09, Z80::ed_0a, Z80::ed_0b, Z80::ed_0c, Z80::ed_0d, Z80::ed_0e, Z80::ed_0f, Z80::ed_10, Z80::ed_11, Z80::ed_12, Z80::ed_13, Z80::ed_14, Z80::ed_15, Z80::ed_16, Z80::ed_17, Z80::ed_18, Z80::ed_19, Z80::ed_1a, Z80::ed_1b, Z80::ed_1c, Z80::ed_1d, Z80::ed_1e, Z80::ed_1f, Z80::ed_20, Z80::ed_21, Z80::ed_22, Z80::ed_23, Z80::ed_24, Z80::ed_25, Z80::ed_26, Z80::ed_27, Z80::ed_28, Z80::ed_29, Z80::ed_2a, Z80::ed_2b, Z80::ed_2c, Z80::ed_2d, Z80::ed_2e, Z80::ed_2f, Z80::ed_30, Z80::ed_31, Z80::ed_32, Z80::ed_33, Z80::ed_34, Z80::ed_35, Z80::ed_36, Z80::ed_37, Z80::ed_38, Z80::ed_39, Z80::ed_3a, Z80::ed_3b, Z80::ed_3c, Z80::ed_3d, Z80::ed_3e, Z80::ed_3f, Z80::ed_77, Z80::ed_7f, Z80::ed_80, Z80::ed_81, Z80::ed_82, Z80::ed_83, Z80::ed_84, Z80::ed_85, Z80::ed_86, Z80::ed_87, Z80::ed_88, Z80::ed_89, Z80::ed_8a, Z80::ed_8b, Z80::ed_8c, Z80::ed_8d, Z80::ed_8e, Z80::ed_8f, Z80::ed_90, Z80::ed_91, Z80::ed_92, Z80::ed_93, Z80::ed_94, Z80::ed_95, Z80::ed_96, Z80::ed_97, Z80::ed_98, Z80::ed_99, Z80::ed_9a, Z80::ed_9b, Z80::ed_9c, Z80::ed_9d, Z80::ed_9e, Z80::ed_9f, Z80::ed_a4, Z80::ed_a5, Z80::ed_a6, Z80::ed_a7, Z80::ed_ac, Z80::ed_ad, Z80::ed_ae, Z80::ed_af, Z80::ed_b4, Z80::ed_b5, Z80::ed_b6, Z80::ed_b7, Z80::ed_bc, Z80::ed_bd, Z80::ed_be, Z80::ed_bf, Z80::ed_c0, Z80::ed_c1, Z80::ed_c2, Z80::ed_c3, Z80::ed_c4, Z80::ed_c5, Z80::ed_c6, Z80::ed_c7, Z80::ed_c8, Z80::ed_c9, Z80::ed_ca, Z80::ed_cb, Z80::ed_cc, Z80::ed_cd, Z80::ed_ce, Z80::ed_cf, Z80::ed_d0, Z80::ed_d1, Z80::ed_d2, Z80::ed_d3, Z80::ed_d4, Z80::ed_d5, Z80::ed_d6, Z80::ed_d7, Z80::ed_d8, Z80::ed_d9, Z80::ed_da, Z80::ed_db, Z80::ed_dc, Z80::ed_dd, Z80::ed_de, Z80::ed_df, Z80::ed_e0, Z80::ed_e1, Z80::ed_e2, Z80::ed_e3, Z80::ed_e4, Z80::ed_e5, Z80::ed_e6, Z80::ed_e7, Z80::ed_e8, Z80::ed_e9, Z80::ed_ea, Z80::ed_eb, Z80::ed_ec, Z80::ed_ed, Z80::ed_ee, Z80::ed_ef, Z80::ed_f0, Z80::ed_f1, Z80::ed_f2, Z80::ed_f3, Z80::ed_f4, Z80::ed_f5, Z80::ed_f6, Z80::ed_f7, Z80::ed_f8, Z80::ed_f9, Z80::ed_fa, Z80::ed_fb, Z80::ed_fc, Z80::ed_fd, Z80::ed_fe, Z80::ed_ff, Register::HALT, Register::HL, Register::I, Z80::iCycleCount, Register::IFF1, Register::IFF2, Register::IM, Z80::im_0, Z80::im_0_1, Z80::im_0_2, Z80::im_0_3, Z80::im_1, Z80::im_1_1, Z80::im_2, Z80::im_2_1, Z80::in_0_c, Z80::in_a_c, Z80::in_b_c, Z80::in_c_c, Z80::in_d_c, Z80::in_e_c, Z80::in_h_c, Z80::in_l_c, Z80::ind, IND, Z80::indr, INDR, Z80::ini, INI, Z80::inir, INIR, Z80::iWSAdjust, LD16_MEM, Z80::ld_a_i, Z80::ld_a_r, Z80::ld_EDbc_mword, Z80::ld_EDde_mword, Z80::ld_EDhl_mword, Z80::ld_EDmword_bc, Z80::ld_EDmword_de, Z80::ld_EDmword_hl, Z80::ld_EDmword_sp, Z80::ld_EDsp_mword, Z80::ld_i_a, Z80::ld_r_a, Z80::ldd, LDD, Z80::lddr, LDDR, Z80::ldi, LDI, Z80::ldir, LDIR, LDMEM_16, MF2_RUNNING, Z80::neg, NEG, Z80::neg_1, Z80::neg_2, Z80::neg_3, Z80::neg_4, Z80::neg_5, Z80::neg_6, Z80::neg_7, Z80::otdr, OTDR, Z80::otir, OTIR, Z80::out_c_0, Z80::out_c_a, Z80::out_c_b, Z80::out_c_c, Z80::out_c_d, Z80::out_c_e, Z80::out_c_h, Z80::out_c_l, Z80::outd, OUTD, Z80::outi, OUTI, Register::PC, Register::R, Z80::read_mem(), RET, Z80::reti, Z80::reti_1, Z80::reti_2, Z80::reti_3, Z80::retn, Z80::retn_1, Z80::retn_2, Z80::retn_3, Z80::rld, RLD, Z80::rrd, RRD, SBC16, Z80::sbc_hl_bc, Z80::sbc_hl_de, Z80::sbc_hl_hl, Z80::sbc_hl_sp, Z80::SZ, Z80::SZP, Z80::z80, z80_IN_handler, and z80_OUT_handler.

Referenced by Z80::endMemMap(), Z80::execute(), Z80::z80_pfx_dd(), and Z80::z80_pfx_fd().

void z80_pfx_fd ( )

References ADC, Z80::adc_a, Z80::adc_b, Z80::adc_byte, Z80::adc_c, Z80::adc_d, Z80::adc_e, Z80::adc_h, Z80::adc_l, Z80::adc_mhl, ADD, ADD16, Z80::add_a, Z80::add_b, Z80::add_byte, Z80::add_c, Z80::add_d, Z80::add_e, Z80::add_h, Z80::add_hl_bc, Z80::add_hl_de, Z80::add_hl_hl, Z80::add_hl_sp, Z80::add_l, Z80::add_mhl, Register::AF, Register::AFx, AND, Z80::and_a, Z80::and_b, Z80::and_byte, Z80::and_c, Z80::and_d, Z80::and_e, Z80::and_h, Z80::and_l, Z80::and_mhl, b, Register::BC, Z80::call, CALL, Z80::call_c, Z80::call_m, Z80::call_nc, Z80::call_nz, Z80::call_p, Z80::call_pe, Z80::call_po, Z80::call_z, Z80::cc_ex, Z80::cc_xy, Z80::ccf, Z80::CF, CP, Z80::cp_a, Z80::cp_b, Z80::cp_byte, Z80::cp_c, Z80::cp_d, Z80::cp_e, Z80::cp_h, Z80::cp_l, Z80::cp_mhl, Z80::cpl, Z80::daa, DAA, Register::DE, DEC, Z80::dec_a, Z80::dec_b, Z80::dec_bc, Z80::dec_c, Z80::dec_d, Z80::dec_de, Z80::dec_e, Z80::dec_h, Z80::dec_hl, Z80::dec_l, Z80::dec_mhl, Z80::dec_sp, Z80::di, Z80::djnz, Z80::ei, Register::EI_issued, EX, Z80::ex_af_af, Z80::ex_de_hl, Z80::ex_msp_hl, EX_SP, Z80::exx, EXX, Register::HALT, Z80::halt, Register::HL, Z80::iCycleCount, Register::IFF1, Register::IFF2, Z80::ina, INC, Z80::inc_a, Z80::inc_b, Z80::inc_bc, Z80::inc_c, Z80::inc_d, Z80::inc_de, Z80::inc_e, Z80::inc_h, Z80::inc_hl, Z80::inc_l, Z80::inc_mhl, Z80::inc_sp, Z80::iWSAdjust, Register::IY, Z80::jp, JP, Z80::jp_c, Z80::jp_m, Z80::jp_nc, Z80::jp_nz, Z80::jp_p, Z80::jp_pe, Z80::jp_po, Z80::jp_z, Z80::jr, JR, Z80::jr_c, Z80::jr_nc, Z80::jr_nz, Z80::jr_z, LD16_MEM, Z80::ld_a_a, Z80::ld_a_b, Z80::ld_a_byte, Z80::ld_a_c, Z80::ld_a_d, Z80::ld_a_e, Z80::ld_a_h, Z80::ld_a_l, Z80::ld_a_mbc, Z80::ld_a_mde, Z80::ld_a_mhl, Z80::ld_a_mword, Z80::ld_b_a, Z80::ld_b_b, Z80::ld_b_byte, Z80::ld_b_c, Z80::ld_b_d, Z80::ld_b_e, Z80::ld_b_h, Z80::ld_b_l, Z80::ld_b_mhl, Z80::ld_bc_word, Z80::ld_c_a, Z80::ld_c_b, Z80::ld_c_byte, Z80::ld_c_c, Z80::ld_c_d, Z80::ld_c_e, Z80::ld_c_h, Z80::ld_c_l, Z80::ld_c_mhl, Z80::ld_d_a, Z80::ld_d_b, Z80::ld_d_byte, Z80::ld_d_c, Z80::ld_d_d, Z80::ld_d_e, Z80::ld_d_h, Z80::ld_d_l, Z80::ld_d_mhl, Z80::ld_de_word, Z80::ld_e_a, Z80::ld_e_b, Z80::ld_e_byte, Z80::ld_e_c, Z80::ld_e_d, Z80::ld_e_e, Z80::ld_e_h, Z80::ld_e_l, Z80::ld_e_mhl, Z80::ld_h_a, Z80::ld_h_b, Z80::ld_h_byte, Z80::ld_h_c, Z80::ld_h_d, Z80::ld_h_e, Z80::ld_h_h, Z80::ld_h_l, Z80::ld_h_mhl, Z80::ld_hl_mword, Z80::ld_hl_word, Z80::ld_l_a, Z80::ld_l_b, Z80::ld_l_byte, Z80::ld_l_c, Z80::ld_l_d, Z80::ld_l_e, Z80::ld_l_h, Z80::ld_l_l, Z80::ld_l_mhl, Z80::ld_mbc_a, Z80::ld_mde_a, Z80::ld_mhl_a, Z80::ld_mhl_b, Z80::ld_mhl_byte, Z80::ld_mhl_c, Z80::ld_mhl_d, Z80::ld_mhl_e, Z80::ld_mhl_h, Z80::ld_mhl_l, Z80::ld_mword_a, Z80::ld_mword_hl, Z80::ld_pc_hl, Z80::ld_sp_hl, Z80::ld_sp_word, LDMEM_16, Z80::nop, OR, Z80::or_a, Z80::or_b, Z80::or_byte, Z80::or_c, Z80::or_d, Z80::or_e, Z80::or_h, Z80::or_l, Z80::or_mhl, Z80::outa, Register::PC, Z80::pfx_cb, Z80::pfx_dd, Z80::pfx_ed, Z80::pfx_fd, POP, Z80::pop_af, Z80::pop_bc, Z80::pop_de, Z80::pop_hl, PUSH, Z80::push_af, Z80::push_bc, Z80::push_de, Z80::push_hl, Register::R, Z80::read_mem(), Z80::ret, RET, Z80::ret_c, Z80::ret_m, Z80::ret_nc, Z80::ret_nz, Z80::ret_p, Z80::ret_pe, Z80::ret_po, Z80::ret_z, Z80::rla, RLA, Z80::rlca, RLCA, Z80::rra, RRA, Z80::rrca, RRCA, RST, Z80::rst00, Z80::rst08, Z80::rst10, Z80::rst18, Z80::rst20, Z80::rst28, Z80::rst30, Z80::rst38, SBC, Z80::sbc_a, Z80::sbc_b, Z80::sbc_byte, Z80::sbc_c, Z80::sbc_d, Z80::sbc_e, Z80::sbc_h, Z80::sbc_l, Z80::sbc_mhl, Z80::scf, Register::SP, SUB, Z80::sub_a, Z80::sub_b, Z80::sub_byte, Z80::sub_c, Z80::sub_d, Z80::sub_e, Z80::sub_h, Z80::sub_l, Z80::sub_mhl, Z80::write_mem(), XOR, Z80::xor_a, Z80::xor_b, Z80::xor_byte, Z80::xor_c, Z80::xor_d, Z80::xor_e, Z80::xor_h, Z80::xor_l, Z80::xor_mhl, Z80::z80, z80_IN_handler, z80_OUT_handler, Z80::z80_pfx_dd(), Z80::z80_pfx_ed(), and Z80::z80_pfx_fdcb().

Referenced by Z80::endMemMap(), Z80::execute(), and Z80::z80_pfx_dd().

void z80_pfx_fdcb ( )

References Register::AF, b, Register::BC, Z80::bit0_a, Z80::bit0_b, Z80::bit0_c, Z80::bit0_d, Z80::bit0_e, Z80::bit0_h, Z80::bit0_l, Z80::bit0_mhl, Z80::bit1_a, Z80::bit1_b, Z80::bit1_c, Z80::bit1_d, Z80::bit1_e, Z80::bit1_h, Z80::bit1_l, Z80::bit1_mhl, Z80::bit2_a, Z80::bit2_b, Z80::bit2_c, Z80::bit2_d, Z80::bit2_e, Z80::bit2_h, Z80::bit2_l, Z80::bit2_mhl, Z80::bit3_a, Z80::bit3_b, Z80::bit3_c, Z80::bit3_d, Z80::bit3_e, Z80::bit3_h, Z80::bit3_l, Z80::bit3_mhl, Z80::bit4_a, Z80::bit4_b, Z80::bit4_c, Z80::bit4_d, Z80::bit4_e, Z80::bit4_h, Z80::bit4_l, Z80::bit4_mhl, Z80::bit5_a, Z80::bit5_b, Z80::bit5_c, Z80::bit5_d, Z80::bit5_e, Z80::bit5_h, Z80::bit5_l, Z80::bit5_mhl, Z80::bit6_a, Z80::bit6_b, Z80::bit6_c, Z80::bit6_d, Z80::bit6_e, Z80::bit6_h, Z80::bit6_l, Z80::bit6_mhl, Z80::bit7_a, Z80::bit7_b, Z80::bit7_c, Z80::bit7_d, Z80::bit7_e, Z80::bit7_h, Z80::bit7_l, Z80::bit7_mhl, BIT_XY, Z80::cc_xycb, Register::DE, Register::HL, Z80::iCycleCount, Register::IY, Register::PC, Z80::read_mem(), Z80::RES(), Z80::res0_a, Z80::res0_b, Z80::res0_c, Z80::res0_d, Z80::res0_e, Z80::res0_h, Z80::res0_l, Z80::res0_mhl, Z80::res1_a, Z80::res1_b, Z80::res1_c, Z80::res1_d, Z80::res1_e, Z80::res1_h, Z80::res1_l, Z80::res1_mhl, Z80::res2_a, Z80::res2_b, Z80::res2_c, Z80::res2_d, Z80::res2_e, Z80::res2_h, Z80::res2_l, Z80::res2_mhl, Z80::res3_a, Z80::res3_b, Z80::res3_c, Z80::res3_d, Z80::res3_e, Z80::res3_h, Z80::res3_l, Z80::res3_mhl, Z80::res4_a, Z80::res4_b, Z80::res4_c, Z80::res4_d, Z80::res4_e, Z80::res4_h, Z80::res4_l, Z80::res4_mhl, Z80::res5_a, Z80::res5_b, Z80::res5_c, Z80::res5_d, Z80::res5_e, Z80::res5_h, Z80::res5_l, Z80::res5_mhl, Z80::res6_a, Z80::res6_b, Z80::res6_c, Z80::res6_d, Z80::res6_e, Z80::res6_h, Z80::res6_l, Z80::res6_mhl, Z80::res7_a, Z80::res7_b, Z80::res7_c, Z80::res7_d, Z80::res7_e, Z80::res7_h, Z80::res7_l, Z80::res7_mhl, Z80::RL(), Z80::rl_a, Z80::rl_b, Z80::rl_c, Z80::rl_d, Z80::rl_e, Z80::rl_h, Z80::rl_l, Z80::rl_mhl, Z80::RLC(), Z80::rlc_a, Z80::rlc_b, Z80::rlc_c, Z80::rlc_d, Z80::rlc_e, Z80::rlc_h, Z80::rlc_l, Z80::rlc_mhl, Z80::RR(), Z80::rr_a, Z80::rr_b, Z80::rr_c, Z80::rr_d, Z80::rr_e, Z80::rr_h, Z80::rr_l, Z80::rr_mhl, Z80::RRC(), Z80::rrc_a, Z80::rrc_b, Z80::rrc_c, Z80::rrc_d, Z80::rrc_e, Z80::rrc_h, Z80::rrc_l, Z80::rrc_mhl, Z80::SET(), Z80::set0_a, Z80::set0_b, Z80::set0_c, Z80::set0_d, Z80::set0_e, Z80::set0_h, Z80::set0_l, Z80::set0_mhl, Z80::set1_a, Z80::set1_b, Z80::set1_c, Z80::set1_d, Z80::set1_e, Z80::set1_h, Z80::set1_l, Z80::set1_mhl, Z80::set2_a, Z80::set2_b, Z80::set2_c, Z80::set2_d, Z80::set2_e, Z80::set2_h, Z80::set2_l, Z80::set2_mhl, Z80::set3_a, Z80::set3_b, Z80::set3_c, Z80::set3_d, Z80::set3_e, Z80::set3_h, Z80::set3_l, Z80::set3_mhl, Z80::set4_a, Z80::set4_b, Z80::set4_c, Z80::set4_d, Z80::set4_e, Z80::set4_h, Z80::set4_l, Z80::set4_mhl, Z80::set5_a, Z80::set5_b, Z80::set5_c, Z80::set5_d, Z80::set5_e, Z80::set5_h, Z80::set5_l, Z80::set5_mhl, Z80::set6_a, Z80::set6_b, Z80::set6_c, Z80::set6_d, Z80::set6_e, Z80::set6_h, Z80::set6_l, Z80::set6_mhl, Z80::set7_a, Z80::set7_b, Z80::set7_c, Z80::set7_d, Z80::set7_e, Z80::set7_h, Z80::set7_l, Z80::set7_mhl, Z80::SLA(), Z80::sla_a, Z80::sla_b, Z80::sla_c, Z80::sla_d, Z80::sla_e, Z80::sla_h, Z80::sla_l, Z80::sla_mhl, Z80::SLL(), Z80::sll_a, Z80::sll_b, Z80::sll_c, Z80::sll_d, Z80::sll_e, Z80::sll_h, Z80::sll_l, Z80::sll_mhl, Z80::SRA(), Z80::sra_a, Z80::sra_b, Z80::sra_c, Z80::sra_d, Z80::sra_e, Z80::sra_h, Z80::sra_l, Z80::sra_mhl, Z80::SRL(), Z80::srl_a, Z80::srl_b, Z80::srl_c, Z80::srl_d, Z80::srl_e, Z80::srl_h, Z80::srl_l, Z80::srl_mhl, Z80::write_mem(), and Z80::z80.

Referenced by Z80::endMemMap(), and Z80::z80_pfx_fd().

Member Data Documentation

const tUBYTE breg_tmp2
staticprivate
Initial value:
= {
0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1,
0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0,
1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1,
0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1,
0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1,
0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0,
1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0,
1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0,
1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1,
0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0,
1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1}
const tUBYTE cc_cb
staticprivate
Initial value:
= {
4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4,
4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4,
4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 8, 4,
4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 8, 4,
4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 8, 4,
4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4,
4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4,
4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4,
4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4,
4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4,
4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 4, 4, 12, 4}

Referenced by Z80::z80_pfx_cb().

const tUBYTE cc_ed
staticprivate
Initial value:
= {
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 12, 12, 12, 20, 4, 12, 4, 8, 12, 12, 12, 20,
4, 12, 4, 8, 12, 12, 12, 20, 4, 12, 4, 8, 12, 12, 12, 20, 4, 12, 4,
8, 12, 12, 12, 20, 4, 12, 4, 16, 12, 12, 12, 20, 4, 12, 4, 16, 12, 12,
12, 20, 4, 12, 4, 4, 12, 12, 12, 20, 4, 12, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 16, 12, 16, 16, 4, 4, 4, 4, 16, 12, 16,
16, 4, 4, 4, 4, 16, 12, 16, 16, 4, 4, 4, 4, 16, 12, 16, 16, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4}

Referenced by Z80::z80_pfx_ed().

const tUBYTE cc_ex
staticprivate
Initial value:
= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 4, 4, 0, 0, 0, 0, 4, 8, 4, 4, 0, 0, 0, 0,
8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0,
8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0,
8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0}

Referenced by Z80::execute(), Z80::z80_pfx_dd(), and Z80::z80_pfx_fd().

const tUBYTE cc_op
staticprivate
Initial value:
= {
4, 12, 8, 8, 4, 4, 8, 4, 4, 12, 8, 8, 4, 4, 8, 4, 12, 12, 8,
8, 4, 4, 8, 4, 12, 12, 8, 8, 4, 4, 8, 4, 8, 12, 20, 8, 4, 4,
8, 4, 8, 12, 20, 8, 4, 4, 8, 4, 8, 12, 16, 8, 12, 12, 12, 4, 8,
12, 16, 8, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4,
4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 8,
4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 8, 4, 8, 8,
8, 8, 8, 8, 4, 8, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4,
4, 8, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 8, 4,
4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4,
4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4,
8, 4, 8, 12, 12, 12, 12, 16, 8, 16, 8, 12, 12, 4, 12, 20, 8, 16, 8,
12, 12, 12, 12, 16, 8, 16, 8, 4, 12, 12, 12, 4, 8, 16, 8, 12, 12, 24,
12, 16, 8, 16, 8, 4, 12, 4, 12, 4, 8, 16, 8, 12, 12, 4, 12, 16, 8,
16, 8, 8, 12, 4, 12, 4, 8, 16}

Referenced by Z80::execute().

const tUBYTE cc_xy
staticprivate
Initial value:
= {
4, 12, 8, 8, 4, 4, 8, 4, 4, 12, 8, 8, 4, 4, 8, 4, 12, 12, 8,
8, 4, 4, 8, 4, 12, 12, 8, 8, 4, 4, 8, 4, 8, 12, 20, 8, 4, 4,
8, 4, 8, 12, 20, 8, 4, 4, 8, 4, 8, 12, 16, 8, 20, 20, 20, 4, 8,
12, 16, 8, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 16, 4, 4, 4, 4, 4,
4, 4, 16, 4, 4, 4, 4, 4, 4, 4, 16, 4, 4, 4, 4, 4, 4, 4, 16,
4, 4, 4, 4, 4, 4, 4, 16, 4, 4, 4, 4, 4, 4, 4, 16, 4, 16, 16,
16, 16, 16, 16, 4, 16, 4, 4, 4, 4, 4, 4, 16, 4, 4, 4, 4, 4, 4,
4, 16, 4, 4, 4, 4, 4, 4, 4, 16, 4, 4, 4, 4, 4, 4, 4, 16, 4,
4, 4, 4, 4, 4, 4, 16, 4, 4, 4, 4, 4, 4, 4, 16, 4, 4, 4, 4,
4, 4, 4, 16, 4, 4, 4, 4, 4, 4, 4, 16, 4, 4, 4, 4, 4, 4, 4,
16, 4, 8, 12, 12, 12, 12, 16, 8, 16, 8, 12, 12, 4, 12, 20, 8, 16, 8,
12, 12, 12, 12, 16, 8, 16, 8, 4, 12, 12, 12, 4, 8, 16, 8, 12, 12, 24,
12, 16, 8, 16, 8, 4, 12, 4, 12, 4, 8, 16, 8, 12, 12, 4, 12, 16, 8,
16, 8, 8, 12, 4, 12, 4, 8, 16}

Referenced by Z80::z80_pfx_dd(), and Z80::z80_pfx_fd().

const tUBYTE cc_xycb
staticprivate
Initial value:
= {
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20}

Referenced by Z80::z80_pfx_ddcb(), and Z80::z80_pfx_fdcb().

const tUWORD DAATable
staticprivate
const tUBYTE drep_tmp1
staticprivate
Initial value:
= {
{0, 1, 0, 0}, {1, 0, 0, 1}, {0, 0, 1, 0}, {0, 1, 0, 1}}
tDWORD dwMF2ExitAddr
private
tDWORD dwMF2Flags
private
int iCycleCount
private
int iCycleCountInit
private

Referenced by Z80::execute(), and Z80::init().

int iCycleCountSum
private

Referenced by Z80::execute(), and Z80::init().

Z80_IN_Handler IN_handler
private

Referenced by Z80::setInHandler().

const tUBYTE irep_tmp1
staticprivate
Initial value:
= {
{0, 0, 1, 0}, {0, 1, 0, 1}, {1, 0, 1, 1}, {0, 1, 1, 0}}
int iWSAdjust
private
tUBYTE* membank_read[4]
private
tUBYTE* membank_write[4]
private
bool mStop
private

Referenced by Z80::execute(), Z80::init(), and Z80::stop().

Z80_OUT_Handler OUT_handler
private

Referenced by Z80::setOutHandler().

tUBYTE SZ[256]
private
tUBYTE SZ_BIT[256]
private

Referenced by Z80::init_tables().

tUBYTE SZHV_dec[256]
private

Referenced by Z80::init_tables().

tUBYTE SZHV_inc[256]
private

Referenced by Z80::init_tables().

tUBYTE SZP[256]
private
Z80_WS_Handler WS_handler
private

Referenced by Z80::setWsHandler().

Register z80
private

The documentation for this class was generated from the following files: