;:poke56,128:clr ;:sys36864 ;.opt oo *=$8000 crlf =$aad7 setnam =$ffbd clrchn =$ffcc stop =$ffe1 clall =$ffe7 strout =$ab1e right = $ab42 integer =$bc49 axout =$bdcd intout =$bdd1 facasc =$bddf bsout =$e10c basin =$e112 chkin =$e11e get =$e124 open =$e1c1 close =$e1cc aut =$e385 setcol =$e4dd cursor =$e50c clrx =$e9ff stoptest =$f6bc setpar =$fe00 number =$100 text =$200 curscol =$286 repeat =$28a platz =$2 count =$7 adr =$14 fac =$62 st =$90 rvs =$c7 bild =$d1 farb =$f3 spalte =$d3 quote =$d4 zeile =$d6 char =$d7 bildmsb =$d9 free =$fb namlgt =$b7 chkout =$ffc9 space =$ab3f start jsr clall lda #15 sta $d020 sta $d021 lda #title jsr strout action lda #<ntxt ldy #>ntxt jsr strout ldy #$ff sty repeat enter jsr basin iny cmp #13 beq endin sta text,y bne enter endin jsr crlf jsr crlf ldx #0 stx adr stx adr+1 tya bne eing jmp aut eing ldy #2 jsr setnam lda #1 ldy text cpy #"$" beq nil ldy #2 .byt $2c nil ldy #0 ldx #8 jsr setpar jsr open jsr in1 lda text cmp #"$" bne nodir catalog ldx #$06 skip sta fac+1 jsr basin sta fac ldy st bne abbr dex bne skip jsr intout lda #$20 ldy #$1a dirloop jsr ascout jsr basin dey bne dirloop tay jsr crlf ldx #4 tya beq skip jsr stop bne catalog abbr jsr clrchn lda #1 jsr close jmp action nopri lda #<bri ldy #>bri jsr strout nodir jsr clrchn lda #<anf ldy #>anf jsr strout getprt jsr get cmp #"\x03" beq abbr cmp #"n" beq drucke cmp #"j" bne getprt jsr popen php jsr pri0 plp bcs nopri lda #128 .byt $2c drucke lda #0 sta flagprt lda #<anf2 ldy #>anf2 jsr strout getsta jsr get cmp #"\x03" beq abbr cmp #"j" beq starta cmp #"n" bne getsta lda #0 starta pha jsr in1 pla beq ort jsr basin sta adr jsr basin sta adr+1 ort jsr crlf main lda spalte beq erst cmp #40 bne ort erst jsr newline jsr stop beq menue jmp weiter menue lda #<unter ldy #>unter jsr strout nocont ldx #12 modelp ldy bscpos,x lda flagasc,x rol php lda (bild),y rol plp ror sta (bild),y dex bpl modelp waitunt jsr get ldx #12 suchunt cmp keys,x beq legal dex bpl suchunt bmi waitunt legal txa cmp #4 beq ende tax lda flagasc,x eor #$80 sta flagasc,x lda #0 sta flagbsc+1 cpx #2 bne nocont jsr allow bpl nocont bmi noend ende jsr allow bpl nocont lda #1 jsr close jmp start allow lda flagasc ora flagbsc ora flagbin ora flaghex rts noend jsr in1 jsr newline weiter lda #0 sta free lda flagadr2 bpl noadr2 lda adr+1 jsr hexout lda adr jsr hexout jsr right noadr2 lda flagadr1 bpl noadr1 ldx adr lda adr+1 sta fac stx fac+1 ldx #$90 sec jsr integer jsr facasc ldx #0 such0 inx lda number,x bne such0 txa pha lda #0 jsr strout pla tax rechts jsr right inx cpx #6 bcc rechts lda platz sbc #6 sta platz noadr1 lda flagjot bpl nojot lda spalte beq links lda #20 jsr bsout links lda #":" jsr bsout jsr right nojot lda #41 sec sbc spalte sta platz pll1 ldx #8 pll3 lda flagasc,x bpl aus cmp #$81 bcc aus ldy free beq pll4 ldy flaggap bpl nogap cmp #$c1 bcc nogap pll4 dec platz nogap and #$3f eor #$ff sec adc platz sta platz aus dex bpl pll3 lda platz bmi pll2 inc free bne pll1 pll2 ldy free lesen jsr basin sta text-1,y inc adr bne noinc inc adr+1 noinc dey bne lesen lda flaghex bpl nohex jsr next beq nohex hexout pha lsr lsr lsr lsr jsr hex1 pla hex1 and #$f cmp #10 bcc letter adc #6 adc flaggro letter adc #"0" jsr bsout sec rts ; nohex lda flagbin bpl nobin jsr next beq nobin binout ldy #8 binloop asl pha lda #"." bcc zero lda #"*" zero jsr bsout pla dey bne binloop sec rts ; nobin lda flagasc bpl noasc jsr next beq noasc ascout pha sta char lda rvs pha lda char cmp #32 bcc kl32 cmp #128 bcc kl128 cmp #160 bcs kl128 kl32 lda rvs eor #18 sta rvs lda char adc #64 kl128 jsr bsout lda #0 sta quote pla sta rvs pla rts ; noasc lda flagbsc bpl nobsc jsr next beq nobsc bscout ldy spalte sta (bild),y lda curscol sta (farb),y jmp right ; nobsc lda #20 jsr bsout lda st pha jsr nadel pla bne stoer jmp main ; stoer jsr zu1 lda #<callret ldy #>callret jsr strout wk jsr get cmp #13 bne wk jmp start nadel lda flagprt bmi raus rts raus jsr popen ldx #7 rand jsr space dex bne rand ldy #0 hcopy lda (bild),y and #127 cmp #32 bcs gro32 kle96 ora #64 bne convd gro32 cmp #64 bcc convd cmp #96 bcs kle96 ora #128 convd jsr bsout iny cpy #40 bcc hcopy jsr crlf jsr pri0 jmp in1 popen jsr clrchn lda #4 tax ldy #7 jsr setpar lda #0 sta namlgt jsr open ldx #4 jmp chkout newline ldx zeile lda bildmsb,x ora #$80 sta bildmsb,x jsr clrx iny jmp cursor ; next ldx free stx count gap0 pla tax pla tay pha txa pha jsr byte lda flagcol beq nochg lda curscol eor #7 sta curscol nochg dec count beq neues bcc gap0 lda flaggap bpl gap0 neues lda #11 sta curscol jsr right lda count bne gap0 rts ; byte tya pha txa pha ldx count php lda text-1,x plp rts in1 ldx #1 jmp chkin zu1 jsr clrchn lda #1 bne qclose pri0 jsr clrchn lda #4 qclose jmp close keys .byte "abcdesghojrpx" ntxt .byt 13 .byte "Dateiname: $\x9d" brk unter .byte "\x98Asc Bsc Cnt Dual End pOS GaP HeX pRt J:\x97" brk bscpos .byt 0,4,10,12,20,23,25,29,22,37,34,27,31 flagasc .byt $81 flagbsc .byt $1,0 flagbin .byt $48,0 flagadr1 brk flaggap .byt $80 flaghex .byt $c2 flagadr2 .byt $80 flagjot .byt $80 flagprt brk flagcol .byt $80 flaggro brk title .byt 13 .byte "\x97\x0e\x93\x12 FLEXibler FileLISTer rev1\xba nh 3.92\xa0\xa0" .byt 13 .byte "\x11 von N. Heusler nach V. Hilbig\x11" .byt 13,0 anf .byte "Drucker? (J/N)" .byt 13,0 anf2 .byte "\x11Startadresse? (J/N)" .byt 13,0 bri .byte "\x11Nicht bereit!\x11" .byt 13,0 callret .byt 13 .byte "\x98(return)" brk