Když má Amiga bebí

Trochu infantilní název článku, já vím. Nicméně v těhle parnech mě opravdu nic lepšího nenapadlo (pište své návrhy a možná vyhrajete lízátko). Včera jsem napsal příspěvek o tom, kde dneska sehnat Amigu a co byste se měli připravit. Mimo jiné jsem se zmínil tom, že ne vždy bude Amiga fungovat správně a něco jí bude trápit. Proto je čas si připomenout (a někomu nově vštípit) základy o tom, co se Amiga snaží říct, když jí není úplně nejlépe.Už ihned po zapnutí Amigy probíhá několik self-testů, kdy si Amiga ověří, zda má všechny své důležité součísti vpořádku a připravené na další práci. Projevuje se to problikáváním barev (odstínů šedivé u novějších ROM) před tím, než se zobrazí boot obrazovka (případně začne nabíhat systém z HDD). Jakmile se Amize něco znelíbí, dá to na jevo patřičným barevným odstínem. O nich si tedy povězme, co vyjadřují:
Červená: Byla nalezena chyba v ROM.
Zelená: Byla nalezena chyba v Chip RAM.
Modrá: Byla nalezena chyba v custom chipech.
Žlutá: Byla nalezena chyba v CPU ještě předtím, než se nastartoval hlídací software (Guru).

Tyto problémy mohou být způsobeny několika důvody. Například ROM nám v čase nepoužívání „odskočila z patice“. Zkusíme jí vytáhnout a znovu domáčknout. Ovšem obvykle jsou tyto chyby fatální a nezbyde nám, než daný chybný kousek vyměnit, případně proměřit zda není někde tzv. „studeňák“. Existují i různé triky, jako základní deskou krapítek zakroutit. To chytnete motherboard do teplejch a začnete kroutit. Samozřejmě šetrně a jen malinko!

Aby toho nebylo málo, během samotného testu se ještě kontroluje klávesnice, kde jste o jejím stavu spraveni pomocí blikání diody na CaspLocku.
Jedno blikutí: ROM klávesnice je vadná.
Dvě bliknutí: 64 bytová RAM klávesnice je vadná.
Tři bliknutí: Časovač selhal.
Čtyři bliknutí: Skrat mezi klávesami.

Během bootu ale CAPSLOCK blikne vždy! Takže nepanikařte. Dělají to všechny Amigy v celém vesmíru!

Jestliže jste se nedočkali při bootu jakéhokoliv problému, máte částečně vyhráno. Některé chyby, jako třeba v RAM atd. se mohou projevit až během používání Amigy. Projeví se to obvykle tím, že Amiga buď vytuhne a zpraví vás o tom dialogovým oknem „Software failure – Suspend/Reboot“. Předně je nutné říct, že k software failure dochází relativně často, především u odfláknutých softwarů a není tedy nutné se ihned strachovat o fyzické zdraví Amigy. Strachovat se můžete začít ve chvíli, kdy dochází k takovým výtuhům často a obvykle velice náhodně. Když tedy následně začne „guru meditovat“, najdete u toho i popis chyby. Je to vpravdě šílené číšlo, ale když se máte o co opřít, sdělí hodnotné informace.  Následující infromace jsem si dovolil převzít ze svých stránek – odkud jsem je ale převzal tam je otázkou :-) Proto jako zdroj uvádím „všechny ty úžasné stránky o Amize“ a jdeme na to:

Formát Guru Meditation zpráv:

Subsystem ID General Error Specific Error Address of task
00 00 0000 00000000

Jestliže první číslo ze „subsystem ID“ je větší než 3, tak se jedná o neopravitelnou chybu. V takové případě musíte odečíst 8, abyste dostali „subsystem ID“.

Subsystem ID Codes

CPU Libraries Devices Resources Other
CPU Trap*00 Exec 01 Audio 10 CIA 20 BootStrap 30
Graphics 02 Console 11 Disk 21 WorkBench 31
Layers 03 GamePort 12 Misc 22 DiskCopy 32
Intuition 04 KeyBoard 13
Math 05 TrackDisk 14
Clist 06 Timer 15
DOS 07
RAM 08
ICON 09
Expansion 0A

