improve printing of BASIC errors.

This commit is contained in:
Paul Gardner-Stephen committed 2019-04-22 23:40:27 +09:30
1 parent ab81f479a1
commit c43dbe1c29
4 files changed
+37 -37

No files matched your search

+34 -33
View File
@@ -1,39 +1,40 @@
;; Compute's Mapping the 64 p93
basic_do_error:
;; Save error number
txa
pha
;; Print ? at start
lda #$0d
jsr $ffd2
lda #$3f
jsr $ffd2
;; Print main part of error message
pla
tax
jsr print_packed_message
;; Print ERROR at end
lda #$20
jsr $ffd2
ldx #33
jsr print_packed_message
;; XXX print IN if not in direct mode
;; XXX print line number if not in direct mode
lda #$0d
jsr $ffd2
lda #$0d
jsr $ffd2
;; Reset stack, and go back to main loop
ldx #$fe
txs
jmp basic_main_loop
basic_error_messages:
.byte "TOO MANY FILES",0
.byte "FILE OPEN",0
.byte "FILE NOT OPEN",0
.byte "FILE NOT FOUND",0
.byte "DEVICE NOT PRESENT",0
.byte "NOT INPUT FILE",0
.byte "NOT OUTPUT FILE",0
.byte "MISSING FILENAME",0
.byte "ILLEGAL DEVICE NUMBER",0
.byte "NEXT WITHOUT FOR",0
.byte "SYNTAX",0
.byte "RETURN WITHOUT GOSUB",0
.byte "OUT OF DATA",0
.byte "ILLEGAL QUANTITY",0
.byte "OVERFLOW",0
.byte "OUT OF MEMORY",0
.byte "UNDEF'D STATEMENT",0
.byte "BAD SUBSCRIPT",0
.byte "REDIM'D ARRAY",0
.byte "DIVISION BY ZERO",0
.byte "ILLEGAL DIRECT",0
.byte "TYPE MISMATCH",0
.byte "STRING TOO LONG",0
.byte "FILE DATA",0
.byte "FORMULA TOO COMPLEX",0
.byte "CAN'T CONTINUE",0
.byte "UNDEF'D FUNCTION",0
.byte "VERIFY",0
.byte "LOAD",0