
 ###               ##  #
#   #             #  # #
#                 #     
#      ###  # ##  #### #  ###
#     #   # ##  # #    # #   #
#     #   # #   # #    # #   #
#   # #   # #   # #    # #   #
 ###   ###  #   # #    #  ####
                             #
                         ####
-------------------------------- A Magic48ges software solution ---



                           Config v9.12
                Copyright by Raymond Del Tondo 1994-2010


Name		:	CF.LIB
Library ID	:	4

Name		:	UCF.LIB
Library ID	:	809





The Config Library features:

o	seamless action
o	Enable/Disable replacement libs w/o warmstart
o	Sets VAR menu after startup
o	Tries to start Stk6 UI, if installed



When used on a G or GX, you have to install CF.LIB in port 0,
which configures the system to use the replacement libraries instead of the built-in libs.

This is because the built-in system configuration code of the G
will not activate the replacement library if stored in a port != 0,
or in some system configurations with cards in either port 1 and/or 2.
Instead, the built-in version is activated.

So CF.LIB helps us out of this limitation.
It guarantees that the replacement libraries will be activated,
regardless of their location and system memory configuration.

CF.LIB does not have any user accessible keywords,
these are in UCF.LIB (see below) ,
but includes routines shared by other components of SpeedUI.

Additionally, the user can activate the SpeedUI configuration utility
by holding the backspace key during a warmstart.


The user will first be asked if you really want to activate the SpeedUI config utility.
Active keys at this point are YES, NO, and CANCEL .

If pressed NO or CANCEL, the normal startup will proceed.
If pressed YES, the SpeedUI config utility will be activated.
Active keys are:
DownArrow:	Move highlight to next item
UpArrow:	Move highlight to previous item
RightArrow:	Toggle status of highlighted item
ENTER/OK	Accept chosen settings and continue startup
CANCEL/ATTN	Continue startup w/o saving changes


The individual entries and their default settings are:

Entry		Default		Choice
-----------------------------------------------
BOOT		Cfg all		Built-in only
WARP		ON		OFF
FONT		Medium		Small
Indicators	Arrows		Slider
RS+ALock	ON		OFF
NSBints		OFF		ON

The (default) selected entry on starting the config util is WARP.

BOOT: can act as a config suppressor.
If set to 'Built-in only' , no external library (including CF.LIB),
will be configured at startup.
This feature is useful for accessing the calc
when an ill-behaved library locks the machine.

This setting will revert to default at the next warmstart.


WARP: toggles the global WARP switch.
If WARP is ON, all installed SpeedUI components will be activated.
If UI.LIB is installed, CF.LIB will also try
to start the SpeedUI shell at startup.

If WARP is OFF, the built-in libs will be activated,
and CF.LIB doesn't try to start the SpeedUI shell at startup.

The SpeedUI shell can still be started manually,
using the appriorate menu key in UI.LIB .

If UCF.LIB is installed, WARP status can als be toggled
by entering WARP into the command line, followed by pressing ENTER,
or just using the appriorate menu key in UCF.LIB .


FONT: toggles between the medium and small font.
This setting will be effective in the SpeedUI CHOOSE component and the SpeedBrowser.


Indicators: toggles between the more-to-come arrows and the slider indicator.
This setting will be effective in the SpeedUI CHOOSE component and the SpeedBrowser.


RS+ALock: toggles right-shift alpha lock feature.
If activated (ON), pressing a right-shifted delimiter key will switch on alpha entry, too.


NSBints: If active, allows direct enty and arithmetic manipulation of BINTS (System Integers).
For a detailed description on using BINTs directly from the stack see UI.txt .





UF.LIB has the following user keywords:

Name		Lib-ID	Description			Stack
-----------------------------------------------------------------------
WARP		809.000	toggles WARP			( --> )
NSBint		809.001	toggles the NoShift BINT manipulation feature on and off
NSAlpha		809.002	toggles the NoShift Alpha lock feature on and off
RSAlpha		809.003	toggles the RightShift repl. lib on and off
WRP?		809.004	returns state of variable _warp	( --> %1 | %0 )
PGHidVars	809.005	purges the warp variables	( --> )

SETUPB		809.006	Starts the SpeedUI configuration special Choose Box
SETUPD		809.007	Starts the SpeedUI configuration special 5-line input form
SETRC		809.008
GETRC		809.009
INVRECT		809.010
SWAPLIB		809.011	if two libs with same ID are in the system
			activates the prev inactive one, and vice versa


Variables in the hidden directory:
-----------------------------------
ID _Warp	used by CF
ID _smlFnt	used by SpeedBrowser (and SpeedChoose)
ID _slider	used by SpeedBrowser (and SpeedChoose)
ID _na		used by UI
ID _clp		used by UI. Holds the clipboard item list.
ID _ra		used by UI
ID _nb		used by UI. Indicates whether NoShift direct BINTs entry is enabled or not.
ID _clpMode	used by UI. Holds the selected clipboard mode.
ID _clpMark	used by UI. Holds the current clipmark position.
ID _dly		not used so far. Holds the keyboard longhold delay.
ID _emm		used by UI. Holds the current error message display mode.
ID _hl		not used so far. Holds the header line count.
ID _rc		used by MatrixWriter replacement. Holds the start col/row for my MW replacement.



Most of these vars contains a bint,
which is either #1 (enabled) or #0 (disabled).
If one or more of these vars don't exist,
the corresponding feature is assumed to be disabled.



Be sure to use the latest release of CF.LIB.
CF.LIB is my general configurator library.
It is able to configure all my replacement libs.

Currently available replacement libraries:

LID	Name
----------------------------------------
B0	Form Engine (IF procs)
B1	MSGBOX, CUSTOMIF, CSTACK
B2	Charset Browser & Last CMD
B3	CHOOSE procs
B4	Choose & IF apps
B6	Master-Detail CHOOSE interface

E0	SpeedBrowser
EA	MatrixWriter

??	FC FlagBrowser



A feature overview of the various libraries can be found in SpeedUI.txt .


Important notes and restrictions:
----------------------------------
CF.LIB *must* be stored in port 0 of a G model,
and B0.LIB *must* be stored in either port 0 or 1!

For the other libs of the SpeedUI package,
these are the the recommended locations anyway
for speed reasons.

Always use the latest version of CF.LIB only!


The only library of the set you'll always need is CF.LIB .
Many of the other libraries are optional,
which means you can install one, or more of the libraries in any combination,
depending on your needs and taste, and available memory.
There are a few exceptions (besides CF.LIB).

These exceptions are explained in SpeedUI.txt .




And here's a small survey:
---------------------------
If anybody is using the built-in INFORM user level command,
please drop me a note.
If I get a reasonable amount of replies,
I'll make some effort to speed up the
user user INFORM mechanics in B1.LIB even more.



Credits:
---------
The HP Corvallis Team	- for their ingenious arts in general, and for the HP-48 in particular
Will Laughlin		- for the extraordinary ML decompiler
JAVA Team		- for the AGROB Algebraic-to-GROB converter
Heiko Arnemann		- for intensive beta-testing
Robert Ryan		- for bug reports and testing
			  and convincing me to include the 'Pretty Print' feature AGROB offers

and some other people who sent me suggestions, bug reports. Thank you all!


That's sufficient for today.
If you have suggestions or problems with the program,
contact the author:	Magic48ges@gmx.de
