From dbbfe4d490d9090846cd3b9ff137ae69fc01ce5b Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Tue, 29 Mar 2016 01:03:05 -0400 Subject: add "biginttest" make target, fix bad constant in bigint48.h --- Makefile | 6 +++++- bigint48.h | 2 +- crt0_5200.s | 5 +++++ 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. -- cgit v1.2.3