1616/OS and hardware Miscellaneous This section explains various miscellaneous items that will not be of interest to you in your first encounter with the Applix 1616, and that do not conveniently fit into the flow of previous discussions. Hardware exceptions If something goes seriously wrong with a 68000 program, the microprocessor can be driven into a fault condition (called an exception) which is handled by special software. In most computers, an attempt is made to recover from minor errors, however this often (usually?) causes problems in the program in later use.
In the 1616, the emphasis is placed upon ensuring that information about the exception is made available to the programmer, rather than trying to recover from the exception. Programmers generally find this helpful; as a user, you may not. When an exception is detected, the exception type and a full register dump are displayed, whereupon the 1616 grinds to a halt. You must press reset to regain control. The option command may be used to vary the form of output when an exception occurs, making it possible to obtain a stack backtrace. Once you learn 68000 assembler, you will find all this of great use. See option 3 and option 13 .
Using reset If the 1616 is doing something and you wish to regain control of the system, first try the key sequence. The running program should detectyour interrupt, and should stop whatever it is doing, awaiting further input. Alt Ctrl C If this fails the next approach is to try the sequence. At a software level, this is equivalent to pressing the 1616’s reset switch (at the rear). If this fails to regain control, then the 1616 is very hung up and you must press the reset switch. Alt Ctrl R Using the reset switch, or the , sequence causes a ‘level 2’ reset. This regains 1616/OS control, but performs some reinitialisation of data areas within 1616/OS .
In short, a reset tries to restore things to what they were before they got out of control. The contents of your RAM disk usually remain intact through this reset. Alt Ctrl R If some critical areas of memory have been destroyed by a runaway program, then a ‘level 1’ reset is necessary. The level 1 reset is invoked by performing two resets (by either method) within three seconds of each other. This fixes most major problems, by initialising many extra data areas.. Appendix A User Tutorial Manual Page 103