295 lines
8.8 KiB
OpenEdge ABL
295 lines
8.8 KiB
OpenEdge ABL
IFND EXEC_ALERTS_I
|
|
EXEC_ALERTS_I SET 1
|
|
**
|
|
** $Filename: exec/alerts.i $
|
|
** $Release: 2.04 Includes, V37.4 $
|
|
** $Revision: 36.17 $
|
|
** $Date: 91/01/12 $
|
|
**
|
|
** Alert numbers, as displayed by system crashes.
|
|
**
|
|
** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
|
|
** All Rights Reserved
|
|
**
|
|
|
|
**********************************************************************
|
|
*
|
|
* Format of the alert error number:
|
|
*
|
|
* +---------------+----------------+--------------------------------+
|
|
* |D| SubSysId | General Error | SubSystem Specific Error |
|
|
* +---------------+----------------+--------------------------------+
|
|
* 1 7 bits 8 bits 16 bits
|
|
*
|
|
* D: DeadEnd alert
|
|
* SubSysId: indicates ROM subsystem number.
|
|
* General Error: roughly indicates what the error was
|
|
* Specific Error: indicates more detail
|
|
***********************************************************************
|
|
|
|
*
|
|
* Use this macro for causing an alert. It is very sensitive to memory
|
|
* corruption.... like stepping on location 4! After the alert, it
|
|
* will return.
|
|
*
|
|
* A0/A1 and D0/D1 are destroyed
|
|
*
|
|
*
|
|
ALERT MACRO (alertNumber, [paramArray])
|
|
movem.l d7/a5/a6,-(sp)
|
|
move.l #\1,d7
|
|
IFNC '\2',''
|
|
lea.l \2,a5
|
|
ENDC
|
|
move.l 4,a6
|
|
jsr _LVOAlert(a6)
|
|
movem.l (sp)+,d7/a5/a6
|
|
ENDM
|
|
*
|
|
* Use this macro for dead end alerts that never return
|
|
*
|
|
DEADALERT MACRO (alertNumber, [paramArray])
|
|
move.l #\1,d7
|
|
IFNC '\2',''
|
|
lea.l \2,a5
|
|
ENDC
|
|
move.l 4,a6
|
|
jsr _LVOAlert(a6) ; never returns
|
|
ENDM
|
|
|
|
|
|
**********************************************************************
|
|
*
|
|
* General Alerts
|
|
*
|
|
* For example: timer.device cannot open math.library:
|
|
*
|
|
* ALERT (AN_TimerDev!AG_OpenLib!AO_MathLib) ;0x05038015
|
|
*
|
|
**********************************************************************
|
|
|
|
;------ alert types
|
|
AT_DeadEnd equ $80000000
|
|
AT_Recovery equ $00000000
|
|
|
|
;------ general purpose alert codes
|
|
AG_NoMemory equ $00010000
|
|
AG_MakeLib equ $00020000
|
|
AG_OpenLib equ $00030000
|
|
AG_OpenDev equ $00040000
|
|
AG_OpenRes equ $00050000
|
|
AG_IOError equ $00060000
|
|
AG_NoSignal equ $00070000
|
|
AG_BadParm equ $00080000
|
|
AG_CloseLib equ $00090000 ;Usually too many closes
|
|
AG_CloseDev equ $000A0000 ;or a mismatched close
|
|
AG_ProcCreate equ $000B0000 ;Process creation failed
|
|
|
|
;------ alert objects:
|
|
AO_ExecLib equ $00008001
|
|
AO_GraphicsLib equ $00008002
|
|
AO_LayersLib equ $00008003
|
|
AO_Intuition equ $00008004
|
|
AO_MathLib equ $00008005
|
|
AO_DOSLib equ $00008007
|
|
AO_RAMLib equ $00008008
|
|
AO_IconLib equ $00008009
|
|
AO_ExpansionLib equ $0000800A
|
|
AO_DiskfontLib equ $0000800B
|
|
AO_UtilityLib equ $0000800C
|
|
|
|
AO_AudioDev equ $00008010
|
|
AO_ConsoleDev equ $00008011
|
|
AO_GamePortDev equ $00008012
|
|
AO_KeyboardDev equ $00008013
|
|
AO_TrackDiskDev equ $00008014
|
|
AO_TimerDev equ $00008015
|
|
|
|
AO_CIARsrc equ $00008020
|
|
AO_DiskRsrc equ $00008021
|
|
AO_MiscRsrc equ $00008022
|
|
|
|
AO_BootStrap equ $00008030
|
|
AO_Workbench equ $00008031
|
|
AO_DiskCopy equ $00008032
|
|
AO_GadTools equ $00008033
|
|
AO_Unknown equ $00008035
|
|
|
|
**********************************************************************
|
|
*
|
|
* Specific Alerts:
|
|
*
|
|
* For example: exec.library -- corrupted memory list
|
|
*
|
|
* ALERT AN_MemCorrupt ;8100 0005
|
|
*
|
|
**********************************************************************
|
|
|
|
;------ exec.library
|
|
AN_ExecLib equ $01000000
|
|
AN_ExcptVect equ $01000001 ; 68000 exception vector checksum (obs.)
|
|
AN_BaseChkSum equ $01000002 ; Execbase checksum bad (obs.)
|
|
AN_LibChkSum equ $01000003 ; Library checksum failure
|
|
|
|
AN_MemCorrupt equ $81000005 ; Corrupt memory list detected in FreeMem
|
|
AN_IntrMem equ $81000006 ; No memory for interrupt servers
|
|
AN_InitAPtr equ $01000007 ; InitStruct() of an APTR source (obs.)
|
|
AN_SemCorrupt equ $01000008 ; A semaphore is in an illegal state
|
|
; at RemSempahore()
|
|
AN_FreeTwice equ $01000009 ; Freeing memory that is already free
|
|
AN_BogusExcpt equ $8100000A ; Illegal 68k exception taken (obs.)
|
|
AN_IOUsedTwice equ $0100000B ; Attempt to reuse active IORequest
|
|
AN_MemoryInsane equ $0100000C ; Sanity check on memory list failed
|
|
; during AvailMem(MEMF_LARGEST)
|
|
AN_IOAfterClose equ $0100000D ; IO attempted on closed IORequest
|
|
AN_StackProbe equ $0100000E ; Stack appears to extend out of range
|
|
AN_BadFreeAddr equ $0100000F ; Memory header not located. [ Usually an
|
|
; invalid address passed to FreeMem() ]
|
|
|
|
;------ graphics.library
|
|
AN_GraphicsLib equ $02000000
|
|
AN_GfxNoMem equ $82010000 ; graphics out of memory
|
|
AN_GfxNoMemMspc equ $82010001 ; MonitorSpec alloc, no memory
|
|
AN_LongFrame equ $82010006 ; long frame, no memory
|
|
AN_ShortFrame equ $82010007 ; short frame, no memory
|
|
AN_TextTmpRas equ $02010009 ; text, no memory for TmpRas
|
|
AN_BltBitMap equ $8201000A ; BltBitMap, no memory
|
|
AN_RegionMemory equ $8201000B ; regions, memory not available
|
|
AN_MakeVPort equ $82010030 ; MakeVPort, no memory
|
|
AN_GfxNewError equ $0200000C
|
|
AN_GfxFreeError equ $0200000D
|
|
|
|
AN_GfxNoLCM equ $82011234 ; emergency memory not available
|
|
|
|
AN_ObsoleteFont equ $02000401 ; unsupported font description used
|
|
|
|
;------ layers.library
|
|
AN_LayersLib equ $03000000
|
|
AN_LayersNoMem equ $83010000 ; layers out of memory
|
|
|
|
;------ intuition.library
|
|
AN_Intuition equ $04000000
|
|
AN_GadgetType equ $84000001 ; unknown gadget type
|
|
AN_BadGadget equ $04000001 ; Recovery form of AN_GadgetType
|
|
AN_CreatePort equ $84010002 ; create port, no memory
|
|
AN_ItemAlloc equ $04010003 ; item plane alloc, no memory
|
|
AN_SubAlloc equ $04010004 ; sub alloc, no memory
|
|
AN_PlaneAlloc equ $84010005 ; plane alloc, no memory
|
|
AN_ItemBoxTop equ $84000006 ; item box top < RelZero
|
|
AN_OpenScreen equ $84010007 ; open screen, no memory
|
|
AN_OpenScrnRast equ $84010008 ; open screen, raster alloc, no memory
|
|
AN_SysScrnType equ $84000009 ; open sys screen, unknown type
|
|
AN_AddSWGadget equ $8401000A ; add SW gadgets, no memory
|
|
AN_OpenWindow equ $8401000B ; open window, no memory
|
|
AN_BadState equ $8400000C ; Bad State Return entering Intuition
|
|
AN_BadMessage equ $8400000D ; Bad Message received by IDCMP
|
|
AN_WeirdEcho equ $8400000E ; Weird echo causing incomprehension
|
|
AN_NoConsole equ $8400000F ; couldn't open the Console Device
|
|
|
|
;------ math.library
|
|
AN_MathLib equ $05000000
|
|
|
|
;------ dos.library
|
|
AN_DOSLib equ $07000000
|
|
AN_StartMem equ $07010001 ; no memory at startup
|
|
AN_EndTask equ $07000002 ; EndTask didn't
|
|
AN_QPktFail equ $07000003 ; Qpkt failure
|
|
AN_AsyncPkt equ $07000004 ; Unexpected packet received
|
|
AN_FreeVec equ $07000005 ; Freevec failed
|
|
AN_DiskBlkSeq equ $07000006 ; Disk block sequence error
|
|
AN_BitMap equ $07000007 ; Bitmap corrupt
|
|
AN_KeyFree equ $07000008 ; Key already free
|
|
AN_BadChkSum equ $07000009 ; Invalid checksum
|
|
AN_DiskError equ $0700000A ; Disk Error
|
|
AN_KeyRange equ $0700000B ; Key out of range
|
|
AN_BadOverlay equ $0700000C ; Bad overlay
|
|
AN_BadInitFunc equ $0700000D ; Invalid init packet for cli/shell
|
|
AN_FileReclosed equ $0700000E ; A filehandle was closed more than once
|
|
|
|
;------ ramlib.library
|
|
AN_RAMLib equ $08000000
|
|
AN_BadSegList equ $08000001 ; overlays are illegal for library segments
|
|
|
|
;------ icon.library
|
|
AN_IconLib equ $09000000
|
|
|
|
;------ expansion.library
|
|
AN_ExpansionLib equ $0A000000
|
|
AN_BadExpansionFree equ $0A000001 ;Freeed free region
|
|
|
|
;------ diskfont.library
|
|
AN_DiskfontLib equ $0B000000
|
|
|
|
;------ audio.device
|
|
AN_AudioDev equ $10000000
|
|
|
|
;------ console.device
|
|
AN_ConsoleDev equ $11000000
|
|
AN_NoWindow equ $11000001 ; Console can't open initial window
|
|
|
|
;------ gameport.device
|
|
AN_GamePortDev equ $12000000
|
|
|
|
;------ keyboard.device
|
|
AN_KeyboardDev equ $13000000
|
|
|
|
;------ trackdisk.device
|
|
AN_TrackDiskDev equ $14000000
|
|
AN_TDCalibSeek equ $14000001 ; calibrate: seek error
|
|
AN_TDDelay equ $14000002 ; delay: error on timer wait
|
|
|
|
;------ timer.device
|
|
AN_TimerDev equ $15000000
|
|
AN_TMBadReq equ $15000001 ; bad request
|
|
AN_TMBadSupply equ $15000002 ; power supply -- no 50/60hz ticks
|
|
|
|
;------ cia.resource
|
|
AN_CIARsrc equ $20000000
|
|
|
|
;------ disk.resource
|
|
AN_DiskRsrc equ $21000000
|
|
AN_DRHasDisk equ $21000001 ; get unit: already has disk
|
|
AN_DRIntNoAct equ $21000002 ; interrupt: no active unit
|
|
|
|
;------ misc.resource
|
|
AN_MiscRsrc equ $22000000
|
|
|
|
;------ bootstrap
|
|
AN_BootStrap equ $30000000
|
|
AN_BootError equ $30000001 ; boot code returned an error
|
|
|
|
;------ workbench
|
|
AN_Workbench equ $31000000
|
|
AN_NoFonts equ $B1000001
|
|
AN_WBBadStartupMsg1 equ $31000001
|
|
AN_WBBadStartupMsg2 equ $31000002
|
|
AN_WBBadIOMsg equ $31000003
|
|
|
|
AN_WBInitPotionAllocDrawer equ $B1010004
|
|
AN_WBCreateWBMenusCreateMenus1 equ $B1010005
|
|
AN_WBCreateWBMenusCreateMenus2 equ $B1010006
|
|
AN_WBLayoutWBMenusLayoutMenus equ $B1010007
|
|
AN_WBAddToolMenuItem equ $B1010008
|
|
AN_WBReLayoutToolMenu equ $B1010009
|
|
AN_WBinitTimer equ $B101000A
|
|
AN_WBInitLayerDemon equ $B101000B
|
|
AN_WBinitWbGels equ $B101000C
|
|
AN_WBInitScreenAndWindows1 equ $B101000D
|
|
AN_WBInitScreenAndWindows2 equ $B101000E
|
|
AN_WBInitScreenAndWindows3 equ $B101000F
|
|
AN_WBMAlloc equ $B1010010
|
|
|
|
;------ DiskCopy
|
|
AN_DiskCopy equ $32000000
|
|
|
|
;------ toolkit for Intuition
|
|
AN_GadTools equ $33000000
|
|
|
|
;------ System utility library
|
|
AN_UtilityLib equ $34000000
|
|
|
|
;------ For use by any application that needs it
|
|
AN_Unknown equ $35000000
|
|
|
|
ENDC ;EXEC_ALERTS_I
|