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 
> <freedos-devel@lists.sourceforge.net> 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
> Freedos-devel@lists.sourceforge.net
> 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

Reply via email to