2339 lines
45 KiB
NASM
2339 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:
|
||
; JSRP GRATS
|
||
; 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 011DAH ;18BAH
|
||
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
|
||
SY2 .LONG FSY1,S2,FS3,FS4,S2,FS5,S2,FS5A,S2
|
||
.LONG 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
|
||
|
||
|