diff options
| author | Astrid Smith | 2010-07-03 21:30:14 -0700 |
|---|---|---|
| committer | Astrid Smith | 2010-07-03 21:30:14 -0700 |
| commit | 70d0b5e32c6b9d7685a18e153504cfd88ba0f420 (patch) | |
| tree | fd90c61dd77026d1c10e0ee1de2c7edc2cb1391e | |
| parent | 3f191892ed3dd8a9f8ad81cb039468d3ef2aa172 (diff) | |
Now it compiles properly. Still doesn't seem to run without address error, though.
| -rw-r--r-- | asm_vars.h | 2 | ||||
| -rw-r--r-- | bankswap.c | 2 | ||||
| -rw-r--r-- | loader.c | 8 | ||||
| -rw-r--r-- | main.asm | 15 | ||||
| -rw-r--r-- | ports.asm | 4 |
5 files changed, 23 insertions, 8 deletions
@@ -12,6 +12,6 @@ extern void* mem_page_loc_3; extern void** pages; - +#define PAGE_SIZE 0x4000 #endif @@ -6,8 +6,6 @@ #include "asm_vars.h" -void* pages[256]; - /* Address 0000 is always bound to ROM page 0. */ /* Process orders to swap bank A (port 06, 0x4000). */ @@ -5,17 +5,19 @@ * Copyright 2010, Astrid Smith * GPL */ -#include <tigcc.h> +#include <tigcclib.h> #include "asm_vars.h" void init_load(void) { + int i; + pages = malloc(256 * sizeof(void*)); /* Page layout: * 0x40 RAM * 0x41 RAM - + * * 0x00 ROM * ... all the way to ... * 0x1f ROM @@ -26,7 +28,7 @@ void init_load(void) pages[0x41] = malloc(PAGE_SIZE * sizeof(char)); // ROM pages - for (int i = 0; i++; i <= 0x1f) { + for (i = 0; i++; i <= 0x1f) { pages[i] = pages[0x40]; } @@ -67,6 +67,7 @@ __main: emu_setup: movea emu_plain_op,a5 lea emu_run,a2 + lea flag_storage,a3 rts @@ -97,11 +98,25 @@ mem_page_1: dc.l 0 ; bank 1 mem_page_2: dc.l 0 ; bank 2 mem_page_3: dc.l 0 ; bank 3 + xdef mem_page_0 + xdef mem_page_1 + xdef mem_page_2 + xdef mem_page_3 + mem_page_loc_0: dc.b 0 mem_page_loc_1: dc.b 0 mem_page_loc_2: dc.b 0 mem_page_loc_3: dc.b 0 + xdef mem_page_loc_0 + xdef mem_page_loc_1 + xdef mem_page_loc_2 + xdef mem_page_loc_3 + +pages: dc.l 0 + + xdef pages + ;; Take a physical address in a0 and turn it into a virtual ;; address in d0 ;; Destroys d0 @@ -543,7 +543,7 @@ port_out_04: SAVEREG move.b d1,-(a7) jsr bankswap_b_write - addq 2,a7 + addq #2,a7 RESTREG rts @@ -555,7 +555,7 @@ port_out_06: SAVEREG move.b d1,-(a7) jsr bankswap_a_write - addq 2,a7 + addq #2,a7 RESTREG rts |
