322 lines
10 KiB
NASM
322 lines
10 KiB
NASM
.FILE "GXRAM.ASM"
|
||
.TITLE "<<< GENERATION X -- RAM DEFINITIONS >>>"
|
||
.WIDTH 132
|
||
.OPTION B,D,L,T
|
||
.MNOLIST
|
||
|
||
**************************************************************************
|
||
* *
|
||
* COPYRIGHT (C) 1992 MIDWAY MANUFACTURING COMPANY. *
|
||
* ALL RIGHTS RESERVED. *
|
||
* *
|
||
**************************************************************************
|
||
|
||
.INCLUDE "GX.INC"
|
||
.INCLUDE "GXSCRL.H"
|
||
|
||
*IN THIS MODULE
|
||
.DEF DISPATCH_TABLE
|
||
.DEF WAVE_MUSIC, COLRTEMP, WDIFF_RAM_ST, WDIFF_RAM_END
|
||
.DEF GDIFF_RAM_ST, GDIFF_RAM_END, BTIME, SEC_FLAG
|
||
.DEF COUNTER_COPY, A2D_COPY
|
||
.DEF FOREGROUND,BUS_ATTEMPTS
|
||
.DEF WAVE_SUB, WAVE_PORTAL_TBL
|
||
.DEF SPLAYER_NUM, SPLAYER_COL, WAVE_INTRO, WAVE_EXIT
|
||
.DEF BONUS_WAVE, BONUS_TIME, P1POTVALS, P2POTVALS, P3POTVALS
|
||
.DEF RAM_CAL_START, RAM_CAL_END
|
||
.DEF P1_CAL_UL, P1_CAL_LR, P1_QUADS, P1_MULTS
|
||
.DEF P2_CAL_UL, P2_CAL_LR, P2_QUADS, P2_MULTS
|
||
.DEF P3_CAL_UL, P3_CAL_LR, P3_QUADS, P3_MULTS
|
||
.DEF ENEMY_COUNTS, ENEMIES_LEFT, ENEMY_QUOTA, POWERUP_DURATION
|
||
.DEF LAST_PRAISE, ARNOLD_SPEAK
|
||
.DEF ENEMIES_TOTAL, ENEMIES_P1, ENEMIES_P2, ENEMIES_P3
|
||
.DEF ENEMY_BONUS_ST, ENEMY_BONUS_END, HOLD_ENEMY_DISPATCH
|
||
.DEF DMACFIGCOPY, BUYIN_SECS, GUNS_OFF, IN_MAKE_DECISION
|
||
.DEF BUYIN_NOFADE, WINGS_STEVEN, WINGS_JOE, WINGS_TOM, WINGS_BRAD
|
||
.DEF WINGS_JOEY, KISSING_KERRI
|
||
.DEF ENEMY_HITALL, BONUS_DIRECTION, BONUS_ONCE, BUYIN_RESETS
|
||
.DEF ENERGY_SHIFT, BASE_HIT, BOSS_DIFF, SOCRATES, NUM_SPEARS
|
||
.DEF NUM_NSTARS, SHIELD_AWARDS, ENERGY_AWARDS, SUPERGUN_AWARDS
|
||
.DEF LAZER_AWARDS, VIOLENCE_LEVEL, DO_CREDITS, LAB_RAT
|
||
.DEF VALIDATOR, T2_KIT
|
||
|
||
.EVEN
|
||
|
||
.BSS DMACFIGCOPY,32 ;RAM COPY OF DMACONFIG REGISTER
|
||
|
||
.BSS RAMTEMP1,32 ;TEMP STORAGE FOR ANYONE
|
||
.BSS RAMTEMP2,32 ;MORE TEMP STORAGE FOR ANYONE
|
||
.BSS RAMTEMP3,32 ;YES, EVEN MORE TEMP STORAGE FOR ANYONE
|
||
.BSS RAMTEMP4,32 ;WAIT, WE'LL HAVE EVEN MORE TEMP STORAGE
|
||
|
||
.BSS RAND,32
|
||
.BSS SWSTACK,32 ;SWITCH STACK
|
||
.BSS SWTEMP1,32 ;SWITCH TIMING STORAGE FOR SWITCH
|
||
.BSS SWTEMP2,32
|
||
.BSS SW2TEMP1,32 ;SWITCH TIMING STORAGE FOR SWITCH2
|
||
.BSS SW2TEMP2,32
|
||
.BSS SWSTMN,256 ;BOTTOM OF STACK
|
||
.BSS SWSTST,0 ;START SWITCH STACK
|
||
.BSS SYSCOPY,16 ;RAM COPY OF SYSCTRL LATCH
|
||
.BSS NOAUTOE,16 ;TURN AUTO ERASE OFF FOR DEBUG
|
||
|
||
.BSS PAGE,16 ;CURRENT GRAPHICS PAGE # (0-1)
|
||
.BSS PAGEADDR,32 ;CURRENT GRAPHICS PAGE ADDRESS
|
||
.BSS CPULOW,16 ;LOWEST CPU TIME LEFT
|
||
.BSS CPUHI,16 ;HIGHEST CPU TIME LEFT
|
||
.BSS CPULEFT,16 ;CPU TIME LEFT
|
||
.BSS CPUAVG,16 ;AVERAGE CPU TIME LEFT
|
||
.BSS TIKCT,16 ;
|
||
.BSS SKIPDISP,16 ;USED TO SKIP THE DISPLAY PROCESSING
|
||
.BSS NOPGFLIP,16 ;IF <> 0, THEN NO PAGE FLIPPING, FORCE TO 0
|
||
.BSS COUNTER_COPY,16 ;CURRENT COPY OF THE COIN COUNTER LATCH
|
||
.BSS SOUND_COPY,16 ;CURRENT COPY OF SOUND LATCH
|
||
.BSS A2D_COPY,16 ;CURRENT COPY OF THE A/D LATCH
|
||
.BSS INTSYNC0,16 ;HALF SCREEN INTERRUPT SYNCHRO.\ __ KEEP THESE
|
||
.BSS INTSYNC1,16 ;FULL SCREEN INTERRUPT SYNCHRO./ TOGETHER.
|
||
|
||
.BSS PALRAM,0 ;PALETTE ALLOCATOR RAM
|
||
.BSS FPALRAM,PALRSIZ*NMFPAL
|
||
.BSS BPALRAM,PALRSIZ*NMBPAL
|
||
**** .BSS PTRRAM,PTRSIZ*NUMPTR
|
||
|
||
.BSS COLRTEMP,16*16 ;RAM COPY OF CYCLING COLORS
|
||
.BSS COLRTEND,0 ;MARKER
|
||
|
||
.BSS NewAECol,32 ;DESIRED AUTO-ERASE COLOR
|
||
.BSS OldAECol,32 ;CURRENT AUTO-ERASE COLOR
|
||
|
||
.BSS NewGNDCol,32 ;DESIRED AUTO-ERASE COLOR for Ground
|
||
.BSS OldGNDCol,32 ;CURRENT AUTO-ERASE COLOR for Ground
|
||
|
||
.BSS SKYCOLOR,16 ;CURRENT FULL BRIGHTNESS SKY COLOR VALUE
|
||
.BSS GROUNDCOLOR,16 ;CURRENT FULL BRIGHT GROUND COLOR VALUE
|
||
.BSS IRQSKYE,16 ;ACTUAL SKY COLOR (AUTOERASE)
|
||
.BSS IRQGNDE,16 ;ACTUAL GROUND COLOR (AUTOERASE)
|
||
|
||
.BSS P1DATA,PDSIZE ;PLAYER ONE DATA
|
||
.BSS P2DATA,PDSIZE ;PLAYER TWO DATA
|
||
.BSS P3DATA,PDSIZE ;PLAYER THREE DATA
|
||
|
||
.BSS P1POTVALS,32 ;PLAYER 1 POTENTIOMETER VALUES
|
||
.BSS P2POTVALS,32 ;PLAYER 2 POTENTIOMETER VALUES
|
||
.BSS P3POTVALS,32 ;PLAYER 3 POTENTIOMETER VALUES
|
||
|
||
.BSS RAM_CAL_START,0 ;RAM COPY OF CMOS CALIBRATION VALUES
|
||
|
||
.BSS P1_CAL_UL,32 ;USED AS A BUFFER DURING CALIBRATION
|
||
**** .BSS P1_CAL_CENT,32
|
||
.BSS P1_CAL_LR,32
|
||
.BSS P2_CAL_UL,32
|
||
**** .BSS P2_CAL_CENT,32
|
||
.BSS P2_CAL_LR,32
|
||
.BSS P3_CAL_UL,32
|
||
**** .BSS P3_CAL_CENT,32
|
||
.BSS P3_CAL_LR,32
|
||
|
||
.BSS RAM_CAL_END,0
|
||
|
||
***** KEEP THE FOLLOWING IN THE SAME, CHECK INITIALIZE_CALIBRATION
|
||
***** IF YOU CHANGE THE ORDER.
|
||
.BSS P1_QUADS,2*32 ;UL AND LOWER RIGHT COORDS OF P1 QUADRANTS
|
||
.BSS P2_QUADS,2*32 ;UL AND LOWER RIGHT COORDS OF P2 QUADRANTS
|
||
.BSS P3_QUADS,2*32 ;UL AND LOWER RIGHT COORDS OF P3 QUADRANTS
|
||
|
||
.BSS P1_MULTS,1*32 ;P1 WHOLE SCREEN MULTIPLIER
|
||
.BSS P2_MULTS,1*32 ;P2 WHOLE SCREEN MULTIPLIERS
|
||
.BSS P3_MULTS,1*32 ;P3 WHOLE SCREEN MULTIPLIERS
|
||
*****
|
||
*****
|
||
|
||
.BSS NPLAYERS,16 ;MAX # OF PLAYERS ALLOWED (BASE 0)
|
||
|
||
.BSS NO_MIRROR,16 ;IF = 1 GAME IS NOT VIEWED THROUGH A MIRROR
|
||
|
||
.BSS VALIDATOR,16 ;If 1, then bill validator is installed
|
||
|
||
.BSS T2_KIT,16 ;If 1, then this is a T2 retrofit
|
||
|
||
.BSS GAME_STATE,16 ;GAME STATE VARIABLE : 10 = INGAME
|
||
; 18 = ININTRO
|
||
; 1C = INBONUS
|
||
; 20 = INPLAY
|
||
; 30 = INAMODE
|
||
; 40 = INDIAG
|
||
|
||
.BSS VOLUME_SET,16 ;If = 1, then sound volume has been set
|
||
.BSS SUPRESS_PAGE_FLIP,16 ;If=1, then do not touch DPYST
|
||
|
||
.BSS OVERLOADED,16 ;If 1 then system is overloaded
|
||
|
||
*
|
||
*Game RAM -
|
||
* Anything from here thru GRAMEND is cleared at the start of each game.
|
||
*
|
||
|
||
.BSS GRAMSTRT,0 ;START OF GAME RAM
|
||
.BSS CURPLYRS,16 ;CURRENT NUMBER OF PLAYERS
|
||
.BSS WAVE,16 ;CURRENT WAVE NUMBER
|
||
.BSS SOUNDSUP,16 ;IF<>1 THEN NO SOUNDS SHALL BE MADE
|
||
.BSS GAMERASE,16 ;0 = NO AUTO-ERASE SCHEME
|
||
;1 = AUTO-ERASE, JUST PLAYFIELD
|
||
;2 = AUTO-ERASE, FIRST HALF OF SCREEN
|
||
;3 = AUTO-ERASE, WHOLE SCREEN
|
||
.BSS DIAG_DFLAG,16 ;IF<>0 DO DIAG DIRQ
|
||
|
||
.BSS BTIME,16 ;BUY IN TIMER
|
||
.BSS BUYNOW,16 ;BUY IN WINDOW IS UP
|
||
|
||
.BSS GDIFF_RAM_ST,0 ;START GAME DIFFICULTY RAM
|
||
|
||
.BSS ENERGY_SHIFT,16 ;Shift for grace energy
|
||
.BSS BASE_HIT,16 ;Base hit points per enemy hit
|
||
.BSS BOSS_DIFF,16 ;Boss monster difficulty flag
|
||
|
||
.BSS GDIFF_RAM_END,0 ;END GAME DIFFICULTY RAM
|
||
|
||
.BSS SPLAYER_NUM,16 ;PLAYER NUMBER THAT STARTED THIS GAME
|
||
|
||
.BSS SPLAYER_COL,16 ;PLAYER COLOR THAT STARTED THIS GAME
|
||
|
||
.bss BUS_ATTEMPTS,16 ; Times you have tried to destroy the bus
|
||
|
||
.BSS ENEMY_BONUS_ST,0 ;START OF ENEMY BONUSES
|
||
.BSS ENEMIES_TOTAL,16*N_ENEMIES ;TOTAL ENEMIES DISPATCHED
|
||
.BSS ENEMIES_P1,16*N_ENEMIES ;ENEMIES KILLED BY PLAYER 1
|
||
.BSS ENEMIES_P2,16*N_ENEMIES ;ENEMIES KILLED BY PLAYER 2
|
||
.BSS ENEMIES_P3,16*N_ENEMIES ;ENEMIES KILLED BY PLAYER 3
|
||
.BSS ENEMY_BONUS_END,0 ;END OF ENEMY BONUSES
|
||
|
||
.BSS WINGS_STEVEN,16 ;Flag for secret Steven pickup
|
||
.BSS WINGS_JOE,16 ;Flag for secret Joe pickup
|
||
.BSS WINGS_TOM,16 ;Flag for secret Tom pickup
|
||
.BSS WINGS_BRAD,16 ;Flag for secret Brad pickup
|
||
.BSS WINGS_JOEY,16 ;Flag for secret Joey pickup
|
||
|
||
.BSS BONUS_ONCE,16 ;Means Bonus screen has been seen once
|
||
|
||
.BSS BUYIN_RESETS,16 ;Number of remaining Buyin time resets allowed
|
||
|
||
.BSS VIOLENCE_LEVEL,16 ;Level of violence in game
|
||
|
||
.BSS DO_CREDITS,16 ;Says do the credits at the end
|
||
|
||
.BSS GRAMEND,0
|
||
|
||
*
|
||
*Wave RAM -
|
||
* Anything from here thru WRAMEND is cleared at the start of each wave.
|
||
*
|
||
|
||
.BSS WRAMSTRT,0 ;START OF WAVE RAM (CLEARED AT THE START)
|
||
|
||
.BSS WAVEDMABOG,32 ;ELAPSED WAVE DMA BOGS
|
||
.BSS WAVECPUBOG,32 ;ELAPSED WAVE CPU BOGS
|
||
|
||
.BSS WAVETIME,32 ;ELAPSED WAVE TIME
|
||
.BSS WAVEIRQS,32 ;ELAPSED WAVE DISPLAY INTERRUPTS
|
||
.BSS WAVEDISPS,16 ;ELAPSED WAVE DISPLAY PROCESSOR CALLS
|
||
.BSS WAVEVEL,16 ;ELAPSED WAVE VELADD CALLS
|
||
.BSS WAVE_MUSIC,32 ;MUSIC FOR THIS WAVE
|
||
.BSS WAVE_UNIV,32 ;WAVE PRIMARY BACKGROUND
|
||
.BSS WAVE_IPLANE,32 ;WAVE INFINITY BACKGROUND PLANE
|
||
.BSS WAVE_SCROLL,32 ;SCROLL ROUTINE FOR THIS WAVE
|
||
.BSS WAVE_SUB,32 ;NEXT SUB WAVE
|
||
.BSS WAVE_INTRO,32 ;INTRO FOR THIS WAVE
|
||
.BSS WAVE_EXIT,32 ;POST WAVE SHOW
|
||
.BSS WAVE_PAUSE,16 ;PAUSE AT END OF SUB WAVE
|
||
.BSS WAVE_WAIT,16 ;WAIT FOR SCROLLER AT END OF SUB WAVE
|
||
.bss WAVE_PORTAL_TBL,32 ;Table of scroll tables for each portal
|
||
|
||
|
||
.BSS FOREGROUND,32 ;PTR TO FOREGROUND TABLE FOR THIS WAVE
|
||
|
||
.BSS DISPATCH_TABLE,32 ;WAVE DISPATCH TABLE
|
||
|
||
.BSS OBJENEMIES,16 ;OBJECT ENEMY DISPATCH FLAGS
|
||
|
||
.BSS WDIFF_RAM_ST,0 ;START WAVE DIFFICULTY RAM
|
||
|
||
.BSS POWERUP_DURATION,16 ;TICKS THAT A POWERUP WILL STAY
|
||
|
||
.BSS WDIFF_RAM_END,0 ;END WAVE DIFFICULTY RAM
|
||
|
||
.BSS ENEMY_COUNTS,16*N_ENEMIES ;ACTIVE ENEMY COUNTER ARRAY
|
||
.BSS ENEMIES_LEFT,16*N_ENEMIES ;ENEMIES LEFT TO KILL ARRAY
|
||
|
||
.BSS ENEMY_QUOTA,16,1 ;IF <> 0, ENEMY QUOTA THIS WAVE COMPLETE
|
||
; 1 = NORMAL WAVE END
|
||
; 2 = QUICK WAVE END
|
||
|
||
.BSS PAUSE_GAME,16 ;IF <> 0, THEN PAUSE GAME PLAY
|
||
|
||
.BSS WAVE_OVER,16 ;IF <> 0, THEN THE WAVE HAS ENDED
|
||
|
||
.BSS BONUS_WAVE,16 ;IF <> 0, THIS IS SOME TYPE OF BONUS
|
||
|
||
.BSS BONUS_TIME,16 ;TIME FOR THIS BONUS WAVE
|
||
|
||
.BSS SUBWAVE,16 ;CURRENT SUB-WAVE LEVEL, 0 = TOP
|
||
|
||
.BSS PRAISE_FLAG,16 ;FLAG TO PRAISE THE PLAYER
|
||
.BSS ARNOLD_SPEAK,16 ;0 = ARNOLD MAY SPEAK NOW
|
||
|
||
.BSS HUP_OFF,16 ;HEADS UP DISPLAY OFF FLAG
|
||
|
||
.BSS DISPATCH_DELAY,16 ;TICKS BEFORE WE DISPATCH AGAIN
|
||
|
||
.BSS BOSS_PUNISH,16 ;IF <> 0 BOSS MONSTER IS OUT
|
||
|
||
.BSS GUN_ONE_SHOT,16 ;PUT PLAYER GUNS IN ONE-SHOT MODE
|
||
|
||
.BSS GUNS_OFF,16 ;Turn player guns off
|
||
|
||
.BSS BUYIN_SECS,16 ;Buyin seconds elapsed, last buyin
|
||
|
||
.BSS LAST_PRAISE,32 ;WAVE TIME OF LAST PLAYER PRAISE
|
||
|
||
.BSS MDec_RAM,MDec_Size*MDec_Num ;Decision point storage
|
||
|
||
.BSS IN_MAKE_DECISION,16 ;The decision buttons are up
|
||
|
||
.BSS HOLD_ENEMY_DISPATCH,16 ;Suspend any enemy dispatching
|
||
|
||
.BSS BUYIN_NOFADE,32 ;No fade table for buy-in effect
|
||
|
||
.BSS ENEMY_HITALL,16 ;ENEMIES HIT ALL PLAYERS
|
||
|
||
.BSS KISSING_KERRI,16 ;There is an active pop-up Kerri
|
||
|
||
.BSS BONUS_DIRECTION,16 ;Direction for bonus scroll in
|
||
;0=from top, 1=from bot, 2=from left
|
||
|
||
.BSS BLACKOUT,16 ;SET BACKPAL FLAG
|
||
|
||
.BSS SOCRATES,16 ;Tells us when we are in the crates
|
||
|
||
.BSS LAB_RAT,16 ;Tells us when we are in the R&D area
|
||
|
||
.bss NUM_SPEARS,16 ;how many spears out there?
|
||
|
||
.BSS NUM_NSTARS,16 ;How many stars out there
|
||
|
||
.BSS SHIELD_AWARDS,16 ;# of times Shields awarded this wave
|
||
.BSS ENERGY_AWARDS,16 ;# of times Energy awarded this wave
|
||
.BSS SUPERGUN_AWARDS,16 ;# of times Supergun awarded this wave
|
||
.BSS LAZER_AWARDS,16 ;# of times Lazer awarded this wave
|
||
|
||
; .BSS UNUSED_WORD,16 ;For alignment purposes
|
||
|
||
.BSS WRAMEND,0
|
||
|
||
.BSS SEC_FLAG,16 ;SECURITY FLAG
|
||
|
||
.IF NOTFINAL
|
||
.BSS INTADDR,32 ;FOR DEBUGGING, PTR TO INTERRUPTED PC (or 0)
|
||
.BSS LASTINT,32 ;LAST INTADDR
|
||
.ENDIF
|
||
|
||
|
||
|
||
.END
|
||
|