FACTS BEHIND THE FLASHES (The Amiga Startup Messages) By Betty Clay It is not unusual for a computer to try to communicate with its owner during the start-up routines. Remember the flashing of the lights on the 4040 and 8050 disk drives? On my 8050 drive, two flashes of the green LEDs indicate that things are fine. More than two indicate a problem, and if there were such a thing as a local Commodore repairman, he would be helped if he knew how many times my drive was flashing the lights. Another way the earlier Commodores communicated with us was by printing the number of bytes free on the screen at startup. If the number was wrong, we knew that some of the RAM had failed to accept data during the startup routine, since the computer would assume that the end of BASIC was at the last location in which it could write and read back data. If a memory chip became bad, the number of bytes free would be the same as the number to which the processor had successfully written and read back its startup data. The Amiga has a rather elaborate set of diagnostics, if we only know how to interpret them. THE AMIGA START-UP ROUTINE When you turn on your Amiga, it has a rather long and complicated set of routines through which it must go before it can allow you to interrupt it. As the startup process goes along, Amiga is trying to let you know whether all is well. There has been a small problem with this, however - Commodore forgot to tell us what the signals mean! Here is a list of the startup-routine activities: 1. Clear all of the chips of old data. 2. Disable DMA and interrupts during the test. 3. Clear the screen. 4. Check the Hardware (make sure the 68000 is working) 5. Change the screen color to show whether this test was passed 6. Do a checksum test on all the ROMS 7. Change screen color to show if ROMS passed the test 8. Begin the system startup 9. Check the Ram at $C0000, and move SYS_BASE there 10. Test all of the chip RAM 11. Change the screen color to show if the RAM passed the test 12. Check to see if software is coming in OK 13. Change the screen color to show if the software test is passed. 14. Set up the chip ram to receive data. 15. Link the libraries. 16. Check for additional memory and link it in if found 17. Turn the DMA and Interrupts back on. 18. Start a default task. 19. Check to see if the computer is using a 68010, 68020, and/or 68881. 20. Check to see if there is an Exception (processor error) 21 If so, do a system reset. AND THE MESSAGES ARE IN TECHNICOLOR! As this routine is taking place, the Amiga is sending you messages with the screen colors. If all is well, we usually see this sequence: Dark gray The initial hardware tested OK. The 68000 is running and the registers are readable Light gray The software is coming in and seems OK White The initialization tests were all passed But if something is wrong with your Amiga, you might see: Red If there is an error in ROM Green If there is an error in the Chip RAM Blue If an error was found in the custom chips Yellow If the 68000 found an error before the error trapping software (the guru) was up and running The most likely of these errors seems to be the error in Chip RAM. Only this week, I saw an AMIGA 500 flash a brilliant green screen when an expansion RAM board was put in hastily, and did not settle in correctly. A repositioning of the board corrected the problem in that case. I have not yet seen a red, blue, or yellow screen indicator. KEYBOARD MESSAGES The Amiga keyboard is not as dull an object as I had originally thought, either. It contains a processor of its own - a Rockewell/NCR/MOS Technology 6500/1. It also has 2K of ROM, 64 bytes of RAM, and four I/O ports of eight bits each. There is a built-in crystal oscillator running at 3Mh, also. All but the very earliest of keyboards also have a "watchdog timer" which will reset the keyboard's processor if it stops scanning the keyboard for more than 50 milliseconds. It is possible for the computer to be powered up before the keyboard is plugged in, in which case the keyboard will have to go through its self-test after it is connected to the computer. Most of us, however, will have the keyboard attached, and the self-test will take place while we are watching the screen, changing disks, etc. The keyboard self-test consists of four steps. First it does a checksum on all of the ROMs. Then it checks the 64 bytes of RAM, and then the timer is tested. Then the keyboard must achieve proper synchronization with the computer. It does this by slowly clocking out 1 bits until it receives a handshake pulse from the computer. Once this pulse is received, the keyboard must inform the computer of the results of its self-test. Should the self- test fail, the code for failure can be sent to the computer without waiting for the handshake pulse. IN CASE OF FAILURE After informing the computer that the self-test has failed, the keyboard will then try to notify the user that it is in trouble. This is done by blinking the CAPS-LOCK light. Here is the code: One blink The keyboard ROM check failed Two blinks The keyboard RAM check failed Three blinks The watchdog timer test failed Four blinks A short exists between two row lines or one of the seven special control keys The last check had not been implemented at the time my Rom Kernal Manual was printed, but was in the plans. It would be unusual for the user to have typed anything during this self-check time, but if any keys have been depressed, the codes for those keys would then be sent to the computer, a "terminate key stream" code would be sent, and then the CAPS LOCK LED shut off, indicating the end of the keyboard startup sequence. Should you be so unfortunate as to have your Amiga get into difficulties, perhaps these codes will help you and your repair man to put it in good health again. (The information on startup routines came from messages on Usenet, and the keyboard information from the Amiga Hardware Manual.)