audit: implement error printing

This commit is contained in:
Zellyn Hunter 2016-12-16 22:32:35 -05:00
parent 2cb576c492
commit 284c4cfddc
3 changed files with 47 additions and 3 deletions

View File

@ -7,7 +7,9 @@
HOME = $FC58
COUT = $FDED
CROUT = $FD8E
PRBYTE = $FDDA
PRNTYX = $F940
STRINGS = $7000
!set LASTSTRING = $7000
@ -44,7 +46,36 @@ getch lda $FEED ; FEED gets modified
jsr COUT
jmp -
+ rts
errora
pha
lda $C082
lda #'A'
jsr COUT
lda #':'
jsr COUT
pla
jsr PRBYTE
jsr CROUT
error
lda $C082
pla
sta getche+1
pla
sta getche+2
- inc getche+1
bne getche
inc getche+2
getche lda $FEED ; FEED gets modified
beq +
jsr COUT
jmp -
+
+print
!text "ZELLYN.COM/A2AUDIT/V0#E",0
+printed
jsr PRNTYX
rts
!src "technote2.asm"
; !if * != STRINGS {

View File

@ -14,7 +14,7 @@ diskii put -f audit.dsk DF02:FWORLD audit.o
# Extract extended error strings and rebuild ../v0/index.md
echo -e '# V0 Errors' > ../v0/index.md
grep -h '+prerr .*;;' *.asm | awk -F' ;; ' '{print $2}' | sort | sed 's|\(E....\): |\
grep -h '+prerra\? .*;;' *.asm | awk -F' ;; ' '{print $2}' | sort | sed 's|\(E....\): |\
## \1\
\
|' >> ../v0/index.md

View File

@ -15,9 +15,22 @@
}
!macro prerr NUM {
+print
jsr LASTSTRING
!set TEMP = *
* = LASTSTRING
jsr error
}
!macro prerred {
!byte $8D
+printed
}
;; A version of prerr that also displays the current value of A.
!macro prerra NUM {
ldy #>NUM
ldx #<NUM
jsr LASTSTRING
!set TEMP = *
* = LASTSTRING
jsr errora
}