summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--680.h6
-rw-r--r--Makefile3
-rw-r--r--bankswap.c4
-rw-r--r--loader.c2
4 files changed, 11 insertions, 4 deletions
diff --git a/680.h b/680.h
index e69de29..f55ffe8 100644
--- a/680.h
+++ b/680.h
@@ -0,0 +1,6 @@
+#ifndef H680_H
+#define H680_H
+
+extern void throw_error(char *);
+
+#endif
diff --git a/Makefile b/Makefile
index 45601d9..9eccfbc 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,13 @@
ASM_FILES=alu.asm flags.asm opcodes.asm ports.asm interrupts.asm main.asm
ASM=main.asm
C_FILES=loader.c bankswap.c video.c misc.c debug.c
+C_HEADERS=680.h asm_vars.h
MADE_FILES=testbenches/zexdoc.h testbenches/mine.h
TIGCCFLAGS=-Wall
CFLAGS=-Wall -ltifiles
-z680.89z: $(ASM_FILES) $(C_FILES) $(MADE_FILES)
+z680.89z: $(ASM_FILES) $(C_FILES) $(MADE_FILES) $(C_HEADERS)
tigcc $(TIGCCFLAGS) $(ASM) $(C_FILES) -o z680.89z
packager: packager.c
diff --git a/bankswap.c b/bankswap.c
index a8bb85b..bac1318 100644
--- a/bankswap.c
+++ b/bankswap.c
@@ -11,7 +11,7 @@
/* Process orders to swap bank A (port 06, 0x4000). */
void bankswap_a_write(char data)
{
- mem_page_1 = pages[data];
+ mem_page_1 = pages[(int)data];
mem_page_loc_1 = data;
return;
}
@@ -19,7 +19,7 @@ void bankswap_a_write(char data)
/* Process orders to swap bank B (port 07, 0x8000). */
void bankswap_b_write(char data)
{
- mem_page_2 = pages[data];
+ mem_page_2 = pages[(int)data];
mem_page_loc_2 = data;
return;
}
diff --git a/loader.c b/loader.c
index 2640d9c..e6da3de 100644
--- a/loader.c
+++ b/loader.c
@@ -95,7 +95,7 @@ void *deref_page(int number)
char *fdata;
int fsize;
- sprintf(&page_name, "pg_%02x", number);
+ sprintf(page_name, "pg_%02x", number);
hsym = SymFind(SYMSTR(page_name));
if(hsym.folder == 0)