*--------------------------------------------------------------
* KEYBOARD Codes
*--------------------------------------------------------------
KEYBOARD		equ $BFEC01

Key_Pad0		equ $E0
Key_Pad1		equ $C5
Key_Pad2		equ $C3
Key_Pad3		equ $C1
Key_Pad4		equ $A5
Key_Pad5		equ $A3
Key_Pad6		equ $A1
Key_Pad7		equ $85
Key_Pad8		equ $83
Key_Pad9		equ $81

Key_Space		equ $7F
Key_F1		equ $5F
Key_F2		equ $5D
Key_F3		equ $5B
Key_F4		equ $59
Key_F5		equ $57
Key_F6		equ $55
Key_F7		equ $53
Key_F8		equ $51
Key_F9		equ $4F
Key_F10		equ $4D

Key_Del		equ $73
Key_Help		equ $41
Key_Cup		equ $67
Key_Cdn		equ $65
Key_Clt		equ $61
Key_Crt		equ $63
Key_Ret		equ $77
Key_Esc		equ $75
Key_Bs		equ $7D
Key_Enter		equ $79
Key_PadPlus		equ $43 ;+
Key_PadMin		equ $6B ;-
Key_PadMul		equ $45 ;*
Key_PadDiv		equ $47 ;/
Key_PadBl		equ $4B ;(
Key_PadBr		equ $49 ;)
Key_PadPunt		equ $87 ;.

Key_0		equ $EB
Key_9		equ $ED
Key_8		equ $EF
Key_7		equ $F1
Key_6		equ $F3
Key_5		equ $F5
Key_4		equ $F7
Key_3		equ $F9
Key_2		equ $FB
Key_1		equ $FD

Key_A		equ $BF
Key_B		equ $95
Key_C		equ $99
Key_D		equ $BB
Key_E		equ $DB
Key_F		equ $B9
Key_G		equ $B7
Key_H		equ $B5
Key_I		equ $D1
Key_J		equ $B3
Key_K		equ $B1
Key_L		equ $AF
Key_M		equ $91
Key_N		equ $93
Key_O		equ $CF
Key_P		equ $CD
Key_Q		equ $DF
Key_R		equ $D9
Key_S		equ $BD
Key_T		equ $D7
Key_U		equ $D3
Key_V		equ $97
Key_W		equ $DD
Key_X		equ $9B
Key_Y		equ $D5
Key_Z		equ $9D

