10 ; 20 .TITLE "PRNTSC ROUTINE" 30 .PAGE "ROUTINES FOR PRINTING ON THE SCREEN" 40 ; 50 *= $5000 60 ; 70 BUFLEN = 25 80 ; 90 EOL = $9B ;ATASCII CODE FOR END OF LINE CHARACTER 0100 ; 0110 OPEN = $03 ;TOKEN FOR OPENING A DEVICE OR FILE 0120 OWRIT = $08 ;TOKEN FOR "OPEN FOR WRITE OPERATIONS" 0130 PUTCHR = $0B ;TOKEN FOR "PUT CHARACTER" 0140 CLOSE = $0C ;TOKEN FOR CLOSING A DEVICE OR FILE 0150 ; 0160 IOCB2 = $20 ;OFFSET FOR IOCB NO.2 0170 ICCOM = $0342 ;COMMAND BYTE (CONTROLS CIO OPERATIONS) 0180 ICBAL = $0344 ;BUFFER ADDRESS (LOW BYTE) 0190 ICBAH = $0345 ;BUFFER ADDRESS (HIGH BYTE) 0200 ICBLL = $0348 ;BUFFER LENGTH (LOW BYTE) 0210 ICBLH = $0349 ;BUFFER LENGTH (HIGH BYTE) 0220 ICAX1 = $034A ;AUXILIARY BYTE NO.1 0230 ICAX2 = $034B ;AUXILIARY BYTE NO.2 0240 ; 0250 CIOV = $E456 ;CIO VECTOR 0260 ; 0270 DEVNAM .BYTE "E:",EOL 0280 ; 0290 OPNSCR 0300 LDX #IOCB2 0310 LDA #OPEN 0320 STA ICCOM,X 0330 ; 0340 LDA #DEVNAM&255 0350 STA ICBAL,X 0360 LDA #DEVNAM/256 0370 STA ICBAH,X 0380 ; 0390 LDA #OWRIT 0400 STA ICAX1,X 0410 LDA #0 0420 STA ICAX2,X 0430 JSR CIOV 0440 ; 0450 LDA #PUTCHR 0460 STA ICCOM,X 0470 ; 0480 LDA #TXTBUF&255 0490 STA ICBAL,X 0500 LDA #TXTBUF/256 0510 STA ICBAH,X 0520 RTS 0530 ; 0540 PRNT 0550 LDX #IOCB2 0560 LDA #BUFLEN&255 0570 STA ICBLL,X 0580 LDA #BUFLEN/256 0590 STA ICBLH,X 0600 JSR CIOV 0610 RTS 0620 ; 0630 CLOSED 0640 LDX #IOCB2 0650 LDA #CLOSE 0660 STA ICCOM,X 0670 JSR CIOV 0680 RTS 0690 ; 0700 TXTBUF = * 0710 ; 0720 *= *+BUFLEN 0730 ; 0740 .END
Back to previous page