> RFSLoad/s v1.10  Load disk image to RFS  v1.10 - loads via a buffer (: 2*OSFIND=&FFCE:OSGBPB=&FFD1:OSARGS=&FFDA <: F mcode% &200 P,load%=&FFFF0900:lptr=&A8:ext=&A8:ram=&AC Zselect=&FCFF d: n P=0 1 xP%=load%:O%=mcode% [OPT P*3+4 .syntax 8BRK:EQUB 220:EQUS "Syntax: RFSLoad ":BRK .notfound *BRK:EQUB 214:EQUS "File not found":BRK .go% &LDA #1:LDY #0:LDX #lptr:JSR OSARGS 9LDA (lptr),Y:CMP #"0":BCC syntax :\ No drive number 8CMP #"4":BCS syntax: #3:ASL A :\ Bad drive number >ASL A:STA ram+1:LDA #&10:STA ram+0 :\ ram=*&400+&10 7INY:LDA (lptr),Y:CMP #32:BNE syntax :\ No filename .skpspc 'INY:LDA (lptr),Y:CMP #32:BEQ skpspc TYA:CLC:ADC lptr:TAX 8LDA #0:ADC lptr+1:TAY :\ XY=>filename 5LDA #&40:JSR OSFIND:TAY:BEQ notfound :\ Open file "8STY gbpb+0 :\ Store handle , .loop 6:BIT &FF:BMI endoffile :\ Escape pressed @ LDA #buffer 255:STA gbpb+1 J>LDA #buffer 256:STA gbpb+2 :\ Set transfer address TALDA #1:STA gbpb+6 :\ Load 256 bytes to JIM ^#LDX #gbpb 255:LDY #gbpb 256 h?LDA #4:JSR OSGBPB:BCS endoffile :\ Read a page of data rELDY gbpb+5:BNE endoffile :\ Not all read, end of file |ALDA ram:STA select:LDA ram+1:STA select-1 :\ Select RAM page  .copylp =LDA buffer,Y:STA &FD00,Y:INY:BNE copylp :\ Copy to RAM AINC ram:BNE next:INC ram+1 :\ Step to next RAM page  .next CLDA ram+1: #3:CMP #&03:BNE loop :\ Not &3xx, not end of side ILDA ram+0:CMP #&30:BNE loop :\ Not &320+&10, not end of side LDA #&10:STA ram+0:BNE loop :\ Start of next side .endoffile ?LDA #0:LDY gbpb+0:JMP OSFIND :\ Close file and exit  .gbpb 2EQUB 0:EQUW buffer:EQUW &FFFF:EQUD &100:EQUD 0  .buffer ] &C"*SAVE RFSLoad ";~mcode%;" ";~O%;" ";~go%&FFFF0000;" ";~load%