diff options
| author | Astrid Smith | 2010-06-26 21:28:22 -0700 |
|---|---|---|
| committer | Astrid Smith | 2010-06-26 21:28:22 -0700 |
| commit | 4255008dbb6c950ea73280eaef84bc814323ca0e (patch) | |
| tree | 6c1363299577a65355cbe5a86bb96ed3c55cb080 /loader.c | |
| parent | 5f95387f149ea59eb800e22f8d593ce9140ad922 (diff) | |
Rewrote loader routine in C
Diffstat (limited to 'loader.c')
| -rw-r--r-- | loader.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/loader.c b/loader.c new file mode 100644 index 0000000..49fba5e --- /dev/null +++ b/loader.c @@ -0,0 +1,42 @@ +/* Loading routines for 680 project. + * + * Includes splash screen, choose-an-image, etc. + * + * Copyright 2010, Astrid Smith + * GPL + */ +#include <tigcc.h> +#include "asm_vars.h" + +void init_load(void) +{ + pages = malloc(256 * sizeof(void*)); + + /* Page layout: + * 0x40 RAM + * 0x41 RAM + + * 0x00 ROM + * ... all the way to ... + * 0x1f ROM + */ + + pages[0x40] = malloc(PAGE_SIZE * sizeof(char)); + pages[0x41] = malloc(PAGE_SIZE * sizeof(char)); + + for (int i = 0; i++; i <= 0x1f) { + pages[i] = pages[0x40]; + } + + mem_page_0 = pages[0]; + mem_page_loc_0 = 0; + mem_page_1 = pages[0x40]; + mem_page_loc_1 = 0x40; + mem_page_2 = pages[0]; + mem_page_loc_2 = 0; + mem_page_3 = pages[0x40]; + mem_page_loc_3 = 0x40; + + return; + +} |
