From df55ff6d25bc4cfe31cc8936e4a4d16a0b4edaf5 Mon Sep 17 00:00:00 2001 From: Paul Gardner-Stephen Date: Fri, 26 Apr 2019 23:10:47 +0930 Subject: [PATCH] honour length of packed keyword table --- c64/basic/packed_messages.s | 1 + c64/basic/tokenise_line.s | 2 +- src/compress_text.c | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/c64/basic/packed_messages.s b/c64/basic/packed_messages.s index 93e95c47..92a9287d 100644 --- a/c64/basic/packed_messages.s +++ b/c64/basic/packed_messages.s @@ -120,3 +120,4 @@ packed_keywords: .byte $f6,$2f,$24,$00,$f2,$5b,$f9,$00 .byte $f1 .byte $30 + .alias packed_keyword_table_len $DA diff --git a/c64/basic/tokenise_line.s b/c64/basic/tokenise_line.s index 8e06df36..9f5534a1 100644 --- a/c64/basic/tokenise_line.s +++ b/c64/basic/tokenise_line.s @@ -137,7 +137,7 @@ next_kw_offset: ;; Advance offset in compressed token list, and stop at the end inc tokenise_work3 lda tokenise_work3 - cmp #$ff + cmp #packed_keyword_table_len bne next_in_match jmp done_searching_for_token next_in_match: diff --git a/src/compress_text.c b/src/compress_text.c index f6f9f171..29a3bf6b 100644 --- a/src/compress_text.c +++ b/src/compress_text.c @@ -472,6 +472,7 @@ int main(void) } else printf("\t.byte $%02x\n",packed_keywords[i]); } + printf("\t.alias packed_keyword_table_len $%X\n",packedkey_len); fprintf(stderr,"Error list takes %d bytes raw.\n",raw_size); fprintf(stderr,"%d token bytes used to encode all messages.\n",token_count);