diff options
| author | Duncan Smith | 2010-09-13 22:26:37 -0700 |
|---|---|---|
| committer | Duncan Smith | 2010-09-13 22:26:37 -0700 |
| commit | 04ea312f6558eae2c43066eb7b57260a7fd49b28 (patch) | |
| tree | 0247b0788583799da2647021b7aad83714ab350c | |
| parent | 9b2d156b85a3c3eadbc8c4ab4726fcb6ec44e5d0 (diff) | |
CCF flags :(
| -rw-r--r-- | opcodes.asm | 4 | ||||
| -rw-r--r-- | testbenches/mine.z80 | 10 |
2 files changed, 8 insertions, 6 deletions
diff --git a/opcodes.asm b/opcodes.asm index 329a825..f6171e9 100644 --- a/opcodes.asm +++ b/opcodes.asm @@ -738,9 +738,11 @@ emu_op_3e: emu_op_3f: ;; CCF ;; Clear carry flag + ;; XXX fuck flags bsr flags_normalize ;; SZ5H3PNC - eor.b #%00010001,flag_byte-flag_storage(a3) + andi.b #%11111110,flag_byte-flag_storage(a3) + ori.b #%00000001,flag_valid-flag_storage(a3) DONE ;nok START diff --git a/testbenches/mine.z80 b/testbenches/mine.z80 index 637d2b5..0b75414 100644 --- a/testbenches/mine.z80 +++ b/testbenches/mine.z80 @@ -20,16 +20,16 @@ dec8: ret ;c9 cond_jr: - ld a,01h ;3e + ld a,01h ;3e 01 cp a ;bf - jr nz,wrong ;20 + jr nz,wrong ;20 07 ccf ;3f - jr c,wrong ;38 + jr c,wrong ;38 scf ;37 - jr nc,wrong ;30 - ret + jr nc,wrong ;30 + ret ;c9 wrong: |
