diff options
| author | Duncan Smith | 2010-09-06 18:09:29 -0700 |
|---|---|---|
| committer | Duncan Smith | 2010-09-06 18:34:53 -0700 |
| commit | 70bc8883020a2da4326439a8308513a7385dc568 (patch) | |
| tree | 2c00f58ac572825778f8a9af5fcfb2dbc0cf1c97 /opcodes.asm | |
| parent | d6c7556b85644c188f82baba6e460f11e27a0454 (diff) | |
Fixes to actually run code
This is the version to run the first (trivial) infinite loop
correctly. I hacked up the loader slightly to replace one of the
(nonexistent) pages with a static byte array.
z80 code executed:
$4000:
JP $4000
4000 c3 40 00
4003
This version also draws the opcode executed on the screen, to aid in
debugging the emulator:
move.b d0,$4c00+32*(128/8)
Also, it turns out that I was mixing up the emulated SP (a4) and emulated
PC (a6). That has been fixed.
Further, it seems that movea defaults to a word operation in a68k.
This led to pointer corruption, which has been fixed.
Diffstat (limited to 'opcodes.asm')
| -rw-r--r-- | opcodes.asm | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/opcodes.asm b/opcodes.asm index fe5547c..8042296 100644 --- a/opcodes.asm +++ b/opcodes.asm @@ -108,7 +108,8 @@ _align SET _align+$20 ;; This is run at the end of every instruction routine. DONE MACRO clr.w d0 ; 4 cycles / 2 bytes - move.b (a4)+,d0 ; 8 cycles / 2 bytes + move.b (a6)+,d0 ; 8 cycles / 2 bytes + move.b d0,$4c00+32*(128/8) rol.w #5,d0 ;16 cycles / 2 bytes jmp 0(a5,d0.w) ;14 cycles / 4 bytes ;; overhead: 42 cycles /10 bytes @@ -602,7 +603,7 @@ emu_op_31: ;; LD SP,immed.w FETCHWI d1 bsr deref - movea a0,a4 + movea.l a0,a4 DONE START @@ -1792,7 +1793,7 @@ emu_op_c3: ; S12 T36 ;; PC <- immed.w FETCHWI d1 bsr deref - movea a0,a6 + movea.l a0,a6 DONE START @@ -1844,7 +1845,7 @@ emu_op_c9: ;; SP <- (SP+2) POPW d1 bsr deref - movea a0,a6 + movea.l a0,a6 DONE START @@ -2095,7 +2096,7 @@ emu_op_e9: ;; JP (HL) FETCHB d6,d1 bsr deref - movea a0,a6 + movea.l a0,a6 DONE START @@ -2225,7 +2226,7 @@ emu_op_f9: ;; SP <- HL move.w d6,d1 bsr deref - movea a0,a4 + movea.l a0,a4 DONE START |
