    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
