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