******************************************************************************
** COP	startup data description table					    **
** © 1996 THOR-Software							    **
**--------------------------------------------------------------------------**
** See COP.doc for description of the entries				    **
******************************************************************************

;Define some gurus
##increment 1
##offset 2
##guru
"bus error"
"address error"
"illegal instruction"
"zero divide"
"chk instruction"
"TRAPV instruction"
"privilege violation"
"trace"
"line A emulator"
"line F emulator"
"reserved autovector $0c"
"coprocessor protocol violation"
"format error"
"reserved autovector $0f"
"reserved autovector $10"
"reserved autovector $11"
"reserved autovector $12"
"reserved autovector $13"
"reserved autovector $14"
"reserved autovector $15"
"reserved autovector $16"
"reserved autovector $17"
"spurious interrupt"
"level 1 IRQ autovector"
"level 2 IRQ autovector"
"level 3 IRQ autovector"
"level 4 IRQ autovector"
"level 5 IRQ autovector"
"level 6 IRQ autovector"
"level 7 IRQ autovector"
"trap #0"
"trap #1"
"trap #2"
"trap #3"
"trap #4"
"trap #5"
"trap #6"
"trap #7"
"trap #8"
"trap #9"
"trap #a"
"trap #b"
"trap #c"
"trap #d"
"trap #e"
"trap #f"
"FPCP branch or set on unordered condition"
"FPCP inexact result"
"FPCP divide by zero"
"FPCP underflow"
"FPCP operand error"
"FPCP overflow"
"FPCP signaling NAN"
"FPCP reserved exception"
"MMU configuration error"
;Specific alerts
##offset $01000001
"68K exeption vector checksum"
"execbase checksum bad"
"library checksum failure"
##offset $81000005
"memory corrupt"
"no memory for interrupt server"
##offset $01000007
"initStruct failed"
"semaphore in illegal state"
"memory freed twice"
##offset $8100000A
"illegal 68K exection taken"
##offset $0100000B
"attempt to reuse active IORequest"
"memory insane"
"IO attempted on closed IORequest"
"memory header not located"
"invalid message semaphore"
##offset $810000FF
"uninitialized quick interrupt"
;------- SaferPatches
##offset $01000020
"patch vector out of range"
"entry is not patchable"
"no mem for patch vector"
"patched vector to ROM"
"found libentry w/o patches"

;------- graphics.library
##offset $82010000
"gfx out of memory"
"gfx out of memory for monitor specs"
##offset $82010006
"gfx out of memory for long frame"
"gfx out of memory for short frame"
"gfx out of memory for TmpRas"
"gfx out of memory for BltBitMap"
"gfx out of memory for regions"
##offset $82010030
"gfx out of memory for MakeVPort"
##offset $0200000C
"gfx new object failed"
"gfx free object failed"
##offset $82011234
"gfx emercency memory not available"
##offset $02000401
"gfx obsolete font"

;------ layers.library
##offset $83010000
"layers out of memory"

;------ intuition.library
##offset $84000001
"intuition unknown gadget type"
##offset $04000001
"intuition bad gadget type"
##offset $84010002
"intuition no mem for CreatePort"
##offset $04010003
"intuition no mem for item plane"
"intuition sub allocation failed"
##offset $84010005
"intuition plane allocation failed"
##offset $84000006
"intuition box top < RelZero"
##offset $84010007
"intuition open screen out of mem"
"intuition raster alloc failed"
##offset $84000009
"intuition open sys screen unknown type"
##offset $8401000A
"intuition add SW gadget no mem"
"intuition open window no mem"
##offset $8400000C
"intuition bad state return entering intuition"
"intuition bad message received by IDCMP"
"intuition weird echo causing incomprehension"
"intuition couldn't open the Console Device"
"intuition skipped obtaining a sem"
"intuition obtained a sem in bad order"

;------ dos.library
##offset $07010001
"dos no mem at startup"
"dos EndTask didn't"
"dos Qpkt failure"
"dos unexpected packet received"
"dos freevec failed"
"dos disk block sequence error"
"dos bitmap corrupt"
"dos key aleady defined"
"dos invalid checksum"
"dos disk error"
"dos key out of range"
"dos bad overlay"
"dos invalid packed for cli/shell"
"dos filehandle reclosed"

;------ ramlib.library
##offset $08000001
"ramlib overlays invalid"

;------ expansion.library
##offset $0A000001
"expansion freed free region"

;------ console.device
##offset $11000001
"console can't open initial window"

;------ trackdisk.device
##offset $14000001
"trackdisk calibrate seek error"
"trackdisk delay error on timer wait"

;------	timer.device
##offset $15000001
"timer bad request"
"timer power supply bad ticks"

;------	disk.resource
##offset $21000001
"disk get unit has already disk"
"disk interrupt no active unit"

;------ bootstrap
##offset $30000001
"bootstrap code returned error"

