narc/SYS/SYS.INC

172 lines
5.0 KiB
Plaintext
Raw Normal View History

2021-04-06 14:36:38 -07:00
**************************************************************************
* *
* 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