summaryrefslogtreecommitdiff
path: root/loader.c
diff options
context:
space:
mode:
authorDuncan Smith2010-06-26 21:28:22 -0700
committerDuncan Smith2010-06-26 21:28:22 -0700
commit0248da5e2c262d6934fd48c23212d866e250b9ed (patch)
tree2d97fb322ecc063e2804ed8d7914083ec3ee60ab /loader.c
parente9b9990833bfd1de7e8ed726a686076b2fb0e512 (diff)
Rewrote loader routine in C
Diffstat (limited to 'loader.c')
-rw-r--r--loader.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/loader.c b/loader.c
new file mode 100644
index 0000000..9808b34
--- /dev/null
+++ b/loader.c
@@ -0,0 +1,42 @@
+/* Loading routines for 680 project.
+ *
+ * Includes splash screen, choose-an-image, etc.
+ *
+ * Copyright 2010, Duncan 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;
+
+}