@Victor
OK, here's the beginnings of my 'extract to ram' idea.
* Edit autorun3.bat on fdubcd to include this:
Code:
set path=%path%;%ramdrv%\apps
I did this so that when you launch apps from /dosapps you stay in that location when you've finished.
* Download enufdisc and stow from
here (they have personal licenses so should be fine for UBCD) and add them to /bin on the fdubcd.img.
* Create a batch file called runapp.bat with the following contents and add it to /bin in fdubcd.
Code:
@if "%debug%"=="" echo off
set n=
enufdisc %ramdrv% 5000000 | stow n > nul
if "%n%"=="1" goto setup
if not exist %ramdrv%\etc\ramdrv.txt goto setup
call w.bat box @%ramdrv%\etc\ramdrv.txt:ramdrv #1,25
if errorlevel 100 goto setup
if errorlevel 2 goto setup
if errorlevel 1 deltree /y %ramdrv%\apps\*.* > nul
:setup
if not exist %ramdrv%\apps\nul mkdir %ramdrv%\apps
if not exist %ubcddrv%\dosapps\%1\%1.zip goto end
unzip -o %ubcddrv%\dosapps\%1\%1.zip -d %ramdrv%\apps > nul
:end
set n=
set ?=
set wbat=
This will be used to check available space on the ram drive and extract the app to it.
* Create a text file called ramdrv.txt with the following contents and add it to /etc in fdubcd.
Code:
:ramdrv "Low RAM Drive Space!" [x]
(~press any key~: #? sec.)
Cleanup ~%ramdrv%\APPS~ to create more space?
[Yes] [?No]
::
Message for runapp.bat!
* Finally create zip files of each app's files naming them after each app (see runapp.bat) then modify startup.bat to use runapp.bat. Here's and example for SCSIMAX:
Code:
@echo off
cls
echo Loading...
call runapp scsimax
if not exist %ramdrv%\apps\scsimax.exe goto err
scsimax.exe
goto end
:err
echo.
echo ERROR!!!
echo.
:end
I've stolen some idea's from another well known project here (uhm) aswell as adding a few of my own... what you think?
Edit (17/12/07): Simplified runapp.bat, lowered 'low ram drive space' threshold and moved error checking to startup.bat
Edit (22/12/07): Changed dir on ram drive to %tmp% to simplify things abit
Edit (22/12/07): Reverted dir on ram drive to %ramdrv%\apps due to problems with cleanup (vcswap000)