> On Oct 3, 2015, at 10:41 PM, Antony Gordon <cuzint...@gmail.com> wrote:
> 
> Hi,
> 
> What if you implemented V8 tools in a customized version of FreeCOM that 
> starts the setup process?

I sorry, but I think I am failing to understand what you are trying to achieve.

The standard FreeCom (COMMAND.COM) that ships with FreeDOS supports set /p. 
There
is no need for a specialized version. set /p is also supported in MS-DOS (I 
think starting with 7
that ships with Windows) 

Actually, 98% of the V8PT don’t even need DOS. Most of it is either directly 
talking to hardware
or using BIOS function calls. At present, most of it should run fine on the 
original 8086 if it has 
MS-DOS 1.00, EGA graphics and 3K free memory. However, some of the utilities 
(like vinfo) will
require DOS 5.00+ compatibility. 

Even without support for set /p, V8 works fine. You just cannot utilize some of 
it’s advanced 
features. This only causes 1 minor issue in the new installer batch, reading 
the cursor shape 
before hiding it. I say it is minor since using "vcursor small” will make it 
visible again and very
similar to the default cursor on most systems. Also, since after the install, 
you should reboot, 
there are really no real side effects from this issue.

The when the installer starts, it does not need support for set /p. If set /p 
is available, then
it will use it to save the cursor. If it is not, it will just assume it needs 
to use the small cursor
on exit. 

Once there is a partitioned and formatted hard disk drive, it initializes a 
installer temporary 
directory on drive C:. Thereby enabling I/O redirection and support for set /p. 
This is what 
occurs in STAGE006 of the installer. All of the stuff the installer does using 
V8PT in STAGE000 
through STAGE005 can get by just fine without set /p and I/O redirection. 

Things start to get complicated in STAGE007. And, for a working intelligent 
batch file based 
installer, I/O redirection and set /p become mandatory. This is fine since 
STAGE006 insures
that they are now functional.

> 
> The other option is to locate the master environment and write what you need 
> there.

There are 3 reasons why I won’t do it this way. 

First, If there are changes or differences 
in how DOS (FreeDOS, PC-DOS, MS-DOS….) it will cause serious issues. To my 
knowledge, there is no standardized way for a program to set a variable in it’s 
parent
environment under DOS. 

2nd, This would increase the size of many of the utilities in V8PT by 
approximately 1000 bytes.
This may not sound like much, but it would nearly double the size of things 
like vcursor.

Finally, it just isn’t necessary when batch files can utilize the set /p option 
to set data in the
environment.