;------ workbench
##offset $B1000001
"workbench missing fonts"
##offset $31000001
"workbench bad startupmsg1"
"workbench bad startupmsg2"
"workbench bad IO msg"
##offset $B1010009
"workbench relayout toolmenu failed"

;First, we include some of the main offsets
##increment -6		;Default increment for libs
			;we don't set the bias, this is done by the libs...

;exec first
##node exec.library	;name of the game
##include FD:exec_lib.fd
;gfx
##node graphics.library
##include FD:graphics_lib.fd
;layers
##node layers.library
##include FD:layers_lib.fd
;intuituition
##node intuition.library
##include FD:intuition_lib.fd
;dos
##node dos.library
##include FD:dos_lib.fd
;utility
##node utility.library
##include FD:utility_lib.fd
;gadtools.library
##node gadtools.library
##include FD:gadtools_lib.fd
;iffparse.library
##node iffparse.library
##include FD:iffparse_lib.fd
;workbench.library
##node workbench.library
##include FD:workbench_lib.fd
;diskfont.library
##node diskfont.library
##include FD:diskfont_lib.fd

;Include your own stuff here...


;We know involve here the pseudo-assembler...
;hope it works...

##equate			;we now define some equates

##include INCLUDE:exec/lists.i
##include INCLUDE:exec/nodes.i
##include INCLUDE:exec/interrupts.i
##include INCLUDE:exec/libraries.i
##include INCLUDE:exec/ports.i
##include INCLUDE:exec/tasks.i
##include INCLUDE:exec/semaphores.i
				;we are now ready to define execbase !
##node exec.library		;Define execbase
##include INCLUDE:exec/execbase.i

##equate
##include INCLUDE:utility/tagitem.i

##equate
##include INCLUDE:graphics/gfx.i
##include INCLUDE:graphics/gfxnodes.i
##include INCLUDE:graphics/copper.i
##include INCLUDE:graphics/view.i
##include INCLUDE:graphics/displayinfo.i
##include INCLUDE:graphics/monitor.i

##node graphics.library
##include INCLUDE:graphics/gfxbase.i

##node dos.library
 STRUCTURE DosLibrary,0
    STRUCT  dl_lib,LIB_SIZE
    APTR    dl_Root	     * Pointer to RootNode, described below
    APTR    dl_GV	     * Pointer to BCPL global vector
    LONG    dl_A2	     * BCPL standard register values
    LONG    dl_A5
    LONG    dl_A6
    APTR    dl_Errors	     * PRIVATE pointer to array of error msgs
    APTR    dl_TimeReq	     * PRIVATE pointer to timer request 
    APTR    dl_UtilityBase   * PRIVATE pointer to utility library base
    APTR    dl_IntuitionBase * PRIVATE pointer to intuition library base
    LABEL   dl_SIZEOF *	 DosLibrary


;and now the hardware stuff... we do not use the system includes here,
;cause they are equates...
;but we need relative entries !
##relative $dff000
##offset 0
	UWORD	CustomBase     
	UWORD	dmaconr     
	UWORD	vposr	    
	UWORD	vhposr	    
	UWORD	dskdatr     
	UWORD	joy0dat     
	UWORD	joy1dat     
	UWORD	clxdat	    

	UWORD	adkconr     
	UWORD	pot0dat     
	UWORD	pot1dat     
	UWORD 	potinp	    
	UWORD	serdatr     
	UWORD	dskbytr     
	UWORD	intenar     
	UWORD	intreqr     

	APTR	dskpt	    
	UWORD	dsklen	    
	UWORD	dskdat	    
	UWORD	refptr	    
	UWORD	vposw	    
	UWORD	vhposw	    
	UWORD	copcon	    
	UWORD	serdat	    
	UWORD	serper	    
	UWORD	potgo	    
	UWORD	joytest     
	UWORD	strequ	    
	UWORD	strvbl	    
	UWORD	strhor	    
	UWORD	strlong     

	UWORD	bltcon0     
	UWORD	bltcon1     
	UWORD	bltafwm     
	UWORD	bltalwm     
	APTR	bltcpt	    
	APTR	bltbpt	    
	APTR	bltapt	    
	APTR	bltdpt	    
	UWORD	bltsize  
	UWORD	bltsizv     
	UWORD	bltsizh     

	WORD	bltcmod     
	WORD	bltbmod     
	WORD	bltamod   
	WORD	bltdmod     

##offset $70
	UWORD	bltcdat     
	UWORD	bltbdat     
	UWORD	bltadat     

##offset $7c
	UWORD	deniseid    
	UWORD	dsksync     

##offset $80
	APTR	cop1lc	    
	APTR	cop2lc	    
	UWORD	copjmp1     
	UWORD	copjmp2   
	UWORD	copins	    
	UWORD	diwstrt     
	UWORD	diwstop     
	UWORD	ddfstrt     
	UWORD	ddfstop     
	UWORD	dmacon	    
	UWORD	clxcon	    
	UWORD	intena	    
	UWORD	intreq	    
	UWORD	adkcon	    

