
 1000  *SAVE S.NEW 80 COL MONITOR DUMP
 1010  *--------------------------------
 1020  *   TO INSTALL,
 1030  *      1.  ASSEMBLE THIS PROGRAM
 1040  *      2.  ENTER THESE MONITOR COMMANDS
 1050  *    $C083 C083 FCC9<CC9.CEFM
 1060  *    $FDBE:C9 FC N FDA6:F N FDB0:F
 1070  *--------------------------------
 1080  *   BY JAN EUGENIDES & BOB S-C
 1090  *--------------------------------
 1100  CH     .EQ $24
 1110  A1     .EQ $3C,3D
 1120  A2     .EQ $3E,3F
 1130  A4     .EQ $42,43
 1140  BUFFER .EQ $2F0
 1150  PRBYTE .EQ $FDDA
 1160  COUT   .EQ $FDED
 1170  PRBLNK .EQ $F948
 1180  *--------------------------------
 1190         .OR $FCC9
 1200         .TA $CC9
 1210  *--------------------------------
 1220  PATCH  PHA          SAVE BYTE
 1230         LDA A1       COMPUTE INDEX
 1240         AND #$0F     0...F
 1250         TAX
 1260         PLA          GET BYTE AGAIN
 1270         STA BUFFER,X SAVE IN BUFFER
 1280         JSR PRBYTE   PRINT ON SCREEN
 1290         INX          GET # BYTES THIS LINE
 1300         STX A4       SAVE IN A4L
 1310         CPX #$10     END OF LINE?
 1320         BEQ .1       ...YES, PRINT ASCII CHARS
 1330         LDA A1       ...NO, SEE IF END OF RANGE
 1340         CMP A2
 1350         LDA A1+1
 1360         SBC A2+1
 1370         BCC .4       ...NO, RETURN
 1380  .1     JSR PRBLNK   PRINT 3 SPACES
 1390         LDX #0       PRINT ASCII CHARS FROM BUFFER
 1400  .2     LDA BUFFER,X GET CHAR
 1410         ORA #$80     MAKE NORMAL VIDEO
 1420         CMP #$A0     TRAP CONTROL CHARS
 1430         BCS .3       ...NOT CONTROL CHAR
 1440         LDA #$AE     ...CTRL, SUBSTITUTE "."
 1450  .3     JSR COUT     PRINT CHAR
 1460         INX          NEXT
 1470         CPX A4       END OF LIST?
 1480         BCC .2       ...NOT YET
 1490  .4     RTS          RETURN