Key_Min		equ $E9 ;-
Key_Equ		equ $E7 ;=
Key_Slash		equ $E5 ;\
Key_LSpek		equ $CB ;[
Key_RSpek		equ $C9 ;]
Key_PK		equ $AD ;;
Key_DPunt		equ $00 ;
Key_UpComma		equ $AB ;'
Key_Comma		equ $8F ;,
Key_Punt		equ $8D ;.
Key_Div		equ $8B ;/
Key_Caps		equ $3B
Key_RShift		equ $3D
Key_LShift		equ $3F
Key_RAlt		equ $35
Key_LAlt		equ $37
Key_RAmiga		equ $31
Key_LAmiga		equ $33
Key_Tab		equ $7B
Key_Ctrl		equ $39
Key_Zee		equ $FF ;`

*--------------------------------------------------------------
* HARDWARE Entries
*--------------------------------------------------------------
BLTDDAT		equ $000
DMACONR		equ $002
VPOSR		equ $004
VHPOSR		equ $006
DSKDATR		equ $008
JOY0DAT		equ $00A
JOY1DAT		equ $00C
CLXDAT		equ $00E
ADKCONR		equ $010
POT0DAT		equ $012
POT1DAT		equ $014
POTGOR		equ $016
SERDATR		equ $018
DSKBYTR		equ $01A
INTENAR		equ $01C
INTREQR		equ $01E
DSKPTH		equ $020
DSKPTL		equ $022
DSKLEN		equ $024
DSKDAT		equ $026
REFPTR		equ $028
VPOSW		equ $02A
VHPOSW		equ $02C
COPCON		equ $02E
SERDAT		equ $030
SERPER		equ $032
POTGO		equ $034
JOYTEST		equ $036
STR		equ $038
STRVBL		equ $03A
STRHOR		equ $03C
STRLONG		equ $03E

BLTCON0		equ $040
BLTCON1		equ $042
BLTAFWM		equ $044
BLTALWM		equ $046
BLTCPTH		equ $048
BLTCPTL		equ $04A
BLTBPTH		equ $04C
BLTBPTL		equ $04E
BLTAPTH		equ $050
BLTAPTL		equ $052
BLTDPTH		equ $054
BLTDPTL		equ $056
BLTSIZE		equ $058
BLTCMOD		equ $060
BLTBMOD		equ $062
BLTAMOD		equ $064
BLTDMOD		equ $066
BLTCDAT		equ $070
BLTBDAT		equ $072
BLTADAT		equ $074
DSKSYNC		equ $07E

COP1LCH		equ $080
COP1LCL		equ $082
COP2LCH		equ $084
COP2LCL		equ $086
COPJMP1		equ $088
COPJMP2		equ $08A
COPINS		equ $08C

DIWSTRT		equ $08E
DIWSTOP		equ $090
DDFSTRT		equ $092
DDFSTOP		equ $094
DMACON		equ $096
CLXCON		equ $098
INTENA		equ $09A
INTREQ		equ $09C
ADKCON		equ $09E

AUD0LCH		equ $0A0
AUD0LCL		equ $0A2
AUD0LEN		equ $0A4
AUD0PER		equ $0A6
AUD0VOL		equ $0A8
AUD0DAT		equ $0AA
AUD1LCH		equ $0B0
AUD1LCL		equ $0B2
AUD1LEN		equ $0B4
AUD1PER		equ $0B6
AUD1VOL		equ $0B8
AUD1DAT		equ $0BA
AUD2LCH		equ $0C0
AUD2LCL		equ $0C2
AUD2LEN		equ $0C4
AUD2PER		equ $0C6
AUD2VOL		equ $0C8
AUD2DAT		equ $0CA
AUD3LCH		equ $0D0
AUD3LCL		equ $0D2
AUD3LEN		equ $0D4
AUD3PER		equ $0D6
AUD3VOL		equ $0D8
AUD3DAT		equ $0DA

BPL1PTH		equ $0E0
BPL1PTL		equ $0E2
BPL2PTH		equ $0E4
BPL2PTL		equ $0E6
BPL3PTH		equ $0E8
BPL3PTL		equ $0EA
BPL4PTH		equ $0EC
BPL4PTL		equ $0EE
BPL5PTH		equ $0F0
BPL5PTL		equ $0F2
BPL6PTH		equ $0F4
BPL6PTL		equ $0F6
BPLCON0		equ $100
BPLCON1		equ $102
BPLCON2		equ $104
BPL1MOD		equ $108
BPL2MOD		equ $10A
BPL1DAT		equ $110
BPL2DAT		equ $112
BPL3DAT		equ $114
BPL4DAT		equ $116
BPL5DAT		equ $118
BPL6DAT		equ $11A

SPR0PTH		equ $120
SPR0PTL		equ $122
SPR1PTH		equ $124
SPR1PTL		equ $126
SPR2PTH		equ $128
SPR2PTL		equ $12A
SPR3PTH		equ $12C
SPR3PTL		equ $12E
SPR4PTH		equ $130
SPR4PTL		equ $132
SPR5PTH		equ $134
SPR5PTL		equ $136
SPR6PTH		equ $138
SPR6PTL		equ $13A
SPR7PTH		equ $13C
SPR7PTL		equ $13E
SPR0POS		equ $140
SPR0CTL		equ $142
SPR0DATA		equ $144
SPR0DATB		equ $146
SPR1POS		equ $148
SPR1CTL		equ $14A
SPR1DATA		equ $14C
SPR1DATB		equ $14E
SPR2POS		equ $150
SPR2CTL		equ $152
SPR2DATA		equ $154
SPR2DATB		equ $156
SPR3POS		equ $158
SPR3CTL		equ $15A
SPR3DATA		equ $15C
SPR3DATB		equ $15E
SPR4POS		equ $160
SPR4CTL		equ $162
SPR4DATA		equ $164
SPR4DATB		equ $166
SPR5POS		equ $168
SPR5CTL		equ $16A
SPR5DATA		equ $16C
SPR5DATB		equ $16E
SPR6POS		equ $170
SPR6CTL		equ $172
SPR6DATA		equ $174
SPR6DATB		equ $176
SPR7POS		equ $178
SPR7CTL		equ $17A
SPR7DATA		equ $17C
SPR7DATB		equ $17E

COLOR00		equ $180
COLOR01		equ $182
COLOR02		equ $184
COLOR03		equ $186
COLOR04		equ $188
COLOR05		equ $18A
COLOR06		equ $18C
COLOR07		equ $18E
COLOR08		equ $190
COLOR09		equ $192
COLOR10		equ $194
COLOR11		equ $196
COLOR12		equ $198
COLOR13		equ $19A
COLOR14		equ $19C
COLOR15		equ $19E
COLOR16		equ $1A0
COLOR17		equ $1A2
COLOR18		equ $1A4
COLOR19		equ $1A6
COLOR20		equ $1A8
COLOR21		equ $1AA
COLOR22		equ $1AC
COLOR23		equ $1AE
COLOR24		equ $1B0
COLOR25		equ $1B2
COLOR26		equ $1B4
COLOR27		equ $1B6
COLOR28		equ $1B8
COLOR29		equ $1BA
COLOR30		equ $1BC
COLOR31		equ $1BE

*--------------------------------------------------------------
* HARDWARE Direct Entries
*--------------------------------------------------------------
Bltddat		equ $DFF000
Dmaconr		equ $DFF002
Vposr		equ $DFF004
Vhposr		equ $DFF006
Dskdatr		equ $DFF008
Joy0dat		equ $DFF00A
Joy1dat		equ $DFF00C
Clxdat		equ $DFF00E
Adkconr		equ $DFF010
Pot0dat		equ $DFF012
Pot1dat		equ $DFF014
Potgor		equ $DFF016
Serdatr		equ $DFF018
Dskbytr		equ $DFF01A
Intenar		equ $DFF01C
Intreqr		equ $DFF01E
Dskpth		equ $DFF020
Dskptl		equ $DFF022
Dsklen		equ $DFF024
Dskdat		equ $DFF026
Refptr		equ $DFF028
Vposw		equ $DFF02A
Vhposw		equ $DFF02C
Copcon		equ $DFF02E
Serdat		equ $DFF030
Serper		equ $DFF032
Potgo		equ $DFF034
Joytest		equ $DFF036
Str		equ $DFF038
Strvbl		equ $DFF03A
Strhor		equ $DFF03C
Strlong		equ $DFF03E

Bltcon0		equ $DFF040
Bltcon1		equ $DFF042
Bltafwm		equ $DFF044
Bltalwm		equ $DFF046
Bltcpth		equ $DFF048
Bltcptl		equ $DFF04A
Bltbpth		equ $DFF04C
Bltbptl		equ $DFF04E
Bltapth		equ $DFF050
Bltaptl		equ $DFF052
Bltdpth		equ $DFF054
Bltdptl		equ $DFF056
Bltsize		equ $DFF058
Bltcmod		equ $DFF060
Bltbmod		equ $DFF062
Bltamod		equ $DFF064
Bltdmod		equ $DFF066
Bltcdat		equ $DFF070
Bltbdat		equ $DFF072
Bltadat		equ $DFF074
Dsksync		equ $DFF07E

Cop1lch		equ $DFF080
Cop1lcl		equ $DFF082
Cop2lch		equ $DFF084
Cop2lcl		equ $DFF086
Copjmp1		equ $DFF088
Copjmp2		equ $DFF08A
Copins		equ $DFF08C

Diwstrt		equ $DFF08E
Diwstop		equ $DFF090
Ddfstrt		equ $DFF092
Ddfstop		equ $DFF094
Dmacon		equ $DFF096
Clxcon		equ $DFF098
Intena		equ $DFF09A
Intreq		equ $DFF09C
Adkcon		equ $DFF09E

Aud0lch		equ $DFF0A0
Aud0lcl		equ $DFF0A2
Aud0len		equ $DFF0A4
Aud0per		equ $DFF0A6
Aud0vol		equ $DFF0A8
Aud0dat		equ $DFF0AA
Aud1lch		equ $DFF0B0
Aud1lcl		equ $DFF0B2
Aud1len		equ $DFF0B4
Aud1per		equ $DFF0B6
Aud1vol		equ $DFF0B8
Aud1dat		equ $DFF0BA
Aud2lch		equ $DFF0C0
Aud2lcl		equ $DFF0C2
Aud2len		equ $DFF0C4
Aud2per		equ $DFF0C6
Aud2vol		equ $DFF0C8
Aud2dat		equ $DFF0CA
Aud3lch		equ $DFF0D0
Aud3lcl		equ $DFF0D2
Aud3len		equ $DFF0D4
Aud3per		equ $DFF0D6
Aud3vol		equ $DFF0D8
Aud3dat		equ $DFF0DA

Bpl1pth		equ $DFF0E0
Bpl1ptl		equ $DFF0E2
Bpl2pth		equ $DFF0E4
Bpl2ptl		equ $DFF0E6
Bpl3pth		equ $DFF0E8
Bpl3ptl		equ $DFF0EA
Bpl4pth		equ $DFF0EC
Bpl4ptl		equ $DFF0EE
Bpl5pth		equ $DFF0F0
Bpl5ptl		equ $DFF0F2
Bpl6pth		equ $DFF0F4
Bpl6ptl		equ $DFF0F6
Bplcon0		equ $DFF100
Bplcon1		equ $DFF102
Bplcon2		equ $DFF104
Bpl1mod		equ $DFF108
Bpl2mod		equ $DFF10A
Bpl1dat		equ $DFF110
Bpl2dat		equ $DFF112
Bpl3dat		equ $DFF114
Bpl4dat		equ $DFF116
Bpl5dat		equ $DFF118
Bpl6dat		equ $DFF11A

Spr0pth		equ $DFF120
Spr0ptl		equ $DFF122
Spr1pth		equ $DFF124
Spr1ptl		equ $DFF126
Spr2pth		equ $DFF128
Spr2ptl		equ $DFF12A
Spr3pth		equ $DFF12C
Spr3ptl		equ $DFF12E
Spr4pth		equ $DFF130
Spr4ptl		equ $DFF132
Spr5pth		equ $DFF134
Spr5ptl		equ $DFF136
Spr6pth		equ $DFF138
Spr6ptl		equ $DFF13A
Spr7pth		equ $DFF13C
Spr7ptl		equ $DFF13E
Spr0pos		equ $DFF140
Spr0ctl		equ $DFF142
Spr0data		equ $DFF144
Spr0datb		equ $DFF146
Spr1pos		equ $DFF148
Spr1ctl		equ $DFF14A
Spr1data		equ $DFF14C
Spr1datb		equ $DFF14E
Spr2pos		equ $DFF150
Spr2ctl		equ $DFF152
Spr2data		equ $DFF154
Spr2datb		equ $DFF156
Spr3pos		equ $DFF158
Spr3ctl		equ $DFF15A
Spr3data		equ $DFF15C
Spr3datb		equ $DFF15E
Spr4pos		equ $DFF160
Spr4ctl		equ $DFF162
Spr4data		equ $DFF164
Spr4datb		equ $DFF166
Spr5pos		equ $DFF168
Spr5ctl		equ $DFF16A
Spr5data		equ $DFF16C
Spr5datb		equ $DFF16E
Spr6pos		equ $DFF170
Spr6ctl		equ $DFF172
Spr6data		equ $DFF174
Spr6datb		equ $DFF176
Spr7pos		equ $DFF178
Spr7ctl		equ $DFF17A
Spr7data		equ $DFF17C
Spr7datb		equ $DFF17E

Color00		equ $DFF180
Color01		equ $DFF182
Color02		equ $DFF184
Color03		equ $DFF186
Color04		equ $DFF188
Color05		equ $DFF18A
Color06		equ $DFF18C
Color07		equ $DFF18E
Color08		equ $DFF190
Color09		equ $DFF192
Color10		equ $DFF194
Color11		equ $DFF196
Color12		equ $DFF198
Color13		equ $DFF19A
Color14		equ $DFF19C
Color15		equ $DFF19E
Color16		equ $DFF1A0
Color17		equ $DFF1A2
Color18		equ $DFF1A4
Color19		equ $DFF1A6
Color20		equ $DFF1A8
Color21		equ $DFF1AA
Color22		equ $DFF1AC
Color23		equ $DFF1AE
Color24		equ $DFF1B0
Color25		equ $DFF1B2
Color26		equ $DFF1B4
Color27		equ $DFF1B6
Color28		equ $DFF1B8
Color29		equ $DFF1BA
Color30		equ $DFF1BC
Color31		equ $DFF1BE

*--------------------------------------------------------------
* EXEC Entries	
*--------------------------------------------------------------
Supervisor		equ -30
ExitIntr		equ -36	
Schedule		equ -42
ReSchedule		equ -48
Switch		equ -54
Dispatch		equ -60
Exception		equ -66
InitCode		equ -72
InitStruct		equ -78
MakeLibrary		equ -84
MakeFunktions		equ -90
FindResident		equ -96
InitResident		equ -102
Alert		equ -108
Debug		equ -114
Disable		equ -120
Enable		equ -126
Forbid		equ -132
Permit		equ -138
SetSR		equ -144
SuperState		equ -150
UserState		equ -156
SetIntVector		equ -162
AddIntVector		equ -168
RemIntVector		equ -174
Cause		equ -180
Allocate		equ -186
Deallocate		equ -192
AllocMem		equ -198
AllocAbs		equ -204
FreeMem		equ -210
AvailMem		equ -216
AllocEntry		equ -222
FreeEntry		equ -228
Insert		equ -234
AddHead		equ -240
AddTail		equ -246
Remove		equ -252
RemHead		equ -258
RemTail		equ -264
Enqueue		equ -270
FindName		equ -276
AddTask		equ -282
RemTask		equ -288
FindTask		equ -294
SetTaskPri		equ -300
SetSignal		equ -306
SetExcept		equ -312
Wait		equ -318
Signal		equ -324
AllocSignal		equ -330
FreeSignal		equ -336
AllocTrap		equ -342
FreeTrap		equ -348
AddPort		equ -354
RemPort		equ -360
PutMsg		equ -366
GetMsg		equ -372
ReplyMsg		equ -378
WaitPort		equ -384
FindPort		equ -390
AddLibrary		equ -396
RemLibrary		equ -402
OldOpenLibrary		equ -408
CloseLibrary		equ -414
SetFunction		equ -420
SumLibrary		equ -426
AddDevice		equ -432
RemDevice		equ -438
OpenDevice		equ -444
CloseDevice		equ -450
DoIo		equ -456
SendIo		equ -462
CheckIo		equ -468
WaitIo		equ -474
AbortIo		equ -480
AddResource		equ -486
RemResource		equ -492
OpenResource		equ -498
RawIoInit		equ -504
RawMayGetChar		equ -510
RawPutChar		equ -516
RawDoFmt		equ -522
GetCC		equ -528
TypeOfMem		equ -534
Procedure		equ -540
Vacate		equ -546
OpenLibrary		equ -552

*--------------------------------------------------------------
* Macro's
*--------------------------------------------------------------
CALLEXEC	MACRO
	move.l	(ExecBase).w,a6
	jsr	\1(a6)
	ENDM


*--------------------------------------------------------------
* DIVERSE Entries
*--------------------------------------------------------------
CUSTOM		equ $DFF000
CIAAPRA		equ $BFE001
CIAAPRB		equ $BFD000
ExecBase		equ 4

Mode_ReadWrite		equ 1004
Mode_Old		equ 1005
Mode_New		equ 1006

MemF_Chip		equ $02
MemF_Fast		equ $04
MemF_Public		equ $01
MemF_Clear		equ $10000
MemF_Largest		equ $20000

OFFSET_BEGINNING		equ -1
OFFSET_CURRENT		equ 0
OFFSET_END		equ 1

PR_CLI		equ $AC
PR_MSGPORT		equ $5C
WD_USERPORT		equ $56
WD_RPORT		equ $32
IM_CLASS		equ 20
IM_CODE		equ 24
IM_QUALIFIER		equ 26
IM_IADDRESS		equ 28
RP_JAM1		equ 0
RP_JAM2		equ 1
RP_COMPLEMENT		equ 2
MENUNULL		equ $FFFF
NULL		equ 0
gg_SpecialInfo		equ $22
gg_GadgetID		equ $26
si_LongInt		equ $1C

CMD_READ		equ 2
CMD_WRITE		equ 3
CMD_UPDATE		equ 4
CMD_CLEAR		equ 5

TD_MOTOR		equ 9
TD_SEEK		equ 10
TD_FORMAT		equ 11
TD_REMOVE		equ 12
TD_CHANGENUM		equ 13
TD_CHANGESTATE		equ 14
TD_PROTSTATUS		equ 15
TD_RAWREAD		equ 16
TD_RAWWRITE		equ 17
TD_GETDRIVETYPE		equ 18
TD_GETNUMTRACKS		equ 19
TD_ADDCHANGEINT		equ 20
TD_REMCHANGEINT		equ 21
TD_LASTCOMM		equ 22


*----------------------------------------------------------
WAITPOS	MACRO	
\@	move.l	$DFF004,\2
	and.l	#$0001ff00,\2
	cmp.l	#\1,\2
	bne.s	\@
	ENDM

*----------------------------------------------------------
WAITPOSB	MACRO	
\@	move.l	$DFF004,\2
	and.l	#$0001ff00,\2
	cmp.l	\1,\2
	bne.s	\@
	ENDM

*----------------------------------------------------------
WAITBLIT	MACRO
\@	btst	#6,$DFF002
	bne.s	\@
	ENDM
