;:poke56,128:clr ;:sys36864 ;.opt oo *= $8000 fa =186 pos =2 ref =3 track =4 sektor =5 jmp los hi .byt 13 .byte "\x93\x97unscratch 1541 v1 nikolaus heusler" .byte "\x11macht den scratch-befehl des disketten-" .byte "laufwerks rueckgaengig. nh 12.90" .byte "\x11\x11bitte zu bearbeitende diskette einlegen!\x91" brk wait1 .byte "directory wird gelesen, augenblick bitte" brk errc .byt 13 .byte "\x12achtung! " brk ciaou .byt 13 .byte "vorgang abgeschlossen.\x11" brk break .byt 13 .byte "vorgang abgebrochen.\x11" brk rep .byte " wiederherstellen?" .byt 13,0 okdo .byte "\x11welcher dateityp? (p) rg" .byte "\x11\x9d\x9d\x9d\x9d\x9d\x9d(s) eq" .byte "\x11\x9d\x9d\x9d\x9d\x9d\x9d(u) sr" .byte "\x11\x9d\x9d\x9d\x9d\x9d\x9d(r) el" .byte "\x11\x9d\x9d\x9d\x9d\x9d\x9d(a) bbruch" .byt 13,0 laeuft .byt 13 .byte "file wird wiederhergestellt!" .byt 13,0 jetza .byt 13 .byte "diskette wird re-organisiert. moment..." .byt 13,0 i0 .byte "i0" kr .byte "#" u .byte "u :3 0 " tr .byt 0,0,32 se .byt 0,0 buftxt .byte "b-p 3 0" control ldx #15 jsr $ffc6 ldx #0 getfek jsr 65508 cmp #13 beq endfek sta fek,x inx bne getfek endfek lda #0 sta fek,x jsr $ffcc lda fek cmp #"0" beq frei lda #errc jsr $ab1e lda #fek jsr $ab1e jsr $aad7 lda #-1 frei rts sendcmd sta u+1 txa jsr numbasc stx tr sta tr+1 tya jsr numbasc stx se sta se+1 ldx #15 jsr $ffc9 ldx #0 comout lda u,x jsr $ffd2 inx cpx #12 bcc comout jmp $ffcc numbasc ldx #"0" sec numb1 sbc #10 bcc numb2 inx bcs numb1 numb2 adc #"9"+1 rts read stx track sty sektor lda #"1" jsr sendcmd ldx #3 jsr $ffc6 ldx #0 dirin jsr 65508 sta buf,x inx bne dirin jsr $ffcc jmp control write ldx #15 jsr $ffc9 ldx #0 pntout lda buftxt,x jsr $ffd2 inx cpx #7 bcc pntout jsr $ffcc ldx #3 jsr $ffc9 ldx #0 dirout lda buf,x jsr $ffd2 inx bne dirout jsr $ffcc ldx track ldy sektor lda #"2" sta ref jsr sendcmd jmp control los jsr 65409 lda #hi jsr $ab1e lda #12 sta 53280 sta 53281 jsr $ffe7 lda #0 sta 198 sta ref wk cmp 198 beq wk dec 198 lda #wait1 jsr $ab1e lda #2 ldx #i0 jsr $ffbd ldx fa cpx #8 bcc set8 cpx #12 bcc ok8 set8 ldx #8 ok8 lda #15 tay jsr $ffba jsr $ffc0 jsr control bne clos lda #1 ldx #kr jsr $ffbd ldx fa lda #3 tay jsr $ffba jsr $ffc0 jsr control bne clos ldx #18 ldy #0 jsr read beq dirloop clos lda #0 sta 198 cl cmp 198 beq cl sta 198 bne los dirloop ldx buf bne nextrack jsr $ffcc lda #13 jsr $ffc3 lda ref beq uff lda #jetza jsr $ab1e ldx #15 jsr $ffc9 lda #"v" jsr $ffd2 jsr $ffcc jsr control bne abort uff lda #15 jsr $ffc3 lda #ciaou jmp $ab1e nextrack ldy buf+1 jsr read beq red abort lda #break jsr $ab1e lda #13 jsr $ffc3 lda #15 jmp $ffc3 red ldy #0 fileloop sty pos lda buf+2,y bne qf lda buf+5,y bne weiter qf jmp fileist weiter jsr $aad7 lda #34 jsr $ffd2 ldx #0 pnam lda buf+5,y cmp #160 beq namfert jsr $ffd2 iny inx cpx #16 bcc pnam namfert lda #34 jsr $ffd2 lda #20 sta 211 lda #rep jsr $ab1e lda #0 sta 198 getjn jsr 65508 cmp #"a" beq abort cmp #"n" beq fileist cmp #"j" bne getjn lda #okdo jsr $ab1e lda #0 sta 198 getap jsr 65508 cmp #"a" beq fileist cmp #"p" beq prg cmp #"s" beq seq cmp #"r" beq rel cmp #"u" bne getap lda #$83 .byt $2c rel lda #$84 .byt $2c seq lda #$81 .byt $2c prg lda #$82 ldy pos sta buf+2,y lda #laeuft jsr $ab1e jsr write beq fileist jmp abort fileist lda pos clc adc #16 bcc nstop jmp dirloop nstop tay jmp fileloop fek *=*+40 buf =*