home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format 63
/
af063sub.adf
/
AlertPatch
/
AlertPatch.doc
< prev
next >
Wrap
Text File
|
1994-07-13
|
28KB
|
766 lines
----------------------------------------------------------------------------------
MAIN
----------------------------------------------------------------------------------
AlertPatch v3 Copyright (C)1992,93,94 David Swasbrook.
=============
'Disclaimer ' Legal information
'Shareware ' Shareware information
'Introduction ' Introduction to AlertPatch
'How to Install ' How to install AlertPatch
'Usage ' How to use AlertPatch
'Configuration ' Adjusting the settings
'Update Information' How to get the latest AlertPatch version
'Patch Information ' How to detect the patch
'Special Thanks ' Thankyou for your ideas/support
'History ' A very brief history of AlertPatch
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Disclaimer
----------------------------------------------------------------------------------
Disclaimer
**********
AlertPatch is supposed to be a replacement function for the
exec.library/Alert function. Operations of this type are always
risky, as when an alert occurs the system is in an inconsistent
and/or defective state.
I hereby reject any liability or responsibility for these or any
other consequences from the use of AlertPatch whatsoever. This
includes, but is not limited to, damage to your equipment, to your
data, personal injuries, financial loss or any other kinds of side
effects.
Although AlertPatch has been tested thoroughly on several different
machines, I cannot rule out the possibility that AlertPatch
o is somehow incompatible to your equipment
o has bugs that show up on your equipment
o does not do what it is supposed to do on your equipment
It is your responsiblity to take any precautions necessary to
protect yourself from these or any other effects. I explicitly
reject any liability or responsibility from the consequences of you
using AlertPatch.
Swaz.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Conditions
----------------------------------------------------------------------------------
Shareware
*********
AlertPatch is shareware. The program may be freely distributed and
copied, as long as the following conditions are fulfilled:
o The sales price must not be higher than the cost of an (empty)
disk plus a nominal copying fee plus costs for shipping. The total
price must not be higher than 5 US$.
o All parts of the program and the documentation must be complete.
The distribution of single parts or incomplete subsets of the
original distribution is NOT ALLOWED.
o AlertPatch or parts of it may not be sold in combination with or
as part of commercial software.
o Program and documentation may not be changed in any way.
o Permission has been given for distribution through Aminet and
Fred Fish.
AlertPatch is shareware, this means I request those users, who
use AlertPatch, to send me the shareware fee of 10 US$ (or any other
contributions gratefully accepted) to the following address:
Postal: David Swasbrook,
43 Pickwick Parade,
Howick,
Auckland,
New Zealand.
Internet: swaz@iconz.co.nz (private)
or msd@iconz.co.nz
Please include the following information in your registration:
o your name, address (including any electronic mail addresses you
might have) and telephone number
o your Amiga model(s)
o Kickstart and Workbench versions
o the AlertPatch version number (currently 3.0)
I assure you that the information you send me will be treated
confidentially.
I will try and inform everybody, who has registered with me as
described above, when a new version of AlertPatch becomes available.
If you have sent a shareware donation, if possible, you will recieve
an update through mail (preferably email).
Thank you very much in advance !
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Introduction
----------------------------------------------------------------------------------
Introduction
************
AlertPatch is simply a patch into the exec.library/Alert()
function to display more meaningful information to the user.
There is a variety of information provided at the time the
alert is displayed:
Alert Type - Software Failure or DeadEnd.
Task - Task address and name.
Error - The alert error being displayed.
Caused By - If the calling routines are known then
this will tell you where the problem
lies (eg. "graphics.library")
Cause - Single line description of what the alert
is all about.
Task Owner - if 'MultiUser FileSystem' is installed then
the userID and userName are also displayed.
Data Registers - A dump of the CPU data registers d0...d7
Address Registers - A dump of the CPU address registers a0...a7
Text Representation - This is the text representation of the data
and address registers. Non-printable ascii
characters are shown as "."
To generate the above information, approximately 600 bytes of
stack are required. This "large" amount of stack usage to
build the alert text will cause problems if we are low on stack.
If this is a problem then increase the stacksize of the
task causing the alert, of course getting an alert "usually"
means there is something wrong anyhow so this may not always work.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Installation
----------------------------------------------------------------------------------
Installation
************
Double click on the install icon
Localization Information:
You may select which languages are to be installed for AlertPatch during
the installation. If there is no translation provided for your preferred
language then you may make your own catalog from the 'alertpatch.cd' file.
You will need the program "CatComp" to build the catalog file
alertpatch.catalog. Please refer to CatComp documentation for further
information.
CatComp is Copyright Commodore Amiga Inc.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Usage
----------------------------------------------------------------------------------
How To Use AlertPatch
**********************
o To install AlertPatch simply double click on the icon.
o Double clicking again on the AlertPatch icon will bring up a window
listing all Alerts with descriptions known by AlertPatch. You may
add to this list yourself (see 'Alert list' ).
'Details on Main Window'.
o To remove AlertPatch click on the Quit button
Additional configuration options and features:
'CLI/ToolTypes'
'Sounds '
'ARexx '
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
ARexx
----------------------------------------------------------------------------------
ARexx
*****
AlertPatch adds an ARexx port named "ALERTPATCH" to the system.
Supported commands are:
QUIT - Quit from AlertPatch
SHOW - Show the AlertPatch interface
HIDE - Hide the AlertPatch interface
ALERT <HexNumber> - cause the specified alert to occur.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Cli
----------------------------------------------------------------------------------
ToolTypes & CLI Arguments
*************************
Supported arguments/tooltypes are:
Standard Commodity arguments:
CX_POPKEY
CX_POPUP
CX_PRIORITY
Specific to AlertPatch:
FONT - the name and size of the font to use for gadgets.
If not specified then the default system front is used.
eg. FONT="topaz 8"
Settings specific to AlertPatch may be chosen by selecting from the
main AlertPatch window the 'Settings' button.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
AlertListWindow
----------------------------------------------------------------------------------
Alert List Window and Configuration
***********************************
When AlertPatch is run from Workbench and it is currently installed,
or the command line argument of WINDOW is specified, a window listing
all the alerts is opened.
THE LIST - double clicking on an entry in the list will
generate the Alert. '***BE VERY CAREFUL***' If the
alert is a DEADEND alert then you may reset your
computer. If you have chosen the Window Alert then
it is advisable to select CONTINUE unless you *WANT*
to suspend "AlertPatch" or "Reset" your machine.
- You may also use the arrow keys to move up and down
the list and press return to select an entry.
The Buttons
***********
Quit - remove the AlertPatch Alert function and restore the
original system Alert() function.
'About' - some information about AlertPatch
'Settings' - set/save the configuration
Ok - close the AlertPatch window
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
About
----------------------------------------------------------------------------------
The About Window
****************
This window tells you information about the current version of
AlertPatch and some information on 'Shareware & Registration'
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Configure
----------------------------------------------------------------------------------
Configuration Information
*************************
This is where you select what sort of Alert you would like plus some
extended features available for that particular alert type.
Settings:
Render Method - the type of alert you wish to have displayed.
'NORMAL ' Use System Alerts
'CUSTOM ' Use Custom Alerts
'WINDOW ' Use Window Alerts
Call exec Vector - will also call the original
exec.library/Alert() function
'Sounds' - turn sounds on/off. (Sounds are only available
for the custom and window alert modes.
Timeout - number of vertical blanks before the alert
should timeout. This is not available for
Standard alerts, or Custom alerts on pre
kickstart V39.
Logfile enabled - if set AlertPatch will write a log of all
the alerts generated. See also 'Logfile'
'Configure logfile' - set the logfile name and
other logfile options.
Alert File - additional alert descriptions may be provided
in a text file. See 'Alert File Format'
Custom Alert Mouse Buttons:
Recovery (right) - what action to take when the RIGHT mouse
button is pressed. It is to be noted that
a left mouse button on a Recovery alert
means continue.
Deadend (any) - what action to take for a deadend alert.
This is for any (either left or right)
mouse button.
Window Alert Timeout Actions:
Recovery - the action to take when timeout occurs on a
recovery alert.
Deadend - the action to take when timeout occurs on a
deadend alert.
----------------------------------------------------------------------------------
AFF
----------------------------------------------------------------------------------
Alert File Format
*****************
The alert data file is a text file named "AlertPatchData"
residing in the current directory when AlertPatch is run, or a
user specified file.
One alertnumber and description may be specified per line in the
text file. You may use "#" to indicate at the start of a line to
indicate that it is a comment.
---- Example File "AlertPatchData" ----
#Example AlertData file
12345678 Numerical consistency warning
80102FF0 This is my own alert
---- End Of File ----
----------------------------------------------------------------------------------
Logfile
----------------------------------------------------------------------------------
Logfile
*******
If the logfile is enabled then when an alert occurs, AlertPatch will
attempt to write to the specified file information about the alert.
Is is strongly suggested that the file be located on a RamDisk or
other such device, as writing to disk during an alert could cause
possible errors in the filesystem, in order to reduce the chance of
filesystem corruption it is possible to not write the DEADEND (the most
serious) alerts to the file. Alternatively you may wish to output the
logfile to SER: (the serial.device) or PAR: (the parallel.device).
This choice is up to you.
LogFile - this sets the name for the logfile to be
written. Selecting the BUTTON or pressing
the HELP key in the string gadget will
use a filerequestor to get the logfilename.
Do not log DEADEND alerts - if set then AlertPatch will not log any
DEADEND alerts to the logfile. This may
reduce the chance of corrupting the logfile.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
MSDSounds
----------------------------------------------------------------------------------
MSD/UPD Sounds
**************
AlertPatch will play sounds through a Sound Daemon such as MSD or
UPD. These add an Arexx port to the system called "PLAY" and the
following sound id's are sent to the port:
AlertPatch/Recoverable
AlertPatch/DeadEnd
AlertPatch/Continue
AlertPatch/Suspend
o Sounds are only available if the "MSD/UPD Sounds" is checked in
the configuration window and the alert mode is either custom or
window.
Acknowledgements
****************
UPD is Copyright © 1991 Jonas Petersson & Absolute Software (aka Sirius Soft)
MSD is Copyright © 1992,93,94 David Swasbrook. (Not released yet)
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Why
----------------------------------------------------------------------------------
Why you should be Very Careful
******************************
When you select an entry in the listview, AlertPatch will generate
an example alert by calling exec.library/Alert(). This functions
identically to when any other program calls exec.library/Alert().
And so if you select SUSPEND, AlertPatch will suspend itself, by
selecting REBOOT the system will reboot.
If you do select SUSPEND or REBOOT and the alert has been generated
by AlertPatch then a requestor will be displayed to make sure you
are aware of what you intend doing.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Normal
----------------------------------------------------------------------------------
Normal AlertPatch
******************
All alerts generated will be passed through to the original exec
library Alert() function before calling the specified patch routine.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Custom
----------------------------------------------------------------------------------
Custom AlertPatch
******************
The custom option will produce a "flashy" alert using the normal
exec.library function Alert() but will contain all the information
as below in a slightly larger than normal flashy box.
___________________________________________________________________________
| |
| Task : 0x079527D8 "AlertPatch" |
| Error : 0x81000005 (DEADEND) |
| By : Exec library |
| Cause : Corrupt memory list detected in FreeMem() |
| |
| D0:00000001 D1:01E4DB57 D2:00001000 D3:079608CC .... ...W .... .... |
| D4:00000001 D5:00000001 D6:01E55BC9 D7:81000005 .... .... ..[. .... |
| |
| A0:079608CC A1:0795F7C0 A2:07813A84 A3:07936D2A .... .... ..:. ..mo |
| A4:079607B8 A5:00F92324 A6:07800804 A7:07904AA2 .... ..#$ .... ..J. |
|___________________________________________________________________________|
The alert may be satisfied by timeout or by pressing either the LEFT
or RIGHT mouse button with the following effects:
For DEADEND Alerts
******************
EITHER BUTTON: Use the configured settings for custom mode, by default
this is reset.
For RECOVERABLE Alerts
**********************
LEFT BUTTON: This is always Continue.
RIGHT BUTTON: Use the configured settings for custom mode, by default
this is reset.
For TIMEOUT
***********
If the alert times out then the result is the same as would happen for
DEADEND and RECOVERABLE alerts (above) if the LEFT BUTTON was pressed.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Window
----------------------------------------------------------------------------------
Window AlertPatch
******************
Below is an example of what the window generated by AlertPatch looks
like (hey its the best i could manage with ascii :)
___________________________________________________________________________
| | | |
| O | Software Failure | |
|___|___________________________________________________________________|___|
| |
| Task : 0x079527D8 "AlertPatch" |
| Error : 0x81000005 (DEADEND) |
| By : Exec library |
| Cause : Corrupt memory list detected in FreeMem() |
| User : root (David Swasbrook) |
| |
| D0:00000001 D1:01E4DB57 D2:00001000 D3:079608CC .... ...W .... .... |
| D4:00000001 D5:00000001 D6:01E55BC9 D7:81000005 .... .... ..[. .... |
| |
| A0:079608CC A1:0795F7C0 A2:07813A84 A3:07936D2A .... .... ..:. ..mo |
| A4:079607B8 A5:00F92324 A6:07800804 A7:07904AA2 .... ..#$ .... ..J. |
| |
|___________________________________________________________________________|
| |
| 'Continue' 'Suspend ' ' Reset ' |
|___________________________________________________________________________|
NOTES:
o The "User :" field is only available if you have installed
'MultiUser filesystem'.
o If the system is too badly damaged then there is a high chance
that the window will not be displayed and the computer may lock up.
Use the 'custom mode' if you find this annoying.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Button_Continue
----------------------------------------------------------------------------------
Continue Button
***************
The continue button allows task that caused the alert to continue
doing whatever it was doing. If you do this on a DEADEND alert
then you may find that the task will cause some serious problems and
you will end up rebooting.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Button_Suspend
----------------------------------------------------------------------------------
Suspend Button
**************
The suspend button simply puts the offending task to sleep. This is
achieved by calling the exec.library function Wait() with a NULL
for the signal mask.
moveq #0,d0
SYSCALL Wait
This effectivly stops the task from causing any more harm than it has
done.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Button_Reset
----------------------------------------------------------------------------------
Reset Button
************
The reset button will reboot using the exec.library function
ColdReboot().
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Updates
----------------------------------------------------------------------------------
Update Information
******************
I will try and further improve AlertPatch if I have time for it.
Registered users will at least get a notification when new versions of
AlertPatch get available that contain significant changes or enhancements.
New versions of AlertPatch will also be available on the Internet per
"anonymous FTP" (look on Aminet).
In order to be able to improve and/or correct AlertPatch, I would like to
ask every user to do the following:
o send me the registration fee of US$ 10
o send me bug reports, if you find any bugs
o give me hints how to improve AlertPatch
See 'Shareware' section for details on my mail address.
Thank you very much in advance !
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
PatchInfo
----------------------------------------------------------------------------------
How to detect AlertPatch -- A programmers perspective
******************************************************
AlertPatch may be found by finding the Semaphore named "AlertPatch"
which is the following structure:
STRUCTURE TheAlertPatch,ss_SIZEOF
UWORD ap_Version
UWORD ap_Revision
APTR ap_VersionString
APTR ap_OriginalVector
APTR ap_NewVector
;--- The following were added for V2.20
APTR ap_DiskLogName
LABEL ap_SIZEOF
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
MUFS
----------------------------------------------------------------------------------
MultiUserFileSystem
*******************
Copyright © Geert Uytterhoeven, All Rights Reserved.
You've got an Amiga with Kickstart 2.04 or higher and several
people are regularly fooling around with it ... Last week your sister
deleted your 20MB JPEG collection by mistake and you don't want this
to happen again ...
Well, here's the answer: MultiUser!
MultiUser allows you to create a *IX-like environment where several
users live together in harmony, unable to delete each others files,
unable to read those private love-letters of other users ... And
this even if several users are working on the machine at the same
time (on a terminal hooked up to the serial port) ...
You are the sole user of your computer? Well, make sure it stays
that way by installing MultiUser! People without a valid login ID and
password won't be able to access files you have made private with
MultiUser. If you make all files private (not readable for others),
the only useful thing they could do, is boot from a floppy ...
And ... you do not have to reformat your hard drive!
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Thanks
----------------------------------------------------------------------------------
Contributors
************
Thank you to the following translators:
français - Jean-Michel Bezeau
Thank you to the following who have sent in suggestions and
requests:
Carlos Amezaga
Thanks also to the following who reported bugs:
Denis Bucher
Beta testing performed by:
Daryl Jay
Also thanks to Osma Ahvenlampi for designing the MagicWB icon.
o I'm sorry if you have contributed and you name is not in the
above lists. I try to reply to all email so if you have sent
me some mail and not received a reply then it is more than
likely that my mailer sent it to nil: accidentally.
-------------------------------------------------------------------------------
----------------------------------------------------------------------------------
History
----------------------------------------------------------------------------------
History Information
*******************
`V3.0' o Commodities support
o Locale support
o Arexx support
o User definable alert numbers and descriptions
o Preferences interface changed
o The safe mode is no longer an option and detectes if an alert
is a test alert much better
o MagicWB style icon added
`V2.31' o Fixed email address
`V2.30' o Multiuser FileSystem support, displays the name of the owner of the
offending task (only if you are using MultiUser Filesystem)
o Locale support (Interface only)
`V2.20' o Now has safe option, this reduces the chance of accidentally suspending
AlertPatch or reseting the machine when you are testing alerts.
o Alerts may now be logged to a disk file
`V2.19' o Added timeout for Custom and Window Alerts
o Can call the old Alert function before a Custom or Window Alert.
`V2.18' o Added in configurable action for pressing the right mouse button for
Recoverable alerts, and either mouse button for DeadEnd alerts.
o The AlertPatch main window is disabled while "testing" alerts.
o Changed disclaimer and shareware documentation.
o Improved documentation about testing alerts.
o Added sounds to the window alert.
`V2.17' o Fixed to work under V37
`V2.16' o Initial release on Aminet.
o (Incorrectly documented as working under V37)