172 lines
5.0 KiB
Plaintext
172 lines
5.0 KiB
Plaintext
**************************************************************************
|
||
* *
|
||
* THE Z-UNIT SYSTEM SPECIFIC EQUATES *
|
||
* *
|
||
**************************************************************************
|
||
|
||
****DEBUG EQU 1 ;THIS VERSION IS CURRENTLY UNDER CONSTRUCTION
|
||
DEBUG EQU 0 ;ADD THIS BEFORE RELEASE!!!!!
|
||
|
||
INTRLACE .EQU 0 ;IF = 1, THEN INTERLACED SYSTEM IS BEING USED
|
||
* ;IF = 2, LO-RES NON-INTERLACE
|
||
*PIXBLT STUFF
|
||
PXSIZE .set 8
|
||
SCRN_PTCH .set 512*PXSIZE
|
||
SCRN_CONV .set 13h
|
||
STACK_ST .set 10FFFF0h
|
||
RAM_ST .set 1000000h
|
||
RAM_LEN .set 0100000h/32
|
||
TAPVALUE .set 0
|
||
OFFSETVAL .set 0
|
||
PLANEMSK .set 0
|
||
INI_CTRL .set 0
|
||
|
||
*
|
||
*SYSTEM Z MEMORY MAP
|
||
*
|
||
SCRATCH .SET 01000000h ;START OF SCRATCH
|
||
STCKST .SET 010FFFF0h ;TOP OF STACK
|
||
CMOS .EQU 01400000H ;START OF CMOS RAM
|
||
SCREEN .SET 00h ;START OF SCREEN MEMORY
|
||
SCRNE .SET 0200000h ;END OF SCREEN+1
|
||
COLRAM .SET 01800000h ;COLOR RAM B0-B4 BLU, B5-B9 GRN, B10-B14 RED
|
||
CYCOLORS EQU 01800E00H ;CYCLABLE COLORS
|
||
ROM .SET 0FFC00000h ;PROGRAM ROM
|
||
IROM .SET 02000000h ;IMAGE ROM
|
||
CMAPSEL .SET 01A80080h ;COLOR MAP SELECT (0-15)
|
||
SWITCH .SET 01C00000h ;I/O WIDGET BOARD
|
||
COINS .SET 01C00010H
|
||
SOUND .SET 01E00000h ;SOUND I/O (B0-B7 = SOUND#)
|
||
; B8 = MUSIC STROBE (0 EN)
|
||
; B9 = SOUND STROBE (0 EN)
|
||
; B10 = RESET (0 EN)
|
||
SYSCTRL .SET 01F00000H ;SYSTEM CONTROL LATCH
|
||
;BIT 0 - FG SCROLL 0
|
||
;BIT 1 - FG SCROLL 1
|
||
;BIT 2 - ALWAYS 1
|
||
;BIT 3 - ALWAYS 1
|
||
;BIT 4 - AUTO-ERASE ENABLE(0)
|
||
;BIT 5 - OBJECT PALETTE ENABLE(0)
|
||
;BIT 6 - ALWAYS 1
|
||
;BIT 7 - ALWAYS 1
|
||
;BITS 8 - 15 7 SEG. (DP,G - A)
|
||
|
||
*
|
||
*SYSTEM STUFF
|
||
*
|
||
AUTOERAS .EQU 10H
|
||
OBJPALET .EQU 20H
|
||
SYSCINIT .EQU 0FFFCH ;INITIAL SYSCTRL VALUE
|
||
*
|
||
*SEVEN SEGMENT DISPLAY
|
||
*
|
||
SEG70 .EQU 0300H
|
||
SEG71 .EQU 9F00H
|
||
SEG72 .EQU 2500H
|
||
SEG73 .EQU 0D00H
|
||
SEG74 .EQU 9900H
|
||
SEG75 .EQU 4900H
|
||
SEG76 .EQU 4100H
|
||
SEG77 .EQU 1F00H
|
||
SEG78 .EQU 0100H
|
||
SEG79 .EQU 1900H
|
||
*
|
||
*INTERRUPT CONSTANTS
|
||
.IF INTRLACE=1
|
||
SCOREINT .EQU 40+1BH ;END OF SCORE AREA INTERRUPT
|
||
HSINT .EQU 115+1BH ;HALF SCREEN
|
||
EOSINT .EQU 200+1BH ;END OF SCREEN
|
||
SKYINT .EQU 75+1BH ;END OF SKY COLOR INTERRUPT
|
||
MIDSCRN .EQU 230 ;MIDSCREEN LINE FOR BEAM INT. SPLIT
|
||
BHSINT .EQU 100+1BH ;BLIMP HALF SCREEN INTERRUPT
|
||
BEOSINT .EQU 200+1BH ;BLIMP END OF SCREEN INTERRUPT
|
||
.ENDIF
|
||
.IF INTRLACE=2
|
||
SCOREINT .EQU 40+1BH ;END OF SCORE AREA INTERRUPT
|
||
HSINT .EQU 115+1BH ;HALF SCREEN
|
||
EOSINT .EQU 256+1BH ;END OF SCREEN
|
||
SKYINT .EQU 75+1BH ;END OF SKY COLOR INTERRUPT
|
||
MIDSCRN .EQU 230 ;MIDSCREEN LINE FOR BEAM INT. SPLIT
|
||
BHSINT .EQU 115+1BH ;BLIMP HALF SCREEN INTERRUPT
|
||
BEOSINT .EQU 256+1BH ;BLIMP END OF SCREEN INTERRUPT
|
||
.ENDIF
|
||
.IF INTRLACE=0
|
||
SCOREINT .EQU 80+1BH ;END OF SCORE AREA INTERRUPT
|
||
HSINT .EQU 230+1BH ;HALF SCREEN
|
||
EOSINT .EQU 400+1BH ;END OF SCREEN
|
||
SKYINT .EQU 150+1BH ;END OF SKY COLOR INTERRUPT
|
||
MIDSCRN .EQU HSINT-1BH ;MIDSCREEN LINE FOR BEAM INT. SPLIT
|
||
BHSINT .EQU 200+1BH ;BLIMP HALF SCREEN INTERRUPT
|
||
BEOSINT .EQU 400+1BH ;BLIMP END OF SCREEN INTERRUPT
|
||
.ENDIF
|
||
|
||
|
||
ERASECOL .EQU 0FFFFH ;GAME AUTO ERASE COLOR #
|
||
ERASELOC .EQU 1800FF0H ;GAME AUTO ERASE COLOR LOCATION
|
||
*
|
||
*DMA STUFF
|
||
*
|
||
DMAREGS: .equ 01A800A0h ;BOTTOM OF DMA REGISTERS FOR MMTM
|
||
|
||
DMACTRL: .equ 01A80000h ;DMA CONTROL REGISTER
|
||
;BIT 15:
|
||
;1=START DMA (WRITE)
|
||
;0=STOP DMA (WRITE)
|
||
|
||
;1=DMA BUSY (READ)
|
||
;0=DMA IDLE (READ)
|
||
DMAGO .EQU DMACTRL ;FOR SYSCHECK
|
||
DMAOFFST: .equ 01A80010h ;DMA OFFSET REGISTER
|
||
DMASAGL: .equ 01A80020h ;DMA DATA STARTING ADDRESS LOW 16 BITS
|
||
DMASAGH: .equ 01A80030h ;DMA DATA STARTING ADDRESS HIGH 16 BITS
|
||
DMAHORIZ: .equ 01A80040h ;DMA DESTINATION, X COORDINATE
|
||
DMAVERT: .equ 01A80050h ;DMA DESTINATION, Y COORDINATE
|
||
DMAHSIZE: .equ 01A80060h ;DMA DESTINATION, X SIZE
|
||
DMAVSIZE: .equ 01A80070h ;DMA DESTINATION, Y SIZE
|
||
DMACMAP: .equ 01A80080h ;DMA COLOR MAP SELECT
|
||
DMACONST: .equ 01A80090h ;DMA CONSTANT COLOR SUBSTITUTE
|
||
|
||
DMACON .EQU DMACONST
|
||
DMAMAP .EQU DMACMAP
|
||
DMASIZ .EQU DMAHSIZE
|
||
DMADAD .EQU DMAHORIZ
|
||
DMASAD .EQU DMASAGL
|
||
DMAOFF .EQU DMAOFFST
|
||
DMACTL .EQU DMACTRL
|
||
|
||
*BITS FOR THE DMA CONTROL WORD
|
||
DMAWZ .SET 1|8000h ;WRITE ZERO DATA
|
||
DMAWNZ .SET 2|8000h ;WRITE NON-ZERO DATA
|
||
DMACZ .SET 4|8000h ;WRITE CONSTANT ON ZERO DATA
|
||
DMACNZ .SET 8|8000h ;WRITE CONSTANT ON NON-ZERO DATA
|
||
DMAWAL .SET 3|8000h ;WRITE BOTH ZERO & NON-ZERO DATA
|
||
DMACAL .SET 0Ch|8000h ;WRITE CONSTANT ON BOTH ZERO & NON-ZERO DATA
|
||
|
||
ISIZE .equ 0
|
||
ISIZEX .EQU 0
|
||
ISIZEY .EQU 10H
|
||
IANIOFF .equ 20H
|
||
IANIOFFX .EQU 20H
|
||
IANIOFFY .EQU 30H
|
||
ISAG .equ 40h
|
||
ICMAP .equ 60H
|
||
ICBOX .equ 80H
|
||
ICBOXSIZ .equ 90H
|
||
|
||
ZM .set 1 ;Z MINUS MULTIPLIER
|
||
ZP .set 010000h ;Z PLUS MULTIPLIER
|
||
*
|
||
*SOUND PROCESSOR EQUATES
|
||
NINT .EQU 0800H ;SOUND NON-INTERRUPTABLE
|
||
NINTEQ .EQU 0400H ;SOUND NON-INTERRUPTABLE BY EQUAL PRIORITY
|
||
CHANNEL .EQU 0F000H
|
||
NOTIME .EQU 04000H
|
||
*
|
||
*SOUND CHANNELS
|
||
CHANCVSD .EQU 0
|
||
CHANDACA .EQU 1
|
||
CHANDACB .EQU 2
|
||
CHANYAM .EQU 3
|
||
|
||
|
||
|