nba-jam/SYS.EQU

355 lines
9.3 KiB
Plaintext
Executable File
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.

*THE T/Z-UNIT SYSTEM SPECIFIC EQUATES
*.Last mod - 11/30/92 12:09
*.Last mod - 4/10/95 7:30pm - JBJ
*.Last mod - ??/??/95 ??:??pm - DJT
; globals for stack ref - built in MAIN.ASM
.global STACKL
.global STACKB
.global STACKE
; assembly configuration flags
WWFUNIT .equ 1
YUNIT .equ 1
TUNIT .equ 1 ;YUNIT also on
TUNITDB .equ 0 ;TUNIT debugging
TUNIT2 .equ 1 ;TUNIT also on
DEBUG .equ 1 ;0 or 1
IMGVIEW .equ 0 ;0 or 1
HEADCK .equ 0 ;0 or 1
PAL64 .equ 0 ;1 if 64x64 pals
*FOLLOWING SYMBOLS DON'T ACTUALLY WORK, YET! (GNP - 1/15/92)
GERMAN .equ 0 ;IF 1 THEN GERMAN TEXT
PRINTER .equ 0 ;IF 1 THEN PRINTER IS INSTALLED
FULLPRICE .equ 1 ;IF 1, INSTALL ALL COINAGE MODES
; PIXBLT stuff
PXSIZE .equ 8
SCRN_PTCH .equ 512*PXSIZE
; System memory map
.if WWFUNIT
VMUX_CONTROL .equ 1800000h ;VMUX Control Register
VMUX_BREG0 .equ 1820000h ;VMUX Background Register 0
VMUX_BREG1 .equ 1830000h ;VMUX Background Register 1
VMUX_PALMATCH .equ 1840000h ;VMUX Palette Match Register
VMUX_STATUS .equ 1800000h ;VMUX Status Register
VMUX_MODE0 .equ 0 ;I/O Mode 0
VMUX_MODE1 .equ 1 ;I/O Mode 1
VMUX_MODE2 .equ 2 ;I/O Mode 2
VMUX_MODE3 .equ 3 ;I/O Mode 3
VMUX_MODE4 .equ 4 ;I/O Mode 4
VMUX_MODE5 .equ 5 ;I/O Mode 5
VMUX_MODE6 .equ 6 ;I/O Mode 6
VMUX_MODE7 .equ 7 ;I/O Mode 7
VMUX_IODISABLE .equ 8 ;I/O Disable
VMUX_ADDRGENENB .equ 16 ;Address Generator Enable
VMUX_VKEY0 .equ 0 ;Video Key 0
VMUX_VKEY1 .equ 32 ;Video Key 0
VMUX_VKEY2 .equ 64 ;Video Key 0
VMUX_VKEY3 .equ 96 ;Video Key 0
VMUX_VKEY4 .equ 128 ;Video Key 0
VMUX_VKEY5 .equ 160 ;Video Key 0
VMUX_VKEY6 .equ 192 ;Video Key 0
VMUX_PALMENABL .equ 256 ;Palette Match Enable
VMUX_VDISABLE .equ 512 ;Video Disable
VMUX_CSWIZZLE .equ 1024 ;Color RAM swizzle on writes
VMUX_CRAMREAD .equ 2048 ;Force Read of CRAM Pixel Stream
VMUX_INITMODE .equ VMUX_MODE0|VMUX_VKEY0
.endif
SCREEN .equ 0 ;START OF SCREEN MEMORY
SCRNE .equ 200000h ;END OF SCREEN+1
SCRATB .equ 1000000h ;START OF SCRATCH
SCRATE .equ 13F7300h ;END OF SCRATCH+1
SCRATL .equ SCRATE-SCRATB ;SCRATCH SIZE (BITS)
MEGBIT0 .equ SCRATE-200000h ;LOWER 128K BYTE BUFFER (SCREEN BUFFER, ETC)
MEGBIT1 .equ SCRATE-100000h ;UPPER 128K BYTE BUFFER (SCREEN BUFFER, ETC)
.asg SCRATB,SCRATCH ;Alt for start of scratch
.asg STACKE,STCKST ;Alt for start of stack
CMOS .equ 1400000h ;START OF CMOS RAM
CMOSWE .equ CMOS+0ffff0h ;Write enable
.if TUNIT
COLRAM .equ 1880000h
.elseif YUNIT
COLRAM .equ 1810000h ;Color ram
.else
COLRAM .equ 1800000h
.endif
CYCOLORS .equ COLRAM+3E0h ;COLORS 62 AND 63 (LAST TWO IN PAL!)
CMAPSEL .equ 1a80080h ;COLOR MAP SELECT (0-15)
.if TUNIT2
SWITCH .equ 1860000h ;I/O WIDGET BOARD
COINS .equ 1860030h
SWITCH2 .equ 1860010h
DIPSWITCH .equ 1860020h ;DIP SWITCHES
;WATCHDOG .equ 1d81070h ;old
WATCHDOG .equ 1860030h ;new (daughterboard)
WRMISC .equ 1860020h
COIN_COUNTERS .EQU 1860010H ;COIN COUNTER DRIVERS
SNDRSTBIT .equ 16
.else
SWITCH .equ 1c00000h ;I/O WIDGET BOARD
COINS .equ 1c00010h
SWITCH2 .equ 1c00020h
DIPSWITCH .equ 1c00030h ;DIP SWITCHES
.endif
.if TUNIT2
SOUND .equ 1680000h ;Auto strobe
SOUNDR .equ 1680000h ;Auto strobe (with wait state)
SOUNDIRQ .equ 1860040h ;* irq input
;B_SDAV .equ 11 ;sound data available bit # (active hi)
;B_SIRQ .equ 10 ;Irq bit #
B_SDAV .equ 10 ;sound data available bit # (active hi)
B_SIRQ .equ 11 ;Irq bit #
SOUNDBIT .equ 0ff00h ;No strobe needed
TALKPORT .equ 1860040h ;Port to find this line
B_WDOG .equ 8 ;(-) For watchdog triggered
;SOUND .equ 1d01030h ;Auto strobe
;SOUNDR .equ 1d81030h ;Auto strobe (with wait state)
;SOUNDIRQ .equ 1d00000h ;* irq input
;B_SDAV .equ 6 ;sound data available bit # (active hi)
;B_SIRQ .equ 7 ;Irq bit #
;SOUNDBIT .equ 0ff00h ;No strobe needed
;TALKPORT .equ 1d00000h ;Port to find this line
;B_WDOG .equ 4 ;(-) For watchdog triggered
.elseif TUNIT
SOUND .equ 1c01030h ;Auto strobe
SOUNDIRQ .equ 1c00050h ;* irq input
B_SIRQ .equ 3 ;Irq bit #
SOUNDBIT .equ 0ff00h ;No strobe needed
.else
SOUND .equ 1e00000h ;Sound I/O; B0-B7=Sound#, B8=Reset (-)
SOUNDIRQ .equ SWITCH+10H ;* irq input
B_SIRQ .equ 14 ;Irq bit #
SOUNDBIT .equ 0fd00h ;B9=Strobe (-)
.endif
PIC_COMMAND .equ 01600000h ;PIC Command Port
PIC_DATA .equ PIC_COMMAND ;PIC Data Port
CDI_BIT .equ 13 ;Coindoor Interlock Bit (COIN input)
*SYSCTRL .equ 1f00000h ;System control latch
SYSCTRL .equ 1b00000h ;System control latch
;BIT 2 - LED select (1)
;BIT 4 - AUTO-ERASE ENABLE(0)
;BIT 5 - OBJECT PALETTE ENABLE(0)
;BIT 6 - CMOS page (YUNIT)
;BIT 7 - CMOS page
.if WWFUNIT
IROMPG0 .equ 0000h ;Image ROM Bank 0
IROMPG1 .equ 0100h ;Image ROM Bank 1
IROMPG2 .equ 0200h ;Image ROM Bank 2
IROMPG3 .equ 0300h ;Image ROM Bank 3
LEDON .equ 0400h ;Turn LED ON
PALENB .equ 0800h ;Enable Color Palette
WROMINTDIS .equ 1000h ;Disable Write to ROM Interrupt
WROMINTCLR .equ 2000h ;Clear the Write to ROM Interrupt
.endif
IROM .equ 2000000h ;IMAGE ROM
ROM .equ 7800000h ;PROGRAM ROM
;ROM .equ 0ff800000h ;PROGRAM ROM
;System stuff
AUTOERAS .equ 10h
OBJPALET .equ 20h
.if DEBUG
.if WWFUNIT
SYSCINIT .equ 0A87fh ;LED OFF, IROM PAGE 0, PALETTE ON, WRROMINT ON, CLEAR INT
;SYSCINIT .equ 0ffb8h ;INITIAL SYSCTRL VALUE
.else
SYSCINIT .equ 0fff8h ;INITIAL SYSCTRL VALUE
.endif
.else
.if WWFUNIT
SYSCINIT .equ 0987fh ;LED OFF, IROM PAGE 0, PALETTE ON, WRROMINT ON
.else
SYSCINIT .equ 0fff8h ;INITIAL SYSCTRL VALUE
.endif
.endif
WPIROM .equ 80h
ERASECOL .equ 0 ;Screen erase color #
ERASELOC .equ COLRAM ;Screen erase color loc
;DMA stuff
DMAREGS .equ 1a000c0h ;Bottom of dma registers for mmtm
DMAOFFST .equ 1a00000h ;DMA offset
DMACTRL .equ 1a00010h ;DMA control. BIT 15:
;DMAOFFST .equ 1a80000h ;DMA offset
;DMACTRL .equ 1a80010h ;DMA control. BIT 15:
;0=DMA IDLE (R), 1=DMA BUSY (R)
;0=STOP DMA (W*2), 1=START DMA (W)
DMAGO .equ DMACTRL ;FOR SYSCHECK
DMASAGL .equ 1a00020h ;*Data start (low 16 bits)
DMASAGH .equ 1a00030h ;*Data start (high 16 bits)
DMAHORIZ .equ 1a00040h ;Dest X
DMAVERT .equ 1a00050h ;Dest Y
DMAHSIZE .equ 1a00060h ;Dest X size
DMAVSIZE .equ 1a00070h ;Dest Y size
DMACMAP .equ 1a00080h ;Color map select
DMACONST .equ 1a00090h ;Constant color
DMASCALEX .equ 1a000a0h ;X scale 8:8
DMASCALEY .equ 1a000b0h ;Y ^
DMAWINDOW .equ 1a000c0h ;Window LR or TB
DMATEST .equ 1a000e0h ;?
DMACONF .equ 1a000f0h ;Config
;DMASAGL .equ 1a80020h ;*Data start (low 16 bits)
;DMASAGH .equ 1a80030h ;*Data start (high 16 bits)
;DMAHORIZ .equ 1a80040h ;Dest X
;DMAVERT .equ 1a80050h ;Dest Y
;DMAHSIZE .equ 1a80060h ;Dest X size
;DMAVSIZE .equ 1a80070h ;Dest Y size
;DMACMAP .equ 1a80080h ;Color map select
;DMACONST .equ 1a80090h ;Constant color
;DMASCALEX .equ 1a800a0h ;X scale 8:8
;DMASCALEY .equ 1a800b0h ;Y ^
;DMAWINDOW .equ 1a800c0h ;Window LR or TB
;DMATEST .equ 1a800e0h ;?
;DMACONF .equ 1a800f0h ;Config
* LAYOUT OF DMA CONFIG REGISTER
DMAWIN .set 20h ; Bit 5 (0 = rt/lft, 1 = top/bot)
DMACF4 .SET 10H ; BIT 4 TIMING PARAMETER
SECCHIP .equ 1c00060h ;LOCATION OF SECURITY CHIP JKM 2/13/90
;Bits for the dma control word
DMAWZ .equ 8001h ;WRITE ZERO DATA
DMAWNZ .equ 8002h ;WRITE NON-ZERO DATA
DMACZ .equ 8004h ;WRITE CONSTANT ON ZERO DATA
DMACNZ .equ 8008h ;WRITE CONSTANT ON NON-ZERO DATA
DMAWAL .equ 8003h ;WRITE BOTH ZERO & NON-ZERO DATA
DMACAL .equ 800ch ;WRITE CONSTANT ON BOTH ZERO & NON-ZERO DATA
;IFLAGS bits
FLIPH_IFB .equ 14
SCALE_IFB .equ 15
IPCOUNT .equ -10h ;multi-part block count
ISIZE .equ 0
ISIZEX .equ 0
ISIZEY .equ 10h
IANIOFF .equ 20h
IANIOFFX .equ 20h
IANIOFFY .equ 30h
ISAG .equ 40h
ICTRL .equ 60h
ICMAP .equ 70h
ICPBZ .equ 70h ;multi-part block size
IANI2X .equ 90h
IANI2Y .equ 0a0h
IANI2Z .equ 0b0h
IFLAGS .equ 0c0h
IANI3X .equ 0d0h
IANI3Y .equ 0e0h
IANI3Z .equ 0f0h
IANI3ID .equ 100h
ICBZ .equ 110h
W .equ 0
L .equ 1
*SOUND PROCESSOR EQUATES
NINT .equ 800H ;SOUND NON-INTERRUPTABLE
NINTEQ .equ 400H ;SOUND NON-INTERRUPTABLE BY EQUAL PRIORITY
CHANNEL .equ 0F000H
NOTIME .equ 4000H
WDOGNUM .equ 1A2B3C4DH ;"SYSTEM INITIALIZED" MARKER
*FRANIM FLAG MASKS
FLIPBITS equ 4000H
NEWPALET equ 2000H
DELTAXZ equ 1000H
DELTAY equ 800H
*ANIMATION SCRIPT FLAG BIT POSITIONS
BFLIPBIT equ 14
BNEWPAL equ 13
BDELTAXZ equ 12
BDELTAY equ 11
*Palette allocator equates
.if TUNIT
;Turmell
NUMPAL .equ 80 ;Max # pals ;40
NMFPAL .equ 80 ;# foregnd pals ;40
NMBPAL .equ 0 ;# backgnd pals
.else
NUMPAL .equ 16 ;Max # pals
NMFPAL .equ 16 ;# foregnd pals
NMBPAL .equ 0 ;# backgnd pals
.endif
*struct PAL
PALID .equ 0 ;UHL *palette data
*endstruct
PALRSIZ .equ 32 ;Size of pal allocation ram
;Palette transfer ram
PLDCNT .equ 0 ;# colors
PALSRC .equ 10h ;* palette color data
PALDEST .equ 30h ;Destination palette|Start color
PALTSIZ .equ 40h ;Size of each cell
NUMPALT .equ 48 ;# of transfers allowed ;40
;;TEMP
;;;NUMPALT .equ 60 ;# of transfers allowed ;40
******************************************************************************
BIT0 equ 0001h
BIT1 equ 0002h
BIT2 equ 0004h
BIT3 equ 0008h
BIT4 equ 0010h
BIT5 equ 0020h
BIT6 equ 0040h
BIT7 equ 0080h
BIT8 equ 0100h
BIT9 equ 0200h
BIT10 equ 0400h
BIT11 equ 0800h
BIT12 equ 1000h
BIT13 equ 2000h
BIT14 equ 4000h
BIT15 equ 8000h
******************************************************************************