home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 April (Special) / Chip-Special_1997-04_cd.bin / mediavis / xdiag / mvdxdiag.exe / TCDRC.DAT < prev    next >
Text File  |  1995-04-03  |  38KB  |  1,218 lines

  1. include tcdglb.dat
  2.  
  3. menu ReadCDROMConfiguration dims 25,80 bc bla tc wh bo do na " Read CDROM Configuration "
  4.     item script ReadCDROMConfiguration
  5.  
  6. script ReadCDROMConfiguration
  7.     set var_CDROMReady ""
  8.  
  9.     display "Searching for CDROM Driver in CONFIG.SYS"     at 2,2 dims 1,65 bc bla tc wh
  10.     runscript FindCDROMConfig
  11.  
  12.     display "Searching for CDROM Driver in AUTOEXEC.BAT"    at 3,2 dims 1,65 bc bla tc wh 
  13.     runscript FindCDROMAutoex
  14.  
  15.     if issame    "${lin_CONFIGCDROM}"   ""    goto needCONFIGCDROM
  16.     if issame    "${v_namcdromd1}" ""    goto needCONFIGCDROM
  17.     if not isfile $v_namcdromd1    goto failCONFIGCDROM
  18.     goto okayCONFIGCDROM
  19.  
  20.     :needCONFIGCDROM
  21.      set var_CDROMReady "Unavailable"
  22.      runmenu needCONFIGCDROM
  23.      goto okayCONFIGCDROM
  24.     :failCONFIGCDROM
  25.      set var_CDROMReady "Unavailable"
  26.      if issame "${v_namcdromd1}" ""    set v_namcdromd1 "${nam_AUTOEXcddev1}"
  27.      runmenu failCONFIGCDROM
  28.      goto okayCONFIGCDROM
  29.     :okayCONFIGCDROM
  30.  
  31.     if issame "${lin_AUTOEXCDROM}" ""    goto needAUTOEXCDROM
  32.     if issame "${v_namcdromd1}" ""    goto okayAUTOEXCDROM
  33.  
  34.     if not isfile ${v_namcdromd1}    goto okayAUTOEXCDROM
  35.     set x type int 0
  36.     interrupt 2Fh ax 1500h bx 0 return bx x
  37.     if isequal $x 0                goto failAUTOEXCDROM
  38.     goto okayAUTOEXCDROM
  39.     :needAUTOEXCDROM
  40.      set var_CDROMReady "Unavailable"
  41.      runmenu needAUTOEXCDROM
  42.      goto okayAUTOEXCDROM
  43.     :failAUTOEXCDROM
  44.      set var_CDROMReady "Unavailable"
  45.      runmenu failAUTOEXCDROM
  46.      goto okayAUTOEXCDROM
  47.     :okayAUTOEXCDROM
  48.      
  49.     runmenu dspCDROMlines${v_namcdrom}:r
  50.  
  51.     if issame "${v_namcdrom}" "fdcd.sys"    sedit -awnqI $v_winpath system.ini 386Enh EMMExclude=CA00-CBFF "CA00-CBFF" substitute
  52.  
  53.     return
  54.  
  55. menu dspCDROMlines at -1,-1 bc wh tc bla bo do sh name " CDROM System Configuration "
  56.     text at ,2
  57.     text "The following lines were found in your system configuration files:"
  58.     text
  59.     display v_namcdrom dims 1,13 at ,-1 
  60.     text at ,2
  61.     text "CONFIG.SYS:"
  62.     display lin_CONFIGCDROM dims 2,65 bc blu tc wh
  63.     text
  64.     display lin_CONFIGJAZZ dims 2,65 bc blue tc wh
  65.     text
  66.     text "AUTOEXEC.BAT"
  67.     display lin_AUTOEXCDROM dims 2,65 bc blu tc wh
  68.     text
  69.     text "Press ENTER to Continue..."
  70.     text
  71.     text
  72.     text
  73.  
  74. menu dspCDROMlinesSJCD at -1,-1 bc wh tc bla bo do sh name " CDROM System Configuration "
  75.     text at ,2
  76.     text "The following lines were found in your system configuration files:"
  77.     text
  78.     display v_namcdrom dims 1,13 at ,-1 
  79.     text at ,2
  80.     text "CONFIG.SYS:"
  81.     display lin_CONFIGCDROM dims 2,65 bc blu tc wh
  82.     text
  83.     display lin_CONFIGJAZZ dims 2,65 bc blue tc wh
  84.     text
  85.     text "AUTOEXEC.BAT"
  86.     display lin_AUTOEXCDROM dims 2,65 bc blu tc wh
  87.     text
  88.     text "Press ENTER to Continue..."
  89.     text
  90.     text
  91.     text
  92.  
  93. menu dspCDROMlinesFDATACD at -1,-1 bc wh tc bla bo do sh name " CDROM System Configuration "
  94.     text at ,2
  95.     text "The following lines were found in your system configuration files:"
  96.     text
  97.     display v_namcdrom dims 1,13 at ,-1 
  98.     text at ,2
  99.     text "CONFIG.SYS:"
  100.     display lin_CONFIGMCAM dims 2,65 bc blu tc wh
  101.     text
  102.     display lin_CONFIGCDROM dims 2,65 bc blue tc wh
  103.     text
  104.     text "AUTOEXEC.BAT"
  105.     display lin_AUTOEXCDROM dims 2,65 bc blu tc wh
  106.     text
  107.     text "Press ENTER to Continue..."
  108.     text
  109.     text
  110.     text
  111.  
  112.  
  113. menu dspCDROMlinesD011V109 at -1,-1 bc wh tc bla bo do sh name " CDROM System Configuration "
  114.     text at ,2
  115.     text "The following lines were found in your system configuration files:"
  116.     text
  117.     display v_namcdrom dims 1,13 at ,-1 
  118.     text at ,2
  119.     text "CONFIG.SYS:"
  120.     display lin_CONFIGMCAM dims 2,65 bc blu tc wh
  121.     text
  122.     display lin_CONFIGCDROM dims 2,65 bc blue tc wh
  123.     text
  124.     text "AUTOEXEC.BAT"
  125.     display lin_AUTOEXCDROM dims 2,65 bc blu tc wh
  126.     text
  127.     text "Press ENTER to Continue..."
  128.     text
  129.     text
  130.     text
  131.  
  132.  
  133.  
  134.  
  135. menu dspCDROMlinesMTMCDAI at -1,-1 bc wh tc bla bo do sh name " CDROM System Configuration "
  136.     text at ,2
  137.     text "The following lines were found in your system configuration files:"
  138.     text
  139.     display v_namcdrom dims 1,13 at ,-1 
  140.     text at ,2
  141.     text "CONFIG.SYS:"
  142.     display lin_CONFIGMCAM dims 2,65 bc blu tc wh
  143.     text
  144.     display lin_CONFIGCDROM dims 2,65 bc blue tc wh
  145.     text
  146.     text "AUTOEXEC.BAT"
  147.     display lin_AUTOEXCDROM dims 2,65 bc blu tc wh
  148.     text
  149.     text "Press ENTER to Continue..."
  150.     text
  151.     text
  152.     text
  153.  
  154.  
  155.  
  156. menu dspCDROMlinesCDROM at -1,-1 bc wh tc bla bo do sh name " CDROM System Configuration "
  157.     text at ,2
  158.     text "The following lines were found in your system configuration files:"
  159.     text
  160.     display v_namcdrom dims 1,13 at ,-1 
  161.     text at ,2
  162.     text "CONFIG.SYS:"
  163.     display lin_CONFIGCDROM dims 2,65 bc blue tc wh
  164.     text
  165.     text "AUTOEXEC.BAT"
  166.     display lin_AUTOEXCDROM dims 2,65 bc blu tc wh
  167.     text
  168.     text "Press ENTER to Continue..."
  169.     text
  170.     text
  171.     text
  172.  
  173.  
  174. script FindCDROMConfig
  175.     local buf type str "                                                                                                     "
  176.     local ptr type ptr &buf
  177.  
  178.     if issame "${v_namconfig}" ""    then
  179.         if isfile ${cwd:h}\pa3d.sys    set v_namconfig "pa3d.sys"
  180.         if isfile ${cwd:h}\pros.sys    set v_namconfig "pros.sys"
  181.         if isfile ${cwd:h}\jazz.sys    set v_namconfig "jazz.sys"
  182.     endif
  183.     nullit buf
  184.     sedit -C ${v_bootdrv}${v_bootdir} config.sys device=+$v_namconfig d put $ptr
  185.     trim buf
  186.     set lin_CONFIGJAZZ "$buf"
  187.  
  188.     if issame "${v_namcdrom}" ""    then
  189. ##AS
  190. ##AS        if isfile ${cwd}:h\mtmcdai.sys    set v_namcdrom "mtmcdai.sys"
  191.         if isfile ${cwd}:h\FDATACD.SYS    set v_namcdrom "FDATACD.SYS"
  192.  
  193.         if isfile ${cwd}:h\cdrom.sys    set v_namcdrom "cdrom.sys"
  194.         if isfile ${cwd}:h\sjcd.sys    set v_namcdrom "sjcd.sys"
  195.         if isfile ${cwd}:h\fdcd.sys    set v_namcdrom "fdcd.sys"
  196. ##AS        if isfile mtmcdai.sys    set v_namcdrom "mtmcdai.sys"
  197.         if isfile FDATACD.SYS    set v_namcdrom "FDATACD.SYS"
  198.         if isfile cdrom.sys    set v_namcdrom "cdrom.sys"
  199.         if isfile sjcd.sys    set v_namcdrom "sjcd.sys"
  200.         if isfile fdcd.sys    set v_namcdrom "fdcd.sys"
  201.     endif
  202.     if issame "${v_namcdrom}" "sjcd.sys"    then
  203.         if issame "$v_inifile" ""    set v_inifile "QCFG.INI"
  204.  
  205.         nullit buf
  206.         sedit -I . $v_inifile config cdrport dummy put $ptr
  207.         set c_cdrport "$buf" - "^*=" - "\w*$$"
  208.     endif
  209.  
  210.     nullit buf
  211.     sedit -C ${v_bootdrv}${v_bootdir} config.sys lastdrive= dummy put $ptr
  212.     trim buf
  213.     set lin_CONFIGLASTDRIVE "${buf}"
  214.     if ! issame "${buf}" ""        set var_CONFIGLASTDRIVEfound 1
  215.  
  216.     nullit buf
  217.     sedit -C ${v_bootdrv}${v_bootdir} config.sys device=+$v_mcamname dummy put $ptr
  218.     trim buf
  219.     set lin_CONFIGMCAM  "${buf}"
  220.     if ! issame "${buf}" ""        set var_CONFIGMCAMfound 1
  221.  
  222.     nullit buf
  223.     sedit -C ${v_bootdrv}${v_bootdir} config.sys device=+$v_namcdrom dummy put $ptr
  224.     
  225.     trim buf
  226.     set lin_CONFIGCDROM "${buf}"
  227.  
  228.     set var_CONFIGCDROMfound 0     
  229.     if issame "${buf}" ""    return
  230.     set var_CONFIGCDROMfound 1
  231.  
  232.  
  233.     if $var_CONFIGMCAMfound        runscript parseCONFIGMCAM
  234.     if $var_CONFIGCDROMfound    runscript parseCONFIGCDROM
  235.     if $var_CONFIGLASTDRIVEfound    runscript parseCONFIGLASTDRIVE
  236.  
  237.     return
  238.  
  239. script parseCONFIGLASTDRIVE
  240.     set v_lastdrive "${lin_CONFIGLASTDRIVE}" - "*=" 
  241.     trim v_lastdrive
  242.     return
  243.  
  244. script parseCONFIGCDROM
  245.     local x type str "${lin_CONFIGCDROM}"
  246.     local y type str ""
  247.  
  248.     set y "${x}" - "/d:"    
  249.     if $_strop         set v_namcdromd1 "${x}" - "*/d:" - "\w*$$"
  250.  
  251.     set y "${x}" - "*/e"
  252.     if $_strop        set opt_CONFIGCDROMslashe "/E"
  253.  
  254.     set y "${x}" - "*/f"
  255.     if $_strop        set opt_CONFIGCDROMslashf "/F" + "${y}" - "\w*$$"
  256.  
  257.     return
  258.  
  259. script parseCONFIGMCAM
  260.     local x type str "${lin_CONFIGMCAM}"
  261.     local y type str ""
  262.  
  263.     set y "${x}" - "^*${v_mcamname}"
  264.     trim y
  265.     set opt_CONFIGMCAM "${y}"
  266.     return
  267.  
  268. script FindCDROMAutoex
  269.     local buf type str "                                                                                                     "
  270.     local ptr type ptr &buf
  271.     local name type str ""
  272.     local count type int 0
  273.     
  274.     set name "mscdex"
  275.     sedit -B ${v_bootdrv}${v_bootdir} autoexec.bat $name dummy locate
  276.     if ! $errorlevel == 0 then
  277.         set count ++
  278.         set v_mscdex "mscdex.exe"
  279.     endif
  280.     set name "corelcdx"
  281.     sedit -B ${v_bootdrv}${v_bootdir} autoexec.bat $name dummy locate
  282.     if ! $errorlevel == 0 then
  283.         set count ++
  284.         set v_mscdex "corelcdx.com"
  285.     endif
  286.  
  287.     set var_AUTOEXCDROMfound 0
  288.     set lin_AUTOEXCDROM ""
  289.     if $count == 0             goto return
  290.     if $count == 1             goto parseline
  291.  
  292.     runmenu MultipleAUTOEXCDROM
  293.     set lin_AUTOEXCDROM ""
  294.     set v_mscdex ""
  295.     :return
  296.     return
  297.  
  298.     :parseline
  299.     set var_AUTOEXCDROMfound 1
  300.     set name "${v_mscdex}:r"
  301.     sedit -B ${v_bootdrv}${v_bootdir} autoexec.bat $name dummy put $ptr
  302.     set lin_AUTOEXCDROM "${buf}"
  303.  
  304.     local x type str "${buf}"
  305.     local y type str ""
  306.     local c type int 0
  307.  
  308.     set y "${x}" - "/d:"
  309.     if not issame "${y}" "${x}"     set c ++
  310.     set x "${y}"
  311.     set y "${x}" - "/d:"
  312.     if not issame "${y}" "${x}"     set c ++
  313.     set x "${y}"
  314.     set y "${x}" - "/d:"
  315.     if not issame "${y}" "${x}"     set c ++
  316.     set x "${y}"
  317.     set y "${x}" - "/d:"
  318.     if not issame "${y}" "${x}"     set c ++
  319.  
  320.     if $c == 0            goto gotnames
  321.     set nam_AUTOEXcddev1 "${buf}" -                     "*/d:" - "\w*$$"
  322.     trim nam_AUTOEXcddev1
  323.     if $c == 1            goto gotnames
  324.     set nam_AUTOEXcddev2 "${buf}" - "*/d:*\w" -                 "*/d:" - "\w*$$"
  325.     trim nam_AUTOEXcddev2
  326.     if $c == 2            goto gotnames
  327.     set nam_AUTOEXcddev3 "${buf}" - "*/d:*\w" - "*/d:*\w" -         "*/d:" - "\w*$$"
  328.     trim nam_AUTOEXcddev3
  329.     if $c == 3            goto gotnames
  330.     set nam_AUTOEXcddev4 "${buf}" - "*/d:*\w" - "*/d:*\w" - "*/d:*\w" -     "*/d:" - "\w*$$"
  331.     trim nam_AUTOEXcddev4
  332.     :gotnames
  333.  
  334.     local m type str ""
  335.     set m "${buf}" - "*/m:"
  336.     if not issame "${m}" "${buf}"    set opt_AUTOEXCDROMslashm "${m}" - "\w*$$"
  337.     return
  338.  
  339. ########################################################################
  340. ### FindMEMMGRConfig - find the DEVICE=memorymanager
  341. ### then, parse that line to find the INCLUDE/EXCLUDE status of CA00-CBFF
  342. script FindMEMMGRConfig
  343.     local buf type str "                                                                                                     "
  344.     local ptr type ptr &buf
  345.     local name type str ""
  346.     local count type int 0
  347.  
  348.     set name "emm386"
  349.     sedit -C ${v_bootdrv}${v_bootdir} config.sys device=+$name dummy put $ptr
  350.     trim buf
  351.     if not issame "${buf}" ""    then
  352.         set count ++
  353.         set nam_CONFIGMEMMGR "emm386.exe"
  354.         set lin_CONFIGMEMMGR "${buf}"
  355.     endif
  356.  
  357.     set name "qemm"
  358.     sedit -C ${v_bootdrv}${v_bootdir} config.sys device=+$name dummy put $ptr
  359.     trim buf
  360.     if not issame "${buf}" ""    then
  361.         set count ++
  362.         set nam_CONFIGMEMMGR "qemm.sys"
  363.         set lin_CONFIGMEMMGR "${buf}"
  364.     endif
  365.  
  366.     if $count == 0    return
  367.     if $count == 1     goto parseline
  368.     runmenu MultipleCONFIGMEMMGR
  369.     set lin_CONFIGMEMMGR ""
  370.     set nam_CONFIGMEMMGR ""
  371.     return
  372.  
  373.     :parseline
  374.     if issame "${nam_CONFIGMEMMGR}" "emm386.exe"     runscript parseEMM386
  375.     if issame "${nam_CONFIGMEMMGR}" "qemm.sys"    runscript parseQEMM
  376.  
  377.     return
  378.  
  379. script parseQEMM
  380.     local x type str ""
  381.     local y type str ""
  382.     local z type str ""
  383.     local lorange type int hex 0
  384.     local hirange type int hex 0
  385.  
  386.     set x "${lin_CONFIGMEMMGR}"
  387.     :checkinclude
  388.     breakpoint
  389.     set y "${x}" - "*i="
  390.     if ! $_strop            goto noinclude
  391.  
  392.     set z "${y}" - "-*$$"
  393.     set lorange $z
  394.  
  395.     set x "${y}" - "*-" - "\w*$$"
  396.     set hirange $z
  397.  
  398.     if $lorange <= CBFFh if $hirange >= CA00h    set var_MemIsIncluded 1
  399.     set x "${y}"
  400.     goto checkinclude
  401.  
  402.     :noinclude
  403.  
  404.     set x "${lin_CONFIGMEMMGR}"
  405.  
  406.     :checkexclude
  407.     set y "${x}" - "*x="
  408.     if issame "${y}" "${x}"        goto noexclude
  409.  
  410.     set z "${y}" - "-*$$"
  411.     set lorange $z
  412.  
  413.     set z "${y}" - "*-" - "\w*$$"
  414.     set hirange $z
  415.  
  416.     if $lorange <= CA00h if $hirange >= CB00h    set var_MemIsExcluded 1
  417.  
  418.     set x "${y}"
  419.     goto checkexclude
  420.  
  421.     :noexclude
  422.     return
  423.     
  424. script parseEMM386
  425.     local x type str ""
  426.     local y type str ""
  427.     local z type str ""
  428.     local lorange type int hex 0
  429.     local hirange type int hex 0
  430.  
  431.     set x "${lin_CONFIGMEMMGR}"
  432.     :checkinclude
  433.     breakpoint
  434.     set y "${x}" - "*i="
  435.     if issame "${y}" "${x}"        goto noinclude
  436.  
  437.     set z "${y}" - "-*$$"
  438.     set lorange $z
  439.  
  440.     set z "${y}" - "*-" - "\w*$$"
  441.     set hirange $z
  442.  
  443.     if $lorange <= CBFFh if $hirange >= CA00h    set var_MemIsIncluded 1
  444.     set x "${y}"
  445.     goto checkinclude
  446.  
  447.     :noinclude
  448.  
  449.     set x "${lin_CONFIGMEMMGR}"
  450.  
  451.     :checkexclude
  452.     set y "${x}" - "*x="
  453.     if issame "${y}" "${x}"        goto noexclude
  454.  
  455.     set z "${y}" - "-*$$"
  456.     set lorange $z
  457.  
  458.     set z "${y}" - "*-" - "\w*$$"
  459.     set hirange $z
  460.  
  461.     if $lorange <= CA00h if $hirange >= CB00h    set var_MemIsExcluded 1
  462.  
  463.     set x "${y}"
  464.     goto checkexclude
  465.  
  466.     :noexclude
  467.     return
  468.     
  469.     
  470.     
  471. script getTextLine
  472.     set x type str ""
  473.     getstring x length 65
  474.     return "${x}"
  475.  
  476. #############################################################
  477. ### LookCDROMConfig - look at the CDROM CONFIG.SYS line
  478.  
  479. menu LookCDROMConfig dims 25,80 bc bla tc wh bo do name " Manually Verify CONFIG.SYS "
  480.     runscript FindCDROMConfig
  481.     item at -1,-1 " Edit the CDROM Driver Line in CONFIG.SYS "  script MakeCONFIGCDROM
  482.     item at   ,-1 " Diagnose CDROM Driver CONFIG.SYS Problems " script diagCONFIGCDROM
  483.  
  484.  
  485. #############################################################
  486. menu needCONFIGCDROM at -1,-1 dims 15,70 bc re tc wh na " CONFIG.SYS missing CDROM Driver "
  487.     text
  488.     text "Unable to locate the CDROM Driver in CONFIG.SYS"
  489.     text
  490.     text "A line must be added to CONFIG.SYS to load the CDROM driver."
  491.     text "
  492.     text "Would you like to do this now? "
  493.     text
  494.     box at 10,8 dims 3,60 
  495.     item " Yes, show me... " at 11,10 return 1 script makeCONFIGCDROM
  496.     item " No, thank you. "  at 11,40 return 1
  497.  
  498. script buildCONFIGCDROMline
  499.     if issame "${v_namcdrom}" ""    runmenu GetV_NAMCDROM
  500.  
  501.     set sedit_CONFIGCDROM "substitute"
  502.  
  503.     local x type str "${nam_AUTOEXcddev1}"
  504.     if issame "${x}" ""    set x "$def_devcdrom"
  505.     if issame "${v_namcdromd1}" ""        set v_namcdromd1 "${x}"
  506.     if issame "${lin_CONFIGCDROM}" "" then
  507.         set lin_CONFIGCDROM `pwd
  508.         set lin_CONFIGCDROM ${lin_CONFIGCDROM}:h
  509.         set lin_CONFIGCDROM "device=${lin_CONFIGCDROM}\${v_namcdrom} /D:${v_namcdromd1}"
  510.         if not issame "${opt_CONFIGCDROMslashe}" "" set lin_CONFIGCDROM "${lin_CONFIGCDROM} ${opt_CONFIGCDROMslashe}"
  511.         if issame "${v_namcdrom}" "sjcd.sys"    set lin_CONFIGCDROM "$lin_CONFIGCDROM /b:$c_cdrport"
  512.     endif
  513.  
  514.     return
  515.  
  516. script buildCONFIGlineFDCD
  517.     if issame "${v_namcdrom}" ""    runmenu GetV_NAMCDROM
  518.  
  519.     set sedit_CONFIGCDROM "substitute"
  520.  
  521.     local x type str "${nam_AUTOEXcddev1}"
  522.     if issame "${x}" ""    set x "$def_devcdrom"
  523.     if issame "${v_namcdromd1}" ""        set v_namcdromd1 "${x}"
  524.  
  525.     if issame "${lin_CONFIGCDROM}" "" then
  526.         set lin_CONFIGCDROM `pwd
  527.         set lin_CONFIGCDROM ${lin_CONFIGCDROM}:h
  528.         set lin_CONFIGCDROM "device=${lin_CONFIGCDROM}\${v_namcdrom} /D:${v_namcdromd1}"
  529.         if not issame "${opt_CONFIGCDROMslashe}" "" set lin_CONFIGCDROM "${lin_CONFIGCDROM} ${opt_CONFIGCDROMslashe}"
  530.     endif
  531.     return
  532.  
  533. script buildCONFIGlineSJCD
  534.     if issame "${v_namcdrom}" ""    runmenu GetV_NAMCDROM
  535.  
  536.     set sedit_CONFIGCDROM "substitute"
  537.  
  538.     local x type str "${nam_AUTOEXcddev1}"
  539.     if issame "${x}" ""    set x "$def_devcdrom"
  540.     if issame "${v_namcdromd1}" ""        set v_namcdromd1 "${x}"
  541.     if issame "${lin_CONFIGCDROM}" "" then
  542.         set lin_CONFIGCDROM `pwd
  543.         set lin_CONFIGCDROM ${lin_CONFIGCDROM}:h
  544.         set lin_CONFIGCDROM "device=${lin_CONFIGCDROM}\${v_namcdrom} /D:${v_namcdromd1}"
  545.         if not issame "${opt_CONFIGCDROMslashe}" "" set lin_CONFIGCDROM "${lin_CONFIGCDROM} ${opt_CONFIGCDROMslashe}"
  546.     endif
  547.     set lin_CONFIGCDROM "$lin_CONFIGCDROM /B:$c_cdrport"
  548.     return
  549.  
  550. script makeCONFIGCDROM
  551.     runscript buildCONFIGCDROMline
  552.     runmenu makeCONFIGCDROM
  553.     runmenu addCONFIGCDROM
  554.  
  555.     if issame "${lin_CONFIGCDROM}" "" return
  556.  
  557.     if $v_usemcam    runscript InsertCONFIGMCAM
  558.  
  559.     runmenu Delay5Warmboot
  560.  
  561.     return
  562.  
  563. menu makeCONFIGCDROM at -1,-1 dims 7,75 bc bla tc wh na " Build CONFIG.SYS CDROM Driver Line " noescape
  564.     text 
  565.     text "Edit the line below, until you are satisfied, then continue:"
  566.     text 
  567.     item $lin_CONFIGCDROM dims 1,70 onkey script "getTextLine lin_CONFIGCDROM"
  568.     text
  569.  
  570. menu addCONFIGCDROM at -1,-1 dims 9,75 bc bla tc wh na " Add CDROM Driver Line to CONFIG.SYS " noescape
  571.     text 
  572.     display lin_CONFIGCDROM dims 2,65 bc blu tc wh
  573.     text
  574.     text
  575.     item at ,-1 " Yes, add to CONFIG.SYS... "     script addCONFIGCDROM return 1
  576.     item at ,-1 " No, I'll do it myself! "         script clrCONFIGCDROM return 1
  577.     text
  578.  
  579. script addCONFIGCDROM
  580.     if $v_usemcam    then
  581.         runscript InsertCONFIGMCAM
  582.     else
  583.         local name type str ""
  584.         set name ${v_namcdrom}:r
  585.         sedit -awnqC ${v_bootdrv}${v_bootdir} config.sys device=+$name "${lin_CONFIGCDROM}" $sedit_CONFIGCDROM
  586.         interrupt 2Fh ax 4A10h bx 1    # flush smartdrv
  587.     endif
  588.     return
  589.  
  590. script InsertCONFIGMCAM
  591.     local buf type str "                                                                          "
  592.     local ptr type ptr &buf
  593.     local name type str ""
  594.  
  595.     if issame "${lin_CONFIGMCAM}" ""    set lin_CONFIGMCAM "device=${cwd}:h\${v_mcamname}" 
  596.  
  597.     set name "${v_mcamname}:r"
  598.     sedit    -C ${v_bootdrv}${v_bootdir} config.sys device=+$name d put $ptr
  599.     sedit -wnqC ${v_bootdrv}${v_bootdir} config.sys device=+$name d erase
  600.     sedit -wnqC ${v_bootdrv}${v_bootdir} config.sys device=+$name "${lin_CONFIGMCAM}" substitute
  601.  
  602.     set name "${v_namcdrom}:r"
  603.     sedit    -C ${v_bootdrv}${v_bootdir} config.sys device=+$name d put $ptr
  604.     sedit -wnqC ${v_bootdrv}${v_bootdir} config.sys device=+$name d erase
  605.     sedit -wnqC ${v_bootdrv}${v_bootdir} config.sys device=+$name "${lin_CONFIGCDROM}" substitute
  606.     interrupt 2Fh ax 4A10h bx 1    # flush smartdrv
  607.     return
  608.  
  609.     
  610. script clrCONFIGCDROM
  611.     set lin_CONFIGCDROM ""
  612.     set v_namcdromd1 ""
  613.     set v_namcdromd2 ""
  614.     set v_namcdromd3 ""
  615.     set v_namcdromd4 ""
  616.     return
  617.  
  618. #############################################################
  619. ### failCONFIGCDROM - CDROM DEVICE= line found in CONFIG.SYS, but no driver
  620. menu failCONFIGCDROM at 0,0 dims 25,80 bc re tc wh na " CDROM Driver Not Loaded "
  621.     text
  622.     text "Found CDROM Driver in CONFIG.SYS, but driver not loaded."
  623.     text
  624.     text "Either the machine was not rebooted after updating CONFIG.SYS,"
  625.     text "or there is some other conflict with your system resources."
  626.     text "
  627.     text "Would you like to diagnose the problem?"
  628.     text
  629.  
  630.     box at ,-1 dims 4,40
  631.     item at ,-1 " Yes, figure it out... "     script diagCONFIGCDROM return 1 
  632.     item at ,-1 " No, thank you. "      return 1
  633.  
  634. ####################################################################
  635. ### diagCONFIGCDROM - diagnose why CDROM Driver is in CONFIG, but not resident
  636. script diagCONFIGCDROM
  637.     if issame "${lin_CONFIGCDROM}" ""    runscript FindCDROMConfig
  638.  
  639.     if ! issame "${v_namcdrom}" "fdcd.sys"    goto skipchkmem
  640.     execute -eo chkmem CA
  641.     local statusCA type int $errorlevel
  642.     execute -eo chkmem CB
  643.     local statusCB type int $errorlevel
  644.  
  645.     if isequal $statusCA 0 then
  646.         runmenu statFDOMAINmemIsUnknown
  647.         goto skipchkmem
  648.     endif
  649.     if isequal $statusCB 0 then
  650.         runmenu statFDOMAINmemIsUnknown
  651.         goto skipchkmem
  652.     endif
  653.  
  654.     if isequal $statusCA 1 then
  655.         runscript FindMEMMGRConfig
  656.         if not issame "${lin_CONFIGMEMMGR}" "" runmenu statFDOMAINMem${var_MemIsIncluded}${var_MemIsExcluded}
  657.         goto skipchkmem
  658.     endif
  659.     if isequal $statusCB 2 then
  660.         runscript FindMEMMGRConfig
  661.         runmenu statFDOMAINmemIsEms
  662.         goto skipchkmem
  663.     endif
  664.     if isequal $statusCB 3 then
  665.         runmenu statFDOMAINmemIsRom
  666.         goto skipchkmem
  667.     endif
  668.     :skipchkmem
  669.  
  670.     local buf type str "                                                                                    "
  671.     local ptr type ptr &buf
  672.     local new type str ""
  673.     if ! issame "${v_namcdrom}" "sjcd.sys"    goto skipchkport
  674.     local cdrport         type str ""
  675.     local jazzcdrport     type str ""
  676.  
  677.     nullit buf
  678.     sedit -C ${v_bootdrv}${v_bootdir} config.sys device=+$v_namconfig d put $ptr
  679.     set lin_CONFIGJAZZ "$buf"
  680.     set new "$buf" - "*=" 
  681.     if ! $_strop    then
  682.         runmenu MissingJAZZ
  683.     else
  684.         set new "$new" - "*b" - "\w*$$"
  685.         trim new
  686.         set jazzcdrport "$new"
  687.         if ! issame "$new" "310" if ! issame "$new" "300" if ! issame "$new" "320" if ! issame "$new" "330"   if ! issame "$new" "340"    runmenu badJAZZCDROMPORT
  688.     endif
  689.     nullit buf
  690.     sedit -C ${v_bootdrv}${v_bootdir} config.sys device=+$v_namcdrom d put $ptr
  691.     set new "$buf" - "^*=" 
  692.     if ! $_strop    then
  693.         runmenu MissingSJCDCDROMPORT
  694.     else
  695.         set new "$new" - "*b:" - "\w*$$"
  696.         trim new
  697.         set cdrport "$new"
  698.         if ! issame "$new" "310" if ! issame "$new" "300" if ! issame "$new" "390"    runmenu badSJCDCDROMPORT
  699.     endif
  700.  
  701.     if ! issame "$cdrport" "$jazzcdrport"    runmenu JAZZCDRPORTMISMATCH
  702.     :skipchkport
  703.  
  704.  
  705.     nullit buf
  706.     sedit -C ${v_bootdrv}${v_bootdir} config.sys device=+$v_namcdrom d put $ptr
  707.     set new "$buf" - "^*="
  708.     :stripleadingspace
  709.     set new "$new" - "^\w"
  710.     if $_strop    goto stripleadingspace
  711.     set new "$new" - "\w*$$"
  712.     if ! issame "$new" "" if ! isfile $new     runmenu MissingCDROMFILE
  713.  
  714. #    if ! $var_CONFIGLASTDRIVEfound        goto skiplastdrive
  715. #    runscript chkCONFIGLASTDRIVE
  716. #    :skiplastdrive
  717.  
  718.     runmenu statFailUnknown
  719.  
  720.     :nextstep
  721.     return
  722.  
  723.  
  724. script chkCONFIGLASTDRIVE
  725.     local oldnodiskerror $nodiskerror
  726.     set nodiskerror 1
  727.     set a type int $nodiskerror
  728.  
  729.     local dir type str ""
  730.     set dir "${v_lastdrive}" + ":" + "\"
  731.     if ! isdir $dir                goto return
  732.  
  733.     set x type ptr &v_lastdrive
  734.     set y type byte *v_lastdrive
  735.  
  736.     :checkdrive
  737.     set y --
  738.     set dir "$y" + ":" + "\"
  739.     if ! isdir $dir        goto return
  740.  
  741.     if issame "$y" "c"    goto getnextdrive
  742.     if issame "$y" "C"    goto getnextdrive
  743.     goto checkdrive
  744.  
  745.     :getnextdrive
  746.     runmenu FixLASTDRIVE
  747.  
  748.     :return
  749.     set nodiskerror    $oldnodiskerror    
  750.     return
  751.  
  752. menu FixLASTDRIVE at 0,0 dims 25,80 bc re tc wh bo do sh na " Uh, oh! "
  753.     text
  754.     text "The CDROM system requires another Drive Letter, but CONFIG.SYS"
  755.     text "specifies a LASTDRIVE."
  756.     text
  757.     text "The 'LASTDRIVE=' line in CONFIG.SYS must be updated to make room"
  758.     text "for your new CDROM drive."
  759.     text
  760.     text "If you use the SUBST command, or use a NETWORK, then this change may"
  761.     text "affect those configurations."
  762.     text
  763.     text "The LASTDRIVE setting is currently at 'X', and this will be changed to"
  764.     text "the next drive letter if you select 'Change LASTDRIVE=', below:"
  765.     text
  766.     box at ,-1 dims 4,40 bo do sh
  767.     item at ,-1 " Change LASTDRIVE= "     script FixLASTDRIVE return 1
  768.     item at ,-1 " Let me figure this out! "    return 1
  769.     text
  770.     display v_lastdrive at 11,41 bc bla tc btw
  771.  
  772. script FixLASTDRIVE
  773.     local dir type str "     "
  774.     set x type ptr &v_lastdrive
  775.     set y type byte *v_lastdrive
  776.  
  777.     set y ++
  778.     if issame "$y" "{"    goto nolastdriveleft 
  779.     if issame "$y" "["    goto nolastdriveleft 
  780.     set v_lastdrive "$y"
  781.     runmenu NewLASTDRIVE
  782.     sedit -wnqC ${v_bootdrv}${v_bootdir} config.sys lastdrive $v_lastdrive substitute
  783.     return
  784.  
  785.     :nolastdriveleft
  786.     runmenu NoLASTDRIVELeft
  787.     return
  788.  
  789. menu NewLASTDRIVE at -1,-1 bc wh tc bla bo do sh na " Got it! "
  790.     text at ,2
  791.     text "The new LASTDRIVE letter is: " 
  792.     text 
  793.     text "The Machine will now reboot to make the CDROM Drive available..."     
  794.     item $v_lastdrive at 2,30 using " %s " script delay5warmboot    
  795.  
  796. menu NoLASTDRIVELeft at -1,-1 bc re tc wh bo do sh na " Uh, oh! "
  797.     text
  798.     text "Your system is already configured with LASTDRIVE=Z."
  799.     text 
  800.     text "The CDROM Driver will automatically set the CDROM Drive Letter"
  801.     text "to the next disk drive after any other disk drivers found in CONFIG.SYS"
  802.     text "(such as RAMDRIVE.SYS, a removable hard disk, or another CDROM drive)."
  803.     text
  804.  
  805. menu JAZZCDRPORTMISMATCH at -1,-1 dims 10,70 bc re tc wh bo do sh na " Uh, oh! "
  806.     text "The CDROM Port parameters differ between the" at ,-1
  807.     text "Sound Board Driver and the CDROM Driver."        at ,-1
  808.     text
  809.     display lin_CONFIGCDROM dims 2,65 bc bla tc wh
  810.     text
  811.     display lin_CONFIGJAZZ  dims 2,65 bc bla tc wh
  812.     text
  813.  
  814. menu MissingCDROMFILE at -1,-1 dims 6,70 bc re tc wh bo do sh na " Uh, oh! "
  815.     text "The CDROM Driver FILE is missing!"
  816.     display lin_CONFIGCDROM dims 2,65 bc bla tc wh
  817.     text
  818.  
  819. menu BadJAZZCDROMPORT at -1,-1 dims 6,70 bc re tc wh bo do sh na " Uh, oh! "
  820.     text "The Sound Board Driver has a bad 'B###' option.
  821.     display lin_CONFIGJAZZ dims 2,65 bc bla tc wh
  822.     text
  823. menu BadSJCDCDROMPORT at -1,-1 dims 6,70 bc re tc wh bo do sh na " Uh, oh! "
  824.     text "The CDROM Driver has a bad 'B###' option.
  825.     display lin_CONFIGCDROM dims 2,65 bc bla tc wh
  826.     text
  827. menu MissingJAZZCDROMPORT at -1,-1 dims 6,70 bc re tc wh bo do sh na " Uh, oh! "
  828.     text "The Sound Board Driver has no 'B###' option."
  829.     display lin_CONFIGJAZZ dims 2,65 bc bla tc wh
  830.     text
  831. menu MissingJAZZ at -1,-1 dims 5,70 bc re tc wh bo do sh na " Uh, oh! "
  832.     text "The Sound Board Driver is not in CONFIG.SYS"
  833.     display v_namconfig dims 1,40 bc bla tc wh
  834.     text
  835. menu MissingSJCDCDROMPORT at -1,-1 dims 6,70 bc re tc wh bo do sh na " Uh, oh! "
  836.     text "The CDROM Driver has no 'B:###' option."
  837.     display lin_CONFIGCDROM dims 2,65 bc bla tc wh
  838.     text
  839.  
  840. menu diagCONFIGCDROMOkay at -1,-1 dims 10,70 bc wh tc bla bo do sh na " Okay "
  841.     text at ,-1 "The CONFIG.SYS CDROM Driver is Okay!"
  842.     text at ,2 
  843.     display lin_CONFIGCDROM dims 2,65 bc bla tc wh
  844.     text
  845.     display lin_CONFIGJAZZ  dims 2,65 bc bla tc wh
  846.     text
  847.  
  848. script UpdateCDROMConfiguration
  849.     local tmp type str ""
  850.  
  851. ##AS    sedit -wnqC ${v_bootdrv}${v_bootdir} config.sys device=+$v_namcdrom  d erase
  852. ##AS    sedit -wnqC ${v_bootdrv}${v_bootdir} config.sys device=+$v_mcamname  d erase
  853.  
  854.     set tmp "$lin_CONFIGJAZZ" - "^*="
  855.     if $_strop sedit -wnqC ${v_bootdrv}${v_bootdir} config.sys device=+$v_namconfig "$tmp" substitute
  856.  
  857.     if isequal $v_usemcam 1        then
  858.         if issame "$lin_CONFIGMCAM" ""    set lin_CONFIGMCAM "device=${cwd}:h\${v_mcamname}"
  859.         set tmp "$lin_CONFIGMCAM" - "^*="
  860.         if $_strop sedit -wnqC ${v_bootdrv}${v_bootdir} config.sys device=+$v_mcamname   "$tmp" substitute
  861.     endif
  862.  
  863.     set tmp "$lin_CONFIGCDROM" - "^*="
  864.     if $_strop sedit -wnqC ${v_bootdrv}${v_bootdir} config.sys device=+$v_namcdrom  "$tmp" substitute
  865.  
  866.     interrupt 2Fh ax 4A10h bx 1    # flush smartdrv
  867.  
  868.     runscript delay5warmboot
  869.     return
  870.         
  871. menu statFailUnknown at 0,0 dims 25,80 bc bla tc wh bo do sh na " Hmm... "
  872.     text at ,2
  873.     text "Use the Arrow Keys to Highlight a Line and press ENTER to edit."
  874.     text "Press the <ESC> key to see the CDROM settings from config.sys file"
  875.     text "Then highlight 'Update Configuration' and press ENTER.  The changes"
  876.     text "will be made and the computer will restart."
  877.     text
  878.     box at ,-1 dims 8,76
  879.     item at ,-1 $lin_CONFIGCDROM script "getTextLine lin_CONFIGCDROM"    dims 1,70     bc bla tc wh 
  880.     separator at ,-1 dims 1,70
  881.     item at ,-1 $lin_CONFIGJAZZ  script "getTextLine lin_CONFIGJAZZ"    dims 1,70     bc bla tc wh 
  882.     separator at ,-1 dims 1,70
  883.     item at ,-1 " Update Configuration " script UpdateCDROMConfiguration return 1
  884.     item at ,-1 "    Ignore Changes    " script delay5warmboot return 1
  885.     text 
  886.     text at ,2
  887.     text "Perhaps the machine was not rebooted after the line was added to CONFIG.SYS?"
  888.     text "If so, select 'Ignore Changes' and press ENTER, and the machine will reboot."
  889.     text
  890.     text "Otherwise, perhaps the cable connecting the CDROM drive to the sound board"
  891.     text "is not installed correctly.  Select 'Ignore Changes' to reboot the computer,"
  892.     text "then depower the machine and verify the cable attachment."
  893.     text
  894.     text "Or, you may want to disable your Memory Manager and try again."
  895.     text
  896. menu statFDOMAINmemIsUnknown at 0,0 dims 25,80 bc re tc wh bo do sh na " Hmm... "
  897.     text
  898.     text "The memory required by the Future Domain driver appears 'okay'."
  899.     text
  900.     text "Examine more closely the CONFIG.SYS DEVICE= line, below: "
  901.     text
  902.     display lin_CONFIGCDROM dims 2,65 bc bla tc wh
  903.     text
  904.     text
  905.     text "If the above appears correct, then perhaps the machine was"
  906.     text "not rebooted after the line was added to CONFIG.SYS, so exit"
  907.     text "this program, then reboot the machine and run this program again."
  908.     text
  909.     text "Otherwise, perhaps the cable connecting the CDROM drive to the"
  910.     text "sound board is not installed correctly.  Please verify that the"
  911.     text "cable is attached firmly, and is not backwards."
  912.     text
  913.  
  914. menu statFDOMAINmem00 at 0,0 dims 25,80 bc re tc wh bo do sh na " Hmm... "
  915.     text
  916.     text "The CONFIG.SYS Memory Manager is neither INCLUDING nor EXCLUDING"
  917.     text "the memory range from CA00 to CBFF."
  918.     text 
  919.     text "Perhaps we should add the EXCLUDE option, then reboot the machine"
  920.     text "and run this program again."
  921.     text
  922.     display lin_CONFIGMEMMGR dims 2,65 bc wh tc bla
  923.     text
  924.     text
  925.  
  926. menu statFDOMAINmem01 at 0,0 dims 25,80 bc re tc wh bo do sh na " Hmm... "
  927.     text
  928.     text "The CONFIG.SYS Memory Manager has excluded the memory range CA00 to CBFF."
  929.     text 
  930.     text "This should allow the CDROM driver to locate the hardware."
  931.     text
  932.     text "Perhaps the machine has not been rebooted since the Memory Manager"
  933.     text "'DEVICE=' line in CONFIG.SYS was added (or modified)."
  934.     text 
  935.     text "Exit this program, then reboot the computer and run this program again."
  936.     text
  937.     display lin_CONFIGMEMMGR dims 2,65 bc wh tc bla
  938.     text
  939.     text
  940.     text "There is the possibility that your computer system's BIOS has specified"
  941.     text "that this area of memory (CA00-CBFF) is to be 'SHADOWED', which requires"
  942.     text "that you update your CMOS and disable 'shadowing' of this range."
  943.     text
  944.     text "This is usually accomplished by following the instructions on your "
  945.     text "screen that appear when you first power-on your computer, like:"
  946.     text "'Press DEL to run SETUP, or 'Press F1 to run SETUP'"
  947.     text
  948.  
  949. menu statFDOMAINmem10 at 0,0 dims 25,80 bc re tc wh bo do sh na " Hmm... "
  950.     text
  951.     text "The CONFIG.SYS Memory Manager has INCLUDED the memory range CA00 to CBFF."
  952.     text
  953.     text "This is probably the reason why the CDROM driver will not load."
  954.     text 
  955.     text "An EXCLUDE option should be added to the DEVICE= line in CONFIG.SYS,"
  956.     text "then the machine should be rebooted and this program run again."
  957.     text
  958.     display lin_CONFIGMEMMGR dims 2,65 bc wh tc bla
  959.     text
  960.     text
  961.  
  962. menu statFDOMAINmem11 at 0,0 dims 25,80 bc re tc wh bo do sh na " Hmm... "
  963.     text
  964.     text "The CONFIG.SYS Memory Manager has INCLUDED and EXCLUDED the"
  965.     text "memory range CA00 to CBFF.  This should be changed so that there"
  966.     text "are no overlapping INCLUDE and EXCLUDE regions."
  967.     text
  968.     display lin_CONFIGMEMMGR dims 2,65 bc wh tc bla
  969.     text
  970.     text
  971.  
  972. COMMENT
  973. menu statFDOMAINmemIsRam at 0,0 dims 25,80 bc re tc wh bo do sh na " Hmm... "
  974.     text
  975.     text "The memory required by the Future Domain driver is RAM."
  976.     text
  977.     text "This could cause a conflict preventing the driver from loading."
  978.     text 
  979.     text "Either a Memory Manager is controlling this area of memory,"
  980.     text "or the BIOS has 'Enabled Shadow Ram'."
  981.     text
  982.     text "This program has attempted to determine if a CONFIG.SYS Memory "
  983.     text "Manager has INCLUDED the CA00-CBFF memory range, but was unable"
  984.     text "to locate a recognized memory manager (EMM386.EXE, QEMM.EXE)."
  985.     text
  986.     text "Please examine CONFIG.SYS, looking for a 'DEVICE=' line that"
  987.     text "specifies a 'Memory Manager';  look for a string like this:"
  988.     text 
  989.     text "DEVICE=C:\MEMMGR.SYS /I=CA00-CBFF"
  990.     text
  991.  
  992. menu statFDOMAINmemIsEms at 0,0 dims 25,80 bc re tc wh bo do sh na " Hmm... "
  993.     text
  994.     text "The memory required by the Future Domain driver is being used "
  995.     text "as an EMS Page Frame."
  996.     text
  997.     text "This would cause a conflict preventing the driver from loading."
  998.     text 
  999.     text "The CONFIG.SYS Memory Manager must be updated to either move the"
  1000.     text "EMS Page Frame to another location, or remove it entirely if EMS"
  1001.     text "is not required on your system."
  1002.     text
  1003.     text "Please examine CONFIG.SYS, looking for a 'DEVICE=' line that"
  1004.     text "specifies a 'Memory Manager';  look for a string like this:"
  1005.     text 
  1006.     text "DEVICE=C:\MEMMGR.SYS /I=CA00-CBFF"
  1007.     text
  1008.  
  1009. menu statFDOMAINmemIsRom at 0,0 dims 25,80 bc re tc wh bo do sh na " Hmm... "
  1010.     text
  1011.     text "The memory required by the Future Domain driver is already used"
  1012.     text "by a peripheral device (such as a scanner, or other non-standard "
  1013.     text "device);  a ROM chip was detected in the CA00-CBFF range."
  1014.     text
  1015.     text "This would cause a conflict preventing the driver from loading."
  1016.     text 
  1017.     text "There is little that can be done about this, short of removing"
  1018.     text "the conflicting card from the system."
  1019.     text
  1020.     
  1021. ENDCOMM
  1022.  
  1023. #############################################################
  1024. ### LookCDROMAutoex - look at the CDROM CONFIG.SYS line
  1025.  
  1026. menu LookCDROMAutoex dims 25,80 bc bla tc wh bo do name " Manually Verify AUTOEXEC.BAT "
  1027.     runscript FindCDROMAutoex
  1028.     item at -1,-1 " Edit the CDROM Driver Line in AUTOEXEC.BAT "  script MakeAUTOEXCDROM
  1029.     item at   ,-1 " Diagnose CDROM Driver AUTOEXEC.BAT Problems " script diagAUTOEXCDROM
  1030.  
  1031. menu needAUTOEXCDROM at -1,-1 bc re tc wh na " AUTOEXEC.BAT missing MSCDEX Driver "
  1032.     text
  1033.     text "Unable to locate the MSCDEX Driver in AUTOEXEC.BAT"
  1034.     text
  1035.     text "A line must be added to AUTOEXEC.BAT to load the CDROM driver."
  1036.     text
  1037.     text "Would you like to do this now? "
  1038.     text
  1039.     item " Yes, show me... " at 8,10 return 1 script makeAUTOEXCDROM
  1040.     item " No, thank you. "  at 8,40 return 1
  1041.  
  1042. script buildAUTOEXCDROMline
  1043.     if issame "${v_mscdex}" ""    set v_mscdex "mscdex.exe"
  1044. #    if isequal $var_AUTOEXCDROMfound 0     then
  1045.         set sedit_AUTOEXCDROM "modify"
  1046. #    else
  1047. #        set sedit_AUTOEXCDROM "substitute"
  1048. #    endif
  1049.     local x type str "${v_namcdromd1}"
  1050.     if issame "${x}" "" set x "$def_devcdrom"
  1051.     set nam_AUTOEXcddev1 "${x}"
  1052.     if issame "${lin_AUTOEXCDROM}" "" then
  1053.         set lin_AUTOEXCDROM `pwd
  1054.         set lin_AUTOEXCDROM ${lin_AUTOEXCDROM}:h
  1055.                 set lin_AUTOEXCDROM "${lin_AUTOEXCDROM}\${v_mscdex} /D:${nam_AUTOEXcddev1} /M:10 /V /E"
  1056.     endif
  1057.  
  1058. script makeAUTOEXCDROM
  1059.     runscript buildAUTOEXCDROMline
  1060.     runmenu makeAUTOEXCDROM
  1061.     runmenu addAUTOEXCDROM
  1062.     return
  1063.  
  1064. menu makeAUTOEXCDROM at -1,-1 dims 7,75 bc bla tc wh na " Build AUTOEXEC.BAT CDROM Driver Line " noescape
  1065.     text
  1066.     text "Edit the line below, until you are satisfied, then continue:"
  1067.     text
  1068.     item $lin_AUTOEXCDROM dims 1,70 onkey script "getTextLine lin_AUTOEXCDROM"
  1069.     text
  1070.  
  1071. menu addAUTOEXCDROM at -1,-1 dims 9,75 bc bla tc wh na " Add CDROM Driver Line to AUTOEXEC.BAT " noescape
  1072.     text 
  1073.     display lin_AUTOEXCDROM dims 2,65 bc blu tc wh
  1074.     text
  1075.     text
  1076.     item at ,-1 " Yes, add to AUTOEXEC.BAT... "     script addAUTOEXCDROM return 1
  1077.     item at ,-1 " No, I'll do it myself! "     script clrAUTOEXCDROM return 1
  1078.     text
  1079.  
  1080. script addAUTOEXCDROM
  1081.     local name type str ""
  1082.     set name ${v_mscdex}:r
  1083.     sedit -awnqB ${v_bootdrv}${v_bootdir} autoexec.bat $name "${lin_AUTOEXCDROM}" disable
  1084.     sedit -awnqB ${v_bootdrv}${v_bootdir} autoexec.bat $name "${lin_AUTOEXCDROM}" $sedit_AUTOEXCDROM
  1085.     interrupt 2Fh ax 4A10h bx 1    # flush smartdrv
  1086.     return
  1087.  
  1088. script clrAUTOEXCDROM
  1089.     set lin_AUTOEXCDROM ""
  1090.     set nam_AUTOEXcddev1 ""
  1091.     set nam_AUTOEXcddev2 ""
  1092.     set nam_AUTOEXcddev3 ""
  1093.     set nam_AUTOEXcddev4 ""
  1094.     return
  1095.  
  1096. #################################################################
  1097. ### failAUTOEXCDROM - MSCDEX program found in AUTOEXEC.BAT, but driver not loaded
  1098. menu failAUTOEXCDROM dims 25,80 bc re tc wh na " CDROM Driver Failed in AUTOEXEC.BAT "
  1099.     text
  1100.     text "Found MSCDEX Driver in AUTOEXEC.BAT, but driver not loaded."
  1101.     text
  1102.     text "Either the machine was not rebooted after updating AUTOEXEC.BAT,"
  1103.     text "or there is some other conflict with your system resources."
  1104.     text "
  1105.     text "Would you like to diagnose the problem?"
  1106.     text
  1107.     box at -1,-1 dims 4,30
  1108.     item " Yes, figure it out... "     at ,-1 return 1 script diagAUTOEXCDROM
  1109.     item " No, thank you. "      at ,-1 return 1
  1110.  
  1111. script diagAUTOEXCDROM
  1112.     if ! $var_CONFIGLASTDRIVEfound        goto skiplastdrive
  1113.     runscript chkCONFIGLASTDRIVE
  1114.     :skiplastdrive
  1115.  
  1116.     if issame "${lin_CONFIGCDROM}" ""    runscript FindCDROMConfig
  1117.     if issame "${lin_AUTOEXCDROM}" ""    runscript FindCDROMAutoex
  1118.     if issame "${nam_AUTOEXcddev1}" ""    then
  1119.         runmenu needAUTOEXCDROMdevice
  1120.         goto nextstep
  1121.     endif
  1122.     if issame "${nam_AUTOEXcddev1}" "${v_namcdromd1}"    then
  1123.         runmenu diagAUTOEXCDROMOkay
  1124.         goto nextstep
  1125.     endif
  1126.     if issame "${nam_AUTOEXcddev2}" ""    then
  1127.         runmenu needAUTOEXCDROMdevice
  1128.         goto nextstep
  1129.     endif
  1130.     if issame "${nam_AUTOEXcddev2}" "${v_namcdromd1}"    then
  1131.         runmenu diagAUTOEXCDROMOkay
  1132.         goto nextstep
  1133.     endif
  1134.     if issame "${nam_AUTOEXcddev3}" ""    then
  1135.         runmenu needAUTOEXCDROMdevice
  1136.         goto nextstep
  1137.     endif
  1138.     if issame "${nam_AUTOEXcddev3}" "${v_namcdromd1}"    then
  1139.         runmenu diagAUTOEXCDROMOkay
  1140.         goto nextstep
  1141.     endif
  1142.     if issame "${nam_AUTOEXcddev4}" ""    then
  1143.         runmenu needAUTOEXCDROMdevice
  1144.         goto nextstep
  1145.     endif
  1146.     if issame "${nam_AUTOEXcddev4}" "${v_namcdromd1}"    then
  1147.         runmenu diagAUTOEXCDROMOkay
  1148.         goto nextstep
  1149.     endif
  1150.  
  1151.     runmenu needAUTOEXCDROMdevice
  1152.     goto nextstep
  1153.  
  1154.     :nextstep
  1155.     return
  1156.  
  1157. menu diagAUTOEXCDROMOkay at -1,-1 bc wh tc bla bo do sh na " Okay "
  1158.     text "The AUTOEXEC.BAT CDROM Driver is Okay!"
  1159.  
  1160. menu needAUTOEXCDROMdevice at 0,0 dims 25,80 bc re tc wh bo do sh name " Hmm... "
  1161.     text
  1162.     text "Unable to match the CONFIG.SYS and AUTOEXEC.BAT 'device names'."
  1163.     text
  1164.     text "The DEVICE= line in CONFIG.SYS and the MSCDEX line in AUTOEXEC.BAT"
  1165.     text "both require matching '/D:XXXXXXXX' names."
  1166.     text 
  1167.     text "It is possible for the MSCDEX program to have multiple /D: names,"
  1168.     text "but no match was found with the /D: name in CONFIG.SYS."
  1169.     text
  1170.     text "CONFIG.SYS:"
  1171.     display lin_CONFIGCDROM dims 2,65 bc blu tc wh
  1172.     text
  1173.     text
  1174.     text "AUTOEXEC.BAT:"
  1175.     display lin_AUTOEXCDROM dims 2,65 bc blu tc wh
  1176.     text
  1177.     text
  1178.     text "Would you like to do this now? "
  1179.     text
  1180.     item "Yes, show me... " at 22,10 return 1 script makeAUTOEXCDROM
  1181.     item "No, thank you. "  at 22,40 return 1
  1182.     text 
  1183.  
  1184. menu GetV_NAMCDROM    at -1,-1 bc wh tc blu bo do sh na " Get CDROM Driver Name "
  1185.     text 
  1186.     text "Highlight the name of the CDROM Driver you need, and press ENTER."
  1187.     text
  1188.     item " FDCD.SYS "    set "v_namcdrom fdcd.sys" return 1
  1189.     item " SJCD.SYS "    set "v_namcdrom sjcd.sys" return 1
  1190.     item " CDROM.SYS "    set "v_namcdrom cdrom.sys" return 1
  1191.     text
  1192.  
  1193. menu Delay5Warmboot at -1,-1 bc wh tc blu bo do sh na " System Needs Reset "
  1194.     text
  1195.     text "Changes were made to your System Configuration Files."
  1196.     text
  1197.     text "In order for these changes to take effect, the computer must be restarted."
  1198.     text
  1199.     text "Press any key to Not Reboot."
  1200.     text
  1201.     item script delay5warmboot 
  1202.  
  1203. script delay5warmboot
  1204.     outp 381h 0
  1205.     outp 305h 4Dh
  1206.     outp 306h 00h
  1207.     outp 300h FFh
  1208.  
  1209.     local x_delay type long 91
  1210.     set x_delay $x_delay + $tics 
  1211.     :again
  1212.     if iskey return
  1213.     if isless $tics $x_delay     goto again
  1214.     interrupt 2Fh ax 4A10h bx 1    # flush smartdrv
  1215.     warmboot
  1216.     return
  1217.  
  1218.