Hi Jim and All,
This got me thinking about the startup files a little more. I realized there
are several additional factors that were present during their development that
are simply no longer relevant.
One such factor was the simultaneous development and adjustments made between
the installed config files and those used by the boot media(s). During the
initial development and tests, bits and pieces would move back and forth
between them adding additional complexity. Plus, the need for developing
numerous skews for multiple platforms while developing the installers at the
same time.
That time has long since passed. The config files that get installed have
nothing at all to do with the config files used to boot the various install
media.
The installer(s) base the config files installed on a decision hierarchy for
the detected platform. This means we can simplify the installed config files
even further by eliminating the CPU testing in them.
At present these are the possible different config files installed.
DOSBox - Dummy CFG, Platform specific AUTO.
VirtualBox - Platform Specific CFG & AUTO. VirtualBox really doesn’t
like the option 1 in the default CFG file, it only provides 4 boot options.
Also (at least for me), VirtualBox will lockup when running FreeDOS after a few
minutes when FDAPM is not loaded. So, I think “#4 - Safe Mode” should be
removed or at lead have FDAPM loaded regardless.
286 - Platform Specific CFG, Default AUTO. (3 boot options, XMS
Support, With & Without Drivers)
186 - Platform Specific CFG, Default AUTO. (2 boot options, With and
without Drivers)
8086/8088 - Platform Specific CFG, Default AUTO. (2 boot options, With
and Without Drivers)
All others - Default CFG & Default AUTO (5 boot options)
Looking at the current Default AUTO, it is missing a a test for option 3 (No
Drivers) when running on a 286.
I think the end user will be best served by getting rid of the platform tests
in the installed config files. We can simple start with the default CFG & AUTO
files. Then reduce/adjust those files for the specific platforms. Only testing
for specific boot options and all CPU related items can be static.
To the above list of different CFG & AUTO files, the only thing that would
change would be custom versions of AUTO files for 286, 186 and 8086/88. And
those would only need to be simplified versions of the default AUTO.
Starting with the 386+ version you have been working on, we could do this…
(I will also be sending a revised version of FDAUTO.TXT with my suggestions)
> On Mar 1, 2024, at 7:16 PM, Jim Hall via Freedos-devel
> <[email protected]> wrote:
> [..]
>> @ECHO OFF
>> REM - Updated AUTOEXEC file
REM - For i386 CPU or better hardware.
>>
>> REM - set basic environment
>>
>> set DOSDRV=C:
>> set DOSDIR=%DOSDRV%\FREEDOS
>>
>> path %DOSDIR%\BIN
>> if not exist %DOSDIR%\LINKS\NUL goto NOLINKS
>> path %PATH%;%DOSDIR%\LINKS
>> :NOLINKS
>>
>> set NLSPATH=%DOSDIR%\NLS
>> set HELPPATH=%DOSDIR%\HELP
>>
>> set TEMP=%DOSDIR%\TEMP
>> set TMP=%TEMP%
>>
>> if "%CONFIG%"=="5" goto END
Side note, on VirtualBox this is option 4.
>>
>> set OS_NAME=FreeDOS
>> set OS_VERSION=T2403
>>
>> REM - cfgfile and autofile might be deprecated in future
>>
>> set CFGFILE=%DOSDRV%\FDCONFIG.SYS
>> set AUTOFILE=%DOSDRV%\FDAUTO.BAT
We can change this to simply…
set AUTOFILE=%0
>> alias cfg=edit %CFGFILE%
>> alias auto=edit %AUTOFILE%
>>
Remove this CPU Section!
>> REM - detect CPU, load CPU-specific configs
>>
>> if not exist %DOSDIR%\BIN\VINFO.COM goto ENDCPU
>> %DOSDIR%\BIN\VINFO.COM /m
>> if errorlevel 3 goto CPU386
>> if errorlevel 2 goto CPU286
>> goto ENDCPU
>>
>> :CPU286
>>
>> fdapm APMDOS
>> ctmouse
>>
>> goto ENDCPU
>>
>> :CPU386
>> if "%CONFIG%"=="4" goto CPU286
>>
{end of removed}
if “%CONFIG%” == “4” goto DOSLOW
>> lh fdapm APMDOS
>> lh ctmouse
>> REM lh share
>>
>> if not exist %DOSDIR%\BIN\DOSLFN.CON goto NOLFN
>> lh %DOSDIR%\BIN\DOSLFN.CON
>> REM - Add other stuff here once LFN is loaded..
>> :NOLFN
>>
>> if not exist %DOSDIR%\BIN\CDROM.BAT goto NOCDROM
>> call %DOSDIR%\BIN\CDROM.BAT
>> REM - Add other stuff here once CDROM is loaded..
>> :NOCDROM
>>
>> :ENDCPU
Moving ENDCPU a little later.
>>
>> REM - load other configs using external BAT files
>>
>> if not exist %DOSDIR%\BIN\FDNET.BAT goto NONET
>> call %DOSDIR%\BIN\FDNET.BAT
>> REM - Add other stuff here once FDNET is loaded..
>> :NONET
goto ENDCPU
:DOSLOW
REM - If we are loading some drivers low, we are probably having
REM - Boot problems and may want to skip using FDAPM, LFN,
REM - CDROM and NETWORKING. Just load the mouse driver.
ctmouse
:ENDCPU
>>
>> if not exist %DOSDIR%\BIN\FDASSIST.BAT goto NOASSIST
>> call %DOSDIR%\BIN\FDASSIST.BAT
>> :NOASSIST
>>
I really think “MEM /C /N” should before the welcome message.
No drivers or TSRs are loaded by WELCOME.BAT and the
amount of memory available will not change.
Side note, the message the displays “CD-ROM configured as ?: drive (FDCDX001)”
is
performed by calling "CDROM.BAT status” which is not present here. Also, when
the
system does not configure a CD drive (either by boot option omission, or
initialization
failure), it displays “CD-ROM not configured"
if not exist %DOSDIR%\BIN\CDROM.BAT goto NOCDSTATUS
call %DOSDIR%\BIN\CDROM.BAT status
:NOCDSTATUS
>> if not exist %DOSDIR%\BIN\WELCOME.BAT goto NOHELLO
>> call %DOSDIR%\BIN\WELCOME.BAT
>> :NOHELLO
>>
>> MEM /C /N
I think this should not appear after Welcome to FreeDOS, type Help, etc.
>>
>> REM - local settings
>>
>> set BLASTER=A220 I5 D1 H5 P330
>> set DIRCMD=/O:GNE /Y
>> set COPYCMD=/-Y
>>
>> 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
Not sure about the local stuff being loaded after the welcome messages.
Personally, I feel that the very last text presented to the user should be
the Cd-Drive letter and the Welcome, help and done processing messages.
But, maybe thats just me.
Also, I just realized there are no LANG or TZ settings. There are a couple
programs
that complain when TZ is not set. But, really need the LANG setting and very
early in the
config.
>>
>> alias reset=fdisk /reboot
>> alias reboot=fdapm warmboot
>> alias halt=fdapm poweroff
>> alias shutdown=fdapm poweroff
>>
>> :END
>
>
>
> Personally, I'm not a fan of cfgfile and autofile since the user could
> always rename FDCONFIG.SYS in favor of using CONFIG.SYS .. but FDAUTO
> will still report "Done processing startup files C:\FDCONFIG.SYS and
> C:\FDAUTO.BAT" (this is actually printed in WELCOME.BAT). So I've left
> a comment in the updated FDAUTO that "cfgfile and autofile might be
> deprecated in future".
> :-)
I personally never use the cfgfile or autofile variables or the cfg/auto
aliases.
But, using the AUTOFILE=%0 will solve the user file renaming.
Changing there "set CFGFILE" to:
REM FreeDOS can use CONFIG.SYS. But, it prefers FDCONFIG.SYS.
set CFGFILE=%DOSDRV%\CONFIG.SYS
if exist %DOSDRV%\FDCONFIG.SYS set CFGFILE=%DOSDRV%\FDCONFIG.SYS
should be sufficient to handle renaming of that file as well.
>
> Jim
>
Jerome
>
> _______________________________________________
> Freedos-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/freedos-devel
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel