TUBS - The Ultimate Boot Selector v4.1
======================================

Since experience shows that hardly anybody reads long documentations and TUBS 
has an online help I will write only about some things that may not be 
obvious from the online help. If you think something is missing here or 
something is unclear please tell me! If you are a native English speaker and 
want to improve this text or one of the other texts or some text in TUBS 
please let me know, too.

A description of the online help can be found in the menu "Help" choosing the 
menu entry "Help texts ...".

Author
------

 1989-96 by
  Andreas Alich
  Ernst-Reuter-Strae 20
  D-97080 Wrzburg
  Germany

E-Mail:
  andreas_alich@wue.maus.de



Legal things
------------

TUBS is SHAREWARE. That means you can copy it, test it and give it to other 
people but only complete with all files and unchanged.

Registered versions must not be given to anybody else.

Distribution of the unregistered version free of costs (!) is allowed and 
encouraged.

If you use TUBS regularly (regular - unregistered - users will be reminded 
from time to time of the fact that TUBS is shareware) are asked to send me 
(at least) DM 35 or US$ 25 (or the equivalent in some major currency). Please 
do not send cheques from abroad. Please send me also your full address (the 
address is part of the key). You will then receive a key that turns the 
unregistered version into a registered version. I will send this key to you 
by email. If you have no email address please add some money and I will send 
you the key by letter.

TUBS has been thoroughly tested. Though, you will use TUBS at your own risk!

TUBS was developed with the Hnisch Modula-2 system. 

The unregistered version has the following restrictions:
- "Save settings" will save only the first two configurations.
- "Save settings" will not save links (dependencies between different files)


INSTALLATION
============

TUBS should be one of the first programs in the AUTO folder so that you can 
possibly deactivate any program running amok. There may be programs in front 
of TUBS, though (e. g. TUBS profits from NVDI if NVDI was run before TUBS). 
Since TUBS possibly triggers a reset automatically you can also 
activate/deactivate these programs without any problem (as long as TUBS will 
be run after them).

a) First Installation

- Copy the folder TUBS with all its files anywhere you want
- Copy TUBS.STR and TUBS.RSC from the folder TUBS\ENGLISH to the same
  place where TUBS.PRG is (folder TUBS).
- Run TUBS.PRG (while the TUBS-folder is the current folder)
- Configure TUBS as you like
- Choose the menu entry "Save settings" in the menu "File"
- Leave TUBS (via menu entry "File/Quit (applying changes)")
- Move TUBS.PRG and TUBS.KFG into the AUTO folder
- Run TUBS again from the desktop, this time from the AUTO folder
- Configure the groups of files you want TUBS to display via "Options/Groups 
  (paths) ..."
- Choose the menu entry "Edit/Change physical order" and move TUBS to an 
  appropriate place in the AUTO folder (usually to a position at the 
  beginning of the AUTO folder)

b) An older version of TUBS 4.x is already installed

- Replace TUBS.PRG, TUBS.STR and TUBS.RSC with the new files. Nothing has to 
  be converted.


Where looks TUBS for its auxiliary files?
-----------------------------------------

If TUBS was run at boot time TUBS will look for TUBS.KFG first in the folder 
"\AUTO\" on the current drive. Otherwise or next TUBS will look for TUBS.KFG 
in the current path.

The same is true for TUBS.STR. TUBS will look for this file then if necessary 
also in the TUBS folder. You can define the TUBS folder under 
"Options/General ...". TUBS will take the defined path from the file 
TUBS.KFG. This can be created via "File/Save settings".

TUBS will look for TUBS.RSC where TUBS.STR was found.

TUBS will look in the TUBS folder (see above) for all other files (TUBS.INF, 
TUBS.XDS, ...).



General description
===================

Characters or words in brackets will represent the named key. For example, 
[1] represents for the key with digit "1" on it, and [Shift] represents the 
Shift-key.

Menu entries will be written in the form "menu title/menu entry"; so e. g. 
"Options/General ..." represents the menu entry "General ..." in the menu 
"Options".

TUBS provides the following functions:
- Activating /deactivating files in arbitrary paths (e. g. AUTO folder, 
  accessories, CPX modules and so on)
- Choosing and copying arbitrary files such as NEWDESK.INF, MAGX.INF, 
  ASSIGN.SYS, MINT.CNF, GEM.CNF and so on
