THE COMPLETE AMIGA HARDWARE
REFERENCE MANUAL

                               APPENDIX J

                      HARDWARE EXAMPLE INCLUDE FILE


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.

                           - Appendix J 359 -


                           IFND      HARDWARE_HW_EXAMPLES_I
HARDWARE_HW_EXAMPLES_I     SET       1
**
**
**
**        Filename: hardware/hw_examples.i
**        $Release: 1.3 $
**
**       (C) Copyright 1985,1986,1987,1988,1989 Commodore-Amiga, Inc.
**           All Rights Reserved
**
**
**************************************************************************

    IFND HARDWARE_CUSTOM_I
    INCLUDE "hardware/custom.i"
    ENDC

**************************************************************************
*
* This include file is deigned 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     vhpor           ; "          "
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     joyteat         ; "          "
STREQU   equ     strequ          ; "          "
STRVBL   equ     strvbl          ; "          "

                           - 360 Appendix J -


STRHOR          equ     atrhor          ; "          "
STRLONG         equ     atrlong         ; "          "
DIWSTRT         equ     diwatrt         ; "          "
DIWSTOP         equ     diwatop         ; "          "
DDFSTRT         equ     ddfatrt         ; "          "
DDFSTOP         equ     ddfatop         ; "          "
DMACON          equ     dmacon          ; "          "
INTENA          equ     intena          ; "          "
INTREQ          equ     intreq          ; "          "
*
* Disk control registers
*
DSKBYTR         equ     dakbytr         ; Juat capitalization ....
DSKPT           equ     dakpt           ; "          "
DSKPTH          equ     dakpt
DSKPTL          equ     dakpt+$02
DSKLEN          equ     daklen          ; "          "
DSKDAT          equ     dakdat          ; "          "
DSKSYNC         equ     dakaync         ; "          "
*
* Blitter registers
*
BLTCON0         equ     bltcon0         ; Juat 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     bltaize         ; "          "
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     copina          ; "          "
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 channels registers

                           - Appendix J 361 -


*
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
*
BPLlPT          equ     bplpt+$00
BPLlPTH         equ     bplpt+$00
BPLlPTL         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
BPLSPT          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         ; Juat capitalization
BPLCON1         equ     bplcon1         ; "          "
BPLCON2         equ     bplcon2         ; "          "
BPL1MOD         equ     bpl1mod         ; "          "
BPL2MOD         equ     bpl2mod

                           - 362 Appendix J -


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+S02
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
SPRSPTH     equ   SPRSPT+$00
SPRSPTL     equ   SPRSPT+$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_ct1
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   SPR1P05+$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   SPR3P05+$06 ; should use sd datab ...

SPR4POS     equ   spr+$20
SPR4CTL     equ   SPR4POS+sd ctl
SPR4DATA    equ   SPR4POS+sd dataa
SPR4DATB    equ   SPR4P05+$06 ; should use sd datab ...

                           - Appendix J 363 -


SPR5POS         equ     spr+$28
SPR5CTL         equ     SPR5POS+ad_ctl
SPR5DATA        equ     SPR5POS+Ad_dataa
SPR5DATB        equ     SPR5P05+$06     ; should use ad_datab

SPR6POS         equ     spr+$30
SPR6CTL         equ     SPR6POS+ad_ctl
SPR6DATA        equ     SPR6POS+sd_dataa
SPR6DATB        equ     SPR6P05+$06     ; should use sd_datab

SPR7POS         equ     spr+$38
SPR7CTL         equ     SPR7POS+sd_ctl
SPR7DATA        equ     SPR7POS+sd_dataa
SPR7DATB        equ     SPR7P05+$06     ; should use ad_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

                           - 364 Appendix J -

End.

 


НОМЕ