;;; Apple II audit routines ;;; Copyright © 2016 Zellyn Hunter !convtab !to "audit.o", plain * = $6000 HOME = $FC58 COUT = $FDED CROUT = $FD8E PRBYTE = $FDDA PRNTYX = $F940 STRINGS = $7000 !set LASTSTRING = $7000 ;; Printing and error macros. !src "macros.asm" main: jsr HOME +print !text "APPLE II AUDIT",$8D,$8D +printed ;; Detection and reporting of model and memory. !src "detect.asm" ;; Language card tests. !src "langcard.asm" end: jmp * print lda $C081 lda $C081 pla sta getch+1 pla sta getch+2 - inc getch+1 bne getch inc getch+2 getch lda $FEED ; FEED gets modified beq + 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 { ; !error "Expected STRINGS to be ", * ; } !if * > STRINGS { !error "End of compilation passed STRINGS:", * }