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
|
|||
|
|
|||
|
|
|||
|
|