Go to the source code of this file.
|
#define | A z80ex.af.b.h |
|
#define | F z80ex.af.b.l |
|
#define | AF z80ex.af.w |
|
#define | B z80ex.bc.b.h |
|
#define | C z80ex.bc.b.l |
|
#define | BC z80ex.bc.w |
|
#define | D z80ex.de.b.h |
|
#define | E z80ex.de.b.l |
|
#define | DE z80ex.de.w |
|
#define | H z80ex.hl.b.h |
|
#define | L z80ex.hl.b.l |
|
#define | HL z80ex.hl.w |
|
#define | A_ z80ex.af_.b.h |
|
#define | F_ z80ex.af_.b.l |
|
#define | AF_ z80ex.af_.w |
|
#define | B_ z80ex.bc_.b.h |
|
#define | C_ z80ex.bc_.b.l |
|
#define | BC_ z80ex.bc_.w |
|
#define | D_ z80ex.de_.b.h |
|
#define | E_ z80ex.de_.b.l |
|
#define | DE_ z80ex.de_.w |
|
#define | H_ z80ex.hl_.b.h |
|
#define | L_ z80ex.hl_.b.l |
|
#define | HL_ z80ex.hl_.w |
|
#define | IXH z80ex.ix.b.h |
|
#define | IXL z80ex.ix.b.l |
|
#define | IX z80ex.ix.w |
|
#define | IYH z80ex.iy.b.h |
|
#define | IYL z80ex.iy.b.l |
|
#define | IY z80ex.iy.w |
|
#define | SPH z80ex.sp.b.h |
|
#define | SPL z80ex.sp.b.l |
|
#define | SP z80ex.sp.w |
|
#define | PCH z80ex.pc.b.h |
|
#define | PCL z80ex.pc.b.l |
|
#define | PC z80ex.pc.w |
|
#define | I z80ex.i |
|
#define | R z80ex.r |
|
#define | R7 z80ex.r7 |
|
#define | IFF1 z80ex.iff1 |
|
#define | IFF2 z80ex.iff2 |
|
#define | IM z80ex.im |
|
#define | MEMPTRh z80ex.memptr.b.h |
|
#define | MEMPTRl z80ex.memptr.b.l |
|
#define | MEMPTR z80ex.memptr.w |
|
#define | FLAG_C 0x01 |
|
#define | FLAG_N 0x02 |
|
#define | FLAG_P 0x04 |
|
#define | FLAG_V FLAG_P |
|
#define | FLAG_3 0x08 |
|
#define | FLAG_H 0x10 |
|
#define | FLAG_5 0x20 |
|
#define | FLAG_Z 0x40 |
|
#define | FLAG_S 0x80 |
|
#define | READ_OP_M1() (z80ex.int_vector_req? z80ex_intread_cb() : z80ex_mread_cb(PC++, 1)) |
|
#define | READ_OP() (z80ex.int_vector_req? z80ex_intread_cb() : z80ex_mread_cb(PC++, 0)) |
|
#define | T_WAIT_UNTIL(t_state) |
|
#define | TSTATES(amount) z80ex.tstate += amount |
|
#define | READ_MEM(result, addr, t_state) |
|
#define | READ_PORT(result, port, t_state) |
|
#define | WRITE_MEM(addr, vbyte, t_state) |
|
#define | WRITE_PORT(port, vbyte, t_state) |
|
#define | AND(value) |
|
#define | ADC(a, value) |
|
#define | ADC16(hl, value) |
|
#define | ADD(a, value) |
|
#define | ADD16(value1, value2) |
|
#define | BIT(bit, value) |
|
#define | BIT_MPTR(bit, value) |
|
#define | CALL(addr, wr1, wr2) |
|
#define | CP(value) |
|
#define | DEC(value) |
|
#define | DEC16(value) |
|
#define | INC(value) |
|
#define | INC16(value) |
|
#define | LD(dst, src) |
|
#define | LD_A_TO_ADDR_MPTR(dst, src, addr) |
|
#define | LD_A_FROM_ADDR_MPTR(dst, src, addr) |
|
#define | LD16(dst, src) |
|
#define | LD_RP_TO_ADDR_MPTR_16(dst, src, addr) |
|
#define | LD_RP_FROM_ADDR_MPTR_16(dst, src, addr) |
|
#define | JP_NO_MPTR(addr) |
|
#define | JP(addr) |
|
#define | JR(offset) |
|
#define | OR(value) |
|
#define | OUT(port, reg, wr) |
|
#define | OUT_A(port, reg, wr) |
|
#define | IN(reg, port, rd) |
|
#define | IN_A(reg, port, rd) |
|
#define | IN_F(port, rd) |
|
#define | POP(rp, rd1, rd2) |
|
#define | PUSH(rp, wr1, wr2) |
|
#define | RET(rd1, rd2) |
|
#define | RL(value) |
|
#define | RLC(value) |
|
#define | RR(value) |
|
#define | RRC(value) |
|
#define | RST(value, w1, w2) |
|
#define | SBC(a, value) |
|
#define | SBC16(hl, value) |
|
#define | SLA(value) |
|
#define | SLL(value) |
|
#define | SRA(value) |
|
#define | SRL(value) |
|
#define | SUB(value) |
|
#define | XOR(value) |
|
#define | RRD(rd, wr) |
|
#define | RLD(rd, wr) |
|
#define | IM_(mode) |
|
#define | LD_A_R() |
|
#define | LD_R_A() |
|
#define | LD_A_I() |
|
#define | NEG() |
|
#define | RETI(rd1, rd2) |
|
#define | RETN(rd1, rd2) |
|
#define | LDI(rd, wr) |
|
#define | CPI(rd) |
|
#define | OUT_BL(pbyte) |
|
#define | IN_BL(pbyte, c_add) |
|
#define | INI(rd, wr) |
|
#define | OUTI(rd, wr) |
|
#define | LDD(rd, wr) |
|
#define | CPD(rd) |
|
#define | IND(rd, wr) |
|
#define | OUTD(rd, wr) |
|
#define | LDIR(t1, t2, rd, wr) |
|
#define | CPIR(t1, t2, rd) |
|
#define | INIR(t1, t2, rd, wr) |
|
#define | OTIR(t1, t2, rd, wr) |
|
#define | LDDR(t1, t2, rd, wr) |
|
#define | CPDR(t1, t2, rd) |
|
#define | INDR(t1, t2, rd, wr) |
|
#define | OTDR(t1, t2, rd, wr) |
|
#define | RLCA() |
|
#define | RRCA() |
|
#define | DJNZ(offset, t1, t2) |
|
#define | RLA() |
|
#define | RRA() |
|
#define | DAA() |
|
#define | EX(rp1, rp2) |
|
#define | EX_MPTR(rp1, rp2) |
|
#define | CPL() |
|
#define | SCF() |
|
#define | CCF() |
|
#define | HALT() |
|
#define | EXX() |
|
#define | DI() |
|
#define | EI() |
|
#define | SET(bit, val) |
|
#define | RES(bit, val) |
|
◆ A_
◆ ADC
Value:{\
Z80EX_BYTE lookup = ( (
A & 0x88 ) >> 3 ) | \
( ( (
value) & 0x88 ) >> 2 ) | \
( ( adctemp & 0x88 ) >> 1 ); \
A=adctemp;\
F = ( adctemp & 0x100 ?
FLAG_C : 0 ) |\
halfcarry_add_table[lookup & 0x07] | overflow_add_table[lookup >> 4] |\
}
Definition at line 217 of file macros.h.
◆ ADC16
#define ADC16 |
( |
|
hl, |
|
|
|
value |
|
) |
| |
Value:{\
Z80EX_BYTE lookup = ( (
HL & 0x8800 ) >> 11 ) | \
( ( (
value) & 0x8800 ) >> 10 ) | \
( ( add16temp & 0x8800 ) >> 9 ); \
MEMPTR=hl+1;\
HL = add16temp;\
F = ( add16temp & 0x10000 ?
FLAG_C : 0 )|\
overflow_add_table[lookup >> 4] |\
halfcarry_add_table[lookup&0x07]|\
}
Definition at line 229 of file macros.h.
◆ ADD
Value:{\
Z80EX_WORD addtemp =
A + (
value); \
Z80EX_BYTE lookup = ( (
A & 0x88 ) >> 3 ) | \
( ( (
value) & 0x88 ) >> 2 ) | \
( ( addtemp & 0x88 ) >> 1 ); \
A=addtemp;\
F = ( addtemp & 0x100 ?
FLAG_C : 0 ) |\
halfcarry_add_table[lookup & 0x07] | overflow_add_table[lookup >> 4] |\
}
Definition at line 244 of file macros.h.
◆ ADD16
#define ADD16 |
( |
|
value1, |
|
|
|
value2 |
|
) |
| |
Value:{\
Z80EX_DWORD add16temp = (value1) + (value2); \
Z80EX_BYTE lookup = ( ( (value1) & 0x0800 ) >> 11 ) | \
( ( (value2) & 0x0800 ) >> 10 ) | \
( ( add16temp & 0x0800 ) >> 9 ); \
MEMPTR=value1+1;\
(value1) = add16temp;\
( add16temp & 0x10000 ?
FLAG_C : 0 )|\
halfcarry_add_table[lookup];\
}
Definition at line 256 of file macros.h.
◆ AF
◆ AF_
◆ AND
◆ B_
◆ BC
◆ BC_
◆ BIT
#define BIT |
( |
|
bit, |
|
|
|
value |
|
) |
| |
◆ BIT_MPTR
#define BIT_MPTR |
( |
|
bit, |
|
|
|
value |
|
) |
| |
◆ C_
◆ CALL
#define CALL |
( |
|
addr, |
|
|
|
wr1, |
|
|
|
wr2 |
|
) |
| |
◆ CCF
◆ CP
Value:{\
Z80EX_WORD cptemp =
A -
value; \
Z80EX_BYTE lookup = ( (
A & 0x88 ) >> 3 ) | \
( ( (
value) & 0x88 ) >> 2 ) | \
( ( cptemp & 0x88 ) >> 1 ); \
halfcarry_sub_table[lookup & 0x07] |\
overflow_sub_table[lookup >> 4] |\
}
Definition at line 288 of file macros.h.
◆ CPD
Value:{\
Z80EX_BYTE
value,bytetemp,lookup;\
lookup = ( (
A & 0x08 ) >> 3 ) |\
( ( (
value) & 0x08 ) >> 2 ) |\
( ( bytetemp & 0x08 ) >> 1 );\
halfcarry_sub_table[lookup] | ( bytetemp ? 0 :
FLAG_Z ) |\
F |= ( bytetemp &
FLAG_3 ) | ( (bytetemp&0x02) ?
FLAG_5 : 0 );\
}
Definition at line 701 of file macros.h.
◆ CPDR
#define CPDR |
( |
|
t1, |
|
|
|
t2, |
|
|
|
rd |
|
) |
| |
Value:{\
Z80EX_BYTE
value,bytetemp,lookup;\
lookup = ( (
A & 0x08 ) >> 3 ) |\
( ( (
value) & 0x08 ) >> 2 ) |\
( ( bytetemp & 0x08 ) >> 1 );\
halfcarry_sub_table[lookup] | ( bytetemp ? 0 :
FLAG_Z ) |\
F |= ( bytetemp &
FLAG_3 ) | ( (bytetemp&0x02) ?
FLAG_5 : 0 );\
PC-=2;\
T_WAIT_UNTIL(t2);\
}\
else\
{\
T_WAIT_UNTIL(t1);\
}\
}
Definition at line 846 of file macros.h.
◆ CPI
Value:{\
Z80EX_BYTE
value,bytetemp,lookup;\
lookup = ( (
A & 0x08 ) >> 3 ) |\
( ( (
value) & 0x08 ) >> 2 ) |\
( ( bytetemp & 0x08 ) >> 1 );\
halfcarry_sub_table[lookup] | ( bytetemp ? 0 :
FLAG_Z ) |\
F |= ( bytetemp &
FLAG_3 ) | ( (bytetemp&0x02) ?
FLAG_5 : 0 );\
}
Definition at line 631 of file macros.h.
◆ CPIR
#define CPIR |
( |
|
t1, |
|
|
|
t2, |
|
|
|
rd |
|
) |
| |
Value:{\
Z80EX_BYTE
value,bytetemp,lookup;\
lookup = ( (
A & 0x08 ) >> 3 ) |\
( ( (
value) & 0x08 ) >> 2 ) |\
( ( bytetemp & 0x08 ) >> 1 );\
halfcarry_sub_table[lookup] | ( bytetemp ? 0 :
FLAG_Z ) |\
F |= ( bytetemp &
FLAG_3 ) | ( (bytetemp&0x02) ?
FLAG_5 : 0 );\
PC-=2;\
T_WAIT_UNTIL(t2);\
}\
else\
{\
T_WAIT_UNTIL(t1);\
}\
}
Definition at line 761 of file macros.h.
◆ CPL
◆ D_
◆ DAA
Value:{\
const
Z80EX_BYTE *tdaa = (daatab+(
A+0x100*((
F & 3) + ((
F >> 2) & 4)))*2);\
F = *tdaa;
A = *(tdaa + 1);\
}
Definition at line 955 of file macros.h.
◆ DE
◆ DE_
◆ DEC
◆ DEC16
◆ DI
◆ DJNZ
#define DJNZ |
( |
|
offset, |
|
|
|
t1, |
|
|
|
t2 |
|
) |
| |
Value:{\
B--;\
PC += offset;\
T_WAIT_UNTIL(t2);\
}\
else\
{\
T_WAIT_UNTIL(t1);\
}\
}
Definition at line 925 of file macros.h.
◆ E_
◆ EI
Value:{\
z80ex.noint_once=1;\
}
Definition at line 1028 of file macros.h.
◆ EX
Value:{\
Z80EX_WORD wordtemp=rp1; rp1=rp2; rp2=wordtemp;\
}
Definition at line 978 of file macros.h.
◆ EX_MPTR
#define EX_MPTR |
( |
|
rp1, |
|
|
|
rp2 |
|
) |
| |
Value:{\
Z80EX_WORD wordtemp=rp1; rp1=rp2; rp2=wordtemp;\
MEMPTR=wordtemp;\
}
Definition at line 983 of file macros.h.
◆ EXX
Value:{\
Z80EX_WORD wordtemp;\
}
Definition at line 1015 of file macros.h.
◆ F_
◆ FLAG_3
◆ FLAG_5
◆ FLAG_C
◆ FLAG_H
◆ FLAG_N
◆ FLAG_P
◆ FLAG_S
◆ FLAG_V
◆ FLAG_Z
◆ H_
◆ HALT
Value:{\
z80ex.halted=1;\
PC--;\
}
Definition at line 1009 of file macros.h.
◆ HL
◆ HL_
◆ IFF1
◆ IFF2
◆ IM
◆ IM_
◆ IN
#define IN |
( |
|
reg, |
|
|
|
port, |
|
|
|
rd |
|
) |
| |
Value:{\
READ_PORT(reg,port,rd); \
F = (
F &
FLAG_C) | sz53p_table[(reg)];\
MEMPTR=port+1;\
}
Definition at line 401 of file macros.h.
◆ IN_A
#define IN_A |
( |
|
reg, |
|
|
|
port, |
|
|
|
rd |
|
) |
| |
Value:{\
READ_PORT(reg,port,rd); \
MEMPTR=port+1;\
}
Definition at line 409 of file macros.h.
◆ IN_BL
#define IN_BL |
( |
|
pbyte, |
|
|
|
c_add |
|
) |
| |
Value:{\
Z80EX_BYTE kval;\
kval=pbyte+((
C+(c_add)) & 0xff);\
F |= parity_table[((kval & 7) ^
B)];\
}
Definition at line 658 of file macros.h.
◆ IN_F
#define IN_F |
( |
|
port, |
|
|
|
rd |
|
) |
| |
Value:{\
Z80EX_BYTE val; \
READ_PORT(val, port, rd); \
F = (
F &
FLAG_C) | sz53p_table[(val)];\
MEMPTR=port+1;\
}
Definition at line 415 of file macros.h.
◆ INC
◆ INC16
◆ IND
Value:{\
Z80EX_BYTE initemp;\
READ_PORT(initemp,
BC, rd);\
WRITE_MEM(
HL, initemp, wr );\
F = ( initemp & 0x80 ?
FLAG_N : 0 ) | sz53_table[
B];\
IN_BL(initemp,-1)\
}
Definition at line 718 of file macros.h.
◆ INDR
#define INDR |
( |
|
t1, |
|
|
|
t2, |
|
|
|
rd, |
|
|
|
wr |
|
) |
| |
Value:{\
Z80EX_BYTE initemp;\
READ_PORT(initemp,
BC, rd);\
WRITE_MEM(
HL, initemp, wr );\
F = ( initemp & 0x80 ?
FLAG_N : 0 ) | sz53_table[
B];\
PC -= 2;\
T_WAIT_UNTIL(t2);\
}\
else\
{\
T_WAIT_UNTIL(t1);\
}\
IN_BL(initemp,-1)\
}
Definition at line 872 of file macros.h.
◆ INI
Value:{\
Z80EX_BYTE initemp;\
READ_PORT(initemp,
BC, rd);\
WRITE_MEM(
HL, initemp, wr );\
F = ( initemp & 0x80 ?
FLAG_N : 0 ) | sz53_table[
B];\
IN_BL(initemp,1);\
}
Definition at line 666 of file macros.h.
◆ INIR
#define INIR |
( |
|
t1, |
|
|
|
t2, |
|
|
|
rd, |
|
|
|
wr |
|
) |
| |
Value:{\
Z80EX_BYTE initemp;\
READ_PORT(initemp,
BC, rd);\
WRITE_MEM(
HL, initemp, wr);\
F = ( initemp & 0x80 ?
FLAG_N : 0 ) | sz53_table[
B];\
PC -= 2;\
T_WAIT_UNTIL(t2);\
}\
else\
{\
T_WAIT_UNTIL(t1);\
}\
IN_BL(initemp,1)\
}
Definition at line 787 of file macros.h.
◆ IX
◆ IXH
◆ IXL
◆ IY
◆ IYH
◆ IYL
◆ JP
◆ JP_NO_MPTR
#define JP_NO_MPTR |
( |
|
addr | ) |
|
◆ JR
◆ L_
◆ LD
◆ LD16
#define LD16 |
( |
|
dst, |
|
|
|
src |
|
) |
| |
◆ LD_A_FROM_ADDR_MPTR
#define LD_A_FROM_ADDR_MPTR |
( |
|
dst, |
|
|
|
src, |
|
|
|
addr |
|
) |
| |
◆ LD_A_I
◆ LD_A_R
◆ LD_A_TO_ADDR_MPTR
#define LD_A_TO_ADDR_MPTR |
( |
|
dst, |
|
|
|
src, |
|
|
|
addr |
|
) |
| |
Value:{\
dst=src; \
MEMPTRl=((
addr+1) & 0xFF);\
}
Definition at line 331 of file macros.h.
◆ LD_R_A
◆ LD_RP_FROM_ADDR_MPTR_16
#define LD_RP_FROM_ADDR_MPTR_16 |
( |
|
dst, |
|
|
|
src, |
|
|
|
addr |
|
) |
| |
◆ LD_RP_TO_ADDR_MPTR_16
#define LD_RP_TO_ADDR_MPTR_16 |
( |
|
dst, |
|
|
|
src, |
|
|
|
addr |
|
) |
| |
◆ LDD
Value:{\
Z80EX_BYTE bytetemp;\
READ_MEM(bytetemp,
HL, rd);\
BC--;\
WRITE_MEM(
DE,bytetemp,wr);\
( bytetemp &
FLAG_3 ) | ( (bytetemp & 0x02) ?
FLAG_5 : 0 );\
}
Definition at line 689 of file macros.h.
◆ LDDR
#define LDDR |
( |
|
t1, |
|
|
|
t2, |
|
|
|
rd, |
|
|
|
wr |
|
) |
| |
Value:{\
Z80EX_BYTE bytetemp;\
READ_MEM(bytetemp,
HL, rd);\
WRITE_MEM(
DE,bytetemp,wr);\
( bytetemp &
FLAG_3 ) | ( (bytetemp & 0x02) ?
FLAG_5 : 0 );\
PC-=2;\
T_WAIT_UNTIL(t2);\
}\
else\
{\
T_WAIT_UNTIL(t1);\
}\
}
Definition at line 826 of file macros.h.
◆ LDI
Value:{\
Z80EX_BYTE bytetemp;\
READ_MEM(bytetemp,
HL, rd);\
BC--;\
WRITE_MEM(
DE,bytetemp,wr);\
( bytetemp &
FLAG_3 ) | ( (bytetemp & 0x02) ?
FLAG_5 : 0 );\
}
Definition at line 619 of file macros.h.
◆ LDIR
#define LDIR |
( |
|
t1, |
|
|
|
t2, |
|
|
|
rd, |
|
|
|
wr |
|
) |
| |
Value:{\
Z80EX_BYTE bytetemp;\
READ_MEM(bytetemp,
HL, rd);\
WRITE_MEM(
DE,bytetemp,wr);\
( bytetemp &
FLAG_3 ) | ( (bytetemp & 0x02) ?
FLAG_5 : 0 );\
PC-=2;\
T_WAIT_UNTIL(t2);\
}\
else\
{\
T_WAIT_UNTIL(t1);\
}\
}
Definition at line 741 of file macros.h.
◆ MEMPTR
#define MEMPTR z80ex.memptr.w |
◆ MEMPTRh
#define MEMPTRh z80ex.memptr.b.h |
◆ MEMPTRl
#define MEMPTRl z80ex.memptr.b.l |
◆ NEG
Value:{\
A=0;\
SUB(bytetemp);\
}
Definition at line 598 of file macros.h.
◆ OR
◆ OTDR
#define OTDR |
( |
|
t1, |
|
|
|
t2, |
|
|
|
rd, |
|
|
|
wr |
|
) |
| |
Value:{\
Z80EX_BYTE outitemp;\
READ_MEM(outitemp,
HL, rd);\
B--;\
WRITE_PORT(
BC,outitemp,wr);\
HL--;\
F = (outitemp & 0x80 ?
FLAG_N : 0 ) | sz53_table[
B];\
PC -= 2;\
T_WAIT_UNTIL(t2);\
}\
else\
{\
T_WAIT_UNTIL(t1);\
}\
OUT_BL(outitemp);\
}
Definition at line 891 of file macros.h.
◆ OTIR
#define OTIR |
( |
|
t1, |
|
|
|
t2, |
|
|
|
rd, |
|
|
|
wr |
|
) |
| |
Value:{\
Z80EX_BYTE outitemp;\
READ_MEM(outitemp,
HL, rd);\
B--;\
WRITE_PORT(
BC, outitemp, wr);\
HL++;\
F = (outitemp & 0x80 ?
FLAG_N : 0 ) | sz53_table[
B];\
PC -= 2;\
T_WAIT_UNTIL(t2);\
}\
else\
{\
T_WAIT_UNTIL(t1);\
}\
OUT_BL(outitemp);\
}
Definition at line 806 of file macros.h.
◆ OUT
#define OUT |
( |
|
port, |
|
|
|
reg, |
|
|
|
wr |
|
) |
| |
Value:{\
WRITE_PORT(port,reg,wr); \
MEMPTR=port+1;\
}
Definition at line 387 of file macros.h.
◆ OUT_A
#define OUT_A |
( |
|
port, |
|
|
|
reg, |
|
|
|
wr |
|
) |
| |
Value:{\
WRITE_PORT(port,reg,wr); \
MEMPTRl=((port+1) & 0xFF);\
}
Definition at line 394 of file macros.h.
◆ OUT_BL
Value:{\
Z80EX_BYTE kval;\
F |= parity_table[((kval & 7) ^
B)];\
}
Definition at line 649 of file macros.h.
◆ OUTD
Value:{\
Z80EX_BYTE outitemp;\
READ_MEM(outitemp,
HL, rd);\
B--;\
WRITE_PORT(
BC,outitemp,wr);\
HL--;\
F = (outitemp & 0x80 ?
FLAG_N : 0 ) | sz53_table[
B];\
OUT_BL(outitemp);\
}
Definition at line 729 of file macros.h.
◆ OUTI
Value:{\
Z80EX_BYTE outitemp;\
READ_MEM(outitemp,
HL, rd);\
B--; \
WRITE_PORT(
BC,outitemp,wr);\
HL++;\
F = (outitemp & 0x80 ?
FLAG_N : 0 ) | sz53_table[
B];\
OUT_BL(outitemp);\
}
Definition at line 677 of file macros.h.
◆ PC
◆ PCH
◆ PCL
◆ POP
#define POP |
( |
|
rp, |
|
|
|
rd1, |
|
|
|
rd2 |
|
) |
| |
Value:{\
Z80EX_REGPAIR_T tmp; \
READ_MEM(tmp.b.l,
SP++,rd1);\
READ_MEM(tmp.b.h,
SP++,rd2);\
rp=tmp.w;\
}
Definition at line 423 of file macros.h.
◆ PUSH
#define PUSH |
( |
|
rp, |
|
|
|
wr1, |
|
|
|
wr2 |
|
) |
| |
Value:{\
Z80EX_REGPAIR_T tmp; \
tmp.w=rp; \
WRITE_MEM(--
SP, tmp.b.h, wr1); \
WRITE_MEM(--
SP, tmp.b.l, wr2); \
}
Definition at line 432 of file macros.h.
◆ R7
◆ READ_MEM
#define READ_MEM |
( |
|
result, |
|
|
|
addr, |
|
|
|
t_state |
|
) |
| |
Value:{ \
T_WAIT_UNTIL(t_state); \
}
Definition at line 147 of file macros.h.
◆ READ_OP
◆ READ_OP_M1
◆ READ_PORT
#define READ_PORT |
( |
|
result, |
|
|
|
port, |
|
|
|
t_state |
|
) |
| |
Value:{ \
T_WAIT_UNTIL(t_state); \
}
Definition at line 154 of file macros.h.
◆ RES
Value:{\
val &= ~(1 << bit);\
}
Definition at line 1039 of file macros.h.
◆ RET
◆ RETI
#define RETI |
( |
|
rd1, |
|
|
|
rd2 |
|
) |
| |
Value:{\
RET(rd1, rd2);\
z80ex_reti_cb(); \
}
Definition at line 605 of file macros.h.
◆ RETN
#define RETN |
( |
|
rd1, |
|
|
|
rd2 |
|
) |
| |
◆ RL
Value:{\
Z80EX_BYTE rltemp = (
value); \
F = ( rltemp >> 7 ) | sz53p_table[(
value)];\
}
Definition at line 446 of file macros.h.
◆ RLA
Value:{\
Z80EX_BYTE bytetemp =
A;\
}
Definition at line 939 of file macros.h.
◆ RLC
◆ RLCA
Value:{\
A = (
A << 1 ) | (
A >> 7 );\
}
Definition at line 911 of file macros.h.
◆ RLD
Value:{\
Z80EX_BYTE bytetemp;\
READ_MEM(bytetemp,
HL, rd);\
WRITE_MEM(
HL, (bytetemp << 4 ) | (
A & 0x0f ) ,wr);\
A = (
A & 0xf0 ) | ( bytetemp >> 4 );\
}
Definition at line 563 of file macros.h.
◆ RR
Value:{\
Z80EX_BYTE rrtemp = (
value); \
}
Definition at line 459 of file macros.h.
◆ RRA
Value:{\
Z80EX_BYTE bytetemp =
A;\
A = (
A >> 1 ) | (
F << 7 );\
}
Definition at line 947 of file macros.h.
◆ RRC
◆ RRCA
Value:{\
A = (
A >> 1) | (
A << 7 );\
}
Definition at line 918 of file macros.h.
◆ RRD
Value:{\
Z80EX_BYTE bytetemp;\
READ_MEM(bytetemp,
HL, rd);\
WRITE_MEM(
HL, (
A << 4 ) | ( bytetemp >> 4 ) ,wr);\
A = (
A & 0xf0 ) | ( bytetemp & 0x0f );\
}
Definition at line 553 of file macros.h.
◆ RST
#define RST |
( |
|
value, |
|
|
|
w1, |
|
|
|
w2 |
|
) |
| |
◆ SBC
Value:{\
Z80EX_BYTE lookup = ( (
A & 0x88 ) >> 3 ) | \
( ( (
value) & 0x88 ) >> 2 ) | \
( ( sbctemp & 0x88 ) >> 1 ); \
A=sbctemp;\
halfcarry_sub_table[lookup & 0x07] | overflow_sub_table[lookup >> 4] |\
}
Definition at line 480 of file macros.h.
◆ SBC16
#define SBC16 |
( |
|
hl, |
|
|
|
value |
|
) |
| |
Value:{\
Z80EX_BYTE lookup = ( (
HL & 0x8800 ) >> 11 ) | \
( ( (
value) & 0x8800 ) >> 10 ) | \
( ( sub16temp & 0x8800 ) >> 9 ); \
MEMPTR=hl+1;\
HL = sub16temp;\
F = ( sub16temp & 0x10000 ?
FLAG_C : 0 ) |\
FLAG_N | overflow_sub_table[lookup >> 4] |\
halfcarry_sub_table[lookup&0x07] |\
}
Definition at line 492 of file macros.h.
◆ SCF
◆ SET
◆ SLA
◆ SLL
◆ SP
◆ SPH
◆ SPL
◆ SRA
◆ SRL
◆ SUB
Value:{\
Z80EX_WORD subtemp =
A - (
value); \
Z80EX_BYTE lookup = ( (
A & 0x88 ) >> 3 ) | \
( ( (
value) & 0x88 ) >> 2 ) | \
( (subtemp & 0x88 ) >> 1 ); \
A=subtemp;\
halfcarry_sub_table[lookup & 0x07] | overflow_sub_table[lookup >> 4] |\
}
Definition at line 535 of file macros.h.
◆ T_WAIT_UNTIL
#define T_WAIT_UNTIL |
( |
|
t_state | ) |
|
Value:
z80ex.op_tstate = t_state; \
}
Definition at line 119 of file macros.h.
◆ TSTATES
#define TSTATES |
( |
|
amount | ) |
z80ex.tstate += amount |
◆ WRITE_MEM
#define WRITE_MEM |
( |
|
addr, |
|
|
|
vbyte, |
|
|
|
t_state |
|
) |
| |
Value:{ \
T_WAIT_UNTIL(t_state); \
z80ex_mwrite_cb(
addr, vbyte); \
}
Definition at line 161 of file macros.h.
◆ WRITE_PORT
#define WRITE_PORT |
( |
|
port, |
|
|
|
vbyte, |
|
|
|
t_state |
|
) |
| |
Value:{ \
T_WAIT_UNTIL(t_state); \
z80ex_pwrite_cb((port), vbyte); \
}
Definition at line 168 of file macros.h.
◆ XOR