total-carnage/SYS.OLD

191 lines
5.3 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

**************************************************************************
* *
; SHELL PROGRAM - DO NOT MODIFY!
; MARK TURMELL - MAY 24, 1989
;
* THE Z-UNIT SYSTEM SPECIFIC EQUATES *
* *
**************************************************************************
YUNIT EQU 0 ;NOT A YUNIT
;YUNIT EQU 1 ;ITS YUNIT TIME...GO FOR IT DUDES!!!!
DEBUG EQU 1 ;THIS VERSION IS CURRENTLY UNDER CONSTRUCTION
;DEBUG EQU 0 ;ADD THIS BEFORE RELEASE!!!!!
*
*PIXBLT STUFF
PXSIZE .SET 8
SCRN_PTCH .SET 512*PXSIZE
STACK_ST .SET 0FFFC0000H
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 .SET 01400000H ;START OF CMOS RAM
SCREEN .SET 00H ;START OF SCREEN MEMORY
SCRNE .SET 0200000H ;END OF SCREEN+1
.IF YUNIT
COLRAM .SET 01810000H ;COLOR RAM B0-B4 BLU, B5-B9 GRN, B10-B14 RED
.ELSE
COLRAM .SET 01800000H ;COLOR RAM B0-B4 BLU, B5-B9 GRN, B10-B14 RED
.ENDIF
CYCOLORS .SET COLRAM+3E0H ;COLORS 62 AND 63 (LAST TWO IN PAL!)
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
*
*DISPLAY INTERRUPT LINE FOR END OF SCORE AREA
SCOREINT .EQU 2+1BH ;END OF SCORE AREA INTERRUPT
ERASEINT .EQU 240+1BH ;SPECIAL INTERRUPT FOR AUTOEOFF
ERASECOL .EQU 03D3DH ;GAME AUTO ERASE COLOR #
ERASELOC .EQU COLRAM+3D0H ;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
SECCHIP .EQU 01C00060H ; LOCATION OF SECURITY CHIP JKM 2/13/90
*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
L .SET 1
W .SET 0
*
*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
;
WDOGNUM .SET 01A2B3C4DH ;"SYSTEM INITIALIZED" MARKER
;
*FRANIM FLAG MASKS
SPAWNP EQU 8000H
FLIPBITS EQU 4000H
NEWPALET EQU 2000H
DELTAXZ EQU 1000H
DELTAY EQU 800H
;*ANIMATION SCRIPT FLAG BIT POSITIONS
BSPAWNP EQU 15
BFLIPBIT EQU 14
BNEWPAL EQU 13
BDELTAXZ EQU 12
BDELTAY EQU 11
*
*PALETTE ALLOCATOR EQUATES
*
*PALETTE ALLOCATION RAM
*FOR EACH COLOR PALETTE ID 32 BITS, PALETTE COUNT 16 BITS
*IF PALCNT>0 PALETTE IS ALLOCATED, IF PALCNT=0 PALETTE IS FREE
*
NUMPAL .SET 32 ;NUMBER OF DYNAMICS ALLOCATED PALETTES
NMFPAL .SET 20 ;NUMBER OF FOREGROUND PALETTES
NMBPAL .SET 12 ;NUMBER OF BACKGROUND PALETTES
*struct PAL
PALID .SET 0 ;UHL 32 BIT PALETTE I.D. (ADDRESS OF ACTUAL PALETTE)
PALCNT .SET 32 ;UHW 16 BIT COUNT (# OF OBJECTS USING THIS PALETTE)
*endstruct
PALRSIZ .SET 48 ;SIZE OF PALETTE ALLOCATION RAM
*
*PALETTE TRANSFER RAM
*
PLDCNT .SET 0 ;COLOR COUNT
PALSRC .SET >10 ;SOURCE ADDRESS OF PALETTE COLOR DATA
PALDEST .SET >30 ;DESTINATION PALETTE|START COLOR
PTRSIZ .SET >40 ;SIZE OF EACH CELL
NUMPTR .SET 32 ;NUMBER OF TRANSFERS ALLOWED
*
;*DISPLAY FLAGS FOR FORE/BACKGROUND OBJECTS
M_SPAWNP EQU 80H ;SPAWN A PROCESS WITH THIS OBJECT IN A8
B_SPAWNP EQU 7