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