>> On Oct 2, 2015, at 6:44 PM, Jerome Shidel <jer...@shidel.net> wrote:
>> 
>> 
>> On Oct 2, 2015, at 6:26 PM, Antony Gordon <cuzint...@gmail.com> wrote:
>> 
>>> Hey,
>>> 
>>> Couldn't you use 4DOS as the command shell during the installation process?
>>> 
>> Unfortunately, no. 
>> 
>> Some of the things that need to be done require I/O redirection (pipes and 
>> such) and using the output of some process to set the values of environment 
>> variables. This does not work using the 4DOS shell. 
>> 
>> V8Power Tools work fine. However, there is no way to make any use of many of 
>> their advanced features without this capability. 
>> 
>> For example, when using the standard command.com in FreeDOS and with MS-DOS 
>> (I think 7, with XP), you can do smithing like this to hide and restore the 
>> current cursor.
>> 
>> vcursor | set /p OldCursor=
>> vcursor hide
>> rem do stuff with hidden cursor
>> vcursor %OldCursor%
>> set OldCursor=
>> 
>> The cursor would be read, stored, hidden then restored to its original 
>> state. 
>> 
>>> On Oct 2, 2015 1:18 PM, "Jerome E. Shidel Jr." <jer...@shidel.net> wrote:
>>> Well, best guess. I’m 70% done with the installer.
>>> 
>>> Just need to port the backup creation code, the system files transfer stuff 
>>> and example package/zip installer portion.
>>> 
>>> But, the readme on using it for the OS release is mostly done. 
>>> 
>>> https://github.com/shidel/FDI/blob/master/README.md
>>> 
>>> FreeDOS 1.2 Installer Prototype
>>> 
>>> This project is for creating the FreeDOS 1.2+ installation kit based on 
>>> V8Power Tools batch file enhancement utilities.
>>> 
>>> File List
>>> 
>>> README.md   - This file.
>>> LICENSE     - GNU GPL v2.
>>> mkFDI.bat   - Create the Floppy installation media.
>>> 
>>> Build files in INSFILES\
>>> 
>>> MKBIN.LST    List of files copyied from C:\FDOS\BIN\ to A:\FDSETUP\BIN\
>>> MKHELP.LST   List of files copyied from C:\FDOS\HELP\ to A:\FDSETUP\HELP\
>>> MKV8P.LST    List of files copyied from V8POWER\ to A:\FDSETUP\V8POWER\
>>> MKSETUP.LST  List of files copyied from INSFILES\ to A:\FDSETUP\SETUP\
>>> AUTOEXEC.BAT Copied as-is to A:\
>>> FDCONFIG.SYS Copied as-is to A:\
>>> SETUP.BAT    Copied as-is to A:\
>>> 
>>> What the installer does.
>>> 
>>> AUTOEXEC.BAT calls SETUP.BAT RECOVERY
>>> 
>>> SETUP.BAT
>>> 
>>>     Tests for presence of V8Power Tools.
>>>     Tests for I/O redirection support at present.
>>>     Does some basic settings initialization.
>>> 
>>>     Loads configuration from STAGE000.BAT. This is where some of the
>>>     built-in default settings are stored. Things like New Volume Label,
>>>     OS Version and etc.
>>> 
>>>     if RECOVERY option was present at launceh, tests if this version of
>>>     FreeDOS is already installed using STAGE001. If so, just exists to
>>>     prompt with a welcome message. Otherwise, proceeds with installer.
>>> 
>>>     STAGE002, Loads current color scheme from either THEMENUL.BAT or
>>>     if THEMEADV.BAT (Advanced Mode).
>>> 
>>>     STAGE003, Displays welcome to FreeDOS installer message. Offers to
>>>     continue or exit.
>>> 
>>>     STAGE004, Checks if drive C exists. If not prompts user that C needs
>>>     partitioned and offers to run fdisk or exit. If user selects fdisk,
>>>     then offers to reboot or exit.
>>> 
>>>     STAGE005, Checks if drive C is readble. If not prompts user that C
>>>     needs formatted and offers to format or exit. If user selects formats,
>>>     then rechecks if C is readble. If not, offers to reboot or exit.
>>> 
>>>     STAGE006, Sets up temporary TEMP Directory so I/O redirection can
>>>     function and for storage of a couple temporary files. If I/O
>>>     redirection is still unavailable, it will abort the installation.
>>> 
>>>     NOTE: Now that a TEMP directory exists,  FDIWIND.BAT and other
>>>     batch files that use I/O redirection for utilities like vmath can
>>>     now be used.
>>> 
>>>     STAGE007, Calls all Installation configuration batch files named
>>>     FDASK???.BAT located in the FDSETUP\SETUP directory.
>>> 
>>>     STAGE008, Prompts user that installation will now begin, Offers
>>>     to continue or exit. Then, scans current FDSETUP\SETUP for all
>>>     FDINS???.BAT files. The scans all other drives for
>>>     \FDSETUP\SETUP\FDINS???.BAT files and calls them in that order to
>>>     perform the installation.
>>> 
>>>     STAGE009, Informs user that instalation is complete offers reboot or
>>>     exit.
>>> 
>>>     STAGE999, Performs cleanup and is always run. It is only not run
>>>     if the STAGE001 test for existing OS installation passes and the
>>>     batch script is exiting without running the installer.
>>> 
>>>     If user had selected reboot in STAGE009, it is done now.
>>> 
>>> Some global environment variables.
>>> 
>>>     OS_NAME     = Should always be "FreeDOS"
>>>     OS_VERSION  = Current OS Version.
>>> 
>>>     FADV        = "y" if running in advanced mode.
>>>     FDIDFMT     = "y" if during this execution the batch file formatted
>>>                 drive C.
>>>     FWAIT       = If your going to use vpause, This is how many seconds you
>>>                 should pause. Example: vpause /t %FWAIT%
>>> 
>>> Options configured by FDASK???.BAT files.
>>> 
>>>     OVOL        If drive is formatted, set its labal to this text
>>>                 (actually OVOL is set in STAGE000)
>>> 
>>>     OBAK        Set in FDASK000. If an operating system is detected.
>>>                 and user selects backup it will be set to "y". In advanced
>>>                 mode user can select 'archive to zip' then it is set as
>>>                 "z". If no OS was detected, or uses selects no backup it
>>>                 will be set to "n"
>>> 
>>>     OSYS        Set in FDASK001. If user is in basic mode it is set to
>>>                 "y" to transfer system boot files. In advanced mode,
>>>                 it is set to either "y" or "n" depended on choice.
>>> 
>>> Installer FDINS???.BAT scripts included on BOOT disk.
>>> 
>>>     FDINS000    Creates a backup folder of OS and CONFIG files if OBAK
>>>                 is set to "y". If it is "z" then a zip archive is created
>>>                 and stored in C:\FDBACKUP\ directory. If "n", then
>>>                 does nothing.
>>> 
>>>     FDINS001    Transfers system files if OSYS is "y".
>>> 
>>> Other batch files.
>>> 
>>>     FDCTRLC.BAT Code that is executed anytime the user presses CONTROL-C
>>>                 at a vchoice or vpause. Provides 3 options, Return to
>>>                 where you were, exit to dos or switch to/from advanced mode.
>>> 
>>>                 You do not "CALL" FDCTRLC.BAT" you pass control to it and
>>>                 provide the batch file and options you wish to maintain
>>>                 if the user does not quit. The best example of this is
>>>                 STAGE004.BAT can return to itself in two separate places.
>>> 
>>>     FDIWIND.BAT Functions only after STAGE006 runs. Creates a normal box
>>>                 for text or choices. %1 is the total height of the box.
>>>                 So, add 4 to how many lines you want. You want 1 line for
>>>                 just one line of text "CALL FDIWIND.BAT 5"
>>> 
>>>     FDIOPTS.BAT Functions only after STAGE006. Creates an area to contain
>>>                 choices for vchoice. %1 is total number of choices you
>>>                 want.
>>> 
>>>     FDISCAN.BAT Used internally to scan for drives that may contain paths
>>>                 that may contain FDINS???.BAT files.
>>> 
>>> 
>>> 
>>> ------------------------------------------------------------------------------
>>> 
>>> _______________________________________________
>>> 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
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> 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


------------------------------------------------------------------------------
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to