|
|||||
Número 1 - JULIO 1992 GURUS Y GURUSITOS (c) Warlord > LOAD DEMO.S
OK
......
Cmove $28c1,Diwstop ; Display Window X + Y Stop
Cmove $38,Ddfstrt ; Data Fetch Start
Cmove $d0,Ddfstop ; Data Fetch Stop
Cmove $0,Bpl1mod ; Odd Bitplane Modulo
Cmove $0,Bpl2mod ; Even Bitplane Modulo
Cmove $1200,Bplcon0 ; Bitplane Control Register
plane1l Cmove $0000,Bpl1ptl ; Address Pointer Lower Word
plane1h Cmove $0000,Bpl1pth ; Address Pointer Upper Word
Cmove $000,color00 ; $dff180 colour 0
......
> ASSEMBLE
Pass 1
Pass 2
550 lines assembled into 670 bytes executable relocatable code
40345 bytes used
OK
> RUN
Software error - task held
Finish ALL disk activity
Select CANCEL to reset/debug
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Aaaaaaaaaaaaahhhhhhhhhhhhhhhh !!!!!!!!!!! ¡¡ OTRO GURU !! ¿¿ POR QUE?? ¿¿ QUE HE HECHO YO PARA MERECER ESTO ?? ¡ LOS ODIO ! ... ¡ODIO A LOS GURUS! ... ¡ME VENGARE! ... ¡¡ VENGANZA !! ... Software Failure. Press left mouse button to continue.
Guru Meditation #02010009.00009310
Para los curiosos, vamos a intentar explicar mas o menos su significado. De todos modos explicar todos los términos que aquí aparecen sería como escribir aquí el "Rom Kernel Manual", al que remito a los interesados. Código especifico del error -----+ +--- Dirección de trabajo
| | "Task address"
02 01 0009 . 00009310
| |
Numero del subsistema -+ +--- Código general del error
La "Task address" es simplemente la dirección de la RAM a donde apuntaba cuando se produjo el error. En nuestro ejemplo ocurrió en la dirección 9310 (en hexadecimal). En este caso ello significa que ocurrió en el " CLI process number 1 " (Proceso 1 del CLI). Si estás depurando (debugging) un programa que utiliza muchas direcciones distintas esto puede serte útil. Esto me informa de que el problema estaba en mi programa y no el sistema. En la parte izqda aparece un numero formado por tres campos: Los primeros dos dígitos, nos dice que módulo del sistema operativo arrojó el error. En nuestro ejemplo era el 02, que nos informa de que el error ocurrió en la "graphics library" (librería de gráficos) El primer dígito es aún mas divertido. El bit mas significativo de este dígito nos dice si el sistema se puede recuperar o no. Si el número hubiese sido 82 en lugar de 02, hubiera significado la muerte fulminante y posterior reseteo del amiga. La notación hexadecimal puede dar lugar a confusión. Si el primer de los dígitos es mayor que 7 (hexadecimal) entonces réstale 8. Así, si hubiese sido B1, (A=10, B=11, C=12, D=13,E=14,F=15) al restarle 8 queda: B - 8 = 3
\|/
Nos queda pues: 31.
Esto quiere decir que el error lo dio el Workbench. La tabla de los códigos de identificación es: Exec Library 01 Console Device 11
Graphics Library 02 GamePort Device 12
Layers Library 03 Keyboard Device 13
Intuition Library 04 TrackDisk Device 14
Math Library 05 Timer Device 15
CList Library 06 CIA Resource 20
DOS Library 07 Disk Resource 21
RAM Library 08 Misc Resource 22
Icon Library 09 BootStrap 30
Audio Device 10 Workbench 31
Los dos dígitos siguientes especifican el tipo general de error que ha ocurrido.La mayoría de las veces es 00,aunque también pueden ser otros como se indica a continuación. En nuestro caso es el 01, lo que viene a significar que la librería de gráficos no ha sido capaz de encontrar suficiente memoria libre. Memoria insuficiente 01 error de apertura de dispositivo 04
error al crear librería 02 error de apertura de medio 05
error de apertura de lib. 03 error de entrada/salida 06
Los cuatro últimos dígitos del numero de alerta, nos dan información específica del error. La interpretación de este depende del código del subsistema. Pueden aparecer números iguales con significados distintos. En nuestro ejemplo el código especifico es el 0009. Como hablamos de un error en la librería de gráficos,podemos determinar que el error es el llamado "TextTmpRas" que indica un fallo en la llamada a la rutina de texto (que imprime un carácter en la pantalla), pues ésta se ha que dado sin memoria al intentar asignar memoria para la estructura de datos. Un caso especial es el causado por una trampa (trap) del 68000 (por ejemplo se ejecuta un código ilegal). Su ejecución causará una alerta. Cuando esto suceda,la parte izquierda del guru será un valor pequeño, mientras el código del subsistema y el código general serán 0. Los "números trampa" son parte del chip 68000, y no son asignados por la ROM como los demás códigos.La mayoría de ellos no son mostrados por el ordenador. La siguiente, es una lista de los posibles errores: Error de Bus 02 Violación de privil. 08
Error de dirección 03 Rasto de la instr. 09
Instruction ilegal 04 Emulación línea A 0A
Divides por 0 05 emulación línea F 0B
instrucción CHK 06 TRAP 0 ... 15 20 ... 2F
TRAPV (sobrecarga) 07
La siguiente es una lista de los códigos específicos de error: Exec Library
ExcptVect 81000001
BaseChkSum 81000002
LibChkSum 81000003
LibMem 81000004
MemCorrupt 81000005
IntrMem 81000006
Graphics Library
CopDisplay 82010001
CopInstr 82010002
CopListOver 82000003
CopIListOver 82000004
CopListHead 82010005
LongFrame 82010006
ShortFrame 82010007
FloodFill 82010008
TextTmpRas 02010009
BltBitMap 8201000A
Intuition Library
GadgetType 84000001
CreatePort 84010002
ItemAlloc 84010003
SubAlloc 84010004
PlaneAlloc 84010005
ItemBoxTop 84000006
OpenScreen 84010007
OpenScrnRast 84010008
SysScrnType 84000009
AddSWGadget 8401000A
OpenWindow 8401000B
BadState 8400000C
BadMessage 8400000D
WeirdEcho 8400000E
NoConsole 8400000F
DOS Library
StartMem 07010001
EndTask 07000002
QPktFail 07000003
AsyncPkt 07000004
FreeVec 07000005
DiskBlkSeq 07000006
BitMap 07000007
KeyFree 07000008
BadChkSum 07000009
DiskError 0700000A
KeyRange 0700000B
BadOverlay 0700000C
TrackDisk Device
TDCalibSeek 14000001
TDDelay 14000002
Timer Device
TMBadReq 15000001
Disk Resource
DRHasDisk 21000001
DRIntNoAct 21000002
BootStrap
BootError 30000001 |
| Envía esta página web a un amigo: Esta opción está desactivada temporalmente, rogamos disculpen las molestias |
|