Wow, I should really wait until I’ve finished my first coffee before responding to email.
Or… Maybe, proofread before clicking send. Lots of typographic errors. LOL. Jerome > On Feb 3, 2024, at 5:20 AM, Jerome Shidel via Freedos-devel > <freedos-devel@lists.sourceforge.net> wrote: > > Hi Jim, > >> On Feb 2, 2024, at 8:07 PM, Jim Hall via Freedos-devel >> <freedos-devel@lists.sourceforge.net >> <mailto:freedos-devel@lists.sourceforge.net>> wrote: >> >> Here's my second pass at cleaning up my FDAUTO.BAT file. If you like >> it, feel free to use it. This does a lot of streamlining from the >> "stock" FDAUTO.BAT in T2402. > > Great idea. They can defiantly use simplification. The originals were made > through the process of build, test, fix, build, text, fix, repeat and move > on. They contained a lot of spaghetti and were long overdue for improvement. > > Just a couple notes for you while you work on them. > > 1) The initial reason behind the separation of the IF and actual CALLS to > external batch files was based on command line file length restrictions. > During the early days, if the user would install FreeDOS to a non-standard > and longer %DOSDIR% issues could occur. However with later improvements, I > don’t thing it is necessary any longer. Take the longest call out as an > example: > >>> if exist %DOSDIR%\bin\cdrom.bat call %DOSDIR%\bin\cdrom.bat display > > When the OS is installed to it’s default directory expands to: > > if exist C:\FREEDOS\bin\cdrom.bat call C:\FREEDOS\bin\cdrom.bat display > (71 characters) > > If the OS is installed to a non-standard directory, like > C:\OS\DOS\FREEDOS\1.3\ (which I’ve done on multi-boot DOS systems), expands > to: > > if exist C:\OS\DOS\FREEDOS\1.3\bin\cdrom.bat call > C:\OS\DOS\FREEDOS\1.3\bin\cdrom.bat display > (93 characters) > > So, it is still fine and has room for about 15 more characters in the > %DOSDIR%. > > 2) Your changes have things loading after the WELCOME message. I think that > the WELCOME message (and TEST BUILD warning) should be the last thing shown. > > 3) These are not the only possible config files that may be installed. At > present, there are 3 different FDAUTO files and 6 different FDCONFIG files > that are installed based on various hardware platforms. > > Those can be found at: > https://github.com/shidel/FDI/tree/master/FDISETUP/SETUP > <https://github.com/shidel/FDI/tree/master/FDISETUP/SETUP> > > There naming scheme is straight forward. AUTOEXEC.* becomes FDAUTO. CONFIG.* > becomes FDCONFIG.SYS. There file extensions are based on the hardware > platform. > > *.DBX when installing to DOSBox. > *.VBX when installing to VirtualBox. > *.086 when installing to a 8086/8088 only. > *.186 when installing to a 80186 only. > *.286 when installing to a 20826 only. > *.DEF default file when no specific exact configuration file is > required/provided. > > Those files are used by both the Normal and Floppy Edition for installation. > > They also contain numerous simple macros that are processed by the installers > during installation. > > Your changes will eventually need updated and ported and updated to these > files. > > 4) See embedded comment(s) below. > > >> I've pared it down to just a few jump >> points that are more readable to me: HIGH, LOW, and LOCALCFG. At a >> high level, it's organized this way: >> >> 1. "Global" settings >> 2. Test the CPU >> 3. If we can support it, use HIGH >> 4. If we can't, use LOW >> 5. Local settings >> >> This doesn't really change the free memory (maybe a tiny savings, due >> to order) but the most important is that I think it's easier to read. >> See the REM blocks at the top to see what's changed from the "stock" >> FDAUTO.BAT from T2402: the first REM block is from my first pass, the >> second block is from my second pass. >> >> I decided to remove the hard-coded AUTOFILE and CFGFILE entries, since >> a user could rename their FDCONFIG.SYS to CONFIG.SYS (but the >> hard-coded values would still show the old FDCONFIG.SYS). The boot-up >> welcome message expects these values when it prints them out, but >> that's an easy fix. >> >>> @ECHO OFF >>> >>> REM - updated FDAUTO boot file >>> >>> REM - changes: all command names are lowercase, all env vars uppercase, >>> REM - all "REM" are uppercase, all goto labels are uppercase. >>> REM - "mem" moved to end. All empty "echo." statements removed. >>> REM - streamline INITCDROM (only needs to be one line). >>> REM - streadmline SUPPORT386 (move test to top). >>> REM - moved local settings to FINAL. >>> REM - streamlined the LFN test (REM'd out anyway). >>> REM - streamlined the network test (user adds their own stuff anyway). >>> REM - removed unneeded ONLY8086 section (prev now jumps to FINAL). >>> >>> REM - moved ctmouse to the end (local settings) >>> REM - moved DIRCMD and CPYCMD to the end (local settings) >>> REM - moved init cdrom to FINAL, removed INITCDROM goto label >>> REM - renamed FINAL to LOCALCFG >>> REM - removed hard-coded AUTOFILE and CFGFILE entries, and REM'd aliases >>> REM - ..this breaks the welcome message, but fix that later >>> REM - moved aliases to LOCALCFG >>> REM - renamed SUPPORT286 and SUPPORT386 to SIMPLE and HIGH clearer) >>> REM - renamed SUPPORT386LOW to LOW >>> REM - actually, SIMPLE is not needed (same as LOW) so changed vinfo goto >>> REM - ..and removed SIMPLE block >>> REM - expanded MEM /C /N to MEM /C /NOSUMMARY >>> REM - added vinfo tests for 101-104 >>> REM - moved config 4 test up, next to config 5 test, don't need to test cpu >>> REM - fixed (not) loading FDAPM twice .. high and low >>> REM - if vinfo doesn't exist, jump to LOW instead of LOCALCFG >>> REM - if vinfo test 3-6, goto HIGH, otherwise goto LOW >>> REM - changed vinfo test from /m to /p (if VM, reports "6") >>> >>> set DOSDRV=C: >>> set DOSDIR=C:\FreeDOS >>> >>> set OS_NAME=FreeDOS >>> set OS_VERSION=T2402 >>> >>> set PATH=%DOSDIR%\BIN >>> if exist %DOSDIR%\LINKS\NUL set PATH=%path%;%DOSDIR%\LINKS > > This should probably be broken into two lines. > > If the user adds custom paths to the PATH variable, it can easily exceed the > 126 character line limit during expansion. > > >>> >>> set LANG=EN >>> set TZ=UTC >>> >>> set NLSPATH=%DOSDIR%\NLS >>> set HELPPATH=%DOSDIR%\HELP >>> >>> set TEMP=%DOSDIR%\TEMP >>> set TMP=%TEMP% >>> >>> if "%CONFIG%"=="5" goto END >>> if "%CONFIG%"=="4" goto LOW >>> >>> if not exist %DOSDIR%\bin\vinfo.com <http://vinfo.com/> goto LOW >>> >>> vinfo /p >>> if errorlevel 6 goto HIGH >>> if errorlevel 5 goto HIGH >>> if errorlevel 4 goto HIGH >>> if errorlevel 3 goto HIGH > > Since IF ERRORLEVEL is really a >= test, maybe just a comment a ERRORLEVEL 3 > test will be needed. > Or, a NOT ERRORLEVEL 3 GOTO LOW. > >>> >>> goto LOW >>> >>> :HIGH >>> >>> lh fdapm APMDOS >>> REM lh share >>> >>> REM if not exist %DOSDIR%\BIN\DOSLFN.COM <http://doslfn.com/> goto LOCALCFG >>> REM lh %DOSDIR%\BIN\DOSLFN.COM <http://doslfn.com/> >>> REM set DIRCMD=%DIRCMD% /LFN >>> >>> goto LOCALCFG >>> >>> :LOW >>> >>> fdapm APMDOS >>> >>> :LOCALCFG >>> >>> if exist %DOSDIR%\bin\cdrom.bat call %DOSDIR%\bin\cdrom.bat >>> >>> if exist %DOSDIR%\bin\fdnet.bat call %DOSDIR%\bin\fdnet.bat start > > Hmmm, you removed the test that networking was successful started. > That may not be a good idea. For instance, I have a system here that on > occasion the network driver does not initialize correctly. Attempting to start > additional software that depends on it can have unpredictable results. > >>> REM - add your own networking commands here: (if any) >>> >>> if exist %DOSDIR%\bin\fdassist.bat call %DOSDIR%\bin\fdassist.bat > > Just a side note. FDASSIST.BAT does not normally exist. It is not installed > with > any of the Official FreeDOS release media. It is a call out provided for > custom > builds of the OS to load user assistance software. It eliminates the need for > distributions based on FreeDOS to try and manually revise the system config > files. > > There is at least one offshoot of FreeDOS that uses this callout to load > software > to load screen reader software for the visually impaired. > > He also use the Release Build Environment to create current versions of > FreeDOS > quickly and easily. Occasionally, I will get messages from him when I improve > the > RBE or critical packages that breaks something. :-) > >>> if exist %DOSDIR%\bin\cdrom.bat call %DOSDIR%\bin\cdrom.bat display >>> if exist %DOSDIR%\bin\welcome.bat call %DOSDIR%\bin\welcome.bat > > I think these should appear later in the batch file (see below). > >>> >>> REM - add your own settings here: (here are some examples) >>> >>> REM nlsfunc %DOSDIR%\BIN\COUNTRY.SYS >>> REM display CON=(EGA,858,2) >>> REM mode CON CP PREP=((858) %DOSDIR%\CPI\EGA.CPX) >>> REM keyb US,858,%DOSDIR%\bin\keyboard.sys >>> REM chcp 858 >>> REM mkeyb UK >>> >>> set DIRCMD=/P /OGN /Y >>> set COPYCMD=/-Y >>> set BLASTER=A220 I5 D1 H5 P330 >>> >>> ctmouse >>> mem /C /NOSUMMARY > > You are loading drivers after the WELCOME to FreeDOS message. > > Other than the Interim Test Build Warning Message, I think the WELCOME > message should be the last thing displayed to the user. > >>> >>> alias reboot=fdapm warmboot >>> alias reset=fdisk /reboot >>> alias shutdown=fdapm poweroff >>> >>> echo. >>> echo Warning: This is a FreeDOS development build and is for testing >>> purposes. >>> echo It may exhibit behavior vary different from a release build and may >>> not be >>> echo suitable for regular use. For general use, please consider using the >>> latest >>> echo release build available at http://freedos.org <http://freedos.org/> >>> >>> :END > > The WELCOME and WARNING messages are not displayed with option 5. > >> >> _______________________________________________ >> Freedos-devel mailing list >> Freedos-devel@lists.sourceforge.net >> <mailto:Freedos-devel@lists.sourceforge.net> >> https://lists.sourceforge.net/lists/listinfo/freedos-devel >> <https://lists.sourceforge.net/lists/listinfo/freedos-devel> > > There are also the release media config files that could be improved. But, > those are far less cluttered. > > :-) > > Jerome > _______________________________________________ > Freedos-devel mailing list > Freedos-devel@lists.sourceforge.net > <mailto:Freedos-devel@lists.sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/freedos-devel > <https://lists.sourceforge.net/lists/listinfo/freedos-devel>
_______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel