From d4531592df4e6570d42073295ecd3481b6d934fa Mon Sep 17 00:00:00 2001 From: Paul Gardner-Stephen Date: Tue, 23 Apr 2019 00:23:47 +0930 Subject: [PATCH] get cold start display looking okay --- c64/basic/basic_cold_start.s | 17 +++++++++++++---- src/make_error_tables.c | 10 ++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/c64/basic/basic_cold_start.s b/c64/basic/basic_cold_start.s index f321e0ff..8ea150c4 100644 --- a/c64/basic/basic_cold_start.s +++ b/c64/basic/basic_cold_start.s @@ -6,9 +6,14 @@ basic_cold_start: ;; Initialise interpretor ;; Print start up message + ;; Print coloured part of the message ldy #>startup_message lda #MEGABASIC - .byte $12,$05,$4D,$45,$47,$41,$92,$42,$41,$53,$49,$43 - ;; carriage return at end - .byte $0D + ;; MEGABASIC\r\r + .byte $12,$05,$4D,$45,$47,$41,$92 + .byte $42,$41,$53,$49,$43 + .byte $20,$56,$32,$2e,$30,$2e,$30 + .byte $0D,$0D + + ;; XXX - Hard code in the 38911 for now + .byte $33,$38,$39,$31,$31,$20 .byte 0 diff --git a/src/make_error_tables.c b/src/make_error_tables.c index bca9f0dd..66c210de 100644 --- a/src/make_error_tables.c +++ b/src/make_error_tables.c @@ -43,6 +43,7 @@ char *error_list[]={ "VERIFYING", "SAVING", "ERROR", // #33 + "BYTES FREE.\r\r", // #34 NULL}; // Token $FF is end of message, so we can have only 255 unique words @@ -222,6 +223,15 @@ int main(void) fprintf(stderr,"Space saving = %d bytes\n",raw_size-packed_len-token_count); + if (packed_len>255) { + fprintf(stderr,"ERROR: packed_len>255\n"); + exit(-1); + } + if (token_count>255) { + fprintf(stderr,"ERROR: token_count>255\n"); + exit(-1); + } + printf("packed_message_chars:\n"); for(int i=0;i