LR35902: Implement SCF and CCF

This commit is contained in:
Jeffrey Pfau 2016-01-17 03:07:21 -08:00
parent 4271d89129
commit 7a91b4a98a
2 changed files with 11 additions and 2 deletions

View File

@ -65,7 +65,7 @@
DECLARE_INSTRUCTION_LR35902(EMITTER, INC_HL), \ DECLARE_INSTRUCTION_LR35902(EMITTER, INC_HL), \
DECLARE_INSTRUCTION_LR35902(EMITTER, DEC_HL), \ DECLARE_INSTRUCTION_LR35902(EMITTER, DEC_HL), \
DECLARE_INSTRUCTION_LR35902(EMITTER, LDHL_), \ DECLARE_INSTRUCTION_LR35902(EMITTER, LDHL_), \
DECLARE_INSTRUCTION_LR35902(EMITTER, STUB), \ DECLARE_INSTRUCTION_LR35902(EMITTER, SCF), \
DECLARE_INSTRUCTION_LR35902(EMITTER, JRC), \ DECLARE_INSTRUCTION_LR35902(EMITTER, JRC), \
DECLARE_INSTRUCTION_LR35902(EMITTER, ADDHL_SP), \ DECLARE_INSTRUCTION_LR35902(EMITTER, ADDHL_SP), \
DECLARE_INSTRUCTION_LR35902(EMITTER, LDA_DHL), \ DECLARE_INSTRUCTION_LR35902(EMITTER, LDA_DHL), \
@ -73,7 +73,7 @@
DECLARE_INSTRUCTION_LR35902(EMITTER, INCA), \ DECLARE_INSTRUCTION_LR35902(EMITTER, INCA), \
DECLARE_INSTRUCTION_LR35902(EMITTER, DECA), \ DECLARE_INSTRUCTION_LR35902(EMITTER, DECA), \
DECLARE_INSTRUCTION_LR35902(EMITTER, LDA_), \ DECLARE_INSTRUCTION_LR35902(EMITTER, LDA_), \
DECLARE_INSTRUCTION_LR35902(EMITTER, STUB), \ DECLARE_INSTRUCTION_LR35902(EMITTER, CCF), \
DECLARE_INSTRUCTION_LR35902(EMITTER, LDB_B), \ DECLARE_INSTRUCTION_LR35902(EMITTER, LDB_B), \
DECLARE_INSTRUCTION_LR35902(EMITTER, LDB_C), \ DECLARE_INSTRUCTION_LR35902(EMITTER, LDB_C), \
DECLARE_INSTRUCTION_LR35902(EMITTER, LDB_D), \ DECLARE_INSTRUCTION_LR35902(EMITTER, LDB_D), \

View File

@ -510,6 +510,15 @@ DEFINE_INSTRUCTION_LR35902(DECSP,
--cpu->sp; --cpu->sp;
cpu->executionState = LR35902_CORE_STALL;) cpu->executionState = LR35902_CORE_STALL;)
DEFINE_INSTRUCTION_LR35902(SCF,
cpu->f.c = 1;
cpu->f.h = 0;
cpu->f.n = 0;)
DEFINE_INSTRUCTION_LR35902(CCF,
cpu->f.c ^= 1;
cpu->f.h = 0;
cpu->f.n = 0;)
#define DEFINE_POPPUSH_INSTRUCTION_LR35902(REG, HH, H, L) \ #define DEFINE_POPPUSH_INSTRUCTION_LR35902(REG, HH, H, L) \
DEFINE_INSTRUCTION_LR35902(POP ## REG ## Delay, \ DEFINE_INSTRUCTION_LR35902(POP ## REG ## Delay, \