- Supporting long file names
- Up to two hundred configurations can be edited and saved directly in TUBS (i. 
  e. no external configuration program is needed, you can do it at boot 
  time)
- You can restore a saved configuration by just pressing one key at boot time
- You can define dependencies between programs, accessories, CPX modules and 
  so on, so that it is possible, for example, to activate/deactivate a related 
  CPX module automatically whenever the corresponding program is either 
  activated or deactivated.
- Editing the physical order of files
- Copying the current DESKTOP.INF and so on into the related folder
- Calling an editor with one of those files
- Displaying and editing the program flags (fastload, fast RAM)
- and more ...

If you do not press a key at boot time TUBS does nothing at all normally. If 
you want to choose by hand a selection of AUTO folder programs, accessories 
and other files you have to press [*] at boot time. This activates TUBS 
(otherwise it will not stop). If you have already edited (and saved) 
configurations you can also press at boot time an appropriate key (see below) 
which selects this configuration without activating the TUBS desktop. You can 
configure TUBS also in such a way that the TUBS desktop will always be 
activated. You can also configure another key instead of [*] (activation via 
any combination of [Shift], [Control] and [Alternate] is possible, too).

TUBS displays all found AUTO folder programs, accessories and so on in 
windows. You can define which groups of files will be displayed via 
"Options/Groups (paths) ..." (see below).

Of course you can also run TUBS from the desktop. In this case you will also 
have the file selector box available for configuring paths and files and you 
can possibly use a font selector to select another font.

TUBS knows two kinds of groups of files: choose groups and copy groups.

Within choose groups several files can be selected. Selected files will be 
activated (i. e. the extension of active files will be appended to the 
filename), deselected files will be deactivated (i. e.the extension of 
inactive files will be appended to the filename). For example the files in 
the AUTO folder are a choose group.

Within a copy group at most one file can be selected. If a file was selected 
it will be copied. You can configure the destination for the copy operation. 
Via "Options/Groups (paths) ..." you can define from which files one can be 
chosen in order to copy it. You can use a copy group to choose a NEWDESK.INF 
file from a list of such files, for example.

You can define the order in which the groups of files are displayed by TUBS 
via "Options/Groups (paths) ...".

On a monochrome screen, selected files are displayed, by default, as inverted 
video, deselected files are displayed as normal. You can define the way file 
names are displayed via "Options/General ...". Whether a file is active or 
inactive is derived from its extension. You can define both extensions 
together with the paths via "Options/Groups (paths) ...".

The files will be displayed usually in physical order (for AUTO folder 
programs, this is in the order in which they will be executed). You can also 
display them in alphabetical order if desired. TUBS can also let you edit the 
physical order of files on the disk. This is especially useful with AUTO 
folder programs for which the order of execution may be crucial.

TUBS may be in one of several modes:
- normal mode
- mode for editing the physical order
- mode for editing dependencies (links)
- mode for global activating (in more than one configuration at once)
- mode for global deactivating (in more than one configuration at once)


Configurations
--------------

A configuration is a collection of AUTO folder programs, accessories, CPX 
modules and so on that is saved and named and which can then be restored 
repeatedly by pressing a key or clicking onto its name with the mouse button. 
You can edit a configuration for "normal" TOS and one for MagiC and then 
switch between the two operating systems very easily. Or you can define a 
configuration with a lot of (memory consuming) accessories and one without 
any accessories at all for when you need a lot of free memory.

Apart from that you can also include files into a configuration that are to 
be copied if this configuration is selected. This enables you, for example, 
to work with different NEWDESK.INFs depending on the configuration which is 
chosen.

Creating and saving a configuration
-----------------------------------

In order to create a configuration you just have to select all of the files 
that are supposed to belong to this configuration (e. g. all AUTO folder 
programs that are to be executed at boot time). For selecting/deselecting you 
can click with the left mouse button onto the names or you can move the 
cursor onto a name and then use [Insert] to select/deselect or [Delete] to 
deselect.

In order to save a configuration you select an empty entry in the 
configurations' window. You will be asked whether you want to assign the 
edited configuration to this entry. If you confirm, you will be asked for a 
name for the configuration.

