10 REM > PatchDFS
   20 REM Patch DFS to select double density
   30 :
   40 DIM A%(4096):CLEAR:DIM mem% &3FFF:file$="DFS224"
   50 OSCLI "Load "+file$+" "+STR$~mem%
   60 ver%=mem%!13:sel=0
   70 IF ver%=&34322E32:sel=&8C8F:REM v2.24
   80 IF ver%=&39322E32:sel=&8CAB:REM v2.29
   90 IF sel=0:PRINT"Unrecognised version":END
  100 patch=&4000:REPEAT:patch=patch-1:UNTILmem%?patch<>mem%?&3FFF:patch=patch+&8001
  110 table=mem%!(sel-&7FFF) AND &FFFF
  120 :
  130 FOR P=0 TO 1
  140   P%=sel:O%=P%-&8000+mem%
  150   [OPT P*3+4:JSR DenSelect:]
  160   P%=spare%:O%=P%-&8000+mem%
  170   [OPT P*3+4
  180   .DenSelect
  190   ASL A:ASL A:\ Move b3 from drive number to b5 for DrvCtrl register
  200   EOR table,X:\ Mask into drive select byte
  210   RTS
  220   ]
  230 NEXT
  240 PRINT "*SAVE ";file$+"+ ";~mem%;"+4000"