home *** CD-ROM | disk | FTP | other *** search
/ The Best of Mecomp Multimedia 1 / Mecomp-CD.iso / amiga / tools / cd / ide-fix / install < prev    next >
Text File  |  1997-06-09  |  32KB  |  1,216 lines

  1. ;$VER: IDEfix Install 48.6 (13.05.97)
  2. ;Copyright ©1993-1997 Elaborate Bytes, Oliver Kastl
  3.  
  4. ( set #ControlDefault 1 )
  5.  
  6. (onerror
  7.     (makeassign "CacheCDFSInst" (safe))
  8.     (makeassign "CacheCDFS" (safe))
  9. )
  10.  
  11. (set #autoMount 1)
  12. (set #CDDevice_NC "CD" )
  13. (set #instEjectCD 1)
  14. (set #ReplaceOld 1 )
  15. (set #DeleteOld 1 )
  16.  
  17. (set #wbversion (getversion "libs:version.library"))
  18. (set #wbversion (/ #wbversion 65536) )
  19.  
  20. (complete 0)
  21.  
  22. (if (< #wbversion 37)
  23.     (abort "\n\nAmigaDOS 2.04 or higher is required for CacheCDFS! "
  24.              "\n\nAn upgrade will be needed for your Amiga." )
  25. )
  26.  
  27.  
  28. (if (< (getdiskspace "SYS:") 409600)
  29.     (abort "\n\nApproximately 400K of disk space is needed on your SYS: volume."
  30.              "\n\nYou only have " (/ (getdiskspace "SYS:") 1024)    "K free.\n\n"
  31.              "Delete or transfer some files from the SYS: volume and try again." )
  32. )
  33.  
  34. (makeassign "CacheCDFSInst" "" ( safe) )
  35.  
  36.  
  37. (set #theirlevel @user-level )
  38.  
  39. (set #Match ( run "CacheCDFSInst:CheckIDEfix" ( safe ) ) )
  40.  
  41. (user 2)
  42.  
  43. (message "\nWelcome to IDE-fix, CacheCDFS2, CD32-Emulator and PlayCD!"
  44.             "\n\nThis package is the complete solution for all your IDE and CD-ROM problems! " 
  45.          "\n\n"
  46.          "IDEfix allows you to use 4 harddisks and SyQuest drives with your IDE port, "
  47.          "ATAPI controls IDE CD-Roms, "
  48.          "CacheCDFS, PlayCD and CD32-Emulator power any IDE or SCSI-II CD-Rom!"
  49.          "\n\nEnjoy it! " )
  50.  
  51.  
  52. ( if (NOT @pretend )
  53.    (
  54.    (if ( run "CacheCDFSInst:Register/Register" )
  55.        (
  56.        (abort)
  57.        )
  58.     )
  59. ))
  60.  
  61. (set #DefaultDir (tackon @default-dest "IDEfix97"))
  62.  
  63. (set #CDFSDir
  64.     (askdir
  65.         (prompt "\n\nSpecify the directory in which the support programs will be placed:" )
  66.         (help "\n\nIDE-fix and CacheCDFS contain a number of support programs. "
  67.         "This directory will specifiy where the programs will be placed. "
  68.         "If you need, create a separate directory for the files.")
  69.         (default #DefaultDir)
  70.         (newpath)
  71.     )
  72. )
  73.  
  74. (user #theirlevel)
  75.  
  76. (if (NOT (exists #CDFSDir ))
  77.     (
  78.     (makedir #CDFSDir
  79.         (safe)
  80.         (infos)
  81.     )
  82.     )
  83. )
  84.  
  85. (set @default-dest #CDFSDir)
  86.  
  87.  
  88. (makeassign "CacheCDFS" #CDFSDir (safe))
  89.  
  90. (if (NOT (exists "CacheCDFS:Backup" ))
  91.     (
  92.  
  93.     (copyfiles
  94.         (source "CacheCDFSInst:C/BackupIDEFixInstall")
  95.         (prompt )
  96.         (help )
  97.         (infos)
  98.         (dest "CacheCDFS:")
  99.     )
  100.  
  101.     (copyfiles
  102.         (source "CacheCDFSInst:C/UnInstall")
  103.         (prompt )
  104.         (help )
  105.         (infos)
  106.         (dest "CacheCDFS:")
  107.     )
  108.  
  109.     (working "\nBacking up old installation ..." )
  110.  
  111.     
  112.     ( if (NOT @pretend )
  113.        (
  114.         (if ( run "CacheCDFS:BackupIDEfixInstall CacheCDFS:Backup save" )
  115.             (
  116.             (abort)
  117.             )
  118.         )
  119.     ))
  120.     )
  121. )
  122.  
  123. (if (exists "CacheCDFSInst:Installer" )
  124.     (
  125.     (copylib
  126.         (source "CacheCDFSInst:Installer")
  127.         (dest "SYS:Utilities")
  128.     )
  129. ))
  130.  
  131. (working "\nUpdating your System ..." )
  132.  
  133. ( if (NOT @pretend )
  134.    (
  135.     (if ( run "CacheCDFSInst:C/CopyIDELibs CacheCDFSInst:" )
  136.         (
  137.         (message "\n\nPlease reboot your Amiga and start this installation program again!" )
  138.         (makeassign "CacheCDFSInst" (safe))
  139.         (makeassign "CacheCDFS" (safe))
  140.         (exit (quiet ))
  141.         ))
  142.     )
  143. )
  144.  
  145. (copyfiles
  146.     (source "CacheCDFSInst:Register")
  147.     (prompt )
  148.     (help )
  149.     (infos)
  150.     (all)
  151.     (dest "CacheCDFS:Register")
  152. )
  153.     
  154. (tooltype
  155.     (dest "CacheCDFS:Register" )
  156.     (noposition)
  157. )
  158.  
  159. (copylib
  160.     (prompt "This will copy the FormatLS120 program to your C: directory.")
  161.     (help "This will copy the FormatLS120 program to your C: directory.")
  162.     (source "CacheCDFSInst:C/FormatLS120")
  163.     (confirm)
  164.     (dest "C:")
  165. )
  166.  
  167. (copyfiles
  168.     (prompt "This will copy Icons for the FormatLS120 and MountLS120 programs "
  169.         "to your Harddisk.")
  170.     (help "This will copy Icons for the FormatLS120 and MountLS120 programs "
  171.         "to your Harddisk.")
  172.     (source "CacheCDFSInst:LS120")
  173.     (infos)
  174.     (all)
  175.     (confirm)
  176.     (dest "CacheCDFS:LS120")
  177. )
  178.     
  179. (copyfiles
  180.     (source "CacheCDFSInst:C/InstallLS120")
  181.     (prompt )
  182.     (help )
  183.     (infos)
  184.     (dest "CacheCDFS:")
  185. )
  186.  
  187. (protect "CacheCDFS:FindDevice" "rwed" )
  188. (protect "CacheCDFS:FindDevice.info" "rwed" )
  189.  
  190. (copylib
  191.     (prompt "\n\nCopying the FindDevice program to the "
  192.               "CacheCDFS: directory.\n" )
  193.     (source "CacheCDFSInst:FindDevice")
  194.     (dest "CacheCDFS:")
  195.     (infos)
  196.     (safe)
  197.     (help "\n\nThis will copy over the FindDevice "
  198.             "program to your CacheCDFS: directory\n\nIf you do not "
  199.             "wish the FindDevice program to be transferred to your system, "
  200.             "skip this step." )
  201. )
  202.  
  203. (tooltype
  204.     (dest "CacheCDFS:FindDevice" )
  205.     (noposition)
  206. )
  207.  
  208.  
  209.     (copyfiles
  210.         (prompt "This will copy additional documentation "
  211.             "to your Harddisk. ")
  212.         (help "This will copy additional documentation "
  213.             "to your Harddisk. ")
  214.         (source "CacheCDFSInst:Docs")
  215.         (infos)
  216.         (all)
  217.         (confirm)
  218.         (dest "CacheCDFS:Docs")
  219.     )
  220.     
  221. (tooltype
  222.     (dest "CacheCDFS:Docs" )
  223.     (noposition)
  224. )
  225.  
  226.  
  227. (if (exists "CacheCDFS:FindCD" )
  228.     (
  229.     (protect "CacheCDFS:FindCD" "rwed" )
  230.     (delete "CacheCDFS:FindCD" )
  231.     )
  232. )
  233.  
  234. (if (exists "CacheCDFS:FindCD.info" )
  235.     (
  236.     (protect "CacheCDFS:FindCD.info" "rwed" )
  237.     (delete "CacheCDFS:FindCD.info" )
  238.     )
  239. )
  240.  
  241. (if (exists "L:TandemCacheCDFS" )
  242.     (
  243.     ((set #DeleteOld
  244.         (askbool
  245.         (prompt "\n\n\"L:TandemCacheCDFS\" is present from an earlier installation."
  246.                 "\n\nDelete \"L:TandemCacheCDFS\" ?" )
  247.         (help "\n\nClick \"YES\" if \"L:TandemCacheCDFS\" should be "
  248.               "deleted and \"NO\" if not!")
  249.         (default 1)
  250.         )
  251.     ))
  252.  
  253.     (if #DeleteOld
  254.     ((protect "L:TandemCacheCDFS" "rwed" )
  255.     (delete "L:TandemCacheCDFS" )
  256.     ))
  257. ))
  258.  
  259. (if (exists "L:DemoCacheCDFS" )
  260.     (
  261.     ((set #DeleteOld
  262.         (askbool
  263.         (prompt "\n\n\"L:DemoCacheCDFS\" is present from an earlier installation."
  264.                 "\n\nDelete \"L:DemoCacheCDFS\" ?" )
  265.         (help "\n\nClick \"YES\" if \"L:DemoCacheCDFS\" should be "
  266.               "deleted and \"NO\" if not!")
  267.         (default 1)
  268.         )
  269.     ))
  270.  
  271.     (if #DeleteOld
  272.     ((protect "L:DemoCacheCDFS" "rwed" )
  273.     (delete "L:DemoCacheCDFS" )
  274.     ))
  275. ))
  276.  
  277. (if (= #Match 0)
  278.     (
  279.     (copylib
  280.         (prompt "This will copy the Ship program to your C: directory.")
  281.         (help "This will copy the Ship program to your C: directory.")
  282.         (source "CacheCDFSInst:C/Ship")
  283.         (confirm)
  284.         (dest "C:")
  285.     )
  286.  
  287.     (copylib
  288.         (prompt "This will copy the ActivateCrossIDEfix program to your C: directory.")
  289.         (help "This will copy the ActicateCrossIDEfix program to your C: directory.")
  290.         (source "CacheCDFSInst:C/ActivateCrossIDEfix")
  291.         (confirm)
  292.         (dest "C:")
  293.     )
  294.  
  295.     (startup "ActivateCrossIDEfix"
  296.         (command "ActivateCrossIDEfix ALL\n" )
  297.         (prompt "\n\nInserting ActivateCrossIDEfix into the user-startup")
  298.         (help "\n\nInserting ActivateCrossIDEfix into the user-startup")
  299.     )
  300.  
  301.     (copylib
  302.         (prompt "This will copy the MountIDE program to your C: directory.")
  303.         (help "This will copy the MountIDE program to your C: directory.")
  304.         (source "CacheCDFSInst:C/MountIDE")
  305.         (confirm)
  306.         (dest "C:")
  307.     )
  308.  
  309.     (copylib
  310.         (prompt "This will copy the ConvertDrive program to your C: directory.")
  311.         (help "This will copy the ConvertDrive program to your C: directory.")
  312.         (source "CacheCDFSInst:C/ConvertDrive")
  313.         (confirm)
  314.         (dest "C:")
  315.     )
  316.  
  317.     (copylib
  318.         (prompt "This will copy the AutoParkPrefs program to your SYS:Prefs directory.")
  319.         (help "This will copy the AutoParkPrefs program to your SYS:Prefs directory.")
  320.         (source "CacheCDFSInst:Prefs/AutoParkPrefs")
  321.         (infos)
  322.         (confirm)
  323.         (dest "SYS:Prefs")
  324.     )
  325.  
  326.     (tooltype
  327.         (dest "SYS:Prefs/AutoParkPrefs" )
  328.         (noposition)
  329.     )
  330.  
  331.     (copyfiles
  332.         (prompt "This will copy Icons for the Ship and MountIDE programs "
  333.             "to your Harddisk. You can copy these Icons wherever you like, e.g. in your "
  334.             "SYS:WBStartUp drawer.")
  335.         (help "This will copy Icons for the Ship and MountIDE programs "
  336.             "to your Harddisk. You can copy these Icons wherever you like, e.g. in your "
  337.             "SYS:WBStartUp drawer.")
  338.         (source "CacheCDFSInst:Harddisk")
  339.         (infos)
  340.         (all)
  341.         (confirm)
  342.         (dest "CacheCDFS:Harddisk")
  343.     )
  344.     
  345.  
  346.     (tooltype
  347.         (dest "CacheCDFS:Harddisk" )
  348.         (noposition)
  349.     )
  350.  
  351.     (user 2)
  352.  
  353.     (message "\nIMPORTANT:\n\n"
  354.                 "IDEfix and LoadIDE are installed in your C: "
  355.              "directory, but You MUST start IDEfix manually, as this program "
  356.              "will NOT alter your startup-sequence! "
  357.              "\n\nEnter \"IDEfix\" or \"LoadIDE reset\" behind SetPatch in your startup-sequence "
  358.              "to use IDEfix! "
  359.              "\n\nPlease click PROCEED now.")
  360.  
  361.     (message "\nNote:\n\nYou can use \"AutoParkPrefs\" in you SYS:Prefs directory to adjust autoparking "
  362.              "of your harddrives. Autoparking switches off the motor of a drive, if the drive is "
  363.              "not used for a certain amount of time."
  364.              "\n\nPlease click PROCEED now.")
  365.  
  366.     (message "\nNote:\n\nYou can use \"ConvertDrive\" to convert drives formatted with old controllers "
  367.              "like Apollo AT or GVP AT!\n\n"
  368.              "Enter \"ConvertDrive <device> <unit>\" from the Shell. "
  369.              "\n\nPlease click PROCEED now.")
  370.  
  371.     (message "\nNote:\n\n"
  372.              "Use \"Ship\" to park your harddisks!\n\n"
  373.              "Use \"MountIDE force\" to mount additional SyQuest cartridges!"
  374.              "\n\n\nClick PROCEED to install CD-ROMs.\n\nClick ABORT to quit.")
  375.  
  376.  
  377. ;    ( run "C:IDEfix" )
  378.     )
  379. )
  380.  
  381. (user 2)
  382.  
  383. (message "\n\nNow the FindDevice program will be launched to find "
  384.          "the Device and Unit of your CD-Rom..."
  385.          "\n\nYou may let the program scan for CD-Roms by clicking \"SCAN\"."
  386.          "\n\nChoose the device and unit and click \"USE\"!"
  387.          "\n\nIf FindDevice hangs: Reboot, start the installation again and "
  388.          "click CANCEL within FindDevice!")
  389.  
  390. (working "\n\nLaunching the FindDevice program to find "
  391.          "the Device and Unit of your CD-Rom..."
  392.          "\n\nYou may let the program scan for CD-Roms by clicking \"SCAN\"."
  393.          "\n\nChoose the device and unit and click \"USE\"!"
  394.          "\n\nIf FindDevice hangs: Reboot, start the installation again and "
  395.          "click CANCEL within FindDevice!")
  396.  
  397. (set #Product ( run "CacheCDFS:FindDevice" ( safe ) ) )
  398.  
  399.  
  400. (if (= #Product 0 )
  401.     (
  402.     ( set #CDROM_Device (getenv "CDROM_Device" ))
  403.     ( set #CDROM_Unit (+ (getenv "CDROM_Unit" )))
  404.     ( set #CDROM_NumLuns (+ (getenv "CDROM_NumLuns" )))
  405.     )
  406.  
  407.     (
  408.     ( set #CDROM_NumLuns 1)
  409.     (set #CDROM_Device
  410.         (askstring
  411.             (prompt "\n\nWhat is the name for the exec device driver? " )
  412.             (default "scsi.device" )
  413.             (help "\n\nThis is the name of the device driver to use. "
  414.                     "The name is different for different configurations. "
  415.                     "\n\nConsult the manual of your SCSI/CD-Rom host adapter "
  416.                     "if you don't know the name!" )
  417.         )
  418.     )
  419.  
  420.     (set #CDROM_Unit
  421.         (asknumber
  422.             (prompt "\n\nWhat is the Unit number of your CD-Rom drive?" )
  423.             (default 5 )
  424.             (help "\n\nThis is the unit # of the CD-Rom drive.  This is usually a "
  425.                     "numerical value between 0 and 7." )
  426.         )
  427.     )
  428.  
  429.     )
  430. )
  431.  
  432.     (set #CDROM_NumLuns
  433.         (asknumber
  434.             (prompt "\n\nHow many discs fit in your CD-Rom drive?" )
  435.             (default #CDROM_NumLuns )
  436.             (help "\nThis is the number of logical units of the CD-Rom drive. This is usually a "
  437.                     "numerical value between 1 and 8.\n\n"
  438.                     "If you have a normal CD-Rom, set this to 1.\n\n"
  439.                     "If you have a CD-Rom changer, enter the number of discs that fit in your drive!" )
  440.         )
  441.     )
  442.  
  443. (user #theirlevel)
  444.  
  445. (set #DevFlags 0)
  446.  
  447. (set #Match ( run "CacheCDFSInst:MatchPattern NAME="#CDROM_Device" PATTERN=(telmexatapi#?|#?pcmcia#?)" ( safe ) ) )
  448.  
  449. (if (= #Match 0)
  450.     (
  451.     (set #DevFlags 1)
  452.     )
  453. )
  454.  
  455. (set #Match ( run "CacheCDFSInst:MatchPattern NAME="#CDROM_Device" PATTERN=(tandem#?|#?atapi#?|oktagon#?)" ( safe ) ) )
  456.  
  457. (if (= #Match 0)
  458.     ((set #ControlDefault 2))
  459. )
  460.  
  461. (set #Match ( run "CacheCDFSInst:MatchPattern NAME="#CDROM_Device" PATTERN=(scsi.#?|???.scsi.#?)" ( safe ) ) )
  462.  
  463. (if (= #Match 0)
  464.     ((set #ControlDefault 5))
  465. )
  466.  
  467. (if (= #CDROM_Device "gvpscsi.device")
  468.     ((set #ControlDefault 8))
  469. )
  470.  
  471.  
  472. (complete 20 )
  473.  
  474. (user 2)
  475.  
  476. (set #ControlMask 
  477.     (askoptions
  478.         (prompt "FileSystem -> Controller Configuration")
  479.         (choices "Use SCSI Direct" 
  480.                     "Use Diskchange Interrupt"
  481.                     "Use 24 Bit-DMA"
  482.                     "Use Motor off" )
  483.         (help    "Here You may define the behaviour of the CacheCDFS accessing the " 
  484.               #CDROM_Device ". If you are "
  485.                 "not sure what option is correct, leave the default settings as they "
  486.                 "are. They should work in most cases.\n"
  487.                 "These options may later be altered using the CDFSprefs program. "
  488.                 "However, wrong settings may lead to crashes if you mount the "
  489.                 "FileSystem!\n"
  490.                 "IF YOU HAVE A TANDEMCD / CD1200: YOU MUST DISABLE \"USE SCSI DIRECT\"!\n\n"
  491.  
  492.                 "\"Use SCSI Direct\"\n"
  493.                 "Choose this option if the SCSI controller using "
  494.                 #CDROM_Device " cannot handle DoIO reads with 2048 bytes sectorsize "
  495.                 "correctly (e.g. ALFII, controllers from Progressive Peripherals, Emplant).\n"
  496.                 "Do NOT choose this option if your controller is a modern, well designed "
  497.                 "SCSI controller (ALFIII, Oktagon, A2091, A3000, A4091) or if it is "
  498.                 "NO SCSI controller at all (TandemCD)!\n\n"
  499.  
  500.                 "\"Use Diskchange Interrupt\"\n"
  501.                 "Choose this option if the controller using "
  502.                 #CDROM_Device " does properly handle TD_ADDCHANGEINT and TD_REMCHANGEINT. "
  503.                 "All modern controllers should do this (ALFIII, Oktagon, TandemCD, "
  504.                 "GVP Series-II)\n"
  505.                 "Do NOT choose this option if your controller has problems with diskchange "
  506.                 "Interrupts (old ROM versions of A2091, A3000, A4091, controllers from "
  507.                 "Progressive Peripherals, Emplant)\n\n"
  508.  
  509.                 "\"Use 24 Bit-DMA\"\n"
  510.                 "Choose this option if the SCSI or CD controller using "
  511.                 #CDROM_Device " is a 24-Bit (Zorro II) DMA device "
  512.                 "(e.g. A2091 from Commodore).\n"
  513.                 "Do NOT choose this option if your controller is a 32-Bit "
  514.                 "(Zorro III) device (e.g. FastLane, A3000, A4091), or a non-DMA controller "
  515.                 "like the majority of controllers (e.g. ALFII/III, Oktagon, "
  516.                 "TandemCD, Golem, IVS TrumpCard, Supra) as it will lead to "
  517.                 "decreased performance!\n\n"
  518.  
  519.                 "\"Use Motor off\"\n"
  520.                 "Choose this option if the SCSI controller using "
  521.                 #CDROM_Device " is a GVP controller with \"Faaast\" roms.\n"
  522.                 "Do NOT choose this option if your controller is anything else."
  523.             )
  524.         (default #ControlDefault)
  525.     )
  526. )
  527.  
  528. (set #BufMemType  "1 /* MEMF_PUBLIC */\n" )
  529. (set #BufMemInt  1 )
  530.  
  531. (if (IN #ControlMask 2)
  532.     (
  533.     (set #BufMemType  "513 /* MEMF_PUBLIC|MEMF_24BITDMA */\n")
  534.     (set #BufMemInt  513 )
  535.     )
  536. )
  537.  
  538. (set #Control "\"MD=0 LC=1 DC=8 L LV AL LFC=1")
  539.  
  540.  
  541. (if (IN #ControlMask 0)
  542.     (
  543.     (set #Control (cat #Control " S"))
  544.     )
  545. )
  546.  
  547. (if (NOT (IN #ControlMask 1))
  548.     (
  549.     (set #Control (cat #Control " NC"))
  550.     )
  551. )
  552.  
  553. (if (IN #ControlMask 3)
  554.     (
  555.     (set #Control (cat #Control " M"))
  556.     )
  557. )
  558.  
  559.  
  560. (set #Control (cat #Control "\"\n"))
  561.  
  562.  
  563. (set #autoMount
  564.     (askbool
  565.         (prompt "\n\nWould you like the CD-Rom drive automatically mounted upon bootup?\n\n"
  566.                 "NOTE: If you are unsure if your controller will work correctly with "
  567.                 "the controller settings, you should select \"NO\"!" )
  568.         (help "\n\nIf you would like, the appropriate commands will be added to your user-startup file to automatically mount CacheCDFS.")
  569.         (default 1)
  570.     )
  571. )
  572.  
  573.  
  574. (if #autoMount
  575.     (set #mountDirectory "DEVS:DOSDrivers")
  576. )
  577.  
  578. (if (not #autoMount)
  579.     (set #mountDirectory "SYS:Storage/DOSDrivers")
  580. )
  581.  
  582. (complete 30 )
  583.  
  584. (user 1)
  585.  
  586. (set #tempCDDevice_NC #CDDevice_NC )
  587. (set #CDROM_ID (/ #CDROM_Unit 100 ))
  588. (set #CDROM_ID (- #CDROM_Unit (* #CDROM_ID 100 )))
  589.  
  590. (if (> #CDROM_NumLuns 1 )
  591.     (
  592.     (if
  593.     ( NOT (askbool
  594.         (prompt "\nYour CD-Rom changer has " #CDROM_NumLuns " discs.\n\n"
  595.                 "Do you wish to access them through different device names?" )
  596.         (help "\n\nClicking YES will mount every disc individually.")
  597.         (default 1)
  598.     ))
  599.     (set #CDROM_NumLuns 1 )
  600.     )
  601.     )
  602. )
  603.  
  604. (set #SlotNumber 0 )
  605.  
  606. ( until (= #CDROM_NumLuns #SlotNumber )
  607.  
  608. (set #CD_DeviceUnit (+ #CDROM_ID (* #SlotNumber 10 )))
  609. (set #CDDevice_NC (cat #tempCDDevice_NC #CD_DeviceUnit))
  610.  
  611. (user 2)
  612.  
  613. (set #CDDevice_NC
  614.     (askstring
  615.         (prompt "\n\nWhat is the name for the AmigaDOS device?\n\n"
  616.         "(The trailing colon MUST NOT be present)" 
  617.         )
  618.         (default #CDDevice_NC )
  619.         (help "\n\nThis is the name under which AmigaDOS will reference the "
  620.                 "CD-Rom as.  While usually "
  621.                 #CDDevice_NC
  622.                 ", it can be any name you choose. "
  623.                 "\n\nThe trailing : (colon) MUST NOT be present." )
  624.     )
  625. )
  626.  
  627. (user #theirlevel)
  628.  
  629. (set #CDDevice (cat #CDDevice_NC ":") )
  630.  
  631. (if (< #wbversion 38)
  632.     ((set #startupCommand (cat "mount " #CDDevice " from devs:MountList." #CDDevice_NC "\n") )
  633.  
  634.     (if #autoMount
  635.         (
  636.  
  637.         (if (NOT (EXISTS "S:IDEfixUserStartup" ))
  638.         ((textfile
  639.             (dest "S:IDEfixUserStartup" )
  640.             (append "; IDEfix User Startup\n"
  641.                       "; © 1997 Elaborate Bytes, O. Kastl\n"
  642.                       "\n")
  643.             )
  644.         (protect "S:IDEfixUserStartup" "srwed" )
  645.         ))
  646.  
  647.         (startup "CacheCDFS"
  648.             (command "IF EXISTS S:IDEfixUserStartup\n"
  649.                      "   EXECUTE S:IDEfixUserStartup\n"
  650.                      "ENDIF\n" )
  651.             (prompt "\n\nInserting IDEfix User Startup into the user-startup")
  652.             (help "\n\nInserting IDEfix User Startup into the user-startup")
  653.         )
  654.  
  655.         (textfile
  656.         (dest "S:IDEfixUserStartup" )
  657.         (include "S:IDEfixUserStartup" )
  658.         (append #startupCommand )
  659.         )
  660.         )
  661.     )
  662.  
  663.     (if (exists (cat "devs:MountList." #CDDevice_NC ) )
  664.         ((set #ReplaceOld
  665.             (askbool
  666.             (prompt "\n\nDEVS:MountList." #CDDevice_NC" already exists!\n\n"
  667.                     "Do you want to replace it?" )
  668.             (help "\n\nClick \"YES\" if DEVS:MountList."#CDDevice_NC" should be "
  669.                   "replaced and \"NO\" if not!")
  670.             (default 1)
  671.             )
  672.         ))
  673.     )
  674.  
  675.     (if #ReplaceOld
  676.  
  677.     ((protect (cat "devs:MountList." #CDDevice_NC) "rwed" )
  678.  
  679.     (textfile
  680.         (dest (cat "devs:MountList." #CDDevice_NC) )
  681.         (append "/***************************************************************/\n"
  682.                   "/*  CacheCDFS mountlist entry © 1993 Elaborate Bytes, O. Kastl */\n"
  683.                   "/***************************************************************/\n")
  684.         (append #CDDevice "\n")
  685.         (append "    FileSystem     = L:CacheCDFS /* The name of the game */\n" )
  686.         (append "    Device         = \""#CDROM_Device"\" /* Name of exec device driver */\n" )
  687.         (append "    Unit           = " #CD_DeviceUnit " /* exec device unit */\n" )
  688.         (append "    Flags          = " #DevFlags " /* OpenDevice flags */\n")
  689.         (append "    BlocksPerTrack = 351000 /* Unused */\n")
  690.         (append "    BlockSize      = 2048 /* True, but unused */\n")
  691.         (append "    Mask           = 0x7ffffffe /* Memory mask for direct read */\n")
  692.         (append "    MaxTransfer    = 0x1000000 /* Maximum amount of bytes for direct read */\n")
  693.         (append "    Reserved       = 0 /* Unused */\n")
  694.         (append "    Interleave     = 0 /* Unused */\n")
  695.         (append "    LowCyl         = 0 /* Unused */\n")
  696.         (append "    HighCyl        = 0 /* Unused */\n")
  697.         (append "    Surfaces       = 1 /* Unused */\n")
  698.         (append "    Buffers        = 50 /* Number of cache lines */\n")
  699.         (append "    BufMemType     = " #BufMemType )
  700.         (append "    GlobVec        = -1 /* Do not change! */\n")
  701.         (append "    Mount          = 1 /* Mount it immediately */\n")
  702.         (append "    Priority       = 10 /* Priority of FileSystem task */\n")
  703.         (append "    DosType        = 0x43443031 /* Currently unused */\n")
  704.         (append "    StackSize      = 3000 /* Minimum stack required is 3000! */\n")
  705.         (append "    Control        = "#Control)
  706.         (append "   /* The Control field is for special adjustments */\n")
  707.         (append "   /* L/S convert all file names to lowercase */\n")
  708.         (append "   /* LV/S convert volume names to lowercase */\n")
  709.         (append "   /* AL/S Auto-Lower converts only non-Amiga CDs */\n")
  710.         (append "   /* LFC/N start converting at this character */\n")
  711.         (append "   /* LC/N/A number of blocks per cache line */\n")
  712.         (append "   /* DC/N/A number of cache lines for the data cache */\n")
  713.         (append "   /* MD/N/A number of blocks, when starting direct read, not using */\n")
  714.         (append "   /* the cache. 0 will be a reasonable default (LC*DC+1) */\n")
  715.         (append "   /* S/S Do SCSI direct commands, no Trackdisk like commands! */\n")
  716.         (append "   /* NC/S Do NOT use TD_ADDCHANGEINT, poll for DiskChange! */\n")
  717.         (append "   /* M/S Issue a TD_MOTOR (OFF) command after read */\n")
  718.         (append "#\n")
  719.     )
  720.     (protect (cat "devs:MountList." #CDDevice_NC) "-e" )
  721.     )
  722.     )
  723. ))
  724.  
  725.  
  726.  
  727. (if (> #wbversion 37)
  728.     (
  729.  
  730.     (if (exists (tackon #mountDirectory #CDDevice_NC ) )
  731.         ((set #ReplaceOld
  732.             (askbool
  733.             (prompt "\n\n" (tackon #mountDirectory #CDDevice_NC) " already exists!\n\n"
  734.                     "Do you want to replace it?" )
  735.             (help "\n\nClick \"YES\" if " (tackon #mountDirectory #CDDevice_NC) " should be "
  736.                   "replaced and \"NO\" if not!")
  737.             (default 1)
  738.             )
  739.         ))
  740.     )
  741.  
  742.     (if #ReplaceOld
  743.  
  744.     ((protect (tackon #mountDirectory #CDDevice_NC) "rwed" )
  745.  
  746.     (textfile
  747.         (dest (tackon #mountDirectory #CDDevice_NC) )
  748.         (append "/***************************************************************/\n"
  749.                   "/*  CacheCDFS mountlist entry © 1993 Elaborate Bytes, O. Kastl */\n"
  750.                   "/***************************************************************/\n")
  751.         (append "    FileSystem     = L:CacheCDFS /* The name of the game */\n" )
  752.         (append "    Device         = \""#CDROM_Device"\" /* Name of exec device driver */\n" )
  753.         (append "    Unit           = " #CD_DeviceUnit " /* exec device unit */\n" )
  754.         (append "    Flags          = " #DevFlags " /* OpenDevice flags */\n")
  755.         (append "    BlocksPerTrack = 351000 /* Unused */\n")
  756.         (append "    BlockSize      = 2048 /* True, but unused */\n")
  757.         (append "    Mask           = 0x7ffffffe /* Memory mask for direct read */\n")
  758.         (append "    MaxTransfer    = 0x1000000 /* Maximum amount of bytes for direct read */\n")
  759.         (append "    Reserved       = 0 /* Unused */\n")
  760.         (append "    Interleave     = 0 /* Unused */\n")
  761.         (append "    LowCyl         = 0 /* Unused */\n")
  762.         (append "    HighCyl        = 0 /* Unused */\n")
  763.         (append "    Surfaces       = 1 /* Unused */\n")
  764.         (append "    Buffers        = 50 /* Number of cache lines */\n")
  765.         (append "    BufMemType     = " #BufMemType )
  766.         (append "    GlobVec        = -1 /* Do not change! */\n")
  767.         (append "    Mount          = 1 /* Mount it immediately */\n")
  768.         (append "    Priority       = 10 /* Priority of FileSystem task */\n")
  769.         (append "    DosType        = 0x43443031 /* Currently unused */\n")
  770.         (append "    StackSize      = 3000 /* Minimum stack required is 3000! */\n")
  771.         (append "    Control        = "#Control)
  772.         (append "   /* The Control field is for special adjustments */\n")
  773.         (append "   /* L/S convert all file/volume names to lowercase */\n")
  774.         (append "   /* LV/S convert volume names to lowercase */\n")
  775.         (append "   /* AL/S Auto-Lower converts only non-Amiga CDs */\n")
  776.         (append "   /* LFC/N start converting at this character */\n")
  777.         (append "   /* LC/N/A number of blocks per cache line */\n")
  778.         (append "   /* DC/N/A number of cache lines for the data cache */\n")
  779.         (append "   /* MD/N/A number of blocks, when starting direct read, not using */\n")
  780.         (append "   /* the cache. 0 will be a reasonable default (LC*DC+1) */\n")
  781.         (append "   /* S/S Do SCSI direct commands, no Trackdisk like commands! */\n")
  782.         (append "   /* NC/S Do NOT use TD_ADDCHANGEINT, poll for DiskChange! */\n")
  783.         (append "   /* M/S Issue a TD_MOTOR (OFF) command after read */\n")
  784.     )
  785.  
  786.     (protect (tackon #mountDirectory #CDDevice_NC) "-e" )
  787.  
  788.     (copyfiles
  789.             (prompt "\n\nCopying Mountlist icon")
  790.             (source "CacheCDFSInst:Devs/DOSDrivers/CD0.info")
  791.             (dest #mountDirectory)
  792.             (newname (cat #CDDevice_NC ".info"))
  793.             (help "\n\nThis will copy over an icon for the mountlist file.")
  794.             (confirm)
  795.  
  796.     ))
  797.     )
  798.  
  799.     (protect "S:User-Startup" "srwed" )
  800.     (startup "CacheCDFS"
  801.         (prompt "\n\nRemoving MOUNT command from the startup-sequence")
  802.         (help "\n\nThe command \"MOUNT " #CDDevice " FROM DEVS:MOUNTLIST." #CDDevice_NC "\" will be removed from your "
  803.                 "\"S:Startup-Sequence\" or \"S:User-Startup\" file if it is present from "
  804.                 "an earlier installation." )
  805.         )
  806.  
  807.     (if ( exists ( cat "devs:MountList." #CDDevice_NC ) )
  808.  
  809.         ((protect (cat "devs:MountList." #CDDevice_NC) "rwed " )
  810.         (delete (cat "devs:MountList." #CDDevice_NC)
  811.             (prompt "\n\nDeleting file \"DEVS:MOUNTLIST." #CDDevice_NC "\"" )
  812.             (help "\n\nThe file \"DEVS:MOUNTLIST." #CDDevice_NC "\" will be deleted "
  813.                     "if it is present from an earlier installation." )
  814.             (confirm)
  815.             )
  816.         ))
  817.     )
  818. )
  819.  
  820. (set #SlotNumber (+ #SlotNumber 1 ))
  821.  
  822. )
  823.  
  824. (complete 40 )
  825.  
  826. (if ( NOT (= #theirlevel 2 ) )
  827.     (
  828.     (set #instChanger ( NOT ( run "CacheCDFSInst:Changer DEVICE="#CDROM_Device" UNIT="#CDROM_Unit" TEST" ( safe ) ) ) )
  829.     )
  830. )
  831.  
  832. (if (= #theirlevel 2 )
  833.     (
  834.     (set #instChanger 1)
  835.     )
  836. )
  837.  
  838. (if #instChanger
  839.     ((set #instChanger
  840.         (askbool
  841.             (prompt "\n\nShould the ATAPI Changer utility be installed?\n\n"
  842.                       "NOTE: This program is only required, if you have an ATAPI "
  843.                       "CD-ROM changer!" )
  844.             (help "\n\nThis will copy over the ATAPI Changer utility "
  845.                     "to your harddisk.\n\nIf you do not "
  846.                     "wish the Changer program to be transferred to your system, "
  847.                     "skip this step.\n" )
  848.             (default 1)
  849.         )
  850.     )
  851. ))
  852.  
  853. (if #instChanger
  854.     (
  855.     (if (exists "CacheCDFS:AtapiChanger" )
  856.         (
  857.         (protect "CacheCDFS:AtapiChanger" "rwed" )
  858.         (delete "CacheCDFS:AtapiChanger" )
  859.         )
  860.     )
  861.  
  862.     (if (exists "CacheCDFS:AtapiChanger.info" )
  863.         (
  864.         (protect "CacheCDFS:AtapiChanger.info" "rwed" )
  865.         (delete "CacheCDFS:AtapiChanger.info" )
  866.         )
  867.     )
  868.  
  869.     (protect "CacheCDFS:Changer" "rwed" )
  870.     (protect "CacheCDFS:Changer.info" "rwed" )
  871.     (copylib
  872.         (prompt "\n\nCopying the Changer program to the "
  873.                   "CacheCDFS: directory." )
  874.         (source "CacheCDFSInst:Changer")
  875.         (dest "CacheCDFS:")
  876.         (help "\n\nThis will copy over the ATAPI Changer utility "
  877.                 "to your harddisk.\n\nIf you do not "
  878.                 "wish the Changer program to be transferred to your system, "
  879.                 "skip this step.\n" )
  880.         (infos)
  881.         (confirm)
  882.     )
  883.  
  884.     (tooltype
  885.         (dest "CacheCDFS:Changer" )
  886.         (settooltype "DEVICE" #CDROM_Device )
  887.         (settooltype "UNIT" ("%ld" #CDROM_Unit ))
  888.         (noposition)
  889.     )
  890. ))
  891.  
  892. (complete 50 )
  893.  
  894. (set #instCDFSprefs
  895.     (askbool
  896.         (prompt "\n\nShould the CDFSprefs utility be installed?")
  897.         (help "\n\nThis will copy over the CDFSprefs utility "
  898.                 "to your SYS:Prefs directory\n\nIf you do not "
  899.                 "wish the CDFSprefs program to be transferred to your system, "
  900.                 "skip this step.\n" )
  901.         (default 1)
  902.     )
  903. )
  904.  
  905. (if #instCDFSprefs
  906.     ((protect "SYS:Prefs/CDFSprefs" "rwed" )
  907.     (protect "SYS:Prefs/CDFSprefs.info" "rwed" )
  908.     (copylib
  909.         (prompt "\n\nCopying the CDFSprefs program to the "
  910.                   "SYS:Prefs directory." )
  911.         (source "CacheCDFSInst:Prefs/CDFSprefs")
  912.         (dest "SYS:Prefs")
  913.         (infos)
  914.         (help "\n\nThis will copy over the CDFSprefs "
  915.                 "program to your SYS:Prefs directory\n\nIf you do not "
  916.                 "wish the CDFSprefs program to be transferred to your system, "
  917.                 "skip this step." )
  918.         (confirm)
  919.     )
  920.  
  921.     (tooltype
  922.         (dest "SYS:Prefs/CDFSprefs" )
  923.         (noposition)
  924.     )
  925. ))
  926.  
  927. (complete 60 )
  928.  
  929. (set #instKillDev
  930.     (askbool
  931.         (prompt "\n\nShould the KillDev utility be installed?")
  932.         (help "\n\nThis will copy over the KillDev utility "
  933.                 "to your CacheCDFS directory\n\nIf you do not "
  934.                 "wish the KillDev program to be transferred to your system, "
  935.                 "skip this step." )
  936.         (default 1)
  937.     )
  938. )
  939.  
  940. (if #instKillDev
  941.     ((protect "CacheCDFS:KillDev" "rwed" )
  942.     (protect "CacheCDFS:KillDev.info" "rwed" )
  943.     (copylib
  944.         (prompt "\n\nCopying the KillDev program to the "
  945.                   "CacheCDFS: directory.\n" )
  946.         (source "CacheCDFSInst:KillDev")
  947.         (dest "CacheCDFS:")
  948.         (infos)
  949.         (help "\n\nThis will copy over the KillDev "
  950.                 "program to your CacheCDFS: directory\n\nIf you do not "
  951.                 "wish the KillDev program to be transferred to your system, "
  952.                 "skip this step." )
  953.         (confirm)
  954.     )
  955.  
  956.     (tooltype
  957.         (dest "CacheCDFS:KillDev" )
  958.         (settooltype "DOSDEV" #CDDevice )
  959.         (noposition)
  960.     )
  961. ))
  962.  
  963. (complete 70 )
  964.  
  965.  
  966. (if #instEjectCD
  967.     (
  968.     (set #instEjectCD
  969.     (askbool
  970.         (prompt "\n\nShould the EjectCD utility be installed?")
  971.         (help "\n\nThis will copy over the EjectCD utility "
  972.                 "to your CDFS directory\n\nIf you do not "
  973.                 "wish the EjectCD program to be transferred to your system, "
  974.                 "skip this step.\n" )
  975.         (default 1)
  976.     )
  977.     ))
  978. )
  979.  
  980. (if #instEjectCD
  981.     ((protect "CacheCDFS:EjectCD" "rwed" )
  982.     (protect "CacheCDFS:EjectCD.info" "rwed" )
  983.     (copylib
  984.         (prompt "\n\nCopying EjectCD program to the "
  985.                   "CacheCDFS: directory.\n" )
  986.         (source "CacheCDFSInst:EjectCD")
  987.         (dest "CacheCDFS:")
  988.         (help "\n\nThis will copy over the EjectCD utility "
  989.                 "to your CacheCDFS directory\n\nIf you do not "
  990.                 "wish the EjectCD program to be transferred to your system, "
  991.                 "skip this step.\n" )
  992.         (infos)
  993.         (confirm)
  994.     )
  995.  
  996.     (tooltype
  997.         (dest "CacheCDFS:EjectCD" )
  998.         (settooltype "DEVICE" #CDROM_Device )
  999.         (settooltype "UNIT" ("%ld" #CDROM_Unit ))
  1000.         (noposition)
  1001.     )
  1002. ))
  1003.  
  1004. (set #instPlayCD 0)
  1005.  
  1006. (if (exists "CacheCDFSInst:PlayCD.lha")
  1007.  
  1008. ((set #instPlayCD
  1009.     (askbool
  1010.         (prompt "\n\nShould the PlayCD Audio Player be installed?")
  1011.         (help "\n\nThis will copy over the PlayCD drawer "
  1012.                 "to your CacheCDFS directory\n\nIf you do not "
  1013.                 "wish the PlayCD drawer to be transferred to your system, "
  1014.                 "skip this step." )
  1015.         (default 1)
  1016.     )
  1017. )))
  1018.  
  1019. (if #instPlayCD
  1020.     (
  1021.  
  1022.     (working "\n\nDecrunching PlayCD...."
  1023.              "\n\nPlease Wait!")
  1024.  
  1025.     ( if (NOT @pretend )
  1026.     (( if ( run "CacheCDFSInst:c/lhex -afFqw=CacheCDFS: e CacheCDFSInst:PlayCD.lha" )
  1027.         (
  1028.         (abort "\n\nUnable to decrunch PlayCD!")
  1029.         )
  1030.     )))
  1031.  
  1032.  
  1033.     (tooltype
  1034.         (dest "CacheCDFS:PlayCD/PlayCD" )
  1035.         (settooltype "DEVICE" #CDROM_Device )
  1036.         (settooltype "UNIT" ("%ld" #CDROM_Unit ))
  1037.         (settooltype "BUFMEMTYPE" ("%ld" #BufMemInt ))
  1038.     )
  1039.     )
  1040. )
  1041.  
  1042. (complete 80 )
  1043.  
  1044.  
  1045. (set #instJukebox 0)
  1046.  
  1047. (if (exists "CacheCDFSInst:JukeBox.lha")
  1048. ((set #instJukebox
  1049.     (askbool
  1050.         (prompt "\n\nShould the JukeBox Audio Player be installed?")
  1051.         (help "\n\nThis will copy over the JukeBox drawer "
  1052.                 "to your CacheCDFS directory\n\nIf you do not "
  1053.                 "wish the JukeBox drawer to be transferred to your system, "
  1054.                 "skip this step." )
  1055.         (default 1)
  1056.     )
  1057. )))
  1058.  
  1059. (if #instJukebox
  1060.     (
  1061.     (protect "CacheCDFS:JukeBox" "rwed" )
  1062.     (protect "CacheCDFS:JukeBox.info" "rwed" )
  1063.     (makedir "CacheCDFS:JukeBox" 
  1064.         (infos)
  1065.         (prompt "\n\nCreating drawer for JukeBox\n")
  1066.         (help "\n\nThis will create a drawer for the JukeBox "
  1067.                 "Audio Player." )
  1068.     )
  1069.  
  1070.  
  1071. (working "\n\nDecrunching Jukebox...."
  1072.          "\n\nPlease Wait!")
  1073.  
  1074.     ( if (NOT @pretend )
  1075.     (( if ( run "CacheCDFSInst:c/lhex -qafFw=CacheCDFS:Jukebox e CacheCDFSInst:JukeBox.lha" )
  1076.         (
  1077.         (makeassign "JukeBox")
  1078.         (abort "\n\nUnable to decrunch JukeBox!")
  1079.         )
  1080.     )))
  1081.  
  1082.  
  1083.     (tooltype
  1084.         (dest "CacheCDFS:Jukebox/JukeBox" )
  1085.         (settooltype "DEVICE" #CDROM_Device )
  1086.         (settooltype "UNIT" ("%ld" #CDROM_Unit ))
  1087.     )
  1088.  
  1089. ))
  1090.  
  1091.  
  1092. (if (AND (> #wbversion 38) (exists "CacheCDFSInst:CD32.lha"))
  1093.  
  1094.     ((complete 90 )
  1095.  
  1096.     (set #instCD32
  1097.         (askbool
  1098.             (prompt "\n\nShould the CD32-Emulator be installed?"
  1099.                     "\n\nNote that the CD32-Emulator is completely useless "
  1100.                     "if you don't have an Amiga with AA/AGA chipset and "
  1101.                     "at least Kickstart version 3.0!")
  1102.             (help "\n\nThis will copy over the CD32 drawer "
  1103.                     "to your CacheCDFS directory\n\nIf you do not "
  1104.                     "wish the CD32 drawer to be transferred to your system, "
  1105.                     "skip this step.")
  1106.             (default 1)
  1107.         )
  1108.     )
  1109.  
  1110.     (if #instCD32
  1111.         (
  1112.         (working "\n\nDecrunching CD32...."
  1113.                  "\n\nPlease Wait!")
  1114.  
  1115.         ( if (NOT @pretend )
  1116.         (( if ( run "CacheCDFSInst:c/lhex -afFqw=CacheCDFS: e CacheCDFSInst:CD32.lha" )
  1117.             (
  1118.             (abort "\n\nUnable to decrunch CD32!")
  1119.             )
  1120.         )))
  1121.  
  1122.     
  1123.         (if (exists "CacheCDFSInst:CD32" )
  1124.             ((copylib
  1125.                 (prompt "This will copy the CD32 program.")
  1126.                 (help "This will copy the CD32 program.")
  1127.                 (source "CacheCDFSInst:CD32")
  1128.                 (infos)
  1129.                 (dest "CacheCDFS:CD32")
  1130.                 (confirm)
  1131.             ))
  1132.         )
  1133.  
  1134.  
  1135.         ( set #CDROM_Blocks 2 )
  1136.  
  1137.         (if (= #CDROM_Device "tandemcd.device")
  1138.             (
  1139.             ( set #CDROM_Blocks 4 )
  1140.             )
  1141.         )
  1142.  
  1143.         (if (= #CDROM_Device "tandemat.device")
  1144.             (
  1145.             ( set #CDROM_Blocks 4 )
  1146.             )
  1147.         )
  1148.  
  1149.         (if (= #CDROM_Device "tandemcd_pcmcia.device")
  1150.             (
  1151.             ( set #CDROM_Blocks 4 )
  1152.             )
  1153.         )
  1154.  
  1155.         (if (= #CDROM_Device "tandemcd_come.device")
  1156.             (
  1157.             ( set #CDROM_Blocks 4 )
  1158.             )
  1159.         )
  1160.  
  1161.         (tooltype
  1162.             (dest "CacheCDFS:CD32/CD32" )
  1163.             (settooltype "BLOCKS" ("%ld" #CDROM_Blocks ) )
  1164.             (settooltype "DOSDEV" #CDDevice_NC)
  1165.             )
  1166.  
  1167.     ))
  1168. ))
  1169.  
  1170. (complete 100 )
  1171.  
  1172. (set #doMount
  1173.     (askbool
  1174.     (prompt "\n\nMount CD-Rom now ?")
  1175.     (help "Select, if your CD-Rom should be mounted now, or not.")
  1176.     (default 1)
  1177.     )
  1178. )
  1179.  
  1180. ( if @pretend ((set #doMount 0))) 
  1181.  
  1182. (if #doMount
  1183.     (
  1184.     (set #SlotNumber 0 )
  1185.  
  1186.     (working "\n\nMounting CD-Rom...."
  1187.              "\n\nPlease Wait!")
  1188.  
  1189.     ( until (= #CDROM_NumLuns #SlotNumber )
  1190.  
  1191.         (set #CD_DeviceUnit (+ #CDROM_ID (* #SlotNumber 10 )))
  1192.         (set #CDDevice_NC (cat #tempCDDevice_NC #CD_DeviceUnit))
  1193.         (set #CDDevice (cat #CDDevice_NC ":") )
  1194.  
  1195.         ( run (cat "CacheCDFSInst:KillDev " #CDDevice " Quiet"))
  1196.  
  1197.         (if (< #wbversion 38)
  1198.             (
  1199.             (run (cat "C:Mount " #CDDevice " from devs:MountList." #CDDevice_NC ))
  1200.             )
  1201.         )
  1202.  
  1203.         (if (> #wbversion 37)
  1204.             (
  1205.                 (run (cat "C:Mount " #CDDevice  ))
  1206.             )
  1207.         )
  1208.     (set #SlotNumber (+ #SlotNumber 1 ))
  1209.     )
  1210. ))
  1211.  
  1212.  
  1213. (makeassign "CacheCDFSInst" (safe))
  1214. (makeassign "CacheCDFS" (safe))
  1215.  
  1216.