home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d5xx
/
d501
/
autocli.lha
/
AutoCLI
/
AutoCLI.Doc
< prev
next >
Wrap
Text File
|
1991-06-27
|
19KB
|
398 lines
AutoCLI V1.99d 2nd June 1991 by Nic Wilson
------------------------------------------
This program is now fully tested an all Amiga models including
the A3000. Fully testing is also done with 'enforcer' a debugging
program that uses the MMU to look for and display invisible bugs.
I have found this program absolutely brilliant.
MMU stands for Memory Management Unit and is found as a seperate
chip on 68020's and labeled 68851 and is internal to a 68030.
Enforcer comes as one of the tools under V2.0 Developers disks.
CHANGES (LATEST FIRST)
----------------------
V1.99d Code optimisations managed to shrink code by over 1100 bytes.
V1.99c Added a permanent function, that checks the restart vectors
that are normally modified by viruses. See WARNING WINDOW.
V1.99a/b Bug fix, see BUG FIXES below
V1.99 Added a new function by modifiying the -w slightly. This new
function is window to front simply by moving the mouse into
that window. This was done simply as a challenge given by
John E. Van der Brook, Cheyenne. WY United States of America.
V1.98 After V1.97 screen now activates when brought back to front.
NOTE: Dpaint for some reason will not re-activate, I do not
know why, anyone know the answer??
V1.97 Options window now pops Workbench to front and opens the
window on it. The front screen will be replaced when the
options window closes. This stops the problem on custom
screens bitmaps being destroyed or wierd size screens.
Sorry to all the NTSC users, I didn't realise that the
options window was opening 3 pixels over the 200 boundary.
This is now fixed and option window will open on NTSC screens.
V1.96 Addition of mouse button swap function for left handed people.
V1.94 By fine tuning my macros, I knocked 700 bytes off the filesize.
V1.93 Re-write of the auto activation function (1.90) to correct problems.
V1.92 Added ability to change the AutoCLI task priority.
V1.91 New function added to mouse accelleration. It now has a choice
of three different speeds.
V1.90 Addition of new Auto activation option (-k). If a key is pressed
the window that the mouse is currently in, will be activated.
V1.88 Addition of new Lock Pointer option (-l or -lr). This function
allows you to freeze either vertical, horizontal or both mouse
movements. This is great for icon aligning or better control in
paint programs. How many times have you carefully placed the mouse
and had it move slightly when the button was clicked.
V1.85 Addition of options window that allows, changes to your options
without having to remove and relaunch. See main docs below for
instructions on its use.
BUG FIXES (LATEST FIRST)
------------------------
V1.99b FIX FOR POSSIBLE BUG IN WINDOW SHUFFLE, ALTHOUGH I COULDN'T
MAKE IT FAIL, BUT I FOUND A POSSIBLE CAUSE.
V1.99a FIX FOR MOUSE BLANKING FAILURE UNDER V1.3 KICKSTART, CAUSED
SINCE WE SWITCHED TO V2.0 INCLUDE FILES. A LABEL IN THE
COPINIT STRUCTURE HAD CHANGED, GIVING THE WRONG OFFSET FOR
KICK 1.3.
1.96 AN INTERMITTENT ENFORCER HIT, SOMETIMES WHEN SEARCHING THE LAYERS.
FIXED THE MOUSE BLANKING QUIRK OF KICKSTART 1.3 WHEN AUTO ACTIVATE
WAS ON. THIS VERSION HAS BEEN EXTREMELY STABLE, AND ALL TESTERS
HAVE FOUND NO FURTHER PROBLEMS.
1.95 MODIFICATIONS DUE TO 'ENFORCER' HITS, CAUSED BY A REGISTER BEING
TRASHED SOMETIMES ON EVENT EXTRACTION.
KNOWN BUGS OR CONFLICTS
-----------------------
1. Problems have been encountered with non standard versions of the
'RUN' command. This command is called by dos.library's 'execute'
command. If you have problems with the Amiga crashing when a CLI
is popped up then make sure the 'run' command is standard. The one
I use came from an original 1.3.2 workbench and has a filesize of
2568 bytes. It is also recommended that ARP Library commands are
not used, as they have found to be source of many problems.
SUGGESTIONS
-----------
If AutoCLI does not have your favourite function, or you can think
of any improvements, then write and tell me.
This program has been placed on the Public Domain for your enjoyment.
Permission is hereby given to distribute this program in any
way you see fit, as long as this doc file accompanies it.
Please send any bug reports or ideas to the address at the bottom
of this file. Commercial companies may also distribute the program.
I not only write commercial programs, but as you see we write
non-commercial too. If you like this program and you use it,
then help me by sending a donation to the address below.
NIC'S PROGRAM SUMMARY
---------------------
This program was written because of problems with the similar program I
had been using called 'popcli'. Popcli crashes if used under
WorkBench/KickStart 2.0, and if used on a PAL Amiga to open a CLI
window with a vertical size greater than 200 lines, it will not open if
your Amiga decides to start in NTSC mode. Popcli also seems to waste
CPU time when waiting and doesn't allow you to remove it from memory
without crashing or a reboot. AutoCLI overcomes all of the above problems
and has many added features equivalent to other programs around, but
uses much less CPU time. The biggest problem with all the others is that
they lose the Current directory, stack and path. AutoCLI retains all these
including the Current directory when the program was launched, it will
place you in this directory every time you open a CLI or Shell.
AutoCLI was written in 100% Assembler using Devpac Amiga V2.14.
FEATURES
--------
* Kickstart / Workbench 1.2, 1.3, 2.0 compatible
* Compatible with A500, A1000, A2000, A2500, A3000
* Default or custom CLI / Shell windows
* Default windows open to 1 pixel less than current screen
* Automatically checks and warns of restart vector changes
* Function key scripts option
* Options window allows modification while running
* Active window to front or point to front options
* Screen & window shuffle option
* Screen blanking after time period option
* Mouse blanking on key press or time option
* Mouse acceleration and button swap options
* Auto Window activation on a key press and mouse position option.
* Function to swap mouse buttons for left handed users
* Selectable task priority
* No CPU time wastage
* 100% machine code
* Freely distributable
PROGRAM USAGE FOR INSTALLING AutoCLI
------------------------------------
AutoCLI [<optional switches>] [<optional seconds>] [<optional command>]
DO NOT USE RUN or RUNBACK as it will return the command
line and allow the window it was launched from to close, when an
ENDCLI command is given. Yet it still retains the directory it
was launched from and does not lose the current path or stack as
some programs do. This means that when a CLI is popped up it will
default to the directory that was current, when AutoCLI was launched.
The path and stack that was set, will still be valid.
The program is mainly designed to be used in your startup-sequence
so you will always have a CLI or Shell window available very easily.
AutoCLI MUST reside in your C: directory.
OPTIONAL SWITCHES
-----------------
The following switches do not have to be given in any particular order,
but must all be before the optional seconds and command parameters.
All options default to OFF and must be enabled with a switch.
Any of these options can be modified after launch, by using the
Option Window provided. (see OPTIONS WINDOW below)
-f This switch enables function key trapping. When your qualifier
(see below) is held down and a function key pressed, the
program will execute a script file in the assigned S:
directory with a filename of autocli.f1 to autocli.f10.
This file must be a normal script (eg. startup-sequence).
-w[n] This switch enables the window to front option. The optional
parameter (n) selects the action required to bring it to the
front. 0 = use keyboard, 1 = use mouse. To use keyboard (0)
select the window you want at the front by clicking the left
mouse inside the window and then hold your qualifier key
(see below) and press the Left ALT key.
To use mouse (1) simply place the mouse in the window you
want at the front and the window will immediately appear at
the front. Both can be temporary disabled via the option
window.
EG. for keyboard :- -w0 or -w
for mouse :- -w1
-n This switch enables the screen shuffle option. To use this
function, hold down your qualifier key and use the cursor
up or down keys. These keys rotate all screens in opposite
directions to each other.
This is different to the standard LEFT AMIGA N & M. These
standard keys only swap between the front and rear most
screens.
-m This switch enables the window shuffle option. To use this
function, hold down your qualifier key and use the cursor
left or right keys. This will move the front most window to
the back or the back most window to the front respectively.
The window shuffle always occurs on the screen that is at
the front. This allows you to easily move between windows
and screens by using the qualifier and all the cursor keys
-q[n] This switch enables mouse acceleration (-q). The optional
parameter (n) is a speed from 1 to 3. Speed 1 will multiply
all mouse movements by a factor of 2. Speed 2 will multiply
by a factor of 4, and speed 3 will multiply by a factor of 8.
This function works in conjunction with mouse speed under
preferences, so this can also be changed to find the best
possible combination that you like.
If this second paramter is not given then it will default to
speed 1.
EG. For speed 2 the switch should be -q2
For default speed it should be -q
-p[n] This switch allows you to change the priority of AutoCLI.
Without this switch it will default to 21. Valid values
for (n) are 0 - 21, bad values will cause the default value
to be used.
EG. For a priority of 0 the switch should be -p0
For a priority of 20 the switch should be -p20
NOTE
If the priority is changed from 21, some functions may not
work correctly. Use with caution.
-k This switch enables auto window activation. If enabled this
function will activate any window the mouse is currently in,
when a key is pressed. It will still work even if another
screen is at the front, and you have dragged it down and placed
the mouse over a window on the screen behind.
-l or -lr This switch allows the mouse movements to be frozen in vertical,
horizontal or both directions. If the CONTROL key is depressed
the horizontal movements are frozen. If the LEFT ALT key is
pressed then the vertical movements are frozen. If both are
depressed then all movements are frozen. When either of these
keys are released then movements continue in that direction.
If these keys conflict with your chosen qualifier key (see
-s -c -a) then use the -lr switch instead, your keys with
then change to RIGHT SHIFT for horizontal and RIGHT ALT for
vertical.
-b This switch enables mouse blanking. When any key is pressed
the mouse pointer will be immediately blanked, or if no mouse
movement is detected within 30 seconds the mouse pointer will
be blanked. As soon as the mouse is moved at all the pointer
will be returned immediately. This overcomes the annoying
habit of the pointer always being in the way while typing.
-e This switch physically exchanges the left and right hand buttons
on the mouse. All programs that use the mouse correctly will
work. If the mouse is checked by hardware then the swap will
not occur. This switch is not available from the option window
as yet, maybe next version.
-s -c -a The default qualifier key is the LEFT AMIGA but this can be
changed with a switch. The -s switch changes the qualifier
key to the SHIFT key. The -c switch changes it to the CONTROL
key, and the -a switch changes it to the ALT key. To use the
default key (LEFT AMIGA) then don't use any of these three
switches. Note that this qualifier key is also the same for
the autocli function as well.
-r The above qualifier is, by default, the key on the LEFT side
of the keyboard. To change this to the RIGHT side, use thi
switch.
? If the switch is a single question mark, then AutoCLI
will display a USAGE string on the current CLI window.
It will not install or remove itself.
remove This switch should be used on its own. It will signal
the current version of AutoCLI to shut down and remove
itself. Whenever it attempts this removal, a success
or failure message will be displayed on the CLI window.
WARNING WINDOW
--------------
The event handler constantly checks the restart vectors against values
that were there when AutoCLI was first launched. These vectors are often
modified by viruses in order to survive a reboot. If this happens during
normal operation, (ie. file virus gets launched) then AutoCLI will open a
small warning window and ask you if you wish to replace them with their
original values or leave them. For example mounting RAD: will change
these vectors the first time is it accessed. You would answer NO to the
question, AutoCLI will then accept these changes as OK.
OPTIONS WINDOW
--------------
This function is always available, even if function key scripts (-f)
is turned off. It is accessed by holding the qualifier key and pressing
HELP. A window will open on the front most screen with gadgets set with
your current options.
Click on the gadgets to turn functions on or off. Screen blanking time
can be changed by clicking in the gadget and changing it accordingly.
If you turn screen blanking on, but give no time, then a default time
of 300 seconds will be set.
At the bottom of the window are two gadgets, 'OK' and 'REMOVE'. The
remove gadget will remove AutoCLI from memory completely. The ok gadget
will set the new options you have made.
OPTIONAL SECONDS
----------------
This is an optional time (in seconds) to blank the screen when no user
input is detected. The default is off, so if blanking is not wanted then
do not give a time at all. When the screen has been blanked, it can be
turned on again by touching any key or moving the mouse. Because it only
requires a single rawmouse event, we have found that giving your computer
table a nudge is sufficient to turn the display on again.
OPTIONAL COMMAND (command run when 'Qualifer ESC' is pressed)
----------------
If no optional command is given then AutoCLI will use a default command.
This default command is, AutoCLI will launch and wait for your qualifier
key and ESCAPE to be pressed. When this event occurs AutoCLI will open
a CLI window 1 pixel less than the size of the WorkBench Screen at the
time it is opened. So if resolution mode is changed AutoCLI will notice
the change. If NEWCON: is available, a Shell window will open instead
of a CLI window.
If an optional command is given, AutoCLI will execute that command
in preference to the default CLI/SHELL window when your qualifier key
and ESCAPE is pressed (see EXAMPLES). This allows custom commands or
custom size CLI/Shell windows to be used. Note that if AutoCLI is already
in memory it will display an error message on the current CLI
window.
EXAMPLES
--------
AutoCLI -f -w0 -n -m -k -l -r -s 600 newshell newcon:0/10/640/150/MyShell
(opens a Shell window with a title of 'MyShell', enables function
keys, selects the RIGHT SHIFT as your qualifier, enables the window
to front option ,enables the screen shuffle option, enables the
window shuffle, enables pointer lock, enables auto activation,
and will blank the screen after 10 mins of non use).
AutoCLI -f -w0 -q2 YourProg
(runs a file called YourProg. When LEFT AMIGA/ESCAPE is pressed
enables function keys, window to front and will disable the screen
blanking (ie. no time given), and will accellerate the mouse by
a factor of 4.
AutoCLI remove
(attempts to remove the currently running version from memory
and displays a success or failure message).
REQUIREMENTS
------------
The following commands MUST be available in the current C: directory :-
run ; c directory (called by the DOS Execute function)
newcli ; c directory (called by AutoCLI if NEWCON not available)
newshell ; c directory (called by AutoCLI if NEWCON is available)
shell-seg ; l directory (needed if newcon: is mounted)
AutoCLI ; c directory
The following commands, devices, files are optional :-
cli-startup ; s directory (script executed by Newcli)
shell-startup ; s directory (script executed by NewShell)
NEWCON: ; (must be mounted to enable Shell instead of CLI)
AutoCLI.F1 ; s directory (script file for qualifier/F1)
AutoCLI.F2 ; s directory (script file for qualifier/F2)
...etc.
NOTE: 'Amiga' is a Trademark of Commodore Amiga Inc.
The idea for Pointer Lock came from a program 'Tame Pointer' by JOHN ROWE,
a very close and talented friend of mine.
Nic Wilson Software
138d South Street
TOOWOOMBA Queensland 4350
Australia
Phone (076) 358539 Home,
(076) 358384 Work or Fax
(076) 358522 " " "