Accueil 

L'AMIGA 


Le C 

Emulateurs 

Amiga OS 

Hardware Amiga 

Guru Meditation 

ASCII art 

JavaScript 

AmigaWebOS 3.9 

AmigaWebOS 3.5 

Liens 


mes config :
A500 

A500 tower 

A1000 

A1200 

A2000 

A3000 

A4000 

CD32 


Le plan du Site

Recherche ?
Saissisez un mot clé

Quelques chiffres
Visiteurs:11132
Visiteurs aujourd'hui:1
Me contacter
Donnez votre avis

les guru meditation

  Guru Meditation ou Software Failure (depuis AmigaOS 3.0) permettent d'identifier l'origine de l'erreur quand l'Amiga "plante".
Des le début de son développement, un système d'échec pour l'Amiga a été conçu afin d'identifier l'origine de l'erreur l'or du développement du noyau et système AmgaOS. C’est ce fameux Guru Meditation. Juste avant que l'alerte apparaisse, l'écran devient noir, la diode d'alimentation et celle d'activité disque peuvent clignoter, l'alerte elle-même apparaît dans une boîte rectangulaire noire qui se place dans la partie supérieure de l'écran. Ses limites et son texte sont en rouge quand c'est un Guru Meditation normal, ou vert/jaune pour une erreur récupérable. Dans les versions 1.x de l'AmigaOS, contenu dans des ROMs connues sous le nom de Kickstart 1.1, 1.2 et 1.3, les erreurs sont toujours rouges. Dans les versions 2.x et 3.x de l'AmigaOS, les alertes récupérables sont vertes, sauf pour les premières versions 2.x où elles sont jaunes. En revanche, les erreurs fatales sont rouges pour toutes les versions.

Les raisons d'un Guru Meditation sont de 3 ordres : erreur du système d'exploitation, mauvaises manipulations logiciels (programmes mal codés !) ou a un écrasement de la pile mémoire (le stack).

Si le système n'a aucun moyen de résoudre le problème, il montre l'alerte et ce, même si le système a de nombreuses erreurs critiques.
Quand un Guru Meditation apparait, l'ordinateur exécute un débogueur nommé ROMWhack, qui est accessible en connectant un terminal à 9600 bit/s au port série. Ceci permet d'aller voir le contenu de la machine et permet de déterminer ce qui a causé l'erreur.
Le texte (chiffres) du Guru Meditation est séparé en deux champs de 8 chiffres, séparés par un point. Tout ceci à une signification :



  Erreurs du processeur :
L'erreur de la forme "0000000x.yyyyyyyy", où "x" peut avoir une des valeurs de la liste suivante et les "y" est l'adresse de la tâche fautive.

2 : erreur de bus au niveau matériel
3 : erreur d'adresse
4 : erreur d'instruction illégalev 5 : erreur de division par zéro
6 : erreur sur instruction CHK
7 : erreur sur instruction TRAPV
8 : erreur de violation du mode superviseur
9 : erreur trace
A : émulation code opération 1010
B : émulation code opération 1111




Le terme Guru Meditation vient de l'époque du développement du noyau de l'Amiga. À cette époque, une console de jeu disposait d'un périphérique disparu depuis, servant à faire du ski (ou assimilé). Il s'agissait d'une sorte de planche posée sur un axe... Debout sur cette planche, en équilibre, on pouvait diriger un personnage (skieur ?) à gauche ou à droite... Le développeur du code (le Guru), à chaque plantage de son noyau, se plaçait assis en tailleur sur la planche, réfléchissant en équilibre, tel un Bouddha... D'où le terme de Guru Meditation (D'après © Frédéric Mossmann).
  Erreurs du système :

L'erreur de la forme "aabbcccc.dddddddd". Il y a donc 4 champs d'informations.

Les deux premiers chiffres (aa) est l'origine de l'erreur, d'une librairies, des devices, des ressources ou d'un autre élément :

Librairies :
01 ou 81 : Exec Library
02 ou 82 : Graphics Library
03 ou 83 : Layers Library
04 ou 84 : Intuition Library
05 ou 85 : Math Library
06 ou 86 : CList Library
07 ou 87 : AmigaDOS Library
08 ou 88 : RAM Handler Library
09 ou 89 : Icons Library

Devices :
10 ou 90 : Audio Device
11 ou 91 : Console Device
12 ou 92 : GamePort Device
13 ou 93 : Keyboard Device
14 ou 94 : Trackdisk Device
15 ou 95 : Timer Device

Ressources :
20 ou A0 : CIA Resource
21 ou A1 : Disk Resource
22 ou A2 : Misc Resource

Autres :
30 ou B0 : BootStrap
31 ou B1 : Workbench
32 ou B2 : Disk Copy


Les 3e et 4e chiffres (bb) déterminent la cause générale de l'erreur :

00 : Non applicable 01 : Manque de mémoire accessible
02 : Impossible de créer une libriarie
03 : Impossible d'ouvrir une librairie
04 : Impossible d'ouvrir un device
05 : Impossible d'ouvrir une ressource
06 : erreur d'entrée/sortie
07 : Pas de signal


Les 5e, 6e, 7e et 8e chiffres (cccc) montrent des informations supplémentaires sur la cause et le type d'erreur :

Exec Library :
01000000 : -
81000001 : 68000 exception vector checksum
81000002 : Execbase checksum
81000003 : Library checksum failure
81000004 : No memory to make library
81000005 : Corrupted memory list
81000006 : No memory for interrupt servers
81000007 : InitStruct() of an APTR source
81000008 : A semaphore is in illegal state
81000009 : Freeing memory already freed
8100000A : Illegal 68k exception taken

Graphics Library :
02000000 : -
82010000 : Graphics out of memory
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 : Regions, memory not available
82010030 : MakeVPort, no memory
82011234 : Emergency memory not available

Layers Library :
03000000 : -
83010000 : Layers out of memory

Intuition Library :
04000000 : -
84000001 : Unknown gadget type
04000001 : Recovery form of previous message
84010002 : No memory to create port
04010003 : Item plane alloc, no memory
04010004 : Sub alloc, no memory
84010005 : Plane alloc, no memory
84000006 : Item box top less than RelZero
84010007 : Open screen, no memory
84010008 : Open screen, raster alloc, no memory
84000009 : Open sys screen, unknown type
8401000A : Add SW gadgets, no memory
8401000B : Open window, no memory
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 :
07000000 : -
07010001 : No memory at startup
07000002 : EndTask didn'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 :
08000000 : -
08000001 : No overlays in library seglists

Expansion Library :
0A000001 : Bad Expansion Free

Trackdisk Device :
14000000 : -
14000001 : Calibrate: seek error
14000002 : Delay: error on timer wait

Timer Device :
15000000 : -
15000001 : Bad request
15000002 : Power supply does not supply ticks

Disk Resource :
21000000 : -
21000001 : Get unit: already has disk
21000002 : Interrupt: no active unit

BootStrap :
30000000 : -
30000001 : Boot code returned an error


Les 8 derniers chiffres peuvent indiquer trois choses différentes en fonction de l'erreur :

L'adresse de la tâche fautive.
L'adresse du block mémoire s'il s'agit d'une erreur d'allocation/désallocation de mémoire.
Le chiffre 48454C50 quand Exec est perdu. Ces chiffres signifient HELP (48=H, 45=E, 4C=L, 50=P) en ASCII.