*THE T/Z-UNIT SYSTEM SPECIFIC EQUATES *.Last mod - 11/30/92 12:09 WWFUNIT .equ 1 RR_AWARD .equ 1 YUNIT .equ 1 TUNIT .equ 1 ;YUNIT also on TUNITDB .equ 0 ;TUNIT debugging TUNIT2 .equ 1 ;TUNIT also on DEBUG .equ 0 ;0 or 1 ;SND_DEBUG .equ 0 ;This flag is in SNDDEBUG.H IMGVIEW .equ 0 ;0 or 1 PAL64 .equ 0 ;1 if 64x64 pals *FOLLOWING SYMBOLS DON'T ACTUALLY WORK, YET! 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 SCRATCH .equ 1000000h ;START OF SCRATCH ;STCKST .equ 13FB3E0h ;TOP OF STACK STCKST .equ 13F73E0h ;TOP 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 .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 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 ;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 0987fh ;LED OFF, IROM PAGE 0, PALETTE ON, WRROMINT OFF, CLEAR INT .else SYSCINIT .equ 0ffb8h ;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: ; 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 ; WIDTH DMAVSIZE .equ 1a00070h ; HEIGHT 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 DMALT .equ 1a000c0h ; Window [ LEFT : TOP ] DMARB .equ 1a000d0h ; Window [ RIGHT : BOTTOM ] DMATEST .equ 1a000e0h ; RESERVED (TEST REGISTER) DMACONF .equ 1a000f0h ; 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 .if 0 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 ;single part/head part size .else IANI2X .equ 70h IANI2Y .equ 080h IANI2Z .equ 090h IFLAGS .equ 0a0h IANI3X .equ 0b0h IANI3Y .equ 0c0h IANI3Z .equ 0d0h IANI3ID .equ 0e0h ICBZ .equ 0f0h ;single part/head part size .endif 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 NUMPAL .equ 80 ;Max # pals NMFPAL .equ 80 ;# foregnd pals 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 60 ;# of transfers allowed ****************************************************************************** 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 ******************************************************************************