If you want to assign the edited configuration to an entry that is already 
used you have to move the cursor onto this entry (this can be done by 
clicking onto this entry with the right mouse button) and then use the menu 
entry "Edit/Assign configuration". You can also assign the edited 
configuration directly to a certain entry via [Control]-[digit] or 
[Shift]-[Control]-[digit] or [Control]-[function key].

If you want to edit an already existing configuration you select the name of 
this configuration and then edit it. TUBS will save the edited configuration 
automatically as soon as another entry is selected or when the settings are 
saved into the file TUBS.KFG via "File/Save settings" or upon leaving TUBS. 
In that last case, you will be asked whether the settings are to be saved.

You can change the name of a configuration by double clicking with the left 
mouse button onto an entry in the configurations' window. This gives you 
another possibility to create a new configuration: you first enter a name 
(after double clicking on an empty entry), then you select this entry and 
finally edit the configuration. When you do it this way no files will be 
selected initially (after selecting the name of the configuration).

Global selecting/deselecting (in more than one configuration at once)
---------------------------------------------------------------------

If you want to add a new program to several configurations you do not have to 
activate it in every configuration separately. Instead you activate a mode 
via "Edit/Select globally" which allows you to select in more than one 
configuration at once (globally). In this mode you can select any files and 
also several names of configurations. If you confirm your selection with 
[Return] all the selected files will be activated in all selected 
configurations. With [Undo] you can leave the mode without any changes.

Similarly, you may activate a mode (via "Edit/Deselect globally") which 
allows you to deactivate files in several configurations at once. In this 
case if you confirm your selection with [Return] all the selected files will 
be deactivated in all selected configurations. With [Undo] you can leave this 
mode without any changes.

Choosing a configuration
------------------------

There are several ways to select a configuration (that has been saved 
earlier):
- Clicking onto the name in the configurations' window with the left mouse 
  button
- Entering the digit that is displayed in front of the name (possibly 
  together with [Shift])
- You can also select the configurations 11 to 20 (1 to 0)
  with the function keys F1 to F10. This is especially interesting for 
  selecting a configuration directly at boot time because [Shift]-[digit] 
  does not work at that time.
- Pressing [Insert] if the cursor is located on the name of a configuration
- You can also select a configuration by entering the first letter of its 
  name. If more than one configuration's name begins with the same letter the 
  first will be chosen. Case will be ignored. This way of selecting a 
  configuration works also at boot time. Unfortunately though, this method 
  collides with some harddisk drivers that choose a boot partition by 
  entering a letter at boot time. If you use such a harddisk driver ask the 
  author for a version that can be configured (you will not need several boot 
  partitions when you use TUBS). If this should not be possible, you will 
  have to forget about choosing a configuration by its initial letter. 
  However, you can still press a letter first to choose a boot partition 
  (usually C) and then press the key(s) for TUBS.

Choosing a configuration automatically at certain times
-------------------------------------------------------

You can configure TUBS so that it chooses a certain configuration 
automatically when it is run at boot time and no key is pressed. This is 
useful, for example, if you wish to turn on your computer automatically at 
night in order to perform some specific task. TUBS reads the GEMDOS clock. It 
is therefore necessary that the time be properly set. On some models, this 
may require a special program to run BEFORE TUBS, to set that clock from 
external hardware.

Via "Options/Time intervals" you enter a dialog box where you can define up 
to five time intervals and related configurations. TUBS will examine a time 
interval only if there is at least one cross in this line. TUBS examines the 
lines with at least one cross one after the other and checks if the current 
system time is in the time interval. Apart from that, the current day of the 
week is calculated from the current system date. If the current system time 
lies within the interval and the "daily"-column is marked with a cross or the 
column of the day of the week is marked with a cross the given configuration 
will be selected (if TUBS was run from the AUTO folder and no key was 
pressed). In front of the slash you enter the configuration's group following 
the slash you enter the configuration's number within this group. The time 
intervals may contain midnight e. g. from 23:00 to 02:00. The week of the day 
is given in this case by the start of the interval. 

If you want TUBS to examine the time intervals only after a cold boot (e. g. 
after the computer was turned on) mark the option "Check on cold boot only" 
with a cross. TUBS needs bit 0 of the TUBS-cookie to distinguish a warm boot 
from a cold boot. This bit is set correctly by TCKJ*.PRG. This program must 
be started before TUBS in the AUTO folder, meaning it has to lie physically 
in front of TUBS. See TCKJ.TXT. 

