diff --git a/z80.cpp b/z80.cpp index c0d97c4..bddfd88 100644 --- a/z80.cpp +++ b/z80.cpp @@ -151,10 +151,11 @@ namespace z80 return READ_MEM_8(addr) + READ_MEM_8(addr+1) << 8; } - void WRITE_MEM_8(const uint16_t addr, const uint8_t value) + const uint8_t WRITE_MEM_8(const uint16_t addr, const uint8_t value) { t+=3; memory[addr] = value; + return value; } void WRITE_MEM_16(const uint16_t addr, const uint16_t value) @@ -569,16 +570,6 @@ namespace z80 im = mode; } - void IN(uint8_t *reg, uint8_t dir) - { - // [TODO] - } - - void OUT(uint8_t dir, uint8_t val) - { - // [TODO] - } - void EX_MEM(uint16_t *reg, uint16_t addr) { auto temp = *reg; @@ -703,22 +694,150 @@ namespace z80 return v & ~(1<