From 70bc8883020a2da4326439a8308513a7385dc568 Mon Sep 17 00:00:00 2001 From: Duncan Smith Date: Mon, 6 Sep 2010 18:09:29 -0700 Subject: 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. --- main.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'main.asm') diff --git a/main.asm b/main.asm index 9a4789f..e6f2a54 100644 --- a/main.asm +++ b/main.asm @@ -66,8 +66,8 @@ emu_setup: lea flag_storage,a3 move.w #$4000,d1 bsr deref - move a0,a6 - move a0,a4 + move.l a0,a6 + move.l a0,a4 rts -- cgit v1.2.3