From dbe094eeae873ff5788b99d8a9c763df963d3a30 Mon Sep 17 00:00:00 2001 From: Duncan Smith Date: Tue, 7 Sep 2010 19:12:01 -0700 Subject: IO port framework now works A68k is defaulting all my address moves to word size, rather than long. I don't know whether I've expunged all this nonsense yet, but I'm trying. This version executes an infinite loop which writes 'A' to port 00h. I've patched in a write-to-console function on port 00h, so this can be used as a sort of debug monitor. --- loader.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'loader.c') diff --git a/loader.c b/loader.c index 97f2d4c..75654f4 100644 --- a/loader.c +++ b/loader.c @@ -12,7 +12,12 @@ HANDLE page_handles[256]; -char infloop[16] = { 0xC3, 0x40, 0, 0, 0, 0 }; +char infloop[16] = { 0xC3, 0x40, // JP 4000h + 0, 0, 0, 0 }; +char writestr[16] = { 0x3E, 0x41, // LD A,'A' + 0xD3, 0x00, // OUT 00h,A + 0xC3, 0x40, 0x00 // JP 4000h +}; void init_load(void); void *deref_page(int); @@ -58,7 +63,7 @@ void init_load(void) mem_page_0 = pages[0]; mem_page_loc_0 = 0; // mem_page_1 = pages[0x1f]; - mem_page_1 = infloop; + mem_page_1 = writestr; mem_page_loc_1 = 0x1f; mem_page_2 = pages[0]; mem_page_loc_2 = 0; -- cgit v1.2.3