General Error Codes

00 if not applicable
Insufficant Memory 01
MakeLibrary Error 02
OpenLibrary Error 03
OpenDevice Error 04
OpenResource Error 05
I/O Error 06
No Signal 07

Specific Alert Codes
Exec Library

81000001 68000 exception vector checksum
81000002 ExecBase Checksum
81000003 Lib checksum error
81000004 No memory to make lib
81000005 Corrupted memory list
81000006 No memory for interrupt servers
81000007 InitAPtr
81000008 Semaphore Corupt
81000009 Free Twice
8100000A Bogus Exception

Graphics Library

82010001 No memory for copper display list
82010002 No memory for copper instruction list
82010003 Copper list overload
82010004 Copper intermediate list overload
82010005 No memory for copper list head
82010006 Long frame, no memory
82010007 Short frame, no memory
82010008 No memory for flood fill
82010009 Text, No memory for TmpRas
8201000A No memory for bitmap
8201000B Region Memory
82010030 MakeVPort
82011234 GfxNOLCM

Layers Library

83010001 LayersNoMem

Intuition Library

8400001 Unknown gadget type
0400001 Recoverable form of previous message
84010002 no memory to create port
84010003 Item plane allocation, no memory
84010004 sub allocation, no memory
84010005 Plane allocation, no memory
84000006 Item box top less than RelZero
84010007 no memory to open screen
84010008 Open screen, Raster allocation, no memory
84000009 Open sys screen, unknown type
8401000A Add SW gadgets, no memory
8401000B No memory to open window
8400000C Bad state return entering Intuition
8400000D Bad message received by IDCMP
8400000E Weird echo causing incomprehension
8400000F Couldn’t open the console device

DOS Library

07010001 No memory at startup
07000002 EndTask couldn’t
07000003 Qpkt failure
07000004 Unexpected packet received
07000005 FreeVec Failed
07000006 Disk block sequence error
07000007 Bitmap corrupt
07000008 Key already free
07000009 Invalid Checksum
0700000A Disk Error
0700000B Key out of range
0700000C Bad Overlay

Ram Library

08000001 Bad Segment List

Expansion Library

0A000001 Bad Expansion Free

TrackDisk Device

14000001 Calibrate: seek error
14000002 Delay: error on timer wait

Timer Device

15000001 Bad Request
15000002 Bad Supply

Disk Resource

21000001 Get Unit: already has disk
21000002 Interrupt: no active unit

BootStrap

30000001 Boot code returned an error

CPU traps (pouze některé – CPU má 256 výjimek, 64 je definováno hardwarem zbývajících 192 může definovat uživatel)

00000002 Bus Error
00000003 Address error
00000004 Illegal instruction
00000005 Divide-by-zero
00000006 CHK instruction
00000007 TRAPV instruction
00000008 Privilege Colation
00000009 Trace
0000000A OP code 1010
0000000B Op code 1111

Jak si tedy můžete všimnou, seznam je opravdu úctyhodný.

A jak vlasně Guru začal meditovat? Jedna ze zpráv říká, že se vlastně jedná o jakýsi vtípek, který se do systému prodral. V začátcích Amiga corporation byl jeden programátor (jeho jméno jsem bohužel nedohledal, takže těžko říct, kdo z nich), který si při spadnutí Amiga OS sedl do tureckého sedu a snažil se přijít na to, kde se stala chyba. Ostatní chodili kolem a uchychtávali se, že vypadá jak meditující guru.
Málokdo také víc, že blikající okrajový rámeček je tvořen tak, že se nejdřív 6809krát vykreslí černý obdélník a pak ve stejném počtu červený. Je to míněno jako pocta pro Motorolu 6809 (byla například v Commodore PET), která byla velmi populární mezi programátory.
V nejnovější verzi AmigaOS 4.0 je už ale Guru nahrazen handlerem s názvem „The Grim Reaper“…

About the Author

Zapálený AmigaFanatik, občasný tvůrce her a oddaný vůdce pana Zkázy!