> CustomDNFS 1.30  (C)1997-98 J.G.Harston 2 Allows customising of NFS3.60 and DFS1.20 in ($ DNFS3.00 ROM or 8k NFS3.60 ROM 25 25-Jul-1998 v1.20 - Added NotReady patch to DFS <4 23-Aug-1998 v1.30 - Read image direct from ROM F: P5&87:5"Customise DNFS for BBC B/B+"'5;27,"=") Z& 28,0,24,39,2:mem%&4000:LoadROM d":26:update:psn%=0:change nRsave$=" "+~mem%+"+":mem%!9=&2C534644:save$=save$+"4000" save$=save$+"2000" x*file$,2)="00":file$=file$,file$-2) Pfile$=file$+"01":"Enter name to save by: '"file$"'":":"A$:A$,1)="*":A$ !A$,1)<>"*":A$<>"":file$=A$ :save$="*Save "+file$+save$+" 0 FFFBBC00":save$:save$  : .LoadROM:file$="DNFS3-00": %.^.ROMImages Q'"Read image from active ROM? ";:""A$:A$,1)="Y"A$,1)="y":ReadFromROM: 7'"File to load: '"file$"'":":"A$:A$,1)="*":A$ !A$,1)<>"*":A$<>"":file$=A$ 7file$<>"":"Loading...";:"LOAD "+file$+" "+~mem% ?mem%!13<>&54454E:'"File '"file$"' is not a DNFS image.":  : #ݤd0(A%,N%)="00000000"+A%,N%) $ݤh0(A%,N%)="00000000"+~A%,N%) .ݤstn(A%):=d0(A%256,3)+"."+d0(A%&FF,3) "Aݤdot(A$):A%=A$,"."):A%=0:=A$ =256*A$,A%-1)+A$,A%+1) ,: 6(ݤtype(A%):A$:A%=0:="* Reserved *" @(A%&FF00)=&FF00:A$="SJ " (A%&FF00)=&0100:A$="Torch " (A%&FF00)=&0200:A$="Reuters " (A%&FF00)=&1000:A$="JGH " A%<256:A$="Acorn " JA%=1:=A$+"BBC" TA%=2:=A$+"Atom" ^A%=3:=A$+"System 3/4" hA%=4:=A$+"System 5" rA%=5:=A$+"Master 128" |A%=6:=A$+"Electron" A%=7:=A$+"Archimedes" A%=8:=A$+"*Reserved*" A%=9:=A$+"Communic'r" A%=10:=A$+"Master ET" A%=11:=A$+"Filestore" A%=12:=A$+"M-Compact" A%=13:=A$+"PC Ecolink" A%=14:=A$+"RISCiX" A%=15:=A$+"Risc PC" A%=16:=A$+"Iyonix" A%=17:=A$+"A9" A%=&1040:=A$+"ZX Spectrum" A%=&1041:=A$+"Amstrad CPC" A%=&FFF8:=A$+"GP Server" A%=&FFF9:=A$+"80386 UNIX" A%=&FFFA:=A$+"SCSI Card" &!A%=&FFFB:=A$+"IBM Interface" 0A%=&FFFC:=A$+"Nascom 2" :A%=&FFFD:=A$+"RM 480Z" DA%=&FFFE:=A$+"File Server" NA%=&FFFF:=A$+"Z80 CP/M" X =A$+"?" b: lupdate:0,3); vO"Machine type: &";h0(mem%!&21,4);" - ";type(mem%!&21 &FFFF);(39-)'' 1"NFS version: ";~mem%?&24;".";~mem%?&23'' 7"Fileserver: ";stn(256*mem%?&2EE+mem%?&2E7)'' 7"Printer server: ";stn(256*mem%?&2EE+mem%?&304)'' C"DFS version: ";:mem%!9=&2C534644:$(mem%+&3A2C) "****"  : ݤchange:0,psn%*3+4); Cpsn%=5:"Ok? ";:""A$:11:39:psn%=0:=A$,1)="Y" A$,1)="y" 4"Change to: ";:psn%=4:8,8:" fix timeouts? "; (""A$:11:39:psn%=psn%+1:A$="":=0 4psn%=1:A%=("&"+A$):mem%?&21=A%:mem%?&22=A%256 Apsn%=2:A%=dot(A$):mem%?&23=("&"+(A%&FF)):mem%?&24=A%256 5psn%=3:A%=dot(A$):mem%?&2E7=A%:mem%?&2EE=A%256 5psn%=4:A%=dot(A$):mem%?&304=A%:mem%?&2EE=A%256  *psn%=5:A$,1)="Y"A$,1)="y":FixDFS update:=0  : *)FixDFS:$(mem%+&3A2C)<>"DFS 1.20": 4,mem%?&250C=&20: new address of *COMPACT >-mem%!&2A4C=&7730A2C6:mem%!&2A50=&C9BB1520 H6mem%?&2A54=&00: save catalogue resets 'Not Ready' R8mem%?&2C12=&1A: branch to earlier 'Not Ready' check \4mem%?&2C2B=&B0: branch earlier in addr=addr+num fmem%!&2C2D=&F0BB0D20 p0mem%?&2C31=&07: call 'Not Ready' reset code z$(mem%+&3ADD)="src> "+&BC+"old> "+&A8+")"+&A8+")"+&BC+"title>"+&BC+"drv>"+255: Shortened help text -mem%!&3B0D=&AA842048:mem%!&3B11=&6010C968 -mem%!&3B15=&A4202BA0:mem%!&3B19=&BB0D20AC :mem%!&3B1D=&EA60F6F0: Check for and clear 'Not Ready' -mem%!&3B22=&F720A9CE:mem%!&3B26=&6D6F439F -mem%!&3B2A=&74636170: Short 'Compacting' $(mem%+&3A2C)="DFS 1.21": : "ReadFromROM:file$="DNFS3-00" & mc% 79: P=0 1:P%=mc%:[OPT P*2 7LDA #&80:STA &73:LDA #0:STA &72 :\ Source address 8TAY:JSR &FFDA:PHA :\ Read current FS 3LDA #143:LDX #18:LDY #4:JSR &FFF4 :\ Select DFS 6LDA &F4:PHA :\ Save this ROM 7LDA &DBC:STA &F4:STA &FE30:LDY #0 :\ Select DFS ROM .lp :LDA (&72),Y:STA (&70),Y:INY:BNE lp :\ Copy a page $=INC &73:INC &71:LDA &73:CMP #&C0:BNE lp :\ Copy whole ROM .5PLA:STA &F4:STA &FE30 :\ Restore ROM 84PLA:TAY:LDX #18:LDA #143:JMP &FFF4 :\ Restore FS B]:!&70=mem%:mc%: