aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile6
-rw-r--r--bigint48.h2
-rw-r--r--crt0_5200.s5
3 files changed, 11 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 0e5b021..adbbb7d 100644
--- a/Makefile
+++ b/Makefile
@@ -110,13 +110,17 @@ BIGNUM_CFLAGS=-DBIGNUM=BIGFLOAT
# Uncomment these for experimental int48 big numbers. Support
# hasn't been added, so leave these commented for now.
-#BIGNUM_SRC=bigint48.c
+#BIGNUM_SRC=bigint48.s
#BIGNUM_HDRS=bignum.h bigint48.h
#BIGNUM_CFLAGS=-DBIGNUM=BIGINT48
# Default rule for plain 'make' command is to build the binary.
all: checkenv $(XEX) tags
+biginttest: clean
+ $(MAKE) BIGNUM_SRC=bigint48.s BIGNUM_HDRS="bignum.h bigint48.h" BIGNUM_CFLAGS=-DBIGNUM=BIGINT48
+ atari800 -nobasic $(XEX)
+
# I have F10 in my editor bound to 'make test', so:
test: clean all
atari800 -nobasic $(XEX)
diff --git a/bigint48.h b/bigint48.h
index 92b119b..fbc7aaa 100644
--- a/bigint48.h
+++ b/bigint48.h
@@ -27,5 +27,5 @@
#define BIG_1T { 0x00, 0x10, 0xa5, 0xd4, 0xe8, 0x00 }
/* max value for a ulong, 2**32-1 */
-#define BIG_MAX_ULONG { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }
+#define BIG_MAX_ULONG { 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 }
diff --git a/crt0_5200.s b/crt0_5200.s
index cdc882a..102bab9 100644
--- a/crt0_5200.s
+++ b/crt0_5200.s
@@ -104,6 +104,11 @@ start:
lda #$02
sta SKCTL ;Enable Keyboard scanning
+ lda #$40
+ sta IRQEN ; enable keyboard IRQ
+ sta POKMSK
+ cli ; enable IRQ
+
.out .sprintf("%d bytes", * - start)
;;; end of OS ROM code, rest of file is standard 5200 crt0.s.