##offset $a0
	APTR	ac_ptr0
	UWORD	ac_len0
	UWORD	ac_per0
	UWORD	ac_vol0
	UWORD	ac_dat0

##offset $b0
	APTR	ac_ptr1
	UWORD	ac_len1
	UWORD	ac_per1
	UWORD	ac_vol1
	UWORD	ac_dat1

##offset $c0
	APTR	ac_ptr2
	UWORD	ac_len2
	UWORD	ac_per2
	UWORD	ac_vol2
	UWORD	ac_dat2

##offset $d0
	APTR	ac_ptr3
	UWORD	ac_len3
	UWORD	ac_per3
	UWORD	ac_vol3
	UWORD	ac_dat3

##offset $e0
	APTR	bplpt0
	APTR	bplpt1
	APTR 	bplpt2
	APTR	bplpt3
	APTR	bplpt4
	APTR	bplpt5
	APTR	bplpt6
	APTR	bplpt7

##offset $100
	UWORD	bplcon0     
	UWORD	bplcon1     
	UWORD	bplcon2     
	UWORD	bplcon3     
	WORD	bpl1mod
	WORD	bpl2mod     
	WORD	bplcon4     
	WORD	clxcon2     

##offset $110
	UWORD	bpldat0	    
	UWORD	bpldat1
	UWORD	bpldat2	    
	UWORD	bpldat3	    
	UWORD	bpldat4	    
	UWORD	bpldat5	    
	UWORD	bpldat6	    
	UWORD	bpldat7	    

##offset $120
	APTR	sprpt0
	APTR	sprpt1
	APTR	sprpt2
	APTR	sprpt3
	APTR	sprpt4
	APTR	sprpt5
	APTR	sprpt6
	APTR	sprpt7

##offset $140
	UWORD	sd_pos0
	UWORD	sd_ctl0
	UWORD	sd_dataa0
	UWORD	sd_datab0

	UWORD	sd_pos1
	UWORD	sd_ctl1
	UWORD	sd_dataa1
	UWORD	sd_datab1

	UWORD	sd_pos2
	UWORD	sd_ctl2
	UWORD	sd_dataa2
	UWORD	sd_datab2

	UWORD	sd_pos3
	UWORD	sd_ctl3
	UWORD	sd_dataa3
	UWORD	sd_datab3

	UWORD	sd_pos4
	UWORD	sd_ctl4
	UWORD	sd_dataa4
	UWORD	sd_datab4

	UWORD	sd_pos5
	UWORD	sd_ctl5
	UWORD	sd_dataa5
	UWORD	sd_datab5

	UWORD	sd_pos6
	UWORD	sd_ctl6
	UWORD	sd_dataa6
	UWORD	sd_datab6

	UWORD	sd_pos7
	UWORD	sd_ctl7
	UWORD	sd_dataa7
	UWORD	sd_datab7

##offset $180
	UWORD	color00
	UWORD	color01
	UWORD	color02
	UWORD	color03
	UWORD	color04
	UWORD	color05
	UWORD	color06
	UWORD	color07
	UWORD	color08
	UWORD	color09
	UWORD	color10
	UWORD	color11
	UWORD	color12
	UWORD	color13
	UWORD	color14
	UWORD	color15
	UWORD	color16
	UWORD	color17
	UWORD	color18
	UWORD	color19
	UWORD	color20
	UWORD	color21
	UWORD	color22
	UWORD	color23
	UWORD	color24
	UWORD	color25
	UWORD	color26
	UWORD	color27
	UWORD	color28
	UWORD	color29
	UWORD	color30
	UWORD	color31

##offset $1c0
	UWORD	htotal	    
	UWORD	hsstop	    
	UWORD	hbstrt	    
	UWORD	hbstop	    
	UWORD	vtotal	    
	UWORD	vsstop	    
	UWORD	vbstrt	    
	UWORD	vbstop	    
	UWORD	sprhstrt    
	UWORD	sprhstop    
	UWORD	bplhstrt    
	UWORD	bplhstop    
	UWORD	hhposw	    
	UWORD	hhposr	    
	UWORD	beamcon0    
	UWORD	hsstrt	    
	UWORD	vsstrt	    
	UWORD	hcenter     
	UWORD	diwhigh
##offset $1fc
	UWORD	fmode	    

;cia a and cia b offsets
##relative $bfe001
##offset 0
##increment $100
ciaapra
ciaaprb
ciaaddra
ciaaddrb
ciaatalo
ciaatahi
ciaatblo
ciaatbhi	
ciaatodlow	
ciaatodmid	
ciaatodhi	
ciaaunused
ciaasdr		
ciaaicr		
ciaacra		
ciaacrb		

##relative $bfd000
##offset 0
##increment $100
ciabpra		
ciabprb		
ciabddra	
ciabddrb	
ciabtalo	
ciabtahi	
ciabtblo	
ciabtbhi	
ciabtodlow	
ciabtodmid	
ciabtodhi	
ciabunused
ciabsdr		
ciabicr		
ciabcra		
ciabcrb		

##end
