01* PRINT SCREEN KEY 02* ORIGINAL CODE FROM COMPUTE! 03* APRIL'86 BY RALPH JOHNSON 04* MODIFIED TO BE CALLED WITH CTRL-4 05* BUZZ HAMILTON [73557,1031] JUNE'86 06* 07* WILL DUMP GRAPHIC 0 SCREEN TO 08* PRINTER WHEN CTRL-4 IS HIT 10 ICCOM = $342 20 ICAX1 = $34A 30 ICBAL = $344 40 ICBAH = $345 50 ICBLL = $348 60 ICBLH = $349 70 CIOV = $E456 74 DOSINI = $C 80 SAVMSC = $58 90 SPBYT1 = $CB 0100 SPBYT2 = $CC 0110 VKEYBD = $208 0120 CDTMA2 = $228 0130 RUNAD = $2E0 0135 PRNBUF = $3C0 0140 SETVBV = $E45C 0150 KBCODE = $D209 0160 CTRL4 = $98 0170 *=$0600 0177 RESET 0178 JSR $FFFF 0190 SEI 0200 LDA VKEYBD 0210 CMP #NVKYBD&255 0220 BNE STORE 0230 LDA VKEYBD+1 0240 CMP #NVKYBD/256 0250 BEQ EXIT 0260 STORE 0270 LDA VKEYBD 0280 STA JUMP+1 0290 LDA VKEYBD+1 0300 STA JUMP+2 0310 LDA #NVKYBD&255 0320 STA VKEYBD 0330 LDA #NVKYBD/256 0340 STA VKEYBD+1 0350 EXIT 0360 CLI 0370 RTS 0380 NVKYBD 0390 LDA KBCODE 0400 CMP #CTRL4 0401 BNE JUMP 0404 LDA #DOPRT&255 0407 STA CDTMA2 0410 LDA #DOPRT/256 0413 STA CDTMA2+1 0416 LDA #2 0419 LDY #30 0422 LDX #0 0425 JSR SETVBV 0426 PLA 0428 RTI 0520 JUMP 0530 JMP JUMP 0540 DOPRT 0550 LDX #$50 0560 LDA #$03 0570 STA ICCOM,X 0580 LDA #$08 0590 STA ICAX1,X 0600 LDA #DEV&255 0610 STA ICBAL,X 0620 LDA #DEV/256 0630 STA ICBAH,X 0640 LDA #$00 0650 STA LCNT 0660 STA ICBLH,X 0670 LDA #$FF 0680 STA ICBLL,X 0690 JSR CIOV 0700 LDA SAVMSC 0710 STA SPBYT1 0720 LDA SAVMSC+1 0730 STA SPBYT2 0740 LDX #$00 0750 LOOP 0760 LDY #$00 0770 CLC 0780 LDA ($CB),Y 0790 ADC #$20 0800 STA PRNBUF,X 0810 INX 0820 CLC 0830 LDA SPBYT1 0840 ADC #$01 0850 STA SPBYT1 0860 LDA SPBYT2 0870 ADC #$00 0880 STA SPBYT2 0890 LDA LCNT 0900 CMP #$18 0910 BEQ CLOSE 0920 CPX #$28 0930 BNE LOOP 0940 PRINT 0950 LDA #$9B 0960 STA PRNBUF,X 0970 INC LCNT 0980 LDX #$50 0990 LDA #$09 1000 STA ICCOM,X 1010 LDA #PRNBUF&255 1020 STA ICBAL,X 1030 LDA #PRNBUF/256 1040 STA ICBAH,X 1050 LDA #$00 1060 STA ICBLH,X 1070 LDA #$FF 1080 STA ICBLL,X 1090 JSR CIOV 1100 LDX #$00 1110 CPX #$00 1120 BEQ LOOP 1130 CLOSE 1140 LDX #$50 1150 LDA #$0C 1160 STA ICCOM,X 1170 JSR CIOV 1180 RTS 1190 LCNT 1200 .BYTE 0 1210 DEV 1220 .BYTE "P:" 1221 BEGIN 1222 LDA DOSINI 1223 STA RESET+1 1224 LDA DOSINI+1 1225 STA RESET+2 1226 LDA #RESET&255 1227 STA DOSINI 1228 LDA #RESET/256 1229 STA DOSINI+1 1230 JMP RESET+3 1260 *=RUNAD 1270 .WORD BEGIN {{{{{