>DFS-59  Double cat system  By James Roberts (&>=&8000"6502 Machines only!": 2,?&284=&FF:$&404=26*4-1,0):@%=&90A:Z%=0 <ݤlo(A%)=A%&FF Fݤhi(A%)=(A%&FF00)&100 P$ݤhex(X%,Y%)="0000000"+~X%,Y%) ZeP%=&900&AFC4:!P%=0::!&A04=&20030000:?79=3:!80=&900:!84=&4B03:!88=&22:A%=&7F:X%=79:Y%=0:&FFF1 d) (P)(S)" O.err1%EQUW&B400:EQUS"Dir not empty":.err2%EQUW&FF00:EQUS"Bad SWAP disc":BRK U.cde2%JSR rdsc%-6:LDA#&F8:JSR cknm%:BCC ctsw%:JSR swsc%:LDA#1:JSR swsc%:BPL cde3% h.ctsw%BIT&AB:BPL err2%:LDA&A05:BNE err1%:LDY#&F0:JSR mkct%:LDA&A06:#7:LSRA:PHA:TAX:LDA&A07:RORA:PHA ZSEC:SBC#6:EQUW&1B0:DEX:STA&A0D:TXA:ASLA:ASLA:ASLA:ASLA:STA&A0E:TYA:LDY#&22:JSR wtsc%-4 GLDY#&F8:JSR mkct%:PLA:STA&A07:PLA:STA&A06:LDA#2:LDY#&24:JSR wtsc%-2 ҈.cde3%JSR rdsc%-6:JSR cknm%-2:PHP:TAY:LDA cat0%+8,Y:JSR&FFEE:INY:#&20:BNE cde3%+8:PLP:ROLA:#&31:JSR&FFEE:LDA#&12:JSR&FFF4:JMP&FFE7 wLDA#&F0:.cknm%TAY:CLC:ADC&A05:BCC cknm%+20:TAX:LDA cat0%-&F0,Y:&908,X:EQUW&1F0:CLC:INX:INY:TYA:#7:BNE cknm%+8:RTS c.mkct%LDX#0:LDA cat0%-&F0,Y:STA&908,X:LDA cat1%-&F0,Y:STA&A08,X:INX:INY:BNE mkct%+2:STX&A05:RTS N.swsc%LDY#&21:JSR rdsc%-2:INX:#2:JSR rdsc%:JSR swsc%+15:DEX:#2:BPL wtsc% eLDY#&22:LDX#9:.wtsc%PHA:LDA#&4B:BNE rdsc%+3:LDA#0:LDY#&22:LDX#9:.rdsc%PHA:LDA#&53:STA osbk%+6:PLA \.oswd%STA osbk%+8:STX osbk%+2:STY osbk%+9:LDA#&7F:LDX#lo(osbk%):LDY#hi(osbk%):JSR&FFF1 LDY osbk%+9:LDX osbk%+2:LDA osbk%+10:EQUW&4D0:LDA osbk%+8:RTS:EQUW&C700:EQUS"Disc error":BRK:.osbk%BRK:EQUD&FFFF0900:EQUD3:BRK z.cat1%EQUD0:EQUD&6000000:EQUW&900:EQUWcode%:EQUD&2CC0400:.cat0%EQUD&212121A1:EQUD&A1212121:EQUD&50415753:EQUD&A4202020 "4]::"Ended @:";~P%:&D00