0100 ;ASCII ART CONVERTER (v 2.0)0105 ;BY PAUL TUPACZEWSKI0110 ;(c)1987, ANTIC PUBLISHING INC.0115 .OPT NO LIST0120 .OPT OBJ0125 ;0130 LOHI1 = $CF ;Page 00135 LOHI = $CB ;variables.0140 POINTER = $CD0145 ICCOM = $0342 ;CIO command0150 ICBAL = $0344 ;CIO lo and0155 ICBAH = $0345 ;Hi buffer adrs0160 ICBLL = $0348 ;CIO lo and0165 ICBLH = $0349 ;hi buffer lens0170 CIOV = $E456 ;OS CIO routine0175 ICAX1 = $034A ;CIO aux10180 ICAX2 = $034B ;CIO aux20185 SDLSTL = $0230 ;Dlist pointer0190 SDMCTL = $022F ;DMA0195 VDSLST = $0200 ;DLI pointer0200 NMIEN = $D40E ;DLI switch0205 WSYNC = $D40A ;Wait for sync0210 ;0215 *= $20000220 ;0225 START0230 LDX #$30 ;First,0235 LDA #3 ;open our0240 STA ICCOM,X ;keyboard0245 LDA # KH0260 STA ICBAH,X0265 LDA #40270 STA ICAX1,X0275 LDA #00280 STA ICAX2,X0285 JSR CIOV ;Do it!0290 ;0295 ;Main loop.0300 ST10305 JSR CLEARFN ;Clear the0310 ; filename area.0315 JSR CLRBIGBUF ;Clear our0320 ; screen memory0325 JSR CLEARALLELSE0330 JSR CLOSE ;Close channels0335 ;0340 LDX #$20 ;Close disk0345 LDA #$0C ;channel.0350 STA ICCOM,X0355 JSR CIOV0360 LDA # DLIST1 ;list.0375 STA SDLSTL+10380 LDA #33 ;Smaller0385 STA SDMCTL ;screen0390 LDA #$C4 ;green0395 STA 710 ;GR.0 lines0400 LDA # DLI0415 STA VDSLST+10420 LDA #$C00425 STA NMIEN0430 LDA # ST1 ; error.0445 STA MNUJMP+20450 ;0455 GETKEYS0460 JSR GETKEY ;Get a key.0465 LDA KEY ;Is it a0470 CMP #32 ;space?0475 BEQ CONVERT ;Yes, convert.0480 ;0485 CMP #'G ;Is it G?0490 BNE NO1 ;No.0495 ;0500 LDA #'+-32 ;Toggle from0505 SEC ;GR.7 to0510 SBC L5+19 ;GR.7+ or0515 STA L5+19 ;vice versa.0520 JMP GETKEYS ;back.0525 ;0530 NO10535 CMP #'P ;Is it P?0540 BNE NO2 ;No.0545 ;0550 INC POS ;Yes, change0555 LDA POS ;picture0560 CMP #4 ;positioning.0565 BNE NOTOVER0570 ;0575 LDA #00580 STA POS0585 ;0590 NOTOVER0595 LDX POS ;Show arrow.0600 LDA ARWS,X0605 STA L4+230610 JMP GETKEYS0615 ;0620 NO20625 CMP #'C ;Is it C?0630 BNE NO3 ;No.0635 ;0640 LDA #1 ;Toggle column0645 SEC ;from 80-132 and0650 SBC COL ;vice versa.0655 STA COL0660 ASL A0665 ASL A0670 LDY #00675 TAX 0680 LOOPQ0685 LDA COLS,X ; Show our0690 STA L1+23,Y ;columns.0695 INX 0700 INY 0705 CPY #40710 BNE LOOPQ0715 ;0720 JMP GETKEYS0725 ;0730 NO30735 CMP #'D ;Is it D?0740 BNE NO4 ;No.0745 ;0750 INC FILENAME+1 ;Increment0755 LDA FILENAME+1 ;default0760 CMP #'9 ; drive.0765 BNE OKDRIVE0770 ;0775 LDA #'10780 STA FILENAME+10785 OKDRIVE0790 LDA FILENAME+10795 SEC 0800 SBC #$200805 STA L2+140810 JMP GETKEYS0815 ;0820 NO40825 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 CONVERT0870 LDA FILENAME+3 ;Is there0875 CMP #32 ; a filename?0880 BNE GOTAF1 ; Yes.0885 ;0890 JMP GETKEYS ; Do over.0895 GOTAF10900 JSR SETMD ; Set borders.0905 LDA #