summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Smith2010-09-10 19:40:53 -0700
committerDuncan Smith2010-09-10 19:40:53 -0700
commitbb5e929390e4f1e91713ebc7b56a10ff8b44551b (patch)
treed611109e3828de3a93b67e19c334aa07d37ca69e
parent229c37b4300394b837e48dd30b0d1e5a4ab49b93 (diff)
Two more fixes
The underef function will now return 0 if a match is not found, rather than returning something undefined. The routine for CALL immed.w was mistakenly calling deref with a truncated address. This has been fixed.
-rw-r--r--main.asm1
-rw-r--r--opcodes.asm4
2 files changed, 4 insertions, 1 deletions
diff --git a/main.asm b/main.asm
index b765fd3..0480c52 100644
--- a/main.asm
+++ b/main.asm
@@ -154,6 +154,7 @@ underef_not1:
underef_not2:
suba.l (a1)+,a0
;; if that fails too, well shit man!
+ moveq #0,d0
underef_thatsit:
rts
diff --git a/opcodes.asm b/opcodes.asm
index e366b90..e49a193 100644
--- a/opcodes.asm
+++ b/opcodes.asm
@@ -555,6 +555,8 @@ emu_op_2a:
FETCHW d1,ehl
DONE
+ ;; XXX TOO LONG
+
START
emu_op_2b:
;; DEC HL
@@ -1873,7 +1875,7 @@ emu_op_cd:
;; (SP-2) <- PCl
;; SP <- SP - 2
;; PC <- address
- move epc,a0
+ move.l epc,a0
bsr underef ; d0 has PC
PUSHW d0
FETCHWI d0