General remarks about configurations
------------------------------------

TUBS allows you to remember up to two hundred different configurations. A 
configuration that was remembered (and saved) can be chosen and restored 
later very easily.

The two hundred configurations are seperated into ten groups of 
configurations. This is mainly interesting for controling TUBS from the 
keyboard.

You can select the first ten configurations (within the current group of 
configurations) directly with the digits keys, [1] chooses the first, [2] the 
second and so on and [0] the tenth. You can select the second ten 
configurations via [Shift]-[digit] or via function key, [Shift]-[1] is the 
same as [F1], [Shift]-[0] is the same as [F10]. Apart from that there is 
another possibility to replace the Shift-key: when you enter first [/] and 
then a digit this is the same as [Shift]-[digit]. This is mainly useful for 
the command line because function keys are not available there; but you may 
also use it at boot time (you can use the function keys there, too, but you 
cannot use the Shift-key there).

You can switch between the groups of configurations via [Tab] and 
[Shift]-[Tab]. [Tab] switches to the next group of configurations, 
[Shift]-[Tab] to the previous. Via [.] [digit] (pressed one after the other) 
you switch to a certain group of configurations directly. [.] [1] switches to 
the first group of configurations, [.] [2] to the second and so on and [.] 
[0] to the tenth. Switching to a certain group of configurations is important 
for the command line and for directly choosing at boot time because [Tab] is 
not supported there. Via "Options/General ..." you can define a title for 
each group of configurations. Via [.] [initial letter] you can also choose 
the according group of configurations.

Incremental configurations
--------------------------

Apart from complete configurations there are also incremental configurations. 
These allow you to select/deselect only certain entries. When you select an 
incremental configuration only those entries will possibly be (de)selected 
that are selected in the incremental configuration; all other entries will 
remain unchanged. Selecting an incremental configuration therefore has a 
similar effect as selecting an entry for which links are defined.

If the cursor is located on a configuration's name you can activate a mode 
for editing an incremental configuration via "Edit/Incremental 
configuration". In this mode you can select and deselect entries with the 
mouse and/or [Insert] / [Delete] as usual. Apart from [Insert] / [Delete] you 
can also use directly [+] and [-] to select entries and immediately define 
whether the entry is supposed to be activated ore deactivated when the 
incremental configuration is selected (with '+' it will be selected, with '-' 
it will be deselected; if an entry is selected '+' or '-' will be displayed 
in front of the name).

You can leave this mode via [Undo] without saving the configuration. If you 
leave the mode via [Return] you will be asked for a name for the incremental 
configuration. If you confirm this with [Return], the incremental 
configuration will be saved. Incremental configurations are marked with a '+' 
in front of their names.

When you select an incremental configuration its name will only flash a few 
times. It will not be displayed inverted.

You can also choose the 'inverse' incremental configuration. 'Inverse' here 
means that '+'-entries will be deselected and '-'-entries will be selected. 
Please take note of the fact that choosing an 'inverse' incremental 
configuration may not exactly undo the effect of having previously chosen the 
incremental configuration. That depends on what is currently selected.

You can also choose the 'inverse' incremental configuration via [Delete] if 
the cursor is located on a configuration's name or via clicking onto the name 
with the left mouse button while the Control-key is pressed or by first 
entering [-] (a '-' will be displayed in the menu bar then) and then choosing 
a configuration as usual with a digit key, a function key or a letter key. 
The latter (using '-' as prefix) also works at boot time.

If you want to assign a normal configuration again to an entry that is used 
by an incremental configuration you just use "Edit/Assign configuration" (see 
above).



Mode for changing the physical order
------------------------------------

In the mode for changing the physical order you can change the physical order 
of the files. This is mainly interesting for the AUTO folder because the 
physical order of the programs in the AUTO folder determines their execution 
order and for some programs the right execution order is crucial.



Links (dependencies between different entries)
----------------------------------------------

Often an accessory or a CPX module belongs to an AUTO folder program and you 
always want to activate or deactivate it together with the program. Apart 
from that there are programs that may not be active at the same time or that 
need other programs to work. Therefore TUBS offers you the possibility to 
define dependencies (links) between programs, accessories, CPX modules and so 
on. This has nothing to do with links of the file system!

