diff options
| author | Astrid Smith | 2010-09-07 19:12:01 -0700 |
|---|---|---|
| committer | Astrid Smith | 2010-09-07 19:12:01 -0700 |
| commit | 63ac7e42bd2aefab3ae00c0f5a81dffdf3c102db (patch) | |
| tree | a308f1db0435ef16524dc1411118d44427d14ddd /loader.c | |
| parent | b3aef0ee73d2e2ee86c1a9f75cfd56d0be220d0f (diff) | |
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.
Diffstat (limited to 'loader.c')
| -rw-r--r-- | loader.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -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; |
