home *** CD-ROM | disk | FTP | other *** search
-
- ----------------------------------------------------------------------------------
- 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)
-
-