316 lines
11 KiB
OpenEdge ABL
316 lines
11 KiB
OpenEdge ABL
;
|
|
; hw_examples.i
|
|
;
|
|
; This appendix contains an include file that maps the hardware
|
|
; register names, given in Appendix A and Appendix B, to names that can
|
|
; be resolved by the standard include files. Use of these names in code
|
|
; sections of this manual places the emphasis on what the code is
|
|
; doing, rather than getting bogged down in include file names.
|
|
;
|
|
; All code examples in this manual reference the names given in this
|
|
; file.
|
|
;
|
|
IFND HARDWARE_HW_EXAMPLES_I
|
|
HARDWARE_HW_EXAMPLES_I SET 1
|
|
**
|
|
** Filename: hardware/hw_examples.i
|
|
** $Release: 1.3 $
|
|
**
|
|
** (C) Copyright 1985-1999 Amiga, Inc.
|
|
** All Rights Reserved
|
|
**
|
|
*******************************************************************************
|
|
|
|
IFND HARDWARE_CUSTOM_I
|
|
INCLUDE "hardware/custom.i"
|
|
ENDC
|
|
|
|
*******************************************************************************
|
|
*
|
|
* This include file is designed to be used in conjunction with the hardware
|
|
* manual examples. This file defines the register names based on the
|
|
* hardware/custom.i definition file. There is no C-Language version of this
|
|
* file.
|
|
*
|
|
*******************************************************************************
|
|
*
|
|
* This instruction for the copper will cause it to wait forever since
|
|
* the wait command described in it will never happen.
|
|
*
|
|
COPPER_HALT equ $FFFFFFFE
|
|
*
|
|
*******************************************************************************
|
|
*
|
|
* This is the offset in the 680x0 address space to the custom chip registers
|
|
* It is the same as _custom when linking with AMIGA.lib
|
|
*
|
|
CUSTOM equ $DFF000
|
|
*
|
|
* Various control registers
|
|
*
|
|
DMACONR equ dmaconr ; Just capitalization...
|
|
VPOSR equ vposr ; " "
|
|
VHPOSR equ vhposr ; " "
|
|
JOY0DAT equ joy0dat ; " "
|
|
JOY1DAT equ joy1dat ; " "
|
|
CLXDAT equ clxdat ; " "
|
|
ADKCONR equ adkconr ; " "
|
|
POT0DAT equ pot0dat ; " "
|
|
POT1DAT equ pot1dat ; " "
|
|
POTINP equ potinp ; " "
|
|
SERDATR equ serdatr ; " "
|
|
INTENAR equ intenar ; " "
|
|
INTREQR equ intreqr ; " "
|
|
REFPTR equ refptr ; " "
|
|
VPOSW equ vposw ; " "
|
|
VHPOSW equ vhposw ; " "
|
|
SERDAT equ serdat ; " "
|
|
SERPER equ serper ; " "
|
|
POTGO equ potgo ; " "
|
|
JOYTEST equ joytest ; " "
|
|
STREQU equ strequ ; " "
|
|
STRVBL equ strvbl ; " "
|
|
STRHOR equ strhor ; " "
|
|
STRLONG equ strlong ; " "
|
|
DIWSTRT equ diwstrt ; " "
|
|
DIWSTOP equ diwstop ; " "
|
|
DDFSTRT equ ddfstrt ; " "
|
|
DDFSTOP equ ddfstop ; " "
|
|
DMACON equ dmacon ; " "
|
|
INTENA equ intena ; " "
|
|
INTREQ equ intreq ; " "
|
|
*
|
|
* Disk control registers
|
|
*
|
|
DSKBYTR equ dskbytr ; Just capitalization...
|
|
DSKPT equ dskpt ; " "
|
|
DSKPTH equ dskpt
|
|
DSKPTL equ dskpt+$02
|
|
DSKLEN equ dsklen ; " "
|
|
DSKDAT equ dskdat ; " "
|
|
DSKSYNC equ dsksync ; " "
|
|
*
|
|
* Blitter registers
|
|
*
|
|
BLTCON0 equ bltcon0 ; Just capitalization...
|
|
BLTCON1 equ bltcon1 ; " "
|
|
BLTAFWM equ bltafwm ; " "
|
|
BLTALWM equ bltalwm ; " "
|
|
BLTCPT equ bltcpt ; " "
|
|
BLTCPTH equ bltcpt
|
|
BLTCPTL equ bltcpt+$02
|
|
BLTBPT equ bltbpt ; " "
|
|
BLTBPTH equ bltbpt
|
|
BLTBPTL equ bltbpt+$02
|
|
BLTAPT equ bltapt ; " "
|
|
BLTAPTH equ bltapt
|
|
BLTAPTL equ bltapt+$02
|
|
BLTDPT equ bltdpt ; " "
|
|
BLTDPTH equ bltdpt
|
|
BLTDPTL equ bltdpt+$02
|
|
BLTSIZE equ bltsize ; " "
|
|
BLTCMOD equ bltcmod ; " "
|
|
BLTBMOD equ bltbmod ; " "
|
|
BLTAMOD equ bltamod ; " "
|
|
BLTDMOD equ bltdmod ; " "
|
|
BLTCDAT equ bltcdat ; " "
|
|
BLTBDAT equ bltbdat ; " "
|
|
BLTADAT equ bltadat ; " "
|
|
BLTDDAT equ bltddat ; " "
|
|
*
|
|
* Copper control registers
|
|
*
|
|
COPCON equ copcon ; Just capitalization...
|
|
COPINS equ copins ; " "
|
|
COPJMP1 equ copjmp1 ; " "
|
|
COPJMP2 equ copjmp2 ; " "
|
|
COP1LC equ cop1lc ; " "
|
|
COP1LCH equ cop1lc
|
|
COP1LCL equ cop1lc+$02
|
|
COP2LC equ cop2lc ; " "
|
|
COP2LCH equ cop2lc
|
|
COP2LCL equ cop2lc+$02
|
|
*
|
|
*
|
|
* Audio channel registers
|
|
*
|
|
ADKCON equ adkcon ; Just capitalization...
|
|
|
|
AUD0LC equ aud0
|
|
AUD0LCH equ aud0
|
|
AUD0LCL equ aud0+$02
|
|
AUD0LEN equ aud0+$04
|
|
AUD0PER equ aud0+$06
|
|
AUD0VOL equ aud0+$08
|
|
AUD0DAT equ aud0+$0A
|
|
|
|
AUD1LC equ aud1
|
|
AUD1LCH equ aud1
|
|
AUD1LCL equ aud1+$02
|
|
AUD1LEN equ aud1+$04
|
|
AUD1PER equ aud1+$06
|
|
AUD1VOL equ aud1+$08
|
|
AUD1DAT equ aud1+$0A
|
|
|
|
AUD2LC equ aud2
|
|
AUD2LCH equ aud2
|
|
AUD2LCL equ aud2+$02
|
|
AUD2LEN equ aud2+$04
|
|
AUD2PER equ aud2+$06
|
|
AUD2VOL equ aud2+$08
|
|
AUD2DAT equ aud2+$0A
|
|
|
|
AUD3LC equ aud3
|
|
AUD3LCH equ aud3
|
|
AUD3LCL equ aud3+$02
|
|
AUD3LEN equ aud3+$04
|
|
AUD3PER equ aud3+$06
|
|
AUD3VOL equ aud3+$08
|
|
AUD3DAT equ aud3+$0A
|
|
*
|
|
*
|
|
* The bitplane registers
|
|
*
|
|
BPL1PT equ bplpt+$00
|
|
BPL1PTH equ bplpt+$00
|
|
BPL1PTL equ bplpt+$02
|
|
BPL2PT equ bplpt+$04
|
|
BPL2PTH equ bplpt+$04
|
|
BPL2PTL equ bplpt+$06
|
|
BPL3PT equ bplpt+$08
|
|
BPL3PTH equ bplpt+$08
|
|
BPL3PTL equ bplpt+$0A
|
|
BPL4PT equ bplpt+$0C
|
|
BPL4PTH equ bplpt+$0C
|
|
BPL4PTL equ bplpt+$0E
|
|
BPL5PT equ bplpt+$10
|
|
BPL5PTH equ bplpt+$10
|
|
BPL5PTL equ bplpt+$12
|
|
BPL6PT equ bplpt+$14
|
|
BPL6PTH equ bplpt+$14
|
|
BPL6PTL equ bplpt+$16
|
|
|
|
BPLCON0 equ bplcon0 ; Just capitalization...
|
|
BPLCON1 equ bplcon1 ; " "
|
|
BPLCON2 equ bplcon2 ; " "
|
|
BPL1MOD equ bpl1mod ; " "
|
|
BPL2MOD equ bpl2mod ; " "
|
|
|
|
DPL1DATA equ bpldat+$00
|
|
DPL2DATA equ bpldat+$02
|
|
DPL3DATA equ bpldat+$04
|
|
DPL4DATA equ bpldat+$06
|
|
DPL5DATA equ bpldat+$08
|
|
DPL6DATA equ bpldat+$0A
|
|
*
|
|
*
|
|
* Sprite control registers
|
|
*
|
|
SPR0PT equ sprpt+$00
|
|
SPR0PTH equ SPR0PT+$00
|
|
SPR0PTL equ SPR0PT+$02
|
|
SPR1PT equ sprpt+$04
|
|
SPR1PTH equ SPR1PT+$00
|
|
SPR1PTL equ SPR1PT+$02
|
|
SPR2PT equ sprpt+$08
|
|
SPR2PTH equ SPR2PT+$00
|
|
SPR2PTL equ SPR2PT+$02
|
|
SPR3PT equ sprpt+$0C
|
|
SPR3PTH equ SPR3PT+$00
|
|
SPR3PTL equ SPR3PT+$02
|
|
SPR4PT equ sprpt+$10
|
|
SPR4PTH equ SPR4PT+$00
|
|
SPR4PTL equ SPR4PT+$02
|
|
SPR5PT equ sprpt+$14
|
|
SPR5PTH equ SPR5PT+$00
|
|
SPR5PTL equ SPR5PT+$02
|
|
SPR6PT equ sprpt+$18
|
|
SPR6PTH equ SPR6PT+$00
|
|
SPR6PTL equ SPR6PT+$02
|
|
SPR7PT equ sprpt+$1C
|
|
SPR7PTH equ SPR7PT+$00
|
|
SPR7PTL equ SPR7PT+$02
|
|
;
|
|
; Note: SPRxDATB is defined as being +$06 from SPRxPOS.
|
|
; sd_datab should be defined as $06, however, in the 1.3 assembler
|
|
; include file hardware/custom.i it is incorrectly defined as $08.
|
|
;
|
|
SPR0POS equ spr+$00
|
|
SPR0CTL equ SPR0POS+sd_ctl
|
|
SPR0DATA equ SPR0POS+sd_dataa
|
|
SPR0DATB equ SPR0POS+$06 ; should use sd_datab ...
|
|
|
|
SPR1POS equ spr+$08
|
|
SPR1CTL equ SPR1POS+sd_ctl
|
|
SPR1DATA equ SPR1POS+sd_dataa
|
|
SPR1DATB equ SPR1POS+$06 ; should use sd_datab ...
|
|
|
|
SPR2POS equ spr+$10
|
|
SPR2CTL equ SPR2POS+sd_ctl
|
|
SPR2DATA equ SPR2POS+sd_dataa
|
|
SPR2DATB equ SPR2POS+$06 ; should use sd_datab ...
|
|
|
|
SPR3POS equ spr+$18
|
|
SPR3CTL equ SPR3POS+sd_ctl
|
|
SPR3DATA equ SPR3POS+sd_dataa
|
|
SPR3DATB equ SPR3POS+$06 ; should use sd_datab ...
|
|
|
|
SPR4POS equ spr+$20
|
|
SPR4CTL equ SPR4POS+sd_ctl
|
|
SPR4DATA equ SPR4POS+sd_dataa
|
|
SPR4DATB equ SPR4POS+$06 ; should use sd_datab ...
|
|
|
|
SPR5POS equ spr+$28
|
|
SPR5CTL equ SPR5POS+sd_ctl
|
|
SPR5DATA equ SPR5POS+sd_dataa
|
|
SPR5DATB equ SPR5POS+$06 ; should use sd_datab ...
|
|
|
|
SPR6POS equ spr+$30
|
|
SPR6CTL equ SPR6POS+sd_ctl
|
|
SPR6DATA equ SPR6POS+sd_dataa
|
|
SPR6DATB equ SPR6POS+$06 ; should use sd_datab ...
|
|
|
|
SPR7POS equ spr+$38
|
|
SPR7CTL equ SPR7POS+sd_ctl
|
|
SPR7DATA equ SPR7POS+sd_dataa
|
|
SPR7DATB equ SPR7POS+$06 ; should use sd_datab ...
|
|
*
|
|
* Color registers...
|
|
*
|
|
COLOR00 equ color+$00
|
|
COLOR01 equ color+$02
|
|
COLOR02 equ color+$04
|
|
COLOR03 equ color+$06
|
|
COLOR04 equ color+$08
|
|
COLOR05 equ color+$0A
|
|
COLOR06 equ color+$0C
|
|
COLOR07 equ color+$0E
|
|
COLOR08 equ color+$10
|
|
COLOR09 equ color+$12
|
|
COLOR10 equ color+$14
|
|
COLOR11 equ color+$16
|
|
COLOR12 equ color+$18
|
|
COLOR13 equ color+$1A
|
|
COLOR14 equ color+$1C
|
|
COLOR15 equ color+$1E
|
|
COLOR16 equ color+$20
|
|
COLOR17 equ color+$22
|
|
COLOR18 equ color+$24
|
|
COLOR19 equ color+$26
|
|
COLOR20 equ color+$28
|
|
COLOR21 equ color+$2A
|
|
COLOR22 equ color+$2C
|
|
COLOR23 equ color+$2E
|
|
COLOR24 equ color+$30
|
|
COLOR25 equ color+$32
|
|
COLOR26 equ color+$34
|
|
COLOR27 equ color+$36
|
|
COLOR28 equ color+$38
|
|
COLOR29 equ color+$3A
|
|
COLOR30 equ color+$3C
|
|
COLOR31 equ color+$3E
|
|
|
|
*******************************************************************************
|
|
**
|
|
**
|
|
ENDC ; HARDWARE_HW_EXAMPLES_I |