* GEHEIMNIS DES GURUS * Bulletin-ID: 25C905DJ4BP * de DL1BEQ @ DJ4BP u Auf der Suche nach dem Guru bx- Die Zahl, die ein Guru einblendet, ist 16 Ziffern lang. Man kann sagen, diese Zahl ist in 4 Bereiche unterteilt. Über sie kann sowohl der Ort (Hexadezimaladresse) als auch der Anlaß des Fehlers bestimmt werden. Die Vierergruppen lassen sich nach folgendem Schema unterteilen:i AA BB aC.eD Die Leerstellen zwischen den einzelnen Zahlengruppen dienen der besseren Übersichtlichkeit. In der Gurumeldung des Amigas sind sie nicht enthalten. Der Punkt innerhalb der Zahlengruppe ist von großer Bedeutung. Die ersten beiden Ziffern (AA) kennzeichnen das Subsystem, in deren Programm- code der Fehler aufgetreten ist. Subsysteme sind Librarys (Exec, Dos, Graphics usw.), die Devices (Audio, Console, Trackdisk usw.), die Resources (CIA) und sonstige Betriebssystemteile. Anhand der nächsten beiden Ziffern (BB) läßt sich die allgemeine Fehlergruppe, auch "Grundsätzlicher Fehler" genannt, er- mitteln. Die Vierergruppe (aC) spezifiziert den Fehler genauer. Die letzten acht Ziffern (eD) bestimmen die Adresse (Hexadezimal) des Tasks, der den Absturz verursacht hat. Die rechte Maustaste hat auch eine Bedeutung. Mit ihr kann in bestimmten Fällen das neuerliche Booten umgangen werden. Ist die erste Ziffer des Fehlercodes kleiner als acht, springt der Computer mit dem Druck auf die rechte Maustaste direkt ins Programm zurück (recoverable alert). Istb Ziffer dagegen größer oder gleich acht, ist eine Fortführung des Programmes unmöglich (dead-end alert). Der Druck auf die rechte Maustaste bewirkt dann einen Sprung in den Debugger. Diese Funktion sollten aber nur fortgeschrittene Programmierer anwenden. Eine genauere Erklärung des Debugger würde mehere Seiten beanspruchen. Deshalb werde ich hier nicht weiter darauf eingehen. Die erste Ziffer des Fehlercodes ist außerdem Bestandteil der Subsystem- kennzeichnung. Die Entwickler der Systemsoftware entschieden daher, den Wert acht als Kennzeichnung für nicht behebbare Fehler auf die erste Ziffer des Subsystemcodes zu addieren. Bei solchen Fehlern ergibt also erst eine Subtrak- tion den korrekten Subsystemcode. Der Code 00 in der ersten Zahlengruppe (Kennung AA: Subsystemcode) kenn- zeichnet kein Subsystem, sondern einen CPU-Fehler. Diese Meldungen sind durch den Prozessor und nicht durch die Systemsoftware des Amigas bedingt. Dem Pro- zessor stehen für Fehlerbehandlungen 256 Vektoren zur Verfügung. Unter einem Vektor versteht man in diesem Fall die Adresse einer Programmroutine, die den Fehler behandelt. Nun aber zu den Zahlencodes: AA: Libraries 01 = Exec g 02 = Graphics c3 = Layers c4 = Intuition c5 = Math c6 = Clist c7 = DOS c8 = RAM c9 = Icon cA = Expansion Devicesa 10 = Audio g 11 = Console c2 = Game-Port c3 = Keyboard c4 = Track-Disk c5 = Timer Resource 20 = CIA g 21 = Disk c2 = Misc Sonstige 30 = Bootstrap g 31 = Workbench c2 = Disk-Copy BB: 00z e Fehler kann nicht zugeordnet werden 01 Insufficient Memoryn Speicherplatzmangel 02 MakeLibrary Errorp Library konnte nicht erzeugt werden 03 OpenLibrary Errorp Library konnte nicht geöffnef 04 OpenDevice Errorq Device konnte nicht geöffnet werden 05 OpenResource Erroro Hardware-Baustein reagiert nicht 06 I/O Errorx Ein/Ausgabefehler 07 No Signalx Signal fehlt Durch eine Fehlerverfolgung des Systems kann der Fehler in den meisten Fällen genauer bestimmt werden. Deshalb können von jedem übergeordneten Fehler der Systemsoftware genauere Ursachen zugeordnet werden. AA BB aC: 00 00 0002 Bus-Error g Timingfehler auf Adreß- oder Datenbus 00 00 0003 Adreß Error g Adressierungsfehler 00 00 0004 Illegal Instruction g Unzulässige Instrukb 00 00 0005 Devide by Zero g Division durch Null 00 00 0006 CHK Instruction g CHK testet Register gegen Grenzen des Zahlenbereichs. Der Fehler btritt auf, wenn die zulässigen Grenzen überschritten werden 00 00 0007 TRAPV Instruction g TRAPV verzweigt auf Trap-Vektor, wenn V-Flag gesetzt 00 00 0008 Privilege Violation g Privilegverletzung 00 00 0009 Trace g Einzelschritt-Modus 00 00 000A OP Code 1010 g Unbenutzter Op-Code 00 00 000B OP Code a1 g Unbenutzter Op-Code Exec Library: 81 00 0001 68000 Exception Vector Checksum g Prüfsummenfehler bei der Ausnahmebehandlung des Prozessors 81 00 0002 ExecBase Checksum g Prüfsummenfehler der Startadresse des Exec 81 00 0003 Library Checksum Error g Prüfsummenfehler bei der Library (meist Library zerstört) 81 00 0004 No Memory to Make Library g Fehlender Speicherplatz fürf 81 00 0005 Corrupted Memory List g Zerstörte Speicherverwaltungsliste 81 00 0006 No Memory For Interrupt Servers g Kein freier Speicherplatz für die Interruptbehandlung 81 00 0007 initAPTR g Zeigerfehler 81 00 0008 Semaphore Corrupt g Semaphore (Signal) zerstört 81 00 0009 Free Twice g Speicherplatz wurde zweimal freigegeben 81 00 000A Bogus Exception g Es wurden für spätere Erweiterungen reserviert (jetzt noch nicht bbelegte) Vektoren verwendet Graphics Library: 82 01 0001 No Memory for Copper Display List g Kein freier Speicherplatz für die Copper-Instruktionsliste 82 01 0002 No Memory for Copper Instruction List g Kein freier Speicherplatz für die Copperliste 82 00 0003 Copper List Overload g Copper-Liste ist voll 82 00 0004 Copper Intermediate List Overload g Struktur der Copper-Liste ist zerstört 82 01 0005 No Memory for Copper List Head g Kein freier Speicherplatz für den Kopf der Copper-Liste 82 01 0006 Long Frame, No Memory g Kein ausreichender Speicherplatz für die Copper-Liste I 82 01 0007 Short Frame, No Memory g Kein ausreichender Speicherplatz für die Copper-Liste II bei bInterlace vorhanden 82 01 0008 No Memory For Flood Fill g Kein Speicherplatz zum Ausführen des Fill-Befehls 82 01 0009 Text, No Memory for TmpRas g Kein ausreichender Speicherplatz zum Anlegen der temporaeren bDatei TmpRas (temporary raster work area) 82 01 000A No Memory for BltBitMap g Kein freier Speicherplatz für die Blitter-Bittmap 82 01 000B Region Memory g Speicherbereich falsch angegeben 82 01 0030 MakeVPort g Fehler beim Einrichten des Viewb 82 01 1234 GfxNoLCM g Zwischenspeicherbereich nicht frei Layers-Library: 83 01 0001 LayersNoMem g Kein freier Speicherplatz für die Layers Intuition-Library: 84 00 0001 Unknown Gadget Type g Unbekannter Schalter-Typ 84 01 0002 No Memory to create Port g Kein freier Speicherplatz um neuen Port einzurichten 84 01 0003 Item Plane Alloc, No Memory g Kein freier Speicherplatz um Menüleiste darzustellen 84 01 0004 Sub Alloc, No Memory g Kein freier Speicherplatz um Untermenüs darzustellen 84 01 0005 Plane Alloc, No Memory g Kein freier Speicherplatz für die Kopfzeile des Menüs 84 00 0006 Item Box Top Less Than Real Zero g Die obere Grenze einer Item Box liegt unter der absoluten bNull-Position 84 01 0007 No Memory To Open Screen g Kein freier Speicherplatz um Screen zu öffnen 84 01 0008 Open Screen, Raster Alloc, No Memory g Kein freier Speicherplatz für RastPort 84 00 0009 Open Sys Screen, Unknown Type g Unbekannter Screen-Typ 84 01 000A Add Fehlerhafte Statusangabe beim öfnen von Intuition b0 000D Bad Message Received by IDCMP g Fehlermeldung der Intuition Direct Communication Message Ports 84 00 000E Wierd Echo Causing Incomprehension g Kein ausreichender Speicherplatz für Zugriff auf die "Distant bEcho List" 84 00 000F Could not Open The Console Device g "Console Device" kann nicht geöffnet werden DOS-Library: 07 00 0001 No Memory At Startup g Kein freier Speicherplatz beif 07 00 0002 End Task didn't g Der Befehl EndTask hat fehlerhaft oder nicht gewirkt 07 00 0003 Qptk Failure g Fehler beim Übertragen eines Datenpaketes 07 00 0004 Unexpected Packet Received g Empfang eines Datenpaketes, das nicht erwartet wurde 07 00 0005 Freevec Failed g Der Befehl Freevec hat fehlerhaft oder nicht gewirkt 07 00 0006 Disk Block Sequence Error g Fehler nei einer Diskettenblock-Sequenz 07 00 0007 Bitmap Corrupt g Fehlerhafte oder zerstörte Bitmap 07 00 0008 Key already Free g File-Nummer (Key-Nummer) bereits gelöscht 07 00 0009 Invalid Checksum g Unzulässige Prüfsumme 07 00 000A Disk Error g Diskettenfehler 07 00 000B Key Out Of Range g File-Nummer (Key-Nummer) außerhalb des zulässigen Bereiches 07 00 000C Bad Overlay g Overlay Hunk in Boot-Sequenz nicht in Ordnung RAM-Library: 08 00 0001 Bad Segment List g Fehlerhafte Speicherverwaltungsliste Expansion-Libray: 0A 00 0001 Bad Expansion Free g Hard- oder Softwarefehler bei einer Erweiterung Track-Disk Device: 14 00 0001 Calibrate: Seek Error g Fehler tritt beim Suchen auf Diskette auf 14 00 0002 Delay: Error On Timer Wait g Fehler tritt beim warten auf einen Timer-Impuls auf Timer-Device: 15 00 0001 Bad Request g Fehler beim Zugriffsversuch auf "Timer Device" 15 00 0002 Bad Supply g Fehlersteuerung durch Netzfrequenz (Frequenz instabil) Disk-Resource: 21 00 0001 Get Unit: Already has Disk g Fehlerhaftes DiskChange-Signal 21 00 0002 Interrupt: No Active Unit g Kein aktives Laufwerk vorhanden BootStrap: 30 00 0001 Boot Code Returned An Error g Fehlermeldung, weil DOS-Library nicht gefunden Damit wären wir am Ende angelangt. Ich hoffe, daß diese Zahlencodes nun etwas verständlicher für Euch sind. Besten Dank an Manfred Seiler für den Text meditative 73 aus Wilhelmshaven Frank (Sinbad) SO FREUNDE, DAS WARS AUS WILHELMSHAVEN, ICH HOFFE IHR HABT FREUDE AN DER GURU LISTE...