0100 ;ASCII ART CONVERTER (v 2.0)›0105 ;BY PAUL TUPACZEWSKI›0110 ;(c)1987, ANTIC PUBLISHING INC.›0115 .OPT NO LIST›0120 .OPT OBJ›0125 ;›0130 LOHI1 = $CF ;Page 0›0135 LOHI = $CB ;variables.›0140 POINTER = $CD›0145 ICCOM = $0342 ;CIO command›0150 ICBAL = $0344 ;CIO lo and›0155 ICBAH = $0345 ;Hi buffer adrs›0160 ICBLL = $0348 ;CIO lo and›0165 ICBLH = $0349 ;hi buffer lens›0170 CIOV = $E456 ;OS CIO routine›0175 ICAX1 = $034A ;CIO aux1›0180 ICAX2 = $034B ;CIO aux2›0185 SDLSTL = $0230 ;Dlist pointer›0190 SDMCTL = $022F ;DMA›0195 VDSLST = $0200 ;DLI pointer›0200 NMIEN = $D40E ;DLI switch›0205 WSYNC = $D40A ;Wait for sync›0210 ;›0215 *= $2000›0220 ;›0225 START›0230 LDX #$30 ;First,›0235 LDA #3 ;open our›0240 STA ICCOM,X ;keyboard›0245 LDA # KH›0260 STA ICBAH,X›0265 LDA #4›0270 STA ICAX1,X›0275 LDA #0›0280 STA ICAX2,X›0285 JSR CIOV ;Do it!›0290 ;›0295 ;Main loop.›0300 ST1›0305 JSR CLEARFN ;Clear the›0310 ; filename area.›0315 JSR CLRBIGBUF ;Clear our›0320 ; screen memory›0325 JSR CLEARALLELSE›0330 JSR CLOSE ;Close channels›0335 ;›0340 LDX #$20 ;Close disk›0345 LDA #$0C ;channel.›0350 STA ICCOM,X›0355 JSR CIOV›0360 LDA # DLIST1 ;list.›0375 STA SDLSTL+1›0380 LDA #33 ;Smaller›0385 STA SDMCTL ;screen›0390 LDA #$C4 ;green›0395 STA 710 ;GR.0 lines›0400 LDA # DLI›0415 STA VDSLST+1›0420 LDA #$C0›0425 STA NMIEN›0430 LDA # ST1 ; error.›0445 STA MNUJMP+2›0450 ;›0455 GETKEYS›0460 JSR GETKEY ;Get a key.›0465 LDA KEY ;Is it a›0470 CMP #32 ;space?›0475 BEQ CONVERT ;Yes, convert.›0480 ;›0485 CMP #'G ;Is it G?›0490 BNE NO1 ;No.›0495 ;›0500 LDA #'+-32 ;Toggle from›0505 SEC ;GR.7 to›0510 SBC L5+19 ;GR.7+ or›0515 STA L5+19 ;vice versa.›0520 JMP GETKEYS ;back.›0525 ;›0530 NO1›0535 CMP #'P ;Is it P?›0540 BNE NO2 ;No.›0545 ;›0550 INC POS ;Yes, change›0555 LDA POS ;picture›0560 CMP #4 ;positioning.›0565 BNE NOTOVER›0570 ;›0575 LDA #0›0580 STA POS›0585 ;›0590 NOTOVER›0595 LDX POS ;Show arrow.›0600 LDA ARWS,X›0605 STA L4+23›0610 JMP GETKEYS›0615 ;›0620 NO2›0625 CMP #'C ;Is it C?›0630 BNE NO3 ;No.›0635 ;›0640 LDA #1 ;Toggle column›0645 SEC ;from 80-132 and›0650 SBC COL ;vice versa.›0655 STA COL›0660 ASL A›0665 ASL A›0670 LDY #0›0675 TAX ›0680 LOOPQ›0685 LDA COLS,X ; Show our›0690 STA L1+23,Y ;columns.›0695 INX ›0700 INY ›0705 CPY #4›0710 BNE LOOPQ›0715 ;›0720 JMP GETKEYS›0725 ;›0730 NO3›0735 CMP #'D ;Is it D?›0740 BNE NO4 ;No.›0745 ;›0750 INC FILENAME+1 ;Increment›0755 LDA FILENAME+1 ;default›0760 CMP #'9 ; drive.›0765 BNE OKDRIVE›0770 ;›0775 LDA #'1›0780 STA FILENAME+1›0785 OKDRIVE›0790 LDA FILENAME+1›0795 SEC ›0800 SBC #$20›0805 STA L2+14›0810 JMP GETKEYS›0815 ;›0820 NO4›0825 CMP #'L ;Is it L?›0830 BNE GETKEYS ;No. Start over.›0835 ;›0840 JSR INPUT ;Get filename.›0845 JMP GETKEYS ;Back.›0850 ;›0855 ; Start conversion.›0860 ;›0865 CONVERT›0870 LDA FILENAME+3 ;Is there›0875 CMP #32 ; a filename?›0880 BNE GOTAF1 ; Yes.›0885 ;›0890 JMP GETKEYS ; Do over.›0895 GOTAF1›0900 JSR SETMD ; Set borders.›0905 LDA #