#ifndef __CPUREGS_H__ #define __CPUREGS_H__ #include "defs.h" #include "cpu-gb.h" #define LB(r) ((r).b[LO][LO]) #define HB(r) ((r).b[LO][HI]) #define W(r) ((r).w[LO]) #define DW(r) ((r).d) #ifdef DYNAREC #define A LB(cpu.a) #define B LB(cpu.b) #define C LB(cpu.c) #define D LB(cpu.d) #define E LB(cpu.e) #define F LB(cpu.f) #define H HB(cpu.hl) #define L LB(cpu.hl) #define xAF ((A<<8)|F) #define xBC ((B<<8)|C) #define xDE ((D<<8)|E) #define AF ((A<<8)|F) #define BC ((B<<8)|C) #define DE ((D<<8)|E) #define HL W(cpu.hl) #define xHL DW(cpu.hl) #else #define A HB(cpu.af) #define F LB(cpu.af) #define B HB(cpu.bc) #define C LB(cpu.bc) #define D HB(cpu.de) #define E LB(cpu.de) #define H HB(cpu.hl) #define L LB(cpu.hl) #define AF W(cpu.af) #define BC W(cpu.bc) #define DE W(cpu.de) #define HL W(cpu.hl) #define xAF DW(cpu.af) #define xBC DW(cpu.bc) #define xDE DW(cpu.de) #define xHL DW(cpu.hl) #endif #define PC W(cpu.pc) #define SP W(cpu.sp) #define xPC DW(cpu.pc) #define xSP DW(cpu.sp) #define IMA cpu.ima #define IME cpu.ime #define IF R_IF #define IE R_IE #define FZ 0x80 #define FN 0x40 #define FH 0x20 #define FC 0x10 #define FL 0x0F /* low unused portion of flags */ #endif /* __CPUREGS_H__ */