2335 lines
45 KiB
NASM
2335 lines
45 KiB
NASM
|
.FILE 'ROBOATT.ASM'
|
|||
|
.TITLE "ROBO ATTRACT MODE"
|
|||
|
.WIDTH 132
|
|||
|
.OPTION B,D,L,T
|
|||
|
.MNOLIST
|
|||
|
;
|
|||
|
;
|
|||
|
; COPYRIGHT (C) 1989 WILLIAMS ELECTRONICS GAMES, INC.
|
|||
|
;
|
|||
|
;
|
|||
|
; GET THE SYSTEM STUFF
|
|||
|
;
|
|||
|
|
|||
|
.INCLUDE "MPROC.EQU" ;MPROC EQUATES
|
|||
|
.INCLUDE "DISP.EQU" ;DISPLAY PROC. EQUATES
|
|||
|
.INCLUDE "\VIDEO\SYS\SYS.INC" ;Z UNIT SYSTEM EQUATES
|
|||
|
.INCLUDE "\VIDEO\SYS\GSP.INC"
|
|||
|
.INCLUDE "\VIDEO\SYS\MACROS.HDR" ;MACROS DEFINITIONS
|
|||
|
.INCLUDE "MAC2.ASM" ;MACRO 2 DEFINITIONS
|
|||
|
.INCLUDE "IMGTBL.GLO"
|
|||
|
.INCLUDE "BGNDTBL.GLO" ;BACKGROUND EQUATES
|
|||
|
.INCLUDE "ROBO.EQU"
|
|||
|
.INCLUDE "AUDIT.EQU"
|
|||
|
|
|||
|
|
|||
|
.BSS PAL1,16*16*2 ;ALLOCATE 2 X COLOR AREA IN RAM
|
|||
|
.BSS PAL2,16*16*2 ;ALLOCATE 2 X COLOR AREA IN RAM
|
|||
|
.BSS STORYNUM,16
|
|||
|
.BSS P1PZ1,8
|
|||
|
.BSS P1PZ2,8
|
|||
|
.BSS P1PZ3,8
|
|||
|
.BSS P1CSH,16
|
|||
|
.BSS P2PZ1,8
|
|||
|
.BSS P2PZ2,8
|
|||
|
.BSS P2PZ3,8
|
|||
|
.BSS P2CSH,16
|
|||
|
|
|||
|
.BSS TMP,8
|
|||
|
.BSS DUMB2,8
|
|||
|
.BSS TMP1,32
|
|||
|
.BSS TMP2,32
|
|||
|
.BSS PLAYPAGE,16
|
|||
|
.BSS STATUS,16
|
|||
|
.BSS WANTIN,8
|
|||
|
|
|||
|
.TEXT
|
|||
|
;
|
|||
|
;SOUNDS
|
|||
|
;
|
|||
|
.REF MCSPK6,MCSPK5,LEGOSND,STRYMSC,MONIN,MBANG,FADE_DOWN,FADE_UP
|
|||
|
.REF MUSICOFF,HIMUSC,CROWD1
|
|||
|
;EUGENE HIGH SCORES
|
|||
|
.REF GETHIGH,GETINIT,KEEPON,GET_ADJ,CIRCUIT,CLNPAL,GOS
|
|||
|
;
|
|||
|
; SYMBOLS DEFINED IN THIS FILE
|
|||
|
;
|
|||
|
.DEF GRATS,CLRP1PZ,CLRP2PZ
|
|||
|
.DEF ATSTRT,PLAYPAGE,WANTIN,SPRKL,GETLVS,SMASHON
|
|||
|
.DEF SYSINITL,P1PZ1,P1PZ2,P1PZ3,P1CSH,P2PZ1,P2PZ2,P2PZ3,P2CSH
|
|||
|
.DEF WIPEOUT,INITIALS
|
|||
|
.DEF P1START,DEC_LV
|
|||
|
.DEF P2START
|
|||
|
.DEF ADDBUY
|
|||
|
.DEF SCRIPTPLAY
|
|||
|
.DEF ATTSLP,STATUS
|
|||
|
;
|
|||
|
; SYMBOLS DEFINED EXTERNALLY
|
|||
|
;
|
|||
|
.REF DOMNTR,COVER,EHALT,BOSSON,DOSHK0,SHAKER,CLRBPAL
|
|||
|
; .REF FBI_LIT
|
|||
|
.REF SPEECH,COLCYC,FLR2_LIT,HULKTYP
|
|||
|
.REF FIGURES,BSCORE,ENTERON
|
|||
|
.REF GPALOBJ,XYSEEK,AUTOPAL3
|
|||
|
.REF OBJON,OBJOFF,SYNCHALF,WNTOUT,CLRPAL
|
|||
|
.REF P1LVS,P2LVS,LFCY,RFCY,LFACEP,RFACEP,CNTDIG1,CNTDIG2
|
|||
|
.REF KP_LS,KP_RS,CANT,OBJSCRN
|
|||
|
.REF METERP1,METERP2,P2MTRY,P1MTRY,SET_GATE_2,RINGS
|
|||
|
.REF GAMSTATE,RD7FONT,RD15FONT,WAVE,P1CTRL,P2CTRL,SOUNDSUP,IRQSKYE
|
|||
|
.REF SCRCLR,INIT_DEMO,P1DATA,P2DATA,KILALL,BAKLST,PLYRPRCS
|
|||
|
.REF DELPAL,DELOBJ,FRANIM,RANGRAND
|
|||
|
.REF BAKMODS
|
|||
|
.REF BGND_UD1,PLYROBJS,MTR1CNT
|
|||
|
.REF DISPLAYON,MYOINIT,CLR_SCRN,DMAQWAIT
|
|||
|
.REF CLRWORLD,GAMERASE,SCORE_FLAG,GETFPAL
|
|||
|
.REF CLRSWPRC,SYNCFULL,DRAW_PLYR_TORSO
|
|||
|
.REF SYSCOPY,CRD_SCRN,KILL_CRD,SET_1ST
|
|||
|
.REF CR_CONTP,P_CONT,CR_STRTP,P_START,AUD,AUD1
|
|||
|
.REF WNDWON,WNDWOFF,EXPSCRN,SNKSCRN,SNKNOW,DELWNDW
|
|||
|
.REF KILBGND,CLR_ALL
|
|||
|
.REF AWAVE,INIT_GAME
|
|||
|
.REF MSG_PROC
|
|||
|
.REF SCORETYP,HALT,STARTUP
|
|||
|
.REF LIVECNT
|
|||
|
.REF FROMDR
|
|||
|
.REF COLRPRC
|
|||
|
.REF SCRFIL,AUTOEOFF
|
|||
|
.REF AUTOEON
|
|||
|
.REF FADEOUT,FADEIN,BLAKOUT
|
|||
|
|
|||
|
|
|||
|
;TEMPORARILY REFERENCED
|
|||
|
.REF STRCNRMO
|
|||
|
;
|
|||
|
;ATTRACT MODE START UP ROUTINE
|
|||
|
;
|
|||
|
ATSTRT:
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@GAMERASE
|
|||
|
MOVE @GAMSTATE,A0
|
|||
|
CMPI INDIAG,A0
|
|||
|
JREQ ATSTRTX
|
|||
|
MOVI INAMODE,A0
|
|||
|
MOVE A0,@GAMSTATE,W
|
|||
|
MOVI IBUYINS,A0
|
|||
|
MOVE A0,@P1DATA+PBUYINS,W ;MAKE SURE WE ALLOW BUYINS
|
|||
|
MOVE A0,@P2DATA+PBUYINS,W
|
|||
|
CALLA COLRPRC
|
|||
|
CREATE AMDEPID,AMODE ;CREATE THE ATTRACT MODE
|
|||
|
CLR A0
|
|||
|
MOVE A0,@PLAYPAGE,W ;CLEAR AMODE PLAY PAGE
|
|||
|
MOVE A0,@HALT
|
|||
|
MOVE A0,@BSCORE
|
|||
|
MOVE A0,@HULKTYP
|
|||
|
MOVE A0,@ENTERON
|
|||
|
ATSTRTX:
|
|||
|
RETS
|
|||
|
;
|
|||
|
; CYCLE BETWEEN MODES
|
|||
|
;
|
|||
|
AMODE:
|
|||
|
; JRUC AMJ
|
|||
|
; JSRP INITIALS ;ENTER INITIALS SCREEN
|
|||
|
;AMJ
|
|||
|
JSRP HSTDTAB ;SHOW HIGH SCORE TO DATE TABLE
|
|||
|
JSRP TITLPAGE ;DISPLAY TITLE (SPLASH SCREEN) PAGE
|
|||
|
CALLA CLRBPAL
|
|||
|
JSRP ATTPLAY ;DO SOME ATTRACT MODE PLAY STUFF
|
|||
|
SLEEP 1
|
|||
|
CALLA CLRBPAL
|
|||
|
JSRP LOGOSC
|
|||
|
JSRP DO_CRD_SCRN ;DISPLAY INSERT COIN SCREEN
|
|||
|
CALLA CLRBPAL
|
|||
|
JSRP TITLPAGE ;DISPLAY TITLE (SPLASH SCREEN) PAGE
|
|||
|
JSRP HSTDTAB ;SHOW HIGH SCORE TO DATE TABLE
|
|||
|
JSRP ATTPLAY ;DO SOME ATTRACT MODE PLAY STUFF
|
|||
|
JSRP DO_CRD_SCRN ;CREDIT INFO SCREEN
|
|||
|
CALLA CLRBPAL
|
|||
|
; JSRP DOFBI ;DISPLAY FBI SCRN
|
|||
|
JSRP HSTDTAB ;SHOW HIGH SCORE TO DATE TABLE
|
|||
|
JSRP TITLPAGE ;DISPLAY TITLE (SPLASH SCREEN) PAGE
|
|||
|
CALLA CLRBPAL
|
|||
|
JSRP ATTPLAY ;DO ATTRACT MODE DEMO PLAY
|
|||
|
SLEEP 20
|
|||
|
|
|||
|
JSRP OFFERT
|
|||
|
|
|||
|
SLEEP 1 ;60 ;SLEEP AWHILE
|
|||
|
MOVI AMDEPID,A0
|
|||
|
MOVE A0,*A13(PROCID),W
|
|||
|
JRUC AMODE
|
|||
|
|
|||
|
KILCYC
|
|||
|
MOVI COLRPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL ;KILL ALL COLOR UPDATE PROCESSES
|
|||
|
RETS
|
|||
|
TITLPAGE:
|
|||
|
JSRP WNDWON
|
|||
|
CALLA KILBGND ;KILL OLD BACKGROUND IF ANY EXISTED
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBWNDW,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILOBJ
|
|||
|
|
|||
|
CALLR KILCYC
|
|||
|
|
|||
|
MOVI SDP1,A8 ;PAL NAME
|
|||
|
MOVI PAL1,A9 ;RAM AREA
|
|||
|
MOVI [29H,37H],A10 ;BEGIN/END COLOR #
|
|||
|
MOVK 4,A11 ;RATE IN TICKS
|
|||
|
CREATE CYCPID,COLCYC ;COLOR CYCLER ON
|
|||
|
|
|||
|
MOVI TITLE,A0
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
CALLA BGND_UD1
|
|||
|
|
|||
|
|
|||
|
CREATE CAMPID,SMASHME
|
|||
|
|
|||
|
|
|||
|
SLEEP 60*10 ;10
|
|||
|
MOVI CAMPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL
|
|||
|
MOVI 33,A0 ;CAMERA & LIGHT
|
|||
|
CALLA KILOBJ
|
|||
|
MOVB @CANT,A0
|
|||
|
JREQ CJ
|
|||
|
DP SLEEP 1
|
|||
|
JRUC DP
|
|||
|
CJ RETP
|
|||
|
|
|||
|
SMASHON
|
|||
|
SLEEP 1
|
|||
|
MOVI SMASZ,A10
|
|||
|
MOVI SMASTV2,A9
|
|||
|
CALLR TOB1
|
|||
|
|
|||
|
MOVI 15000H,A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVE A0,*A9(OYVEL),L
|
|||
|
SLEEP 54H
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVE A0,*A9(OYVEL),L
|
|||
|
SLEEP 60
|
|||
|
MOVI -70000H,A0
|
|||
|
JRUC KILOFF
|
|||
|
|
|||
|
TOB1
|
|||
|
MOVE A10,A14
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE A9,A14
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A9
|
|||
|
RETS
|
|||
|
SMASHME
|
|||
|
SLEEP 60*3-30
|
|||
|
MOVI SMAS,A10
|
|||
|
MOVI SMASTV,A9
|
|||
|
CALLR TOB1
|
|||
|
|
|||
|
MOVI 50000H,A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVE A0,*A9(OYVEL),L
|
|||
|
SLEEP 27
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVE A0,*A9(OYVEL),L
|
|||
|
|
|||
|
;SOUNDS OFF IN DEMO
|
|||
|
ADJUST ADJMUSIC ;GET MUSIC ON OFF FOR DEMO
|
|||
|
MOVE A0,A0
|
|||
|
JRNZ NONO
|
|||
|
MOVI MBANG,A0 ;MBANG
|
|||
|
CALLA ONESND
|
|||
|
|
|||
|
NONO MOVI 30,A10
|
|||
|
CALLA SHAKER
|
|||
|
|
|||
|
SLEEP 60*5
|
|||
|
ADJUST ADJMUSIC ;GET MUSIC ON OFF FOR DEMO
|
|||
|
MOVE A0,A0
|
|||
|
JRNZ NONO2
|
|||
|
MOVI MONIN,A0
|
|||
|
CALLA ONESND
|
|||
|
NONO2 MOVI 70000H,A0
|
|||
|
KILOFF
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVE A0,*A9(OXVEL),L
|
|||
|
SLEEP 90
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVE A0,*A9(OXVEL),L
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE A9,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
|
|||
|
SMAS
|
|||
|
.LONG 0B80000H,-600000H,SMASH
|
|||
|
.WORD 130,DMAWNZ,33
|
|||
|
.LONG 0,0
|
|||
|
SMASZ ;FOR TOBIAS
|
|||
|
.LONG 0C00000H,01000000H,SMASH
|
|||
|
.WORD 07FFFH,DMAWNZ,33
|
|||
|
.LONG 0,0
|
|||
|
SMASTV2
|
|||
|
.LONG 0C00000H,01000000H,TVBOX
|
|||
|
.WORD 07FFFH,DMAWNZ,33
|
|||
|
.LONG 0,0
|
|||
|
SMAS2
|
|||
|
.LONG 0B80000H,-1600000H,SMASH
|
|||
|
.WORD 130,DMAWNZ,33
|
|||
|
.LONG 0,0
|
|||
|
SMASTV
|
|||
|
.LONG 0B80000H,-600000H,TVBOX
|
|||
|
.WORD 131,DMAWNZ,33
|
|||
|
.LONG 0,0
|
|||
|
|
|||
|
MONTR SLEEP 634H ;114H ;5*60
|
|||
|
|
|||
|
MOVK 3,A9 ;NO SPEECH NO CASH
|
|||
|
CREATE 0,COVER
|
|||
|
CREATE TVPID,DOMNTR
|
|||
|
DIE
|
|||
|
INITIALS
|
|||
|
JSRP WNDWON
|
|||
|
CALLA KILBGND ;KILL OLD BACKGROUND IF ANY EXISTED
|
|||
|
; MOVI CLSNEUT|TYPTEXT|SUBWNDW,A0
|
|||
|
; CLR A1
|
|||
|
; NOT A1
|
|||
|
; CALLA KILOBJ
|
|||
|
|
|||
|
MOVI INITL,A0
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
CALLA BGND_UD1
|
|||
|
MOVI INITL,A0
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
CALLA BGND_UD1
|
|||
|
|
|||
|
MOVI SCRNEND,A0 ;[256,405],A0
|
|||
|
MOVE A0,@SCRNLR,L
|
|||
|
CREATE CYCPID,FLR2_LIT
|
|||
|
CALLA FIGURES ;TURN ON PLYRS, GIRLS, ETC.
|
|||
|
|
|||
|
JSRP WNDWOFF
|
|||
|
;ENTER INITIALS HERE
|
|||
|
JSRP GETINIT ;GET INITIALS BOYS...
|
|||
|
JSRP WNDWON
|
|||
|
|
|||
|
CALLA KILBGND
|
|||
|
MOVI CYCPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL
|
|||
|
MOVI BONPID,A0
|
|||
|
CALLA KILALL
|
|||
|
MOVI BON1PID,A0
|
|||
|
CALLA KILALL
|
|||
|
SLEEP 2
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBWNDW,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILOBJ
|
|||
|
SLEEP 1
|
|||
|
CALLA MYOINIT
|
|||
|
RETP
|
|||
|
|
|||
|
;DOFBI
|
|||
|
; JSRP WNDWON
|
|||
|
; CALLA KILBGND ;KILL OLD BACKGROUND IF ANY EXISTED
|
|||
|
; MOVI CLSNEUT|TYPTEXT|SUBWNDW,A0
|
|||
|
; CLR A1
|
|||
|
; NOT A1
|
|||
|
; CALLA KILOBJ
|
|||
|
;
|
|||
|
; MOVI FBI1,A0
|
|||
|
; MOVE A0,@BAKMODS,L
|
|||
|
; CALLA BGND_UD1
|
|||
|
; MOVI FBI1,A0
|
|||
|
; MOVE A0,@BAKMODS,L
|
|||
|
; CALLA BGND_UD1
|
|||
|
; MOVI FBI1,A0
|
|||
|
; MOVE A0,@BAKMODS,L
|
|||
|
; CALLA BGND_UD1
|
|||
|
;
|
|||
|
; MOVI FBIP,A0
|
|||
|
; CALLA BLAKOUT
|
|||
|
;
|
|||
|
; MOVI SCRNEND,A0 ;[256,405],A0
|
|||
|
; MOVE A0,@SCRNLR,L
|
|||
|
;
|
|||
|
; MOVI PAL3ATAB,A0
|
|||
|
; MOVK 2,A1 ;FADE TITLE SCREEN IN FROM BLACK
|
|||
|
; CALLA FADEIN
|
|||
|
; CREATE CYCPID,FBI_LIT
|
|||
|
;
|
|||
|
; SLEEP 4*60+30
|
|||
|
;
|
|||
|
; MOVI CYCPID,A0
|
|||
|
; CLR A1
|
|||
|
; NOT A1
|
|||
|
; CALLA KILALL
|
|||
|
;
|
|||
|
; MOVI PAL3ATAB,A0
|
|||
|
; MOVK 2,A1 ;FADE TITLE SCREEN OUT TO BLACK
|
|||
|
; CALLA FADEOUT
|
|||
|
;
|
|||
|
; SLEEP 60
|
|||
|
; CALLA CLR_SCRN
|
|||
|
; MOVB @CANT,A0
|
|||
|
; JREQ ACJA
|
|||
|
;ADPA SLEEP 1
|
|||
|
; JRUC ADPA
|
|||
|
;ACJA RETP
|
|||
|
|
|||
|
|
|||
|
GRATS
|
|||
|
; MOVI GRAT,A0
|
|||
|
; MOVE A0,@BAKMODS,L
|
|||
|
; CALLA BGND_UD1
|
|||
|
; MOVI GRAT,A0
|
|||
|
; MOVE A0,@BAKMODS,L
|
|||
|
; CALLA BGND_UD1
|
|||
|
MOVI HIMUSC,A0
|
|||
|
CALLA ONESND
|
|||
|
MOVI GRAT,A0
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
CALLA BGND_UD1
|
|||
|
MOVI SCRNEND,A0 ;[256,405],A0
|
|||
|
MOVE A0,@SCRNLR,L
|
|||
|
JSRP WNDWOFF
|
|||
|
CREATE CYCPID,GOSA
|
|||
|
MOVI GRAT,A0
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
CALLA BGND_UD1
|
|||
|
CREATE CYCPID,FLR2_LIT
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@STORYNUM
|
|||
|
CREATE 0,DOSTRY
|
|||
|
SLEEP 018BAH
|
|||
|
JRUC INHERE
|
|||
|
GOSA MOVI CROWD1,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 870H
|
|||
|
CREATE CYCPID,GOS
|
|||
|
DIE
|
|||
|
LOGOSC
|
|||
|
MOVI LOGO,A0
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
CALLA BGND_UD1
|
|||
|
MOVI LOGO,A0
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
CALLA BGND_UD1
|
|||
|
MOVI LOGO,A0
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
CALLA BGND_UD1
|
|||
|
; MOVI DLSTZ,A1
|
|||
|
; CALLA UNGET
|
|||
|
CALLA CLNPAL
|
|||
|
MOVI LGP,A0
|
|||
|
CALLA BLAKOUT
|
|||
|
|
|||
|
|
|||
|
MOVI SCRNEND,A0 ;[256,405],A0
|
|||
|
MOVE A0,@SCRNLR,L
|
|||
|
|
|||
|
MOVI PAL3TAB,A0
|
|||
|
MOVK 2,A1 ;FADE TITLE SCREEN IN FROM BLACK
|
|||
|
CALLA FADEIN
|
|||
|
|
|||
|
MOVI SMAS2,A14
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
|
|||
|
CLR A0
|
|||
|
MOVE A0,@STORYNUM
|
|||
|
CREATE 0,DOSTRY
|
|||
|
CREATE 0,MONTR
|
|||
|
CREATE 0,SPARK
|
|||
|
|
|||
|
SLEEP 5C5H ;49*60/2
|
|||
|
INHERE
|
|||
|
;STOP ALL SCROLLING LETTERS (ONLY LAST 2 LINES ARE VIEWABLE)
|
|||
|
;STOP DISPLAY PROCESSOR HERE FOR PROPER ALIGNMENT
|
|||
|
|
|||
|
DN0 CLR A1
|
|||
|
NOT A1
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBNEW,A0
|
|||
|
CALLA EXISTOBJ
|
|||
|
JRZ DNS
|
|||
|
;FOUND 1
|
|||
|
MOVK 1,A1
|
|||
|
MOVE A1,*A0(OID)
|
|||
|
CLR A1
|
|||
|
MOVE A1,*A0(OYVEL),L
|
|||
|
JRUC DN0
|
|||
|
DNS
|
|||
|
;START DISPLAY PROCESSOR UP AGAIN
|
|||
|
SLEEP 78H ;2*60
|
|||
|
;SEND REMAINING TEXT FLYING OFF SCREEN
|
|||
|
FN0 CLR A1
|
|||
|
NOT A1
|
|||
|
MOVK 1,A0
|
|||
|
CALLA EXISTOBJ
|
|||
|
JRZ FNS
|
|||
|
;FOUND 1
|
|||
|
CLR A1
|
|||
|
MOVE A1,*A0(OID)
|
|||
|
MOVI -10000H,A1 ;8000
|
|||
|
MOVE A1,*A0(OYVEL),L
|
|||
|
JRUC FN0
|
|||
|
FNS
|
|||
|
|
|||
|
SLEEP 1F8H ;204H-60 ;6*60/2
|
|||
|
MOVE @STORYNUM,A0
|
|||
|
JRNZ CJA
|
|||
|
SLEEP 0CH ;60
|
|||
|
MOVI PAL3TAB,A0
|
|||
|
MOVK 2,A1 ;FADE TITLE SCREEN OUT TO BLACK
|
|||
|
CALLA FADEOUT
|
|||
|
SLEEP 60
|
|||
|
CALLA CLR_SCRN
|
|||
|
MOVB @CANT,A0
|
|||
|
JREQ CJA
|
|||
|
DPA SLEEP 1
|
|||
|
JRUC DPA
|
|||
|
CJA RETP
|
|||
|
|
|||
|
PAL5TAB:
|
|||
|
.LONG HSC,DUXPAL,smlg,0
|
|||
|
PAL4TAB:
|
|||
|
.LONG HSC,NUARENAP,0
|
|||
|
PAL3TAB:
|
|||
|
.LONG AUTOPAL3,LGP,0
|
|||
|
PAL3BTAB:
|
|||
|
.LONG LGP,0
|
|||
|
;PAL3ATAB:
|
|||
|
; .LONG FBIP,0
|
|||
|
SPARK
|
|||
|
;SPARKLES ON LOGO
|
|||
|
SLEEP 120
|
|||
|
;TURN ON OBJECT
|
|||
|
MOVI SPK,A14
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
CALLA ADJSTWTL
|
|||
|
|
|||
|
STP MOVK 1,B0
|
|||
|
MOVK 4,B1
|
|||
|
CALLA RANGRAND
|
|||
|
DEC A0
|
|||
|
SLL 4,A0
|
|||
|
MOVI SPRKX,A1
|
|||
|
ADD A0,A1
|
|||
|
MOVE *A1,A1,W ;A1=X OF SPARKLE
|
|||
|
ADDI SPRKY,A0
|
|||
|
MOVE *A0,A0,W ;A0=Y
|
|||
|
MOVE A1,*A8(OXPOS),W
|
|||
|
MOVE A0,*A8(OYPOS),W
|
|||
|
MOVE A8,A0
|
|||
|
CALLA OBJON
|
|||
|
MOVI SPRKL,A9
|
|||
|
MOVK 1,A1 ;TILL END OF LIST
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A8,A0
|
|||
|
CALLA OBJOFF
|
|||
|
SLEEP 30 ;2*60
|
|||
|
JRUC STP
|
|||
|
|
|||
|
SPRKL .LONG GLM0
|
|||
|
.WORD 4
|
|||
|
.LONG GLM1
|
|||
|
.WORD 4
|
|||
|
.LONG GLM2
|
|||
|
.WORD 4
|
|||
|
.LONG GLM3
|
|||
|
.WORD 4
|
|||
|
.LONG GLM2
|
|||
|
.WORD 4
|
|||
|
.LONG GLM1
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
SPRKX: .WORD 097H,0F3H,0C6H,0C6H
|
|||
|
SPRKY: .WORD 055H,055H,055H,036H
|
|||
|
SPK
|
|||
|
.LONG 0,1000,GLM0
|
|||
|
.WORD 90,DMAWNZ,CLSNEUT|TYPNEUT
|
|||
|
.LONG 0,0
|
|||
|
;
|
|||
|
DOSTRY
|
|||
|
;TURN ON MUSIC SND
|
|||
|
; MOVI STRYMSC,A0
|
|||
|
; CALLA ONESND
|
|||
|
|
|||
|
; MOVK 1,A0
|
|||
|
; MOVB A0,@GOUP
|
|||
|
MOVI DRLPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL
|
|||
|
MOVI DRRPID,A0
|
|||
|
CALLA KILALL
|
|||
|
MOVI DRTOPID,A0
|
|||
|
CALLA KILALL
|
|||
|
CLR A0
|
|||
|
MOVB A0,@TMP
|
|||
|
DOST SLL 5,A0
|
|||
|
MOVE @STORYNUM,A8
|
|||
|
JRZ DO1ST
|
|||
|
ADDI SY2,A0
|
|||
|
JRUC DO2ND
|
|||
|
DO1ST
|
|||
|
ADDI SY,A0
|
|||
|
DO2ND MOVE *A0,A8,L
|
|||
|
JRZ DOST1
|
|||
|
MOVI [0108H,0C8H],A9 ;Y,X POSITION
|
|||
|
MOVI [0,2],A10 ;Y,X SPACING BETWEEN CHARACTERS
|
|||
|
MOVI RD15FONT,A11 ;FONT TABLE
|
|||
|
CLR A0
|
|||
|
MOVI 3F3FH,A6 ;COLOR
|
|||
|
JSRP STRCNRMO ;PRINT OUT SHIT
|
|||
|
; CALLA SYNCFULL ;NOW WAIT FOR VBLANK TO ZAP COLOR MAP
|
|||
|
; CALLA SYNCHALF
|
|||
|
; CLR A0
|
|||
|
; MOVE A0,@DISPLAYON
|
|||
|
;GIVE ALL TEXTOID IMGS A -YVEL
|
|||
|
; DINT
|
|||
|
D33 MOVI CLSNEUT|TYPTEXT|SUBTXT,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTOBJ
|
|||
|
JRZ D34
|
|||
|
MOVI -010000H,A1 ;8000
|
|||
|
MOVE @STORYNUM,A2
|
|||
|
JRZ DFUCK
|
|||
|
MOVI -08000H,A1 ;8000
|
|||
|
DFUCK
|
|||
|
MOVE A1,*A0(OYVEL),L
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBNEW,A1
|
|||
|
MOVE A1,*A0(OID),W
|
|||
|
MOVI 100,A1 ;SO THAT WINDOW WILL BE ABOVE TEXT!
|
|||
|
;IN CASE OF START BUTTON PRESSED!
|
|||
|
MOVE A1,*A0(OZPOS)
|
|||
|
JRUC D33
|
|||
|
D34
|
|||
|
; EINT
|
|||
|
; MOVK 1,A0
|
|||
|
; MOVE A0,@DISPLAYON
|
|||
|
SLEEP 45 ;90
|
|||
|
MOVE @STORYNUM,A0
|
|||
|
JRZ CONH
|
|||
|
SLEEP 65 ;90
|
|||
|
CONH
|
|||
|
;KILL EVERYTHING OFF SCREEN
|
|||
|
CALLA OBJSCRN
|
|||
|
MOVB @TMP,A0
|
|||
|
INC A0
|
|||
|
MOVB A0,@TMP
|
|||
|
JRUC DOST
|
|||
|
DOST1
|
|||
|
SLEEP 3*60
|
|||
|
DIE
|
|||
|
|
|||
|
DO_CRD_SCRN:
|
|||
|
JSRP CRD_SCRN ;SHOW CREDITS SCREEN SUPERIMPOSED
|
|||
|
MOVI LOGO2,A0
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
CALLA BGND_UD1
|
|||
|
MOVI LGP,A0
|
|||
|
CALLA BLAKOUT
|
|||
|
|
|||
|
|
|||
|
MOVI SCRNEND,A0 ;[256,405],A0
|
|||
|
MOVE A0,@SCRNLR,L
|
|||
|
|
|||
|
MOVI PAL3BTAB,A0
|
|||
|
MOVK 2,A1 ;FADE TITLE SCREEN IN FROM BLACK
|
|||
|
CALLA FADEIN
|
|||
|
|
|||
|
|
|||
|
SLEEP 4*60
|
|||
|
|
|||
|
MOVI PAL3BTAB,A0
|
|||
|
MOVK 2,A1 ;FADE TITLE SCREEN OUT TO BLACK
|
|||
|
CALLA FADEOUT
|
|||
|
SLEEP 1CH
|
|||
|
|
|||
|
CALLA KILL_CRD
|
|||
|
CALLA CLR_SCRN
|
|||
|
RETP
|
|||
|
|
|||
|
HSTDTAB:
|
|||
|
JSRP WNDWON
|
|||
|
CALLA KILBGND ;KILL OLD BACKGROUND IF ANY EXISTED
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBWNDW,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILOBJ
|
|||
|
|
|||
|
MOVI CHAMPS,A0
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
CALLA BGND_UD1
|
|||
|
; MOVI CHAMPS,A0
|
|||
|
; MOVE A0,@BAKMODS,L
|
|||
|
; CALLA BGND_UD1
|
|||
|
; MOVI CHAMPS,A0
|
|||
|
; MOVE A0,@BAKMODS,L
|
|||
|
; CALLA BGND_UD1
|
|||
|
|
|||
|
MOVI HSC,A0
|
|||
|
CALLA BLAKOUT
|
|||
|
MOVI NUARENAP,A0
|
|||
|
CALLA BLAKOUT
|
|||
|
|
|||
|
MOVI SCRNEND,A0 ;[256,405],A0
|
|||
|
MOVE A0,@SCRNLR,L
|
|||
|
|
|||
|
MOVI PAL4TAB,A0
|
|||
|
MOVK 2,A1 ;FADE TITLE SCREEN IN FROM BLACK
|
|||
|
CALLA FADEIN
|
|||
|
|
|||
|
SLEEP 20
|
|||
|
|
|||
|
MOVI HSC,A8 ;PAL NAME
|
|||
|
MOVI PAL1,A9 ;RAM AREA
|
|||
|
MOVI [50,55],A10 ;BEGIN/END COLOR #
|
|||
|
MOVK 5,A11 ;RATE IN TICKS
|
|||
|
CREATE CYCPID,COLCYC ;COLOR CYCLER ON
|
|||
|
|
|||
|
MOVI HSC,A8 ;PAL NAME
|
|||
|
MOVI PAL2,A9 ;FIRST COLOR TO CYCLE
|
|||
|
MOVI [55,58],A10 ;LAST COLOR TO CYCLE
|
|||
|
MOVK 9,A11 ;RATE
|
|||
|
CREATE CYCPID,COLCYC
|
|||
|
|
|||
|
;DISPLAY SCORES HERE!
|
|||
|
|
|||
|
CALLA COLRPRC
|
|||
|
CLR A0
|
|||
|
MOVE A0,@GAMERASE,W
|
|||
|
SLEEP 2
|
|||
|
CALLA GETHIGH
|
|||
|
|
|||
|
SLEEP 5*60
|
|||
|
MOVE @KEEPON,A0
|
|||
|
JRZ TY6
|
|||
|
SLEEP 14*60
|
|||
|
CLR A0
|
|||
|
MOVB A0,@CANT
|
|||
|
MOVE A0,@KEEPON
|
|||
|
MOVK 3,A11 ;FADE RATE
|
|||
|
CREATE 0,FADE_DOWN
|
|||
|
SLEEP 40
|
|||
|
SOUND1 MUSICOFF
|
|||
|
MOVK 3,A11 ;FADE RATE
|
|||
|
CREATE 0,FADE_UP
|
|||
|
|
|||
|
|
|||
|
TY6 MOVK 1,A0
|
|||
|
MOVE A0,@GAMERASE,W
|
|||
|
|
|||
|
MOVI CYCPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL
|
|||
|
|
|||
|
MOVI PAL4TAB,A0
|
|||
|
MOVK 2,A1 ;FADE TITLE SCREEN OUT TO BLACK
|
|||
|
CALLA FADEOUT
|
|||
|
|
|||
|
SLEEP 30
|
|||
|
CALLA CLR_SCRN
|
|||
|
RETP
|
|||
|
|
|||
|
OFFERT:
|
|||
|
JSRP WNDWON
|
|||
|
CALLA KILBGND ;KILL OLD BACKGROUND IF ANY EXISTED
|
|||
|
|
|||
|
MOVI OFFER,A0
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
CALLA BGND_UD1
|
|||
|
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBWNDW,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILOBJ
|
|||
|
|
|||
|
MOVI HSC,A0
|
|||
|
CALLA BLAKOUT
|
|||
|
MOVI DUXPAL,A0
|
|||
|
CALLA BLAKOUT
|
|||
|
MOVI smlg,A0
|
|||
|
CALLA BLAKOUT
|
|||
|
|
|||
|
MOVI SCRNEND,A0 ;[256,405],A0
|
|||
|
MOVE A0,@SCRNLR,L
|
|||
|
|
|||
|
MOVI PAL5TAB,A0
|
|||
|
MOVK 2,A1 ;FADE TITLE SCREEN IN FROM BLACK
|
|||
|
CALLA FADEIN
|
|||
|
|
|||
|
MOVI DUXPAL,A8 ;PAL NAME
|
|||
|
MOVI PAL1,A9 ;RAM AREA
|
|||
|
MOVI [1,6],A10 ;BEGIN/END COLOR #
|
|||
|
MOVK 8,A11 ;RATE IN TICKS
|
|||
|
CREATE CYCPID,COLCYC ;COLOR CYCLER ON
|
|||
|
|
|||
|
SLEEP 8*60
|
|||
|
|
|||
|
MOVI CYCPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL
|
|||
|
|
|||
|
MOVI PAL5TAB,A0
|
|||
|
MOVK 2,A1 ;FADE TITLE SCREEN OUT TO BLACK
|
|||
|
CALLA FADEOUT
|
|||
|
|
|||
|
SLEEP 35
|
|||
|
CALLA CLR_SCRN
|
|||
|
MOVB @CANT,A0
|
|||
|
JREQ ACJAZ
|
|||
|
ADPAZ SLEEP 1
|
|||
|
JRUC ADPAZ
|
|||
|
ACJAZ RETP
|
|||
|
|
|||
|
PRINTIT:
|
|||
|
JSRP SNKNOW
|
|||
|
CLR A0
|
|||
|
MOVI 03E3EH,A6 ;COLOR
|
|||
|
JSRP STRCNRMO ;PRINT OUT SHIT
|
|||
|
JSRP EXPSCRN
|
|||
|
SLEEP 60*5 ;5 SECONDS
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBTXT,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILOBJ
|
|||
|
RETP
|
|||
|
|
|||
|
SY .LONG SY1,S2,S2,S3,S4,S2,S5,S6,S2,S8,S9,S10,S11,S2,S13,S14,S15,S16,S17
|
|||
|
.LONG S2,S2,S20,S21,S22,S23,S2,S24,S2,S24A,S2,S25,0
|
|||
|
SY2 .LONG FSY1,S2,FS3,FS4,S2,FS5,S2,FS5A,S2,FS6,FS8,S2,FS9,FS10,FS11,FS13,FS14,FS15,FS15A,FS16,FS17
|
|||
|
.LONG S2,FS21,FS22,S2,FS23,S2,FS24,S2,S25
|
|||
|
.LONG S2,S2,NM1,NM2,NM3,NM4,NM5,NM5A,NM6,NM7,NM7A,NM8,NM9,NM10,NM11
|
|||
|
.LONG NM12,NM12A,NM12B,NM12C,NM12E,NM12D,NM12F,NM12G,S2,S2,S2,NM13,S2,NM14,0
|
|||
|
|
|||
|
SY1
|
|||
|
.STRING "The year is 1999"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S2 .STRING " "
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S3 .STRING "Television has adapted to the"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S4 .STRING "more violent nature of man."
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S5 .STRING "The most popular form of"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S6 .STRING "television remains the game show."
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S8 .STRING "One show in particular has"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S9 .STRING "dominated the ratings. That show"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S10 .STRING "is Smash T.V. The most"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S11 .STRING "violent game show of all time."
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S13 .STRING "Two lucky contestants compete"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S14 .STRING "for cash and prizes. Each"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S15 .STRING "contestant is armed with an"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S16 .STRING "assortment of powerful weapons"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S17 .STRING "and sent into a closed arena."
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S20 .STRING "The action takes place in front"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S21 .STRING "of a studio audience and is"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S22 .STRING "broadcast live via satellite"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S23 .STRING "around the world."
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S24 .STRING "Be prepared."
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S24A .STRING "The future is now."
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
S25 .STRING "You are the next lucky contestant!"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
|
|||
|
|
|||
|
FSY1
|
|||
|
.STRING "Congratulations!"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS3 .STRING "You have graduated to the elite"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS4 .STRING "ranks of the Smash TV survivors!"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS5 .STRING "You are a great Smash TV player!"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS5A .STRING "Maybe the best of all time!!!"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS6 .STRING "However, you have not reached"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS8 .STRING "the highest level of competition."
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS9 .STRING "To become a Grand Champion you"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS10 .STRING "must explore all areas of the"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS11 .STRING "Smash TV studio! If you use"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS13 .STRING "the keys to explore all of the"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS14 .STRING "secret rooms, you will find the"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS15 .STRING "Smash TV Pleasure Dome. Once"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS15A .STRING "there, several of our lovely"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS16 .STRING "showgirls will promote you to"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS17 .STRING "the rank of Grand Champion!"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS21 .STRING "You must now begin your quest to"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS22 .STRING "become Smash TV Grand Champion!"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS23 .STRING "Thank you for playing Smash TV!"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
FS24 .STRING "Good Luck! You'll need it!"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM1 .STRING "Smash TV Design Team:"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM2 .STRING "Mark Turmell"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM3 .STRING "John Tobias"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM4 .STRING "Tim Coman"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM5 .STRING "Eugene Jarvis"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM5A .STRING "Jon Hey"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM6 .STRING "Todd Allen"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM7 .STRING "George Petro"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM7A .STRING "Larry Demar"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM8 .STRING "Jack Haeger"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM9 .STRING "Cary Mednick"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM10 .STRING "Glenn Shipp"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM11 .STRING "Al Lasko"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM12 .STRING "Sheridan Oursler"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM12B .STRING "Mark Loffredo"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM12A .STRING "Ray Gay"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM12C .STRING "Ray Czajka"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM12E .STRING "Greg Freres"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM12D .STRING "Jim Nichols"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM12F .STRING "Tim Elliott"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM12G .STRING "Rob Ashworth"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM13 .STRING "Coming Soon:"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
NM14 .STRING "Even More Carnage!"
|
|||
|
.BYTE 0
|
|||
|
.EVEN
|
|||
|
|
|||
|
;
|
|||
|
; ATTPLAY - ATTRACT MODE GAME PLAY
|
|||
|
; NOTE: CALL WITH JSRP
|
|||
|
;
|
|||
|
NATTWAVS .SET 3 ;# OF ATTRACT MODE WAVES
|
|||
|
|
|||
|
ATTPLAY:
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@SOUNDSUP,W ;TURN ALL SOUNDS OFF
|
|||
|
MOVE @AWAVE,A0,W
|
|||
|
INC A0
|
|||
|
CMPI 2,A0
|
|||
|
JRNE NOMUT
|
|||
|
MOVE A0,@AWAVE
|
|||
|
MOVI 10,A0
|
|||
|
JRUC MUT0
|
|||
|
NOMUT CMPI NATTWAVS,A0
|
|||
|
JRLS ATTWGO
|
|||
|
ATTWRST:
|
|||
|
MOVK 1,A0 ;RESET TO WAVE 1
|
|||
|
ATTWGO:
|
|||
|
MOVE A0,@AWAVE,W
|
|||
|
MUT0
|
|||
|
MOVE A0,@WAVE,W
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@PLAYPAGE,W ;MARK IT AS THE PLAY PAGE
|
|||
|
; MOVI DLSTZ,A1
|
|||
|
; CALLA UNGET
|
|||
|
; MOVI DLST,A1
|
|||
|
; CALLA UNGET
|
|||
|
CALLA CLNPAL
|
|||
|
JSRP AMODWAVE ;START WAVE #1-3
|
|||
|
MOVI P1DATA,A11 ;MARK PLAYER 1 FOR DEMO
|
|||
|
; MOVE @AWAVE,A9,W
|
|||
|
; DEC A9
|
|||
|
; SLL 5,A9
|
|||
|
; ADDI AMOVETAB,A9 ;SCRIPTED PLAYER MOVEMENT
|
|||
|
;BASED ON WAVE WE ARE ON
|
|||
|
; MOVE *A9,A9,L ;GET THIS WAVES MOVEMENT TABLE
|
|||
|
MOVI AWAV1MOV,A9
|
|||
|
ATTNEXT:
|
|||
|
MOVE *A9+,A0,W ;GET SOME JOYSTICK BITS
|
|||
|
CMPI 0FFFFFFFFH,A0
|
|||
|
JREQ ATTWXXX
|
|||
|
MOVE A0,@P1CTRL,W
|
|||
|
MOVE *A9+,A10,W
|
|||
|
JSRP ATTSLP ;PROCESS SLEEP TIME
|
|||
|
JRUC ATTNEXT
|
|||
|
ATTWXXX:
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
MOVI PCPID,A0
|
|||
|
CALLA KILALL
|
|||
|
|
|||
|
JSRP WNDWON
|
|||
|
|
|||
|
MOVI ICONPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL
|
|||
|
|
|||
|
CALLA CLR_ALL
|
|||
|
|
|||
|
;GLITCH HERE?
|
|||
|
SLEEP 2
|
|||
|
|
|||
|
|
|||
|
CLR A0
|
|||
|
MOVE A0,@SOUNDSUP,W ;TURN ALL SOUNDS ON
|
|||
|
CALLA DELWNDW
|
|||
|
RETP
|
|||
|
;
|
|||
|
; SCRIPTPLAY - PLAYER MOVEMENT FOR IN/OUT OF WAVES
|
|||
|
; PARMS
|
|||
|
; SCRIPT NUMBER IN FROMDR
|
|||
|
; SENT WITH EITHER P1CTRL OR P2CTRL IN A8
|
|||
|
;IF A9=1 THEN PLY1 START, 2=PLYR2 START 0=REG MOVEMENT PLAYER TABLE
|
|||
|
SCRIPTPLAY:
|
|||
|
MOVE A9,A9
|
|||
|
JREQ REG
|
|||
|
;PLAYERS ABOUT TO BEGIN A GAME
|
|||
|
CMPI 1,A9
|
|||
|
JRNE SX
|
|||
|
MOVB @KP_LS,A0
|
|||
|
CMPI 0FFFFFFFFH,A0
|
|||
|
JREQ ZA
|
|||
|
MOVI 1,A0
|
|||
|
MOVI 10,A1
|
|||
|
CALLA SET_GATE_2
|
|||
|
;TURN ON RINGS AROUND THIS PLAYER
|
|||
|
;MAKE SURE IMAGE IS STARTED BEFORE THIS
|
|||
|
ZA
|
|||
|
CALLR C_SHO2
|
|||
|
; MOVI 1,A9
|
|||
|
;ALREADY A 9!
|
|||
|
MOVI 190,A10 ;TIME RINGS ARE ON
|
|||
|
CREATE RNGPID,RINGS
|
|||
|
MOVI LDRS,A9
|
|||
|
MOVB @BOSSON,A0
|
|||
|
JRZ NEXTMOV
|
|||
|
MOVI LDRS2,A9
|
|||
|
JRUC NEXTMOV
|
|||
|
SX
|
|||
|
MOVB @KP_RS,A0
|
|||
|
CMPI 0FFFFFFFFH,A0
|
|||
|
JREQ ZA1
|
|||
|
MOVI 2,A0
|
|||
|
MOVI 10,A1
|
|||
|
CALLA SET_GATE_2
|
|||
|
ZA1
|
|||
|
CALLR C_SHO1
|
|||
|
; MOVI 2,A9
|
|||
|
;ALREADY A9=2
|
|||
|
MOVI 190,A10 ;TIME RINGS ARE ON
|
|||
|
CREATE RNGPID,RINGS
|
|||
|
MOVI RDRS,A9
|
|||
|
MOVB @BOSSON,A0
|
|||
|
JRZ NEXTMOV
|
|||
|
MOVI RDRS2,A9
|
|||
|
JRUC NEXTMOV
|
|||
|
C_SHO1 CLR A0
|
|||
|
MOVE @PLYRPRCS+32,A1,L
|
|||
|
JRZ RETOUT
|
|||
|
MOVE *A1,A1,L
|
|||
|
MOVE *A1(LEG_PRC),A1,L
|
|||
|
MOVE A0,*A1(SHOECNT)
|
|||
|
RETS
|
|||
|
C_SHO2
|
|||
|
CLR A0
|
|||
|
MOVE @PLYRPRCS,A1,L
|
|||
|
JRZ RETOUT
|
|||
|
MOVE *A1,A1,L
|
|||
|
MOVE *A1(LEG_PRC),A1,L
|
|||
|
MOVE A0,*A1(SHOECNT)
|
|||
|
RETOUT RETS
|
|||
|
REG
|
|||
|
CALLR C_SHO1
|
|||
|
CALLR C_SHO2
|
|||
|
MOVE @FROMDR,A0,W
|
|||
|
JRNZ REG3
|
|||
|
;TV SET RUN IN
|
|||
|
CMPI P1CTRL,A8
|
|||
|
JRZ REG4
|
|||
|
MOVI TVMOV2,A9
|
|||
|
JRUC NEXTMOV
|
|||
|
REG4 MOVI TVMOV,A9
|
|||
|
JRUC NEXTMOV
|
|||
|
REG3 SLL 5,A0
|
|||
|
ADDI GMOVTAB,A0 ;SCRIPTED PLAYER MOVEMENT
|
|||
|
MOVE @CIRCUIT,A9
|
|||
|
CMPI 2,A9
|
|||
|
JRNZ REGCONT
|
|||
|
MOVE @WAVE,A9
|
|||
|
CMPI 7,A9
|
|||
|
JRNZ REGCONT
|
|||
|
MOVI SNAKELST,A9
|
|||
|
JRUC NEXTMOV
|
|||
|
REGCONT MOVE *A0,A9,L ;GET MOVEMENT TABLE DATA
|
|||
|
NEXTMOV:
|
|||
|
MOVE @HALT,A0
|
|||
|
JRZ NXM
|
|||
|
SLEEP 1
|
|||
|
JRUC NEXTMOV
|
|||
|
NXM
|
|||
|
MOVE *A9+,A0,W ;GET SOME JOYSTICK BITS
|
|||
|
CMPI 0FFFFFFFFH,A0
|
|||
|
JREQ MOVEXIT
|
|||
|
MOVE A0,*A8,W ;P1/P2CTRL
|
|||
|
MOVE *A9+,A10,W
|
|||
|
JSRP ATTSLP ;PROCESS SLEEP TIME
|
|||
|
JRUC NEXTMOV
|
|||
|
MOVEXIT:
|
|||
|
DIE
|
|||
|
;
|
|||
|
; ATTSLP - PROCESS ATTRACT MODE PLAYER SLEEP
|
|||
|
; A10 = # TICKS TO SLEEP
|
|||
|
; RETURNS:
|
|||
|
; CARRY CLEAR = SLEEP COMPLETED
|
|||
|
; CARRY SET = STILL SNOZZIN'
|
|||
|
;
|
|||
|
; NOTE: CALL WITH JSRP
|
|||
|
;
|
|||
|
ATTSLP:
|
|||
|
PUSHP A10
|
|||
|
ATTSLPL:
|
|||
|
SLEEP 1
|
|||
|
SETC
|
|||
|
DSJS A10,ATTSLPL ;PROCESS SLEEP LOOP
|
|||
|
CLRC
|
|||
|
PULLP A10
|
|||
|
RETP
|
|||
|
;
|
|||
|
; AMODWAVE - INITIALIZE AN ATTRACT MODE WAVE:
|
|||
|
; CURRENT ATTRACT WAVE MUST BE INDICATED IN VARIABLE, AWAVE.
|
|||
|
; NOTE: CALL AS JSRP!
|
|||
|
;
|
|||
|
AMODWAVE:
|
|||
|
CALLA INIT_DEMO
|
|||
|
RETP
|
|||
|
**************************************************************************
|
|||
|
* *
|
|||
|
* PxSTART - PLAYER START SWITCH PROCESSES *
|
|||
|
* *
|
|||
|
**************************************************************************
|
|||
|
*PLAYER 1 START
|
|||
|
P1START:
|
|||
|
MOVE @ENTERON,A0 ;NEVER START WHEN INITIALS BEING
|
|||
|
;ENTERED
|
|||
|
JRNZ DOI
|
|||
|
MOVE @STATUS,A0 ;1/2 OR 3 FOR WHO IS PLAYING NOW
|
|||
|
BTST 0,A0 ;TEST IF 0 BIT IS SET (1)
|
|||
|
JRNE DOI ;BR=ALREADY IN THE GAME!
|
|||
|
MOVI P1DATA,A2
|
|||
|
JRUC PXSTART
|
|||
|
*PLAYER 2 START
|
|||
|
P2START:
|
|||
|
MOVE @ENTERON,A0
|
|||
|
JRNZ DOI
|
|||
|
MOVE @STATUS,A0
|
|||
|
BTST 1,A0 ;TEST IF 1 BIT IS SET (2)
|
|||
|
JRNE DOI
|
|||
|
MOVI P2DATA,A2
|
|||
|
PXSTART:
|
|||
|
MOVB @CANT,A0
|
|||
|
JRN CS
|
|||
|
JREQ CS ;A PLAYER IS SCROLLING IN FROM TVSET!
|
|||
|
;PLAYER TRYED TO START WHEN ANOTHER PLAYER WAS RUNNING IN FROM TVSET.
|
|||
|
;DELAY STARTING PLAYER UNTIL SCREEN HAS STOPPED SCROLLING
|
|||
|
MOVE A2,A8
|
|||
|
;CHECK IF EXIST?
|
|||
|
MOVI DLYPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
JRNZ DOI ;BR=DO EXIST
|
|||
|
CREATE DLYPID,WAIT1
|
|||
|
DIE
|
|||
|
WAIT1
|
|||
|
SLEEP 1
|
|||
|
MOVB @CANT,A0
|
|||
|
JRNE WAIT1
|
|||
|
MOVE A8,A2
|
|||
|
CS MOVE @GAMSTATE,A0,W
|
|||
|
CMPI INDIAG,A0
|
|||
|
JRNE P1STARTG
|
|||
|
DOI DIE
|
|||
|
P1STARTG:
|
|||
|
CALLR ADDBUY
|
|||
|
MOVE *A2(PBUYINS),A4,W
|
|||
|
JRZ PDIE1
|
|||
|
MOVE @GAMSTATE,A0,W
|
|||
|
CMPI INAMODE,A0
|
|||
|
JREQ PXSTART1
|
|||
|
MOVE *A2(PFLAGS),A5,L
|
|||
|
CMPI BBUYIN,A5
|
|||
|
JREQ PDIE1 ;GUY IS ALREADY PLAYING!
|
|||
|
PXSTART1:
|
|||
|
|
|||
|
MOVE *A2(PSCORE),A0,L
|
|||
|
JRZ PXSTRT ;NO SCORE, THIS IS A VIRGIN START
|
|||
|
MOVE @GAMSTATE,A0,W
|
|||
|
CMPI INGAMEOV,A0
|
|||
|
JRNZ CHKMODE ;COLD START IF GAME OVER
|
|||
|
CLR A1
|
|||
|
MOVE A1,@HALT,W
|
|||
|
JRUC PXSTRT
|
|||
|
CHKMODE:
|
|||
|
CMPI INAMODE,A0
|
|||
|
JREQ PXSTRTNEW
|
|||
|
CALLA CR_CONTP ;CONTINUATION, SEE IF ENOUGH CRD. FOR CONTINUE
|
|||
|
JRLO PDIE1
|
|||
|
CALLA P_CONT
|
|||
|
JRUC P1STARTA
|
|||
|
PXSTRTNEW
|
|||
|
;NEW START FROM ATTRACT MODE, ZERO BOTH SCORES!
|
|||
|
CLR A0
|
|||
|
MOVI P2DATA,A11
|
|||
|
MOVE A0,*A11(PSCORE),L
|
|||
|
MOVI P1DATA,A11
|
|||
|
MOVE A0,*A11(PSCORE),L
|
|||
|
|
|||
|
PXSTRT:
|
|||
|
CALLA CR_STRTP
|
|||
|
JRLO PDIE1
|
|||
|
CALLA P_START
|
|||
|
P1STARTA:
|
|||
|
MOVI GMEOVPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL ;KILL GAME OVER MESSAGE IF PRESENT
|
|||
|
CMPI P1DATA,A2
|
|||
|
JRNE P2STARTA
|
|||
|
MOVE A4,A4
|
|||
|
JREQ P1GAME ;ATTEMPT TO START PLAYER ONE
|
|||
|
MOVE @GAMSTATE,A0,W
|
|||
|
CMPI INAMODE,A0
|
|||
|
JREQ P1GAME ;BR = GAME IS OVER COLD START
|
|||
|
CMPI INGAMEOV,A0
|
|||
|
JREQ P1GAME ;BR = GAME IS OVER COLD START
|
|||
|
JRUC P1BUYIN ;BUY IN TIME
|
|||
|
P2STARTA:
|
|||
|
MOVE A4,A4
|
|||
|
JREQ P2ONLY ;ATTEMPT TO START PLAYER TWO
|
|||
|
MOVE @GAMSTATE,A0,W
|
|||
|
CMPI INAMODE,A0
|
|||
|
JREQ P2ONLY ;BR = GAME IS OVER COLD START
|
|||
|
CMPI INGAMEOV,A0
|
|||
|
JREQ P2ONLY ;BR = GAME IS OVER COLD START
|
|||
|
|
|||
|
JRUC P2BUYIN ;BUY IN TIME
|
|||
|
PDIE1:
|
|||
|
JAUC SUCIDE
|
|||
|
|
|||
|
**************************************************************************
|
|||
|
* *
|
|||
|
* ADDBUY - CHECK TO SEE IF THIS IS A VIRGIN GAME START. *
|
|||
|
* *
|
|||
|
**************************************************************************
|
|||
|
ADDBUY:
|
|||
|
PUSH A0
|
|||
|
MOVE @GAMSTATE,A0,W
|
|||
|
CMPI INGAMEOV,A0
|
|||
|
JREQ ADDBUY1
|
|||
|
CMPI INAMODE,A0
|
|||
|
JRNE ADDBUYX
|
|||
|
ADDBUY1:
|
|||
|
MOVI IBUYINS,A0
|
|||
|
MOVE A0,@P1DATA+PBUYINS,W
|
|||
|
MOVE A0,@P2DATA+PBUYINS,W
|
|||
|
ADDBUYX:
|
|||
|
PULL A0
|
|||
|
RETS
|
|||
|
**************************************************************************
|
|||
|
* SECOND PLAYER GAME START *
|
|||
|
* IF THE GAME IS IN PLAY, THEN PLAYER TWO WILL BE ADDED, OTHERWISE *
|
|||
|
* A NEW 2 PLAYER GAME WILL RESULT. *
|
|||
|
**************************************************************************
|
|||
|
P2ONLY:
|
|||
|
MOVK 2,A1
|
|||
|
MOVE @STARTUP,A2
|
|||
|
ADD A2,A1
|
|||
|
MOVE A1,@STARTUP,W
|
|||
|
; MOVI BBUYIN,A0
|
|||
|
; MOVE A0,*A2(PFLAGS),L
|
|||
|
MOVI P2PID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL ;KILL PLAYER 2 ATTRACT MESSAGE
|
|||
|
MOVK 2,A1
|
|||
|
; MOVE A1,@MSGSET
|
|||
|
MOVE @SCORETYP,A0
|
|||
|
OR A0,A1
|
|||
|
MOVE A1,@SCORETYP ;DISPLAY SCORE PLAYER 2
|
|||
|
MOVE @METERP2,A0,L
|
|||
|
MOVE @P2MTRY,A1,W
|
|||
|
MOVE A1,*A0(OYPOS),W
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBP2TXT,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILOBJ ;CLEAR PLAYER MESSAGE
|
|||
|
|
|||
|
MOVE @STARTUP,A1
|
|||
|
|
|||
|
MOVE @GAMSTATE,A0,W
|
|||
|
CMPI INAMODE,A0
|
|||
|
JREQ GAUD2STR ;COLD START PLAYER 2
|
|||
|
MOVE @GAMSTATE,A0,W
|
|||
|
CMPI INGAMEOV,A0
|
|||
|
JRNE G2STRBUY ;GAME IN SESSION
|
|||
|
GAUD2STR:
|
|||
|
AUDIT AUD2STRT ;AUDIT A PLAYER 2 START
|
|||
|
JRUC GAMESTR ;AND FIRE UP THE GAME
|
|||
|
G2STRBUY:
|
|||
|
|
|||
|
MOVI P2DATA,A2
|
|||
|
MOVE *A2(PSCORE),A0,L
|
|||
|
JRNZ P2GBUY ;SCORE INDICATES CONTINUE
|
|||
|
|
|||
|
;INHERE:
|
|||
|
MOVE @WAVE,A0
|
|||
|
CMPI 1,A0
|
|||
|
JRNZ P2GBUY
|
|||
|
|
|||
|
AUDIT AUD2STRT
|
|||
|
; MOVE @NPLYRS,A0,W
|
|||
|
; INC A0
|
|||
|
; MOVE A0,@NPLYRS,W ;UPDATE PLAYER COUNT
|
|||
|
JRUC P2GINIT
|
|||
|
P2GBUY:
|
|||
|
AUDIT AUD2CONT
|
|||
|
P2GINIT:
|
|||
|
CLR A0
|
|||
|
MOVE A0,@SOUNDSUP,W ;TURN ALL SOUNDS ON
|
|||
|
MOVI MCSPK6,A0 ;WELCOME PLAYER AUDIO
|
|||
|
CALLA ONESND
|
|||
|
JRUC P2GAMEDI
|
|||
|
*
|
|||
|
*PLAYER 2 BUYIN
|
|||
|
P2BUYIN:
|
|||
|
MOVE @STATUS,A1
|
|||
|
ORI 2,A1
|
|||
|
MOVE A1,@STATUS
|
|||
|
MOVK 2,A1
|
|||
|
MOVE @STARTUP,A2
|
|||
|
ADD A2,A1
|
|||
|
MOVE A1,@STARTUP,W
|
|||
|
MOVI P2PID,A0 ;KILLS MESSAGE PROC
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL ;KILL PLAYER ATTRACT MESSAGE
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBDG2I,A0
|
|||
|
CALLA EXISTOBJ
|
|||
|
JRZ RND0
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBDG2I,A0
|
|||
|
CALLA KILOBJ ;CLEAR PLAYER MESSAGE
|
|||
|
MOVI DG2PID,A0
|
|||
|
CALLA KILALL ;KILL CNTDWN PROC
|
|||
|
;RESTORE HAT&METER@LIVES DIGIT
|
|||
|
MOVE @METERP2,A0,L
|
|||
|
MOVE @P2MTRY,A1,W
|
|||
|
MOVE A1,*A0(OYPOS),W
|
|||
|
MOVE @RFACEP,A0,L
|
|||
|
MOVE @RFCY,A3
|
|||
|
MOVE A3,*A0(OYPOS),W
|
|||
|
MOVI P2DATA,A0
|
|||
|
CLR A3
|
|||
|
; MOVB A3,@CNTDIG2
|
|||
|
MOVB A3,*A0(CNTD)
|
|||
|
RND0 MOVI CLSNEUT|TYPTEXT|SUBP2TXT,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILOBJ ;CLEAR PLAYER MESSAGE
|
|||
|
MOVK 2,A1
|
|||
|
MOVI BBUYIN,A0
|
|||
|
MOVE A0,*A2(PFLAGS),L
|
|||
|
|
|||
|
;MARCH 22
|
|||
|
MOVE @WAVE,A0
|
|||
|
CMPI 1,A0
|
|||
|
JRNZ YESCNT2
|
|||
|
AUDIT AUD2STRT
|
|||
|
JRUC YES3
|
|||
|
|
|||
|
YESCNT2
|
|||
|
AUDIT AUD2CONT
|
|||
|
YES3
|
|||
|
CLR A3
|
|||
|
MOVB A3,@CNTDIG2
|
|||
|
MOVI PLY2PID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
JRNZ ZD ;BR=I'M DEAD ON SCREEN RIGHT NOW!
|
|||
|
|
|||
|
MOVE @METERP2,A0,L
|
|||
|
MOVE @P2MTRY,A1,W
|
|||
|
MOVE A1,*A0(OYPOS),W
|
|||
|
|
|||
|
MOVB @CANT,A0
|
|||
|
CMPI 0FFFFFFFFH,A0
|
|||
|
JRNE ZC
|
|||
|
;FROM PODIUM. THIS PLAYER HIT HIS BUTTON SECOND! HE WILL JOIN OTHER PLAYER
|
|||
|
;BEHIND PODIUM!
|
|||
|
|
|||
|
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@DUMB2
|
|||
|
CALLA P2LLINIT ;RE-INIT PLAYER 2
|
|||
|
|
|||
|
|
|||
|
; MOVI STALL,A0
|
|||
|
; CLR A1
|
|||
|
; NOT A1
|
|||
|
; CALLA EXISTP ;CHECK TO SEE IF WE KEEP SCORE AD PRIZES
|
|||
|
; ;FOR THIS GUY
|
|||
|
; JRNZ INTIME
|
|||
|
CLR A0
|
|||
|
MOVI P2DATA,A11
|
|||
|
MOVE A0,*A11(PSCORE),L
|
|||
|
;INC CMOS COUNT OF GAMES STARTED!
|
|||
|
|
|||
|
CALLR CLRP2PZ
|
|||
|
;SET FREE MAN POINT LEVEL
|
|||
|
CALLA SET_1ST
|
|||
|
|
|||
|
CALLA DEC_LV
|
|||
|
CLR A9
|
|||
|
MOVK 2,A8
|
|||
|
CREATE PLY2PID,DRAW_PLYR_TORSO ;CREATE PLAYER CHARACTER
|
|||
|
;A8=P1CTRL OR P2CTRL
|
|||
|
JRUC ZDA
|
|||
|
ZC
|
|||
|
;BUYIN PLAYER RUNS IN FROM SIDE
|
|||
|
;A8=1 OR 2
|
|||
|
CALLA P2LLINIT ;RE-INIT PLAYER 2
|
|||
|
|
|||
|
MOVK 2,A9 ;INDICATES BUYIN
|
|||
|
CLR A0
|
|||
|
MOVI P2DATA,A11
|
|||
|
MOVE A0,*A11(PSCORE),L
|
|||
|
;INC CMOS COUNT OF GAMES STARTED!
|
|||
|
|
|||
|
CALLR CLRP2PZ
|
|||
|
;SET FREE MAN POINT LEVEL
|
|||
|
CALLA SET_1ST
|
|||
|
CALLA DEC_LV
|
|||
|
MOVK 2,A8
|
|||
|
CREATE PLY2PID,DRAW_PLYR_TORSO ;CREATE PLAYER CHARACTER
|
|||
|
;A8=P1CTRL OR P2CTRL
|
|||
|
|
|||
|
|
|||
|
CALLR DO_LIVECNT
|
|||
|
|
|||
|
|
|||
|
SLEEP 1
|
|||
|
;RUN DOWN FROM PODIUM
|
|||
|
MOVI P2CTRL,A8
|
|||
|
CREATE SCRPID,SCRIPTPLAY
|
|||
|
JRUC ZDA
|
|||
|
|
|||
|
DO_LIVECNT
|
|||
|
MMTM SP,A2,A3,A4,A5,A6,A7,A8,A9
|
|||
|
CLR A9
|
|||
|
CALLA LIVECNT
|
|||
|
MMFM SP,A2,A3,A4,A5,A6,A7,A8,A9
|
|||
|
RETS
|
|||
|
|
|||
|
CLRP1PZ
|
|||
|
CLR A0
|
|||
|
MOVB A0,@P1PZ1
|
|||
|
MOVB A0,@P1PZ2
|
|||
|
MOVB A0,@P1PZ3
|
|||
|
MOVE A0,@P1CSH
|
|||
|
RETS
|
|||
|
CLRP2PZ
|
|||
|
CLR A0
|
|||
|
MOVB A0,@P2PZ1
|
|||
|
MOVB A0,@P2PZ2
|
|||
|
MOVB A0,@P2PZ3
|
|||
|
MOVE A0,@P2CSH
|
|||
|
RETS
|
|||
|
|
|||
|
|
|||
|
ZD CALLA P2LLINIT ;RE-INIT PLAYER 2
|
|||
|
;SET FREE MAN POINT LEVEL
|
|||
|
; MOVI P2DATA,A11
|
|||
|
; CALLA SET_1ST
|
|||
|
; CALLA DEC_LV
|
|||
|
ZDA
|
|||
|
CLR A0
|
|||
|
MOVB A0,@DUMB2
|
|||
|
; CLR A0
|
|||
|
MOVE A0,@SOUNDSUP,W ;TURN ALL SOUNDS ON
|
|||
|
MOVI MCSPK6,A0 ;WELCOME PLAYER AUDIO
|
|||
|
CALLA ONESND
|
|||
|
;TELL INTERRUPTS TO DRAW SCORE DIGITS FOR PLYR 2
|
|||
|
MOVB @WNTOUT,A0
|
|||
|
JRZ NOPZ0
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@WNTOUT
|
|||
|
NOPZ0 MOVK 2,A1
|
|||
|
MOVE @SCORETYP,A0
|
|||
|
OR A0,A1
|
|||
|
MOVE A1,@SCORETYP ;DISPLAY SCORE PLAYER 2
|
|||
|
; MMTM SP,A2,A3,A4,A5,A6,A7,A8
|
|||
|
; CLR A9
|
|||
|
; CALLA LIVECNT
|
|||
|
; MMFM SP,A2,A3,A4,A5,A6,A7,A8
|
|||
|
|
|||
|
P2GAMEDI:
|
|||
|
MOVE @EHALT,A0
|
|||
|
CMPI >111,A0
|
|||
|
JRNE S90
|
|||
|
CREATE 0,SETHLT
|
|||
|
|
|||
|
S90 JAUC SUCIDE
|
|||
|
|
|||
|
SETHLT SLEEP 3
|
|||
|
CLR A0
|
|||
|
MOVE A0,@EHALT
|
|||
|
DIE
|
|||
|
|
|||
|
**************************************************************************
|
|||
|
* FIRST PLAYER GAME START *
|
|||
|
* IF THE GAME IS IN PLAY, PLAYER ONE WILL BE ADDED, OTHERWISE A NEW *
|
|||
|
* ONE PLAYER GAME WILL RESULT. *
|
|||
|
**************************************************************************
|
|||
|
P1GAME:
|
|||
|
MOVK 1,A1
|
|||
|
MOVE @STARTUP,A2
|
|||
|
ADD A2,A1
|
|||
|
MOVE A1,@STARTUP
|
|||
|
; MOVI BBUYIN,A0
|
|||
|
; MOVE A0,*A2(PFLAGS),L
|
|||
|
MOVI P1PID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL ;KILL PLAYER 1 ATTRACT MESSAGE
|
|||
|
MOVB @WNTOUT,A0
|
|||
|
JRZ NOPZ2
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@WNTOUT
|
|||
|
NOPZ2 MOVK 1,A1
|
|||
|
; MOVE A1,@MSGSET
|
|||
|
MOVE @SCORETYP,A0
|
|||
|
OR A0,A1
|
|||
|
MOVE A1,@SCORETYP ;DISPLAY SCORE PLAYER 1
|
|||
|
MOVE @METERP1,A0,L
|
|||
|
MOVE @P1MTRY,A1,W
|
|||
|
MOVE A1,*A0(OYPOS),W
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBP1TXT,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILOBJ ;CLEAR PLAYER MESSAGE
|
|||
|
|
|||
|
MOVE @STARTUP,A1
|
|||
|
|
|||
|
MOVE @GAMSTATE,A0,W
|
|||
|
CMPI INAMODE,A0
|
|||
|
JREQ GAUD1STR ;COLD START GAME, PLAYER 1 ONLY
|
|||
|
CMPI INGAMEOV,A0
|
|||
|
JRNE G1STRBUY ;GAME IS IN SESSION
|
|||
|
GAUD1STR:
|
|||
|
AUDIT AUD1STRT ;AUDIT A PLAYER 1 START
|
|||
|
JRUC GAMESTR ;AND FIRE UP THE GAME
|
|||
|
G1STRBUY:
|
|||
|
|
|||
|
|
|||
|
;ADDED MARCH 22
|
|||
|
; MOVI P1DATA,A2
|
|||
|
; MOVB @CNTDIG1,A0
|
|||
|
; JRZ INHERE1
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
MOVI P1DATA,A2
|
|||
|
MOVE *A2(PSCORE),A0,L
|
|||
|
JRNZ P1GBUY ;SCORE, MARK THIS AS A CONTINUE
|
|||
|
|
|||
|
;INHERE1:
|
|||
|
|
|||
|
MOVE @WAVE,A0
|
|||
|
CMPI 1,A0
|
|||
|
JRNZ P1GBUY
|
|||
|
AUDIT AUD1STRT
|
|||
|
; MOVE @NPLYRS,A0,W
|
|||
|
; INC A0
|
|||
|
; MOVE A0,@NPLYRS,W ;UPDATE PLAYER COUNT
|
|||
|
JRUC P1GINIT
|
|||
|
P1GBUY:
|
|||
|
AUDIT AUD1CONT
|
|||
|
|
|||
|
P1GINIT:
|
|||
|
JRUC P1GAMEDI
|
|||
|
*
|
|||
|
*ENTRY POINT FOR PLAYER 1 BUYIN
|
|||
|
P1BUYIN:
|
|||
|
MOVE @STATUS,A1
|
|||
|
ORI 1,A1
|
|||
|
MOVE A1,@STATUS
|
|||
|
MOVK 1,A1
|
|||
|
MOVE @STARTUP,A2
|
|||
|
ADD A2,A1
|
|||
|
MOVE A1,@STARTUP
|
|||
|
MOVI P1PID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL ;KILL PLAYER ATTRACT MESSAGE
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBDG1I,A0
|
|||
|
CALLA EXISTOBJ
|
|||
|
JRZ RND
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBDG1I,A0
|
|||
|
CALLA KILOBJ ;CLEAR PLAYER MESSAGE
|
|||
|
MOVI DG1PID,A0
|
|||
|
CALLA KILALL ;KILL CNTDWN PROC
|
|||
|
;RESTORE HAT&METER&DIGIT
|
|||
|
MOVE @METERP1,A0,L
|
|||
|
MOVE @P1MTRY,A1,W
|
|||
|
MOVE A1,*A0(OYPOS),W
|
|||
|
MOVE @LFACEP,A0,L
|
|||
|
MOVE @LFCY,A3
|
|||
|
MOVE A3,*A0(OYPOS),W
|
|||
|
MOVI P1DATA,A0
|
|||
|
CLR A3
|
|||
|
; MOVB A3,@CNTDIG1
|
|||
|
MOVB A3,*A0(CNTD)
|
|||
|
RND MOVI CLSNEUT|TYPTEXT|SUBP1TXT,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILOBJ ;CLEAR PLAYER MESSAGE
|
|||
|
MOVK 1,A1
|
|||
|
MOVI BBUYIN,A0
|
|||
|
MOVE A0,*A2(PFLAGS),L
|
|||
|
|
|||
|
|
|||
|
;MARCH 22
|
|||
|
;3/23/90
|
|||
|
MOVE @WAVE,A0
|
|||
|
CMPI 1,A0
|
|||
|
JRNZ YESCNT
|
|||
|
AUDIT AUD1STRT
|
|||
|
JRUC YES2
|
|||
|
|
|||
|
YESCNT
|
|||
|
|
|||
|
AUDIT AUD1CONT
|
|||
|
YES2
|
|||
|
CLR A3
|
|||
|
MOVB A3,@CNTDIG1
|
|||
|
|
|||
|
MOVI PLY1PID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
JRNZ ZB ;BR=I'M DEAD ON SCREEN RIGHT NOW!
|
|||
|
|
|||
|
; MOVB @WNDO,A0
|
|||
|
; JREQ SF2
|
|||
|
;WINDOW UP, DISPLAY STANDBY MESSAGE FOR PLAYER 1
|
|||
|
;THEN WHEN WINDOW IS GONE, COME BACK HERE AND CONTINUE
|
|||
|
; MOVK 1,A0
|
|||
|
; MOVB A0,@STANDBY
|
|||
|
; MOVB A0,@WANTIN
|
|||
|
; MOVI P1DATA,A11
|
|||
|
; CALLA AH ;PUTS UP STANDBY MESSAGE
|
|||
|
; CALLA AH2 ;PUTS UP STANDBY MESSAGE
|
|||
|
; CREATE 0,BYSTAND2
|
|||
|
; DIE
|
|||
|
|
|||
|
;BYSTAND2
|
|||
|
; SLEEP 1
|
|||
|
; MOVB @WNDO,A0
|
|||
|
; JRNE BYSTAND2
|
|||
|
; MOVE @STATUS,A0
|
|||
|
; CMPI 3,A0
|
|||
|
; JRZ FIX2
|
|||
|
;RESTART PLAYER 2 MESSAGES
|
|||
|
; MOVI P2DATA,A11
|
|||
|
; CREATE P2PID,MSG_PROC ;ALWAYS DISPLAY START STUFF IN ATTRACT
|
|||
|
;FIX2 MOVI CLSNEUT|TYPTEXT|SUBP1TXT,A0
|
|||
|
; CLR A1
|
|||
|
; NOT A1
|
|||
|
; CALLA KILOBJ ;CLEAR PLAYER MESSAGE
|
|||
|
;CLEAR STANDBY MESSAGE
|
|||
|
;PUT P1 METER ON SCREEN
|
|||
|
; MOVE @METERP1,A0,L
|
|||
|
; MOVE @P1MTRY,A1,W
|
|||
|
; MOVE A1,*A0(OYPOS),W
|
|||
|
; JRUC ZZA
|
|||
|
|
|||
|
;SF2
|
|||
|
MOVE @METERP1,A0,L
|
|||
|
MOVE @P1MTRY,A1,W
|
|||
|
MOVE A1,*A0(OYPOS),W
|
|||
|
|
|||
|
MOVB @CANT,A0
|
|||
|
CMPI 0FFFFFFFFH,A0
|
|||
|
JRNE ZZA
|
|||
|
|
|||
|
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@DUMB2
|
|||
|
CALLA P1LLINIT ;RE-INIT PLAYER 1
|
|||
|
|
|||
|
|
|||
|
CLR A0
|
|||
|
MOVI P1DATA,A11
|
|||
|
MOVE A0,*A11(PSCORE),L
|
|||
|
;INC CMOS COUNT OF GAMES STARTED!
|
|||
|
|
|||
|
CALLR CLRP1PZ
|
|||
|
;SET FREE MAN POINT LEVEL
|
|||
|
CALLA SET_1ST
|
|||
|
CALLA DEC_LV
|
|||
|
CLR A9
|
|||
|
; MOVK 1,A0
|
|||
|
; MOVB A0,@DUMB2
|
|||
|
MOVK 1,A8
|
|||
|
CREATE PLY1PID,DRAW_PLYR_TORSO ;CREATE PLAYER CHARACTER
|
|||
|
;A8=P1CTRL OR P2CTRL
|
|||
|
JRUC ZBA
|
|||
|
; JRUC ZB
|
|||
|
;BUYIN PLAYER RUNS IN FROM SIDE
|
|||
|
ZZA
|
|||
|
;A8=1 OR 2
|
|||
|
|
|||
|
CALLA P1LLINIT ;RE-INIT PLAYER 1
|
|||
|
MOVK 1,A9 ;INDICATES BUYIN
|
|||
|
|
|||
|
CLR A0
|
|||
|
MOVI P1DATA,A11
|
|||
|
MOVE A0,*A11(PSCORE),L
|
|||
|
;INC CMOS COUNT OF GAMES STARTED!
|
|||
|
|
|||
|
CALLR CLRP1PZ
|
|||
|
;SET FREE MAN POINT LEVEL
|
|||
|
CALLA SET_1ST
|
|||
|
CALLA DEC_LV
|
|||
|
MOVK 1,A8
|
|||
|
CREATE PLY1PID,DRAW_PLYR_TORSO ;CREATE PLAYER CHARACTER
|
|||
|
;A8=P1CTRL OR P2CTRL
|
|||
|
SLEEP 1
|
|||
|
MOVI P1CTRL,A8
|
|||
|
CREATE SCRPID,SCRIPTPLAY
|
|||
|
|
|||
|
|
|||
|
CALLR DO_LIVECNT
|
|||
|
; MMTM SP,A2,A3,A4,A5,A6,A7,A8,A9
|
|||
|
; CLR A9
|
|||
|
; CALLA LIVECNT
|
|||
|
; MMFM SP,A2,A3,A4,A5,A6,A7,A8,A9
|
|||
|
|
|||
|
|
|||
|
JRUC ZBA
|
|||
|
|
|||
|
ZB CALLA P1LLINIT ;RE-INIT PLAYER 1
|
|||
|
;SET FREE MAN POINT LEVEL
|
|||
|
; MOVI P1DATA,A11
|
|||
|
; CALLA SET_1ST
|
|||
|
; CALLA DEC_LV
|
|||
|
ZBA
|
|||
|
CLR A0
|
|||
|
MOVB A0,@DUMB2
|
|||
|
; CLR A0
|
|||
|
MOVE A0,@SOUNDSUP,W ;TURN ALL SOUNDS ON
|
|||
|
MOVI MCSPK5,A0 ;WELCOME PLAYER AUDIO
|
|||
|
CALLA ONESND
|
|||
|
; MMTM SP,A2,A3,A4,A5,A6,A7,A8
|
|||
|
; CLR A9
|
|||
|
; CALLA LIVECNT
|
|||
|
; MMFM SP,A2,A3,A4,A5,A6,A7,A8
|
|||
|
P1GAMEDI:
|
|||
|
MOVB @WNTOUT,A0
|
|||
|
JRZ NOPZ
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@WNTOUT
|
|||
|
NOPZ MOVK 1,A1
|
|||
|
; MOVE A1,@MSGSET
|
|||
|
MOVE @SCORETYP,A0
|
|||
|
OR A0,A1
|
|||
|
MOVE A1,@SCORETYP ;DISPLAY SCORE PLAYER 1
|
|||
|
|
|||
|
MOVE @EHALT,A0
|
|||
|
CMPI >111,A0
|
|||
|
JRNE S99
|
|||
|
CREATE 0,SETHLT
|
|||
|
|
|||
|
S99 JAUC SUCIDE
|
|||
|
|
|||
|
DEC_LV
|
|||
|
MOVE *A11(PLIVES),A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,*A11(PLIVES)
|
|||
|
RETS
|
|||
|
*
|
|||
|
*GAME START PROCESS
|
|||
|
*A1 = PLAYERS TO START, 0 = NONE?,1 = PLAYER 1,2 = PLAYER 2,3 = BOTH
|
|||
|
GAMESTR:
|
|||
|
;
|
|||
|
MOVE A1,@STATUS,W
|
|||
|
;
|
|||
|
;POSSIBLY DO SOME OTHER KIND OF WIPE (NOT WNDON) IF FROM CREDITS SCREEN!
|
|||
|
|
|||
|
MOVI CP_PID2,A0 ;ARE WE SHOWING THE CREDIT PAGE?
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL
|
|||
|
MOVI CP_PID1,A0 ;ARE WE SHOWING THE CREDIT PAGE?
|
|||
|
CALLA KILALL
|
|||
|
|
|||
|
MOVI 0FFH,A0
|
|||
|
MOVB A0,@CANT
|
|||
|
JSRP WNDWON
|
|||
|
|
|||
|
MOVI 0,A0
|
|||
|
MOVE A0,@IRQSKYE
|
|||
|
|
|||
|
CALLA CLRPAL
|
|||
|
|
|||
|
SLEEP 1
|
|||
|
|
|||
|
|
|||
|
;MAYBE NOT NEEDED!
|
|||
|
; MOVI SETCOL,A0
|
|||
|
; CALLA BLAKOUT ;BLACK OUT BAKGROUND PALETTES
|
|||
|
; MOVI PAL2TV,A0
|
|||
|
; CALLA BLAKOUT ;BLACK OUT BAKGROUND PALETTES
|
|||
|
; MOVI NUARENAP,A0
|
|||
|
; CALLA BLAKOUT ;BLACK OUT BAKGROUND PALETTES
|
|||
|
|
|||
|
|
|||
|
CALLR WIPEOUT ;CLEAN SYSTEM OUT
|
|||
|
CLR A0
|
|||
|
MOVE A0,@PLYROBJS,L
|
|||
|
MOVE A0,@PLYROBJS+32,L
|
|||
|
MOVE A0,@MTR1CNT,W ;TAKES CARE OF BOTH CNTRS
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@GAMERASE
|
|||
|
CALLA AUTOEON
|
|||
|
CALLA COLRPRC ;INIT FIXED PAL 0
|
|||
|
;INIT NUARENAP AS SECOND PAL!
|
|||
|
|
|||
|
MOVI NUARENAP,A0 ;FOR SCORE DIGITS!
|
|||
|
CALLA GETFPAL
|
|||
|
|
|||
|
MOVI INGAME,A0
|
|||
|
MOVE A0,@GAMSTATE,W ;FLAG THE INTRO
|
|||
|
|
|||
|
MOVE @STATUS,A1,W
|
|||
|
MOVI P1DATA,A11
|
|||
|
SRL 1,A1
|
|||
|
PUSH A1
|
|||
|
JRNC GAME2STR
|
|||
|
CALLA P1LLINIT ;RE-INIT PLAYER 1
|
|||
|
CLR A0
|
|||
|
MOVB A0,@DUMB2
|
|||
|
; MOVE @NPLYRS,A0,W
|
|||
|
; INC A0
|
|||
|
; MOVE A0,@NPLYRS,W ;UPDATE PLAYER COUNT
|
|||
|
GAME2STR:
|
|||
|
PULL A1
|
|||
|
MOVI P2DATA,A11
|
|||
|
SRL 1,A1
|
|||
|
JRNC GAMSTX
|
|||
|
CALLA P2LLINIT ;RE-INIT PLAYER 2
|
|||
|
CLR A0
|
|||
|
MOVB A0,@DUMB2
|
|||
|
; MOVE @NPLYRS,A0,W
|
|||
|
; INC A0
|
|||
|
; MOVE A0,@NPLYRS,W ;UPDATE PLAYER COUNT
|
|||
|
GAMSTX:
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@WAVE,W ;WAVE #1
|
|||
|
CLR A0
|
|||
|
MOVE A0,@P1CTRL
|
|||
|
MOVE A0,@P2CTRL
|
|||
|
CREATE 0,INIT_GAME ;INITIALIZE GAMEPLAY
|
|||
|
; SOUND1 PLYINSND
|
|||
|
MOVI LEGOSND,A0 ;WELCOME PLAYER AUDIO
|
|||
|
CALLA ONESND
|
|||
|
JAUC SUCIDE
|
|||
|
GETLVS
|
|||
|
ADJUST ADJLIVES ;GET LIVES PER GAME
|
|||
|
; MOVK 3,A0 ;LIVES PER COIN
|
|||
|
RETS
|
|||
|
P1LLINIT:
|
|||
|
MOVI P1DATA,A11
|
|||
|
CALLA GETLVS
|
|||
|
MOVE A0,*A11(PLIVES),W
|
|||
|
; MOVI 120,A0
|
|||
|
;IS PLYRPRCS SETUP AT THIS POINT?!?!?!?!!!
|
|||
|
; MOVE @PLYRPRCS,A1,L
|
|||
|
; MOVE A0,*A1(DELYDET)
|
|||
|
;
|
|||
|
|
|||
|
MOVB @DUMB2,A0
|
|||
|
JRNE RTPE
|
|||
|
|
|||
|
CALLR DO_LIVECNT
|
|||
|
; MMTM SP,A2,A3,A4,A5,A6,A7,A8,A9
|
|||
|
; CLR A9
|
|||
|
; CALLA LIVECNT
|
|||
|
; MMFM SP,A2,A3,A4,A5,A6,A7,A8,A9
|
|||
|
RTPE RETS
|
|||
|
P2LLINIT:
|
|||
|
;A11 = PLAYER DATA STRUCTURE
|
|||
|
MOVI P2DATA,A11
|
|||
|
CALLA GETLVS
|
|||
|
MOVE A0,*A11(PLIVES),W
|
|||
|
; MOVI 120,A0
|
|||
|
;IS PLYRPRCS SETUP AT THIS POINT?!?!?!?!!!
|
|||
|
; MOVE @PLYRPRCS+32,A1,L ;GET PLAYER 2
|
|||
|
; MOVE A0,*A1(DELYDET)
|
|||
|
|
|||
|
MOVB @DUMB2,A0
|
|||
|
JRNE RTPE
|
|||
|
CALLR DO_LIVECNT
|
|||
|
; MMTM SP,A2,A3,A4,A5,A6,A7,A8,A9
|
|||
|
; CLR A9
|
|||
|
; CALLA LIVECNT
|
|||
|
; MMFM SP,A2,A3,A4,A5,A6,A7,A8,A9
|
|||
|
RETS
|
|||
|
**************************************************************************
|
|||
|
* *
|
|||
|
* WIPEOUT - WIPES THE SYSTEM CLEAR OF ALL OTHER PROCESSES, OBJECTS *
|
|||
|
* AND COORDINATES. IT RETURNS WITH AUTO-ERASE SHUT OFF, *
|
|||
|
* DISPLAY PROCESSOR DISABLED
|
|||
|
* COLOR RAM CLEARED, AND THE BIT MAP WIPED CLEAN. *
|
|||
|
* THIS IS NICE TO USE WHEN SWITCHING BETWEEN STUFF. *
|
|||
|
**************************************************************************
|
|||
|
WIPEOUT:
|
|||
|
MMTM SP,A0,A1
|
|||
|
CLR A0
|
|||
|
; MOVB A0,@GOUP
|
|||
|
MOVE A0,@SCORE_FLAG,W ;INSURE SCORE DMA IS NOT PERFORMED
|
|||
|
MOVE A0,@P1CTRL,W
|
|||
|
MOVE A0,@P2CTRL,W ;CLEAR PLAYER CPU CONTROLS
|
|||
|
MOVE A0,@P1DATA+POBJ,L
|
|||
|
MOVE A0,@P2DATA+POBJ,L
|
|||
|
MOVE A0,@PLAYPAGE,W ;CLEAR THE ATTRACT MODE PLAY PAGE
|
|||
|
MOVI PLIST_ID,A1
|
|||
|
CLR A0
|
|||
|
CALLA KILALL ;KILL ALL PROCS, EXCEPT FOR COINS
|
|||
|
CALLA KILBGND ;WIPEOUT BACKGROUND BLOCKS
|
|||
|
CLR A0
|
|||
|
MOVE A0,@SOUNDSUP,W ;MAKE SURE SOUNDS ARE ALLOWED
|
|||
|
MOVE A0,@GAMERASE,W
|
|||
|
MOVE A0,@IRQSKYE,W
|
|||
|
CALLA AUTOEOFF
|
|||
|
; CLR A0
|
|||
|
; MOVE A0,@DISPLAYON,W ;TURN THE DISPLAY PROCESSOR OFF
|
|||
|
CALLA DMAQWAIT
|
|||
|
PUSHST
|
|||
|
DINT
|
|||
|
CALLA CLRSWPRC
|
|||
|
CALLA MYOINIT ;RE-INIT THE OBJECT LIST
|
|||
|
CALLA CLRWORLD ;RESET THE WORLD
|
|||
|
CALLR SYSINITL
|
|||
|
CALLA CLR_SCRN
|
|||
|
; CALLA CLRPAL ;CLEAR OUT PALLS
|
|||
|
POPST
|
|||
|
CALLA SYNCFULL ;NOW WAIT FOR VBLANK TO ZAP COLOR MAP
|
|||
|
MOVI 0FFFCH,A0
|
|||
|
MOVE A0,@DPYSTRT,W ;RESET DISPLAY START POINT
|
|||
|
MMFM SP,A0,A1
|
|||
|
RETS
|
|||
|
|
|||
|
**************************************************************************
|
|||
|
* *
|
|||
|
* SYSINITL - INITIALIZE LOW BYTE OF SYSTEM CONTROL REGISTER *
|
|||
|
* *
|
|||
|
**************************************************************************
|
|||
|
SYSINITL
|
|||
|
MMTM SP,A0,A1
|
|||
|
MOVE @SYSCOPY,A0,W
|
|||
|
MOVI SYSCINIT,A1
|
|||
|
SLL 24,A1
|
|||
|
SRL 24,A1
|
|||
|
OR A1,A0
|
|||
|
MOVE A0,@SYSCOPY,W ;RE-INITIALIZE SYSTEM CONTROL REG
|
|||
|
MOVE A0,@SYSCTRL,W
|
|||
|
MMFM SP,A0,A1
|
|||
|
RETS
|
|||
|
;
|
|||
|
;AMOVETAB:
|
|||
|
; .LONG AWAV1MOV,AWAV2MOV,AWAV3MOV,AWAV4MOV,AWAV5MOV,AWAV6MOV
|
|||
|
GMOVTAB:
|
|||
|
.LONG TVMOV,LFTDOOR,RGTDOOR,TOPDOOR,BOTDOOR
|
|||
|
;
|
|||
|
;ATTRACT MODE PLAYER MOVEMENT TABLES
|
|||
|
; .WORD STICK_BITS,SLEEP_TIME
|
|||
|
; .
|
|||
|
; .
|
|||
|
; .WORD 0FFFFH
|
|||
|
;
|
|||
|
AWAV1MOV:
|
|||
|
;PLACE SCRIPT FOR WAVE 2 HERE!
|
|||
|
.WORD 0,60*4
|
|||
|
.WORD PFRYTE|PUP,20H
|
|||
|
.WORD PFRYTE|PDOWN,40H
|
|||
|
.WORD PFRYTE,20H
|
|||
|
.WORD 0,5H
|
|||
|
.WORD PFRYTE,20H
|
|||
|
.WORD PLEFT,20H
|
|||
|
.WORD PFRYTE|PUP,50H
|
|||
|
.WORD PFRYTE|PDOWN,20H
|
|||
|
.WORD PFRYTE|PUP,20H
|
|||
|
.WORD PFRYTE|PDOWN,40H
|
|||
|
.WORD PUP,26H
|
|||
|
.WORD 0,20H
|
|||
|
.WORD PRYTE,25H
|
|||
|
.WORD PUP,10H
|
|||
|
.WORD PRYTE|PFDOWN,55H
|
|||
|
.WORD PFUP|PDOWN,20H
|
|||
|
.WORD PFRYTE|PLEFT,20H
|
|||
|
.WORD PFRYTE|PUP,20H
|
|||
|
.WORD PFRYTE|PDOWN,30H
|
|||
|
.WORD PFRYTE,20H
|
|||
|
.WORD PLEFT,20H
|
|||
|
.WORD PFDOWN|PRYTE,15H
|
|||
|
.WORD PUP,26H
|
|||
|
.WORD PRYTE|PFDOWN,22H
|
|||
|
.WORD PFUP|PDOWN,20H
|
|||
|
; .WORD 0FFFFH
|
|||
|
|
|||
|
.WORD PFRYTE|PLEFT,30H
|
|||
|
.WORD PFRYTE|PUP,20H
|
|||
|
.WORD PFRYTE|PDOWN,35H
|
|||
|
.WORD PFLEFT|PUP,20H
|
|||
|
.WORD PFLEFT|PDOWN,35H
|
|||
|
.WORD PFRYTE|PDOWN,30H
|
|||
|
.WORD PFRYTE,20H
|
|||
|
.WORD PRYTE|PUP|PFDOWN,30H
|
|||
|
.WORD PLEFT,20H
|
|||
|
.WORD PFDOWN|PRYTE,15H
|
|||
|
.WORD PUP,26H
|
|||
|
.WORD PRYTE|PFDOWN,22H
|
|||
|
.WORD PFUP|PDOWN,20H
|
|||
|
.WORD PFRYTE|PLEFT,30H
|
|||
|
.WORD PFRYTE|PUP,20H
|
|||
|
.WORD PFRYTE|PDOWN,35H
|
|||
|
.WORD PFLEFT|PUP,20H
|
|||
|
.WORD PFLEFT|PDOWN,35H
|
|||
|
.WORD 0FFFFH
|
|||
|
|
|||
|
SNAKELST
|
|||
|
;EXIT FROM RIGHT DOOR WITH SNAKES
|
|||
|
.WORD PRYTE,06FH
|
|||
|
.WORD PDOWN|PRYTE,2H
|
|||
|
.WORD PDOWN,30H
|
|||
|
.WORD PDOWN|PRYTE,2H
|
|||
|
.WORD PRYTE,0FAH
|
|||
|
.WORD 0,1H
|
|||
|
.WORD 0FFFFH
|
|||
|
|
|||
|
TVMOV:
|
|||
|
;TELEVISION INTRO SCREEN PLAYER MOVEMENT/ANIMATION SCRIPT
|
|||
|
.WORD PUP,2
|
|||
|
.WORD PUP|PRYTE,3H
|
|||
|
.WORD PRYTE,044H
|
|||
|
.WORD PDOWN|PRYTE,2H
|
|||
|
.WORD PDOWN,30H
|
|||
|
.WORD PDOWN|PRYTE,2H
|
|||
|
.WORD PRYTE,014AH
|
|||
|
.WORD 0,1H
|
|||
|
.WORD 0FFFFH
|
|||
|
TVMOV2:
|
|||
|
;TELEVISION INTRO SCREEN PLAYER MOVEMENT/ANIMATION SCRIPT
|
|||
|
.WORD PUP,2
|
|||
|
.WORD PUP|PLEFT,3H
|
|||
|
.WORD PLEFT,040H
|
|||
|
.WORD PDOWN|PLEFT,2H
|
|||
|
.WORD PDOWN,2AH
|
|||
|
.WORD PDOWN|PRYTE,2H
|
|||
|
.WORD PRYTE,014AH
|
|||
|
.WORD 0,1H
|
|||
|
.WORD 0FFFFH
|
|||
|
LDRS:
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
LDRS2:
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD PRYTE,01H
|
|||
|
.WORD 0,1H
|
|||
|
.WORD 0FFFFH
|
|||
|
RGTDOOR:
|
|||
|
;EXIT FROM RIGHT DOOR
|
|||
|
.WORD PRYTE,0DFH
|
|||
|
.WORD 0,1H
|
|||
|
.WORD 0FFFFH
|
|||
|
BOTDOOR:
|
|||
|
;EXIT FROM BOTTOM DOOR
|
|||
|
.WORD PDOWN,0A3H
|
|||
|
.WORD 0,1H
|
|||
|
.WORD 0FFFFH
|
|||
|
RDRS:
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
RDRS2:
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD PLEFT,01H
|
|||
|
.WORD 0,1H
|
|||
|
.WORD 0FFFFH
|
|||
|
LFTDOOR:
|
|||
|
;EXIT FROM LEFT DOOR
|
|||
|
.WORD PLEFT,0DFH
|
|||
|
.WORD 0,1H
|
|||
|
.WORD 0FFFFH
|
|||
|
|
|||
|
TOPDOOR:
|
|||
|
;EXIT FROM TOP DOOR
|
|||
|
|
|||
|
.WORD PUP,0AAH
|
|||
|
.WORD 0,1H
|
|||
|
.WORD 0FFFFH
|
|||
|
;
|
|||
|
GRAT:
|
|||
|
.long GRATSBMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 0,01H ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
|
|||
|
LOGO:
|
|||
|
.long LOGOBMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 0,0FFFEH ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
LOGO2:
|
|||
|
.long logo2BMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 3,0FFFEH ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
;FBI1:
|
|||
|
; .long FBIBMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
; .WORD 0BH,012H ;x,y start pos.
|
|||
|
; .LONG >FFFFFFFF
|
|||
|
CHAMPS:
|
|||
|
.long tenBMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 0AH,-4 ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
OFFER:
|
|||
|
.long tshirtBMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 013H,-2 ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
INITL:
|
|||
|
.long BONUSIIBMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 2,0 ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
|
|||
|
TITLE:
|
|||
|
.long TITPGBMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 4,0 ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
|
|||
|
.END
|
|||
|
|
|||
|
|