Via "Edit/Define links" you activate a mode in which you can define the 
dependencies for the entry on which the cursor is located. There are six 
types of possible depencies:

   = Activation on activation, deactivation on deactivation
   # Deactivation on activation, activation on deactivation
   + Activation on activation
   - Deactivation on activation
   * Activation on deactivation
   / Deactivation on deactivation

To define a dependency you select the appropriate entry with the left mouse 
button or via [Insert]. A popup will appear and you can choose the dependency 
you want. You can also choose a dependency directly by one of the given 
characters. You can change the kind of dependency later by clicking onto the 
character in front of the name.

To delete a dependency you deselect the entry with [Delete] or [Insert] or by 
clicking onto the name with the left mouse button.

You can confirm your selection with [Return] or leave the mode with [Undo] 
for cancelling without any changes. 

Multistage dependencies are possible, too, i. e. dependencies of a dependant 
entry will be taken into account. Two entries may depend on each other. This 
will not result in an infinite loop.

You can select and deselect an entry (in normal mode) when the Control-Key is 
pressed in order to prevent dependencies from being taken into account.



Calling TUBS with a command line
--------------------------------

You can also call TUBS with a command line. The passed characters will be 
interpreted as if the according keys were pressed. So digits will be treated 
as configurations' numbers and for letters a suitable configuration's name 
will be searched.

You can also pass the name of a .KFG-file as the first parameter. TUBS checks 
to see if the first argument is the name of a .KFG-file and if so, this file 
will be loaded instead of the default .KFG-file. This enables you to use TUBS 
as an application for .KFG-files.

If TUBS was called without command line it will look for the file TUBS.CMD in 
the TUBS folder. If this file exists its contents will be interpreted as a 
command line. TUBS.CMD is always deleted. This enables you, for example, to 
boot your computer from Linux-m68k with a new TOS-configuartion via TUBS.



Reset
-----

If a program that lies physically in front of TUBS in the AUTO folder was 
renamed by TUBS, TUBS will perform a reset automatically.

Programs that survive a reset can only be removed by a cold boot. TUBS helps 
you automating this. Via "File/Options & info ..." you can define that TUBS 
shall perform a cold boot automatically when a certain file was deactivated. 
This is useful e. g. for MAGXBOOT to get rid of MagiC by choosing a 
configuration in which MAGXBOOT.PRG is not activated.

Apart from that you can also assign a reset to a copy group via 
"Options/Groups (paths) ..." for the case that no file of this group is 
selected.


TUBS.INF - info for files
-------------------------

You can put informations about a certain file into the ASCII-file TUBS.INF. 
TUBS will look for TUBS.INF in the TUBS folder. Via "Edit/Info" or by 
clicking onto a name with the left mouse button while the Shift-key is 
pressed or with the left mouse button while the right mouse button is pressed 
you can show the information from TUBS.INF for the entry upon which the 
cursor is located.

Format of the file TUBS.INF:
At the beginning of the line a filename with active extension or a 
configuration's name within double quotes is expected. Beware of case and 
spaces in configurations' names. Behind that (seperated by one or more 
blanks) the information text is expected. The information text may continue 
for several lines; continuation lines just have to be indented (at the 
beginning of the line TUBS expects filenames or quoted configurations' 
names). The text will be formatted at runtime. With a vertical line ('|') you 
can force a line break, should a line break be explicitely required.

Welcome sound
-------------

When the TUBS desktop is activated TUBS looks for the file TUBS.XDS in the 
TUBS folder. If this file exists the contents of it will be loaded and passed 
to the XBIOS-routine 'Dosound'. If, for example, you wish to hear a bell each 
time TUBS is activated rename PLING.XDS into TUBS.XDS (see also XDS.TXT).



Remarks
-------

TUBS intentionally provides nothing for
- telling the operating system where to look for accessories
- setting the environment
- creating a cookie jar
- setting the clock
There are enough other (little) programs for the AUTO folder that can do this 
better than TUBS.

If you have programs which you never want to deactivate (e. g. TUBS) you can 
inhibit unitentional deactivation by setting the file state to "read only" 
(using the desktop).

TUBS does not display anything neither in choose groups nor in copy groups if 
no appropriate file was found for the group. If nothing is displayed when you 
actually expect something to be displayed, this might be due to a faulty 
configuration, for example, the files having the wrong extension. Bear in 
mind that wildcards are not allowed in extensions!
