5027 lines
99 KiB
NASM
5027 lines
99 KiB
NASM
|
**************************************************************
|
|||
|
*
|
|||
|
* Software: Mark Turmell
|
|||
|
* Initiated: Dec 18,1990
|
|||
|
*
|
|||
|
* Modified:
|
|||
|
*
|
|||
|
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
|
|||
|
*
|
|||
|
*.Last mod - 1/9/92 18:39
|
|||
|
**************************************************************
|
|||
|
|
|||
|
.FILE 'HELPER.ASM'
|
|||
|
.TITLE 'TOTAL CARNAGE GAME PROGRAM'
|
|||
|
.WIDTH 132
|
|||
|
.OPTION B,D,L,T
|
|||
|
.MNOLIST
|
|||
|
|
|||
|
|
|||
|
.INCLUDE "MPROC.EQU" ;MPROC EQUATES
|
|||
|
.INCLUDE "DISP.EQU" ;DISPLAY PROC. EQUATES
|
|||
|
.INCLUDE "\VIDEO\SYS\SYS.INC" ;Z UNIT SYSTEM EQUATES
|
|||
|
.INCLUDE "\VIDEO\SYS\MACROS.HDR" ;MACROS DEFINITIONS
|
|||
|
.INCLUDE "IMGTBL.GLO"
|
|||
|
.INCLUDE "GAME.EQU"
|
|||
|
.include "audit.equ"
|
|||
|
.include "WARP.TBL"
|
|||
|
|
|||
|
;SOUND HEADERS USED
|
|||
|
|
|||
|
.REF BEEP1,STATSND,SLIDEIN,EXITSND,TUNE3,EXP2
|
|||
|
.REF TUNE3O,WRPSND,TUNE2,ONESNDOVR,TUNE1
|
|||
|
|
|||
|
;SYMBOLS EXTERNALLY DEFINED
|
|||
|
|
|||
|
.REF DLYINTO,BOTMBMOD,GAMSTATE,ESCAPED,GET_AWAY
|
|||
|
.ref aud_addnumplyrs,SCRADD2,DO_WINNER,PCP,RESTUFF_AUTOERASE
|
|||
|
.REF STRT_FORT,DEATHS,ORCHINT,STOPOBJS
|
|||
|
.REF STRTS2,BIG_EAT,HOME2BMOD,GENSPK,SKIPR_DN
|
|||
|
.REF PORT_MOD,AIRRECT3A,AIRBRECT3,PATHAIR2,TARGETST,FORDBG,HULK_DN
|
|||
|
.REF FIX3,SEND_GEMS
|
|||
|
.REF frypbg_t,FROMSHK,NOSHOOT,XWAYBMOD
|
|||
|
.REF HZSPD,ICN1,AIRRECT1,AIRBRECT1,ENAIR1,STRT_MOD
|
|||
|
.REF TUFFMINE,fry_plyrs
|
|||
|
.REF bomb_neutron,bombnon,ICN6,UPAL,ICN7
|
|||
|
.REF CRSRAM,CTOTAL,ROAD_MOD,ICONS_DN,MAYBE_UD1
|
|||
|
.REF FIX,FIXGUNS,ICN4
|
|||
|
.REF DTXTB,ERASE_TXT_LTRS,AOF,SHSTG
|
|||
|
.REF INCOM_TRAN,PCTOT,RINGS,RANDPER,ADDBMB,P1DATA,P2DATA,FREETOT
|
|||
|
.REF RD8FONT,STRCNRMO_1,ERASE_TXT,NEWDBMOD,HUTLCKBMOD,MODBBMOD
|
|||
|
.REF BLAKOUT,BGFRTP,GRNDP,UFLP,JEEPP2,CANDB,DISP_DEL,DO_MAN
|
|||
|
.REF ICN2,ICLIST,SEND_ICON,JUMPXY2,POL2,O_MINE,JUMPXY
|
|||
|
.REF PUTA7,HALT,DO_ALL_STUFF,DMA_SCORE,INIT_SCORE,COLCYC,START
|
|||
|
.REF SIT2,SITLST,ZERO_BITS,SIT1,DO_RACKUP,SIT3,CYCLIFE,SIT4,ICN8
|
|||
|
.REF GETANIXY,ARWOFF,ONARRW,SCORE_FLAG,RD7FONT,WRLD,STRCNRMO
|
|||
|
.REF STRTA,SETPXY2,SETPXY1,FON15A,LOCKABMOD,STRLNRMO,STRT_CRM
|
|||
|
.REF GPALOBJ,STFOBJ,INSOBJ,ADJSTWTL,FADE_STRT,CURRENT,BCURRENT
|
|||
|
.REF FRANIM,FRANIMQ
|
|||
|
.ref KILOBJ,KILALL,SCRIPTPLAY,IRQSKYE,STATUS,HSTGSET,WFLG
|
|||
|
.REF XVL,YVL,SBOMB,PLYRPRCS,FADEIN,FB_FADEIN,EN_CURRENT,MODDBMOD
|
|||
|
.REF BAKMODS,TARGET_NUM,DSRTONE_MOD,ENEMY_RECT,JEEPCYC,SETC2
|
|||
|
.REF OBJON,OBJOFF,RUNIN,TARGET,WAVE,FB_FADEOUT,MODJBMOD
|
|||
|
.REF SCRTST,XBOOMS,GETFPAL,WARP_KIL,SHK_ON,SENDGRN2,STRT_D
|
|||
|
.REF DELOBJ,HTYPE,STRT_S,HULK_CNT,STATIC_COVER,CLNPAL,MODCBMOD
|
|||
|
.REF DELAYALL,RACKBMOD,PLYROBJS,CNTDIG1,CNTDIG2,timeron,MODZBMOD
|
|||
|
.REF ERECT12,ZONE_TXT2,BOOMS,MODHBMOD
|
|||
|
.REF SQR_FLG,SQUARES,NEWD2BMOD
|
|||
|
.REF FON15X,FON15W,FON15V,FON15M,TNTIT
|
|||
|
.REF DELOFFBOTL
|
|||
|
.REF P1CTRL,P2CTRL
|
|||
|
.REF RANGRAND
|
|||
|
.REF JOY_UPDATE,WARPTXT,OFFSCRN
|
|||
|
.REF SEND_TOP,DOLORD,BGND_UD1,KILBGND
|
|||
|
.ref anim_killall,NO_START,INTRO,STATSNDS
|
|||
|
.ref AUD1,ZONE_TXT3
|
|||
|
|
|||
|
;SYMBOLS DEFINED IN THIS FILE
|
|||
|
|
|||
|
.DEF NOCAN2,digit_t,WTIMER0 ;,KEEP_WARP
|
|||
|
.DEF STOPPLYR,INAWARP,JET_KILLS,CMBAK,YESPWRD,LOCK_NUM,STRT_G
|
|||
|
.DEF INST_WARP,SCRLUP,ROAD2_MOD
|
|||
|
.DEF DSRTNEW_MOD,SETDET,DO_NEUTS
|
|||
|
.DEF BIGMAP,BGDO,COMEOUT,WARPOUT,KPARWP,GOBACK
|
|||
|
.DEF MAPOUT,MAPDN,WARPER,STRT_WRP,WORDS
|
|||
|
.DEF INFO_BOX,KILJOY,WAITTNT,TAUNTOUT,KP_TAUNT,TWAS1
|
|||
|
.DEF AFTR_WRP,MINE_FLG,TNT_TYPE
|
|||
|
.def PLYRS_CNTR,SHLD1,SHLD2
|
|||
|
|
|||
|
;UNINITIALIZED RAM DEFINITIONS
|
|||
|
|
|||
|
;EQUATES FOR THIS FILE
|
|||
|
|
|||
|
.BSS JET_KILLS,32 ;FOR BONUS
|
|||
|
.BSS INAWARP,16
|
|||
|
.BSS TNT_TYPE,16
|
|||
|
.BSS KEEP_WARP,16
|
|||
|
.BSS AFTR_WRP,16
|
|||
|
.BSS KP_TAUNT,32
|
|||
|
.BSS MAPOUT,32
|
|||
|
.BSS KEEP_P,32
|
|||
|
.BSS PALTMP,16*16*2 ;ALLOCATE 2 X COLOR AREA IN RAM
|
|||
|
.BSS TAUNTOUT,16
|
|||
|
.BSS WORDS,16*5
|
|||
|
.BSS WARPOUT,16
|
|||
|
.BSS LOCK_NUM,16
|
|||
|
.BSS MINE_FLG,16
|
|||
|
.BSS KPARWP,32
|
|||
|
.BSS KEEP_STUFF,32*17 ;FOR RETURNING AFTER WARP
|
|||
|
.BSS INFO_BOX,32 ;FOR RETURNING AFTER WARP
|
|||
|
.BSS MAPNUM,16
|
|||
|
.BSS RAMNO,64
|
|||
|
.BSS KEEP2,16
|
|||
|
.BSS KEEP3,16
|
|||
|
|
|||
|
.TEXT
|
|||
|
|
|||
|
BLIP .WORD >F3F7,>20,>8099,0 ;BLIP SND
|
|||
|
|
|||
|
********************************
|
|||
|
STRT_G
|
|||
|
MOVI GOOBP,A8 ;PAL NAME
|
|||
|
MOVI PALTMP,A9 ;RAM AREA
|
|||
|
MOVI [1,13],A10 ;BEGIN/END COLOR #
|
|||
|
MOVK 6,A11 ;RATE IN TICKS
|
|||
|
CREATE CYCPID,COLCYC ;COLOR CYCLER ON
|
|||
|
RETS
|
|||
|
|
|||
|
LK1RECT .WORD 1+200,0+200,190H+200,40H+200 ;LOCK DOWN 1 RECT LIST
|
|||
|
.WORD 160H+200,0+200,190H+200,0FAH+200
|
|||
|
.WORD 0
|
|||
|
LK1BRECT
|
|||
|
.WORD 1+200,0+200,9FH+200,32H+200 ;BULLET RECT LOCK 1
|
|||
|
.WORD 105H+200,0+200,190H+200,32H+200
|
|||
|
.WORD 165H+200,0+200,190H+200,0FAH+200
|
|||
|
.WORD 0
|
|||
|
LK3RECT .WORD 250,0+200,190H+147,33H+200 ;LOCK DOWN 3 RECT LIST
|
|||
|
.WORD 0
|
|||
|
LK3BRECT
|
|||
|
.WORD 250,0+200,9AH+200,20H+200 ;BULLET RECT LOCK 3
|
|||
|
.WORD 105H+190,0+200,160H+190,20H+200
|
|||
|
.WORD 0
|
|||
|
LK3GRECT ;FOR GRUNTS
|
|||
|
.WORD 0FAH,0+200,158H,118H,7 ;GRUNT RECT LOCK 3
|
|||
|
.WORD 1B0H,0+200,225H,118H,3
|
|||
|
.WORD 0
|
|||
|
LK5RECT
|
|||
|
.WORD 0CAH,0C8H,0167H,0FCH ;TOP LFT
|
|||
|
.WORD 1BCH,0C8H,253H,0FCH ;TOP RGT
|
|||
|
.WORD 0C0H,0C8H,0E8H,1FBH ;LFT SIDE
|
|||
|
.WORD 234H,0C8H,263H,1FBH ;RGT SIDE
|
|||
|
.WORD 0
|
|||
|
LK5BRECT
|
|||
|
.WORD 0CAH,0C8H,0167H-10,0FCH-18 ;TOP LFT
|
|||
|
.WORD 1BCH+10,0C8H,253H,0FCH-18 ;TOP RGT
|
|||
|
.WORD 0C0H,0C8H,0E8H-12,11BH ;LFT SIDE UPPER
|
|||
|
.WORD 234H+10,0C8H,263H,11BH ;RGT SIDE
|
|||
|
.WORD 0C0H,0175H,0E8H-12,1FBH ;LFT SIDE LOWER
|
|||
|
.WORD 234H+10,0175H,263H,1FBH ;RGT SIDE
|
|||
|
.WORD 0
|
|||
|
LK5GRECT ;FOR GRUNTS
|
|||
|
.WORD 0FAH,0+200,158H,108H,5
|
|||
|
.WORD 1B0H,0+200,225H,108H,5
|
|||
|
.WORD 0
|
|||
|
LK1SPWN ;GRUNTS SPAWN FROM HERE
|
|||
|
.WORD 0,1,170+200,270+200,185+200,277+200
|
|||
|
.WORD 0,3,-50+200,130+200,-35+200,145+200
|
|||
|
.WORD 0,5,179+200,-15+200,185+200,-1+200
|
|||
|
.WORD 0,3,-50+200,130+200,-35+200,145+200
|
|||
|
.WORD 0,1,170+200,270+200,185+200,277+200
|
|||
|
.WORD 0,5,179+200,-15+200,185+200,-1+200
|
|||
|
.WORD 7,7,1A4H+200,52H+200,212H+200,64H+200 ;FROM ROOF
|
|||
|
.WORD 7,7,1A4H+200,52H+200,212H+200,64H+200 ;FROM ROOF
|
|||
|
LK2SPWN ;3 ALSO ;GRUNTS SPAWN FROM HERE
|
|||
|
.WORD 0,1,170+200,270+200,185+200,277+200
|
|||
|
.WORD 0,3,-45+200,120+200,-30+200,135+200
|
|||
|
.WORD 0,5,167H+4,0B1H-10,16DH+4,0B5H-10
|
|||
|
.WORD 0,7,410+200,123+200,435+200,135+200
|
|||
|
.WORD 0,1,170+200,270+200,185+200,277+200
|
|||
|
.WORD 0,3,-45+200,120+200,-30+200,135+200
|
|||
|
.WORD 0,5,167H+4,0B1H-10,16DH+4,0B5H-10
|
|||
|
.WORD 0,7,410+200,123+200,435+200,135+200
|
|||
|
LK5SPWN ;GRUNTS SPAWN FROM HERE
|
|||
|
.WORD 0,1,170+200,270+200,185+200,277+200
|
|||
|
.WORD 0,3,-55+200,130+200,-50+200,145+200
|
|||
|
.WORD 0,5,167H+4,0B1H-20,16DH+4,0B5H-20
|
|||
|
.WORD 0,7,410+200,130+200,435+200,145+200
|
|||
|
.WORD 0,1,170+200,270+200,185+200,277+200
|
|||
|
.WORD 0,3,-55+200,130+200,-50+200,145+200
|
|||
|
.WORD 0,5,167H+4,0B1H-20,16DH+4,0B5H-20
|
|||
|
.WORD 0,7,410+200,130+200,435+200,145+200
|
|||
|
|
|||
|
|
|||
|
|
|||
|
DOTEXT:
|
|||
|
;BRING OUT MISSION BOX
|
|||
|
;LIST TEXT OBJECTIVES
|
|||
|
;DIE OFF WHEN MAP LEAVES
|
|||
|
MOVI BX1,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,*A13(PDATA),L
|
|||
|
MOVI BX2,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,*A13(PDATA+32),L
|
|||
|
MOVI BX2,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
MOVE A0,*A13(PDATA+64),L
|
|||
|
MOVI 088-200,A1
|
|||
|
MOVE A1,*A0(OYPOS)
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVI BX2,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
MOVE A0,*A13(PDATA+96),L
|
|||
|
MOVI -04FH,A1
|
|||
|
MOVE A1,*A0(OYPOS)
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVI BX3,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,*A13(PDATA+128),L
|
|||
|
|
|||
|
|
|||
|
MOVE @MAPNUM,A0
|
|||
|
SUBK 3,A0
|
|||
|
JRNZ VOUT0
|
|||
|
|
|||
|
SLEEPK 1
|
|||
|
|
|||
|
MOVI SLIDEIN,A0
|
|||
|
CALLA ONESND
|
|||
|
|
|||
|
MOVK 5,A9
|
|||
|
MOVE A13,A10
|
|||
|
VOUT9 MOVE *A10(PDATA),A0,L
|
|||
|
MOVE *A0(OXPOS),A1
|
|||
|
ADDI 99,A1
|
|||
|
MOVE A1,*A0(OXPOS)
|
|||
|
ADDK 32,A10
|
|||
|
DSJ A9,VOUT9
|
|||
|
MOVI 47H,A11
|
|||
|
JRUC VOUT
|
|||
|
VOUT0 SLEEPK 1 ;60
|
|||
|
MOVI SLIDEIN,A0
|
|||
|
CALLA ONESND
|
|||
|
|
|||
|
MOVI 47H,A11
|
|||
|
VOUT SLEEPK 1
|
|||
|
MOVE A13,A10
|
|||
|
MOVK 5,A9
|
|||
|
VOUT1 MOVE *A10(PDATA),A0,L
|
|||
|
MOVE *A0(OYPOS),A1
|
|||
|
ADDK 3,A1
|
|||
|
MOVE A1,*A0(OYPOS)
|
|||
|
ADDK 32,A10
|
|||
|
DSJ A9,VOUT1
|
|||
|
DSJ A11,VOUT
|
|||
|
|
|||
|
CLR A0
|
|||
|
MOVE A0,@WRLD
|
|||
|
MOVI RD7FONT,A11 ;FONT TABLE
|
|||
|
MOVK 1,A10 ;Y,X SPACING BETWEEN CHARCTERS
|
|||
|
|
|||
|
|
|||
|
MOVE @MAPNUM,A0
|
|||
|
JRZ TEX1
|
|||
|
CMPI 1,A0
|
|||
|
JRZ TEX2
|
|||
|
CMPI 2,A0
|
|||
|
JRZ TEX3
|
|||
|
;ORCUS HINTS!
|
|||
|
;ORCUS HINTS
|
|||
|
;HNT1 .BYTE "HINTS FOR",0
|
|||
|
;HNT1A .BYTE "BEATING ORCUS",0
|
|||
|
;HNT2A .BYTE "SHOOT OFF THE ARM",0
|
|||
|
;HNT3 .BYTE "GUNS FIRST. THEN:",0
|
|||
|
;HNT3A .BYTE "BLOW OFF UPPER",0
|
|||
|
;HNT3B .BYTE "ARM STUMPS",0
|
|||
|
;HNT4 .BYTE "LOB GRENADES ONTO",0
|
|||
|
;HNT4A .BYTE "BOTH OF HIS EYES",0
|
|||
|
;HNT5 .BYTE "PUMMEL HIS UPPER",0
|
|||
|
;HNT5A .BYTE "HEAD. BOMBS HELP!",0
|
|||
|
;HNT6 .BYTE "DROP BOMBS UNDER",0
|
|||
|
;HNT7 .BYTE "HIM AND BACK OFF",0
|
|||
|
;HNT8 .BYTE "STANDING UNDER",0
|
|||
|
;HNT8A .BYTE "HIS MOUTH WILL",0
|
|||
|
;HNT9 .BYTE "RELEASE TONGUES",0
|
|||
|
MOVI BLIP,A0
|
|||
|
CALLA ONESND
|
|||
|
|
|||
|
MOVI HNT1,A8 ;OBJECTIVE 1
|
|||
|
MOVI [45-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 0C0CH,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI BLIP,A0
|
|||
|
CALLA ONESND
|
|||
|
MOVI HNT1A,A8 ;OBJECTIVE 1
|
|||
|
MOVI [55-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 0C0CH,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT2A,A8 ;OBJECTIVE 1
|
|||
|
MOVI [70-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT3,A8 ;OBJECTIVE 1
|
|||
|
MOVI [80-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT3A,A8 ;OBJECTIVE 1
|
|||
|
MOVI [95-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT3B,A8 ;OBJECTIVE 1
|
|||
|
MOVI [105-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT4,A8 ;OBJECTIVE 1
|
|||
|
MOVI [120-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT4A,A8 ;OBJECTIVE 1
|
|||
|
MOVI [130-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT5,A8 ;OBJECTIVE 1
|
|||
|
MOVI [145-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT5A,A8 ;OBJECTIVE 1
|
|||
|
MOVI [155-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT6,A8 ;OBJECTIVE 1
|
|||
|
MOVI [170-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT7,A8 ;OBJECTIVE 1
|
|||
|
MOVI [180-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT8,A8 ;OBJECTIVE 1
|
|||
|
MOVI [195-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT8A,A8 ;OBJECTIVE 1
|
|||
|
MOVI [205-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI HNT9,A8 ;OBJECTIVE 1
|
|||
|
MOVI [215-25-1,99+0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
SLEEP 9*60
|
|||
|
JRUC OBJGONE
|
|||
|
|
|||
|
TEX3
|
|||
|
;MAP 3 TEXT HERE
|
|||
|
MOVI T3OBJ3,A8 ;OBJECTIVE 1
|
|||
|
MOVI [45-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ4,A8 ;OBJECTIVE 1
|
|||
|
MOVI [55-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ5,A8 ;OBJECTIVE 1
|
|||
|
MOVI [65-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ6,A8 ;OBJECTIVE 1
|
|||
|
MOVI [75-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ7,A8 ;OBJECTIVE 1
|
|||
|
MOVI [85-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ8,A8 ;OBJECTIVE 1
|
|||
|
MOVI [95-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ9,A8 ;OBJECTIVE 1
|
|||
|
MOVI [105-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ10,A8 ;OBJECTIVE 1
|
|||
|
MOVI [115-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ11,A8 ;OBJECTIVE 1
|
|||
|
MOVI [125-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ12,A8 ;OBJECTIVE 1
|
|||
|
MOVI [140-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ13,A8 ;OBJECTIVE 1
|
|||
|
MOVI [150-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ14,A8 ;OBJECTIVE 1
|
|||
|
MOVI [164-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ15,A8 ;OBJECTIVE 1
|
|||
|
MOVI [179-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ16,A8 ;OBJECTIVE 1
|
|||
|
MOVI [194-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ17,A8 ;OBJECTIVE 1
|
|||
|
MOVI [204-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T3OBJ18,A8 ;OBJECTIVE 1
|
|||
|
MOVI [218-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
JRUC READ
|
|||
|
|
|||
|
TEX2
|
|||
|
;MAP 2 TEXT HERE
|
|||
|
MOVI T2OBJ0,A8 ;OBJECTIVE 1
|
|||
|
MOVI [45-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ1,A8 ;OBJECTIVE 1
|
|||
|
MOVI [55-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ2,A8 ;OBJECTIVE 1
|
|||
|
MOVI [65-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ3,A8 ;OBJECTIVE 1
|
|||
|
MOVI [75-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ4,A8 ;OBJECTIVE 1
|
|||
|
MOVI [85-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ5,A8 ;OBJECTIVE 1
|
|||
|
MOVI [100-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 0C0CH,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ6,A8 ;OBJECTIVE 1
|
|||
|
MOVI [110-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ7,A8 ;OBJECTIVE 1
|
|||
|
MOVI [120-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ8,A8 ;OBJECTIVE 1
|
|||
|
MOVI [130-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ9,A8 ;OBJECTIVE 1
|
|||
|
MOVI [145-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ10,A8 ;OBJECTIVE 1
|
|||
|
MOVI [155-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ11,A8 ;OBJECTIVE 1
|
|||
|
MOVI [170-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ11A,A8 ;OBJECTIVE 1
|
|||
|
MOVI [180-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
MOVI T2OBJ11B,A8 ;OBJECTIVE 1
|
|||
|
MOVI [190-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ12,A8 ;OBJECTIVE 1
|
|||
|
MOVI [205-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI T2OBJ13,A8 ;OBJECTIVE 1
|
|||
|
MOVI [215-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
JRUC READ
|
|||
|
|
|||
|
|
|||
|
TEX1
|
|||
|
;MAP 1 TEXT HERE
|
|||
|
MOVI OBJ3,A8 ;OBJECTIVE 1
|
|||
|
MOVI [45-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ4,A8 ;OBJECTIVE 1
|
|||
|
MOVI [55-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ5,A8 ;OBJECTIVE 1
|
|||
|
MOVI [70-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ6,A8 ;OBJECTIVE 1
|
|||
|
MOVI [80-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ7,A8 ;OBJECTIVE 1
|
|||
|
MOVI [95-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ8,A8 ;OBJECTIVE 1
|
|||
|
MOVI [105-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ9,A8 ;OBJECTIVE 1
|
|||
|
MOVI [120-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ10,A8 ;OBJECTIVE 1
|
|||
|
MOVI [130-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ11,A8 ;OBJECTIVE 1
|
|||
|
MOVI [145-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ12,A8 ;OBJECTIVE 1
|
|||
|
MOVI [155-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ13,A8 ;OBJECTIVE 1
|
|||
|
MOVI [165-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ14,A8 ;OBJECTIVE 1
|
|||
|
MOVI [175-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ15,A8 ;OBJECTIVE 1
|
|||
|
MOVI [190-25-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 2525H,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ1,A8 ;OBJECTIVE 1
|
|||
|
MOVI [180-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 0C0CH,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI OBJ2,A8 ;OBJECTIVE 1
|
|||
|
MOVI [190-1,0101],A9 ;SCRN Y/X
|
|||
|
MOVI 0C0CH,A6 ;
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
READ SLEEP 12*60 ;10*60
|
|||
|
OBJGONE
|
|||
|
;KILL ALL TEXT OBJECTIVES
|
|||
|
MOVE @MAPNUM,A0
|
|||
|
SUBK 3,A0
|
|||
|
JRNZ ONH
|
|||
|
;HINTS
|
|||
|
MOVI 45,A10 ;TIME FOR RINGS
|
|||
|
CREATE0 SETDET ;SET DELYDET ON PLAYERS
|
|||
|
SLEEPK 2
|
|||
|
CLR A0
|
|||
|
MOVE A0,@HALT
|
|||
|
MOVE A0,@MAPOUT,L
|
|||
|
ONH
|
|||
|
CALLA ERASE_TXT
|
|||
|
|
|||
|
MOVI SLIDEIN,A0
|
|||
|
CALLA ONESND
|
|||
|
|
|||
|
MOVI 88,A11
|
|||
|
NOUT SLEEPK 1
|
|||
|
MOVE A13,A10
|
|||
|
MOVK 5,A9
|
|||
|
NOUT1 MOVE *A10(PDATA),A0,L
|
|||
|
MOVE *A0(OXPOS),A1
|
|||
|
SUBK 8,A1
|
|||
|
MOVE A1,*A0(OXPOS)
|
|||
|
ADDK 32,A10
|
|||
|
DSJ A9,NOUT1
|
|||
|
DSJ A11,NOUT
|
|||
|
|
|||
|
MOVE A13,A10
|
|||
|
MOVK 5,A9
|
|||
|
LOUT1 MOVE *A10(PDATA),A0,L
|
|||
|
ADDK 32,A10
|
|||
|
CALLA DELOBJ
|
|||
|
DSJ A9,LOUT1
|
|||
|
DIE
|
|||
|
|
|||
|
|
|||
|
;MISN 1 TEXT
|
|||
|
OBJ1 .BYTE "BOMBS DESTROY",0
|
|||
|
OBJ2 .BYTE "MINES AND BARRELS",0
|
|||
|
OBJ3 .BYTE "DESTROY GENERAL",0
|
|||
|
OBJ4 .BYTE "AKHBOOB'S ARMY",0
|
|||
|
OBJ5 .BYTE "GAME GETS EASIER",0
|
|||
|
OBJ6 .BYTE "WITH 2 PLAYERS!",0
|
|||
|
OBJ7 .BYTE "RESCUE REPORTERS",0
|
|||
|
OBJ8 .BYTE "AND ALL CIVILIANS",0
|
|||
|
OBJ9 .BYTE "USE WARP DISCS",0
|
|||
|
OBJ10 .BYTE "FOR TRANSPORT",0
|
|||
|
OBJ11 .BYTE "USE TIME BOMBS",0
|
|||
|
OBJ12 .BYTE "AND MISSILES TO",0
|
|||
|
OBJ13 .BYTE "DESTROY ALL KEY",0
|
|||
|
OBJ14 .BYTE "TARGETS",0
|
|||
|
OBJ15 .BYTE "PROTECT OUR FLAG",0
|
|||
|
|
|||
|
;MISN 2 TEXT
|
|||
|
T2OBJ0 .BYTE "FOLLOW ROAD TO",0
|
|||
|
T2OBJ1 .BYTE "AIRPORT. WEAVE UP",0
|
|||
|
T2OBJ2 .BYTE "AND DOWN TRYING",0
|
|||
|
T2OBJ3 .BYTE "TO DESTROY SCUD",0
|
|||
|
T2OBJ4 .BYTE "TRUCKS.",0
|
|||
|
T2OBJ5 .BYTE "HINTS:",0
|
|||
|
T2OBJ6 .BYTE "TRY SQUEEZING",0
|
|||
|
T2OBJ7 .BYTE "BETWEEN BARRELS",0
|
|||
|
T2OBJ8 .BYTE "AND WALLS!",0
|
|||
|
T2OBJ9 .BYTE "KEYS ALLOW ENTRY",0
|
|||
|
T2OBJ10 .BYTE "INTO SECRET PATHS",0
|
|||
|
T2OBJ11 .BYTE "SHOOT A SHAKING",0
|
|||
|
T2OBJ11A .BYTE "BARREL WITH ONE",0
|
|||
|
T2OBJ11B .BYTE "BULLET TO RESET!",0
|
|||
|
T2OBJ12 .BYTE "BUMP INTO JETS",0
|
|||
|
T2OBJ13 .BYTE "FOR HIDDEN KEYS!",0
|
|||
|
|
|||
|
;MISN 3 TEXT
|
|||
|
T3OBJ3 .BYTE "ENTER AHKBOOB'S",0
|
|||
|
T3OBJ4 .BYTE "TOP SECRET",0
|
|||
|
T3OBJ5 .BYTE "FACILITY AND",0
|
|||
|
T3OBJ6 .BYTE "DESTROY HIS",0
|
|||
|
T3OBJ7 .BYTE "CAPABILITY TO",0
|
|||
|
T3OBJ8 .BYTE "CREATE MUTANT",0
|
|||
|
T3OBJ9 .BYTE "LIFE FORMS. YOU",0
|
|||
|
T3OBJ10 .BYTE "MUST THEN FIGHT",0
|
|||
|
T3OBJ11 .BYTE "AND CAPTURE HIM.",0
|
|||
|
T3OBJ12 .BYTE "ENTER SECRET PATH",0
|
|||
|
T3OBJ13 .BYTE "FOR BIG KEY BONUS",0
|
|||
|
T3OBJ14 .BYTE "EAT AT BROWNS",0
|
|||
|
T3OBJ15 .BYTE "BULLS RULE NOW",0
|
|||
|
T3OBJ16 .BYTE "PISTONS WILL RULE",0
|
|||
|
T3OBJ17 .BYTE "THE NBA AGAIN.",0
|
|||
|
T3OBJ18 .BYTE "MIDWAY RULES",0
|
|||
|
|
|||
|
;ORCUS HINTS
|
|||
|
HNT1 .BYTE "HINTS FOR",0
|
|||
|
HNT1A .BYTE "BEATING ORCUS",0
|
|||
|
HNT2A .BYTE "SHOOT OFF ARM",0
|
|||
|
HNT3 .BYTE "GUNS FIRST. THEN:",0
|
|||
|
HNT3A .BYTE "BLOW OFF UPPER",0
|
|||
|
HNT3B .BYTE "ARM STUMPS",0
|
|||
|
HNT4 .BYTE "LOB GRENADES",0
|
|||
|
HNT4A .BYTE "ONTO HIS EYES",0
|
|||
|
HNT5 .BYTE "PUMMEL HIS UPPER",0
|
|||
|
HNT5A .BYTE "HEAD. BOMBS HELP",0
|
|||
|
HNT6 .BYTE "DROP BOMBS UNDER",0
|
|||
|
HNT7 .BYTE "HIM AND BACK OFF",0
|
|||
|
HNT8 .BYTE "STANDING UNDER",0
|
|||
|
HNT8A .BYTE "HIS MOUTH WILL",0
|
|||
|
HNT9 .BYTE "RELEASE TONGUES",0
|
|||
|
.EVEN
|
|||
|
|
|||
|
XOFS .LONG [305,0],[190,0],[183,0],[305,0],[305,0],[200,0],[200,0]
|
|||
|
.LONG [305,0],[190,0],[183,0],[305,0],[305,0],[200,0],[200,0]
|
|||
|
YOFS .LONG [195,0],[120,0],[75,0],[195,0],[195,0],[120,0],[120,0]
|
|||
|
.LONG [195,0],[120,0],[75,0],[195,0],[195,0],[120,0],[120,0]
|
|||
|
GOBACK SLEEP 60
|
|||
|
MOVE @HULK_CNT,A0
|
|||
|
JRNZ GOBACK
|
|||
|
CREATE0 DO_WINNER
|
|||
|
SLEEP 90
|
|||
|
MOVE @WAVE,A0
|
|||
|
CMPI 23,A0
|
|||
|
JRZ GB00
|
|||
|
CMPI 42,A0
|
|||
|
JRZ GB00
|
|||
|
CMPI 26,A0
|
|||
|
JRZ GB00
|
|||
|
CMPI 22,A0
|
|||
|
JRNZ GB0
|
|||
|
GB00 CREATE FUTUREPID,SHSTG
|
|||
|
GB0 MOVE @LOCK_NUM,A10
|
|||
|
SLL 5,A10
|
|||
|
MOVI XOFS,A7
|
|||
|
ADD A10,A7
|
|||
|
MOVE *A7,A7,L
|
|||
|
MOVE @WORLDTLX,A0,L
|
|||
|
ADD A7,A0
|
|||
|
MOVE @WORLDTLY,A1,L
|
|||
|
MOVI YOFS,A7
|
|||
|
ADD A10,A7
|
|||
|
MOVE *A7,A7,L
|
|||
|
ADD A7,A1
|
|||
|
MOVI OTHERP,A2
|
|||
|
MOVI 69,A3 ;70 FOR INSTANT WARP BACK
|
|||
|
MOVI DMAWNZ|M_PIXSCAN,A4
|
|||
|
MOVI CLSNEUT|TYPICON|SUBMAN,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ2
|
|||
|
CALLA OBJOFF
|
|||
|
CREATE0 SENDGRN2
|
|||
|
SLEEPK 15
|
|||
|
MOVE A8,A0
|
|||
|
CALLA OBJON
|
|||
|
CREATE NEUT2PID,DO_NEUTS
|
|||
|
JRUC WRP3
|
|||
|
|
|||
|
DO_NEUTS
|
|||
|
MOVK 1,A8
|
|||
|
CREATE FUTUREPID,bomb_neutron
|
|||
|
DON1 SLEEP 18*60
|
|||
|
MOVI NEUT2PID,A0
|
|||
|
MOVE A0,*A13(PROCID)
|
|||
|
MOVE @HALT,A0
|
|||
|
JRNZ DON1
|
|||
|
JRUC DO_NEUTS
|
|||
|
|
|||
|
INST_WARP
|
|||
|
SLEEP 180
|
|||
|
movi AUDWARPA,a0 ;# Appeared
|
|||
|
calla AUD1
|
|||
|
MOVI 0D420000H,A0
|
|||
|
MOVE @WORLDTLY,A1,L
|
|||
|
ADDI [133,0],A1
|
|||
|
MOVI OTHERP,A2 ;GET OTHER PAL FOR THIS DISC
|
|||
|
MOVI 70,A3 ;70 FOR INSTANT WARP
|
|||
|
MOVI DMAWNZ|M_PIXSCAN,A4
|
|||
|
MOVI CLSNEUT|TYPICON|SUBMAN,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ2
|
|||
|
CALLA OBJOFF
|
|||
|
CREATE0 SENDGRN2
|
|||
|
SLEEPK 15
|
|||
|
MOVE A8,A0
|
|||
|
CALLA OBJON
|
|||
|
JRUC WRP3
|
|||
|
STRT_WRP
|
|||
|
;A8=SHELL OF WARP
|
|||
|
;TURN ON ALL PIECES
|
|||
|
MOVE *A8(OSIZEX),A0
|
|||
|
CMPI 48H,A0 ;ORCHINT
|
|||
|
JRNZ SW10
|
|||
|
;HINT BUTTON
|
|||
|
MOVE A13,*A8(OPLINK),L
|
|||
|
MOVI ORCHINT,A0
|
|||
|
MOVE A0,*A8(OIMG),L
|
|||
|
MOVI 71,A3
|
|||
|
MOVE A3,*A8(OZPOS)
|
|||
|
MOVI DMAWNZ|M_PIXSCAN,A4
|
|||
|
MOVE A4,*A8(OFLAGS)
|
|||
|
MOVI CLSNEUT|TYPICON|SUBMAN,A5
|
|||
|
MOVE A5,*A8(OID)
|
|||
|
CREATE WARPPID,WAITB
|
|||
|
MOVE A0,*A13(PDATA),L ;PUT SPIN PROC INTO WARPER PDATA
|
|||
|
UTP1 SLEEPK 1
|
|||
|
MOVE @MAPOUT,A0,L
|
|||
|
JRNZ UTP2
|
|||
|
MOVE @WORLDTLY+16,A0
|
|||
|
MOVE *A8(OYPOS),A1
|
|||
|
ADDI 250,A0
|
|||
|
CMP A0,A1
|
|||
|
JRC UTP1
|
|||
|
;SKIPPED GETTING HINT ICON
|
|||
|
UTP2
|
|||
|
CALLA DELOBJA8
|
|||
|
MOVI WARPPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
; MOVE *A13(PDATA),A0,L ;PROCESS BLINKING HEAD
|
|||
|
; CALLA KILL
|
|||
|
DIE
|
|||
|
;BLINK HINTS
|
|||
|
WAITB
|
|||
|
MOVK 8,A11
|
|||
|
FLP MOVE *A8(OPAL),A10,L
|
|||
|
ORI 1F1F0000H,A10
|
|||
|
MOVE A10,*A8(OPAL),L
|
|||
|
MOVE *A8(OFLAGS),A0,W
|
|||
|
ORI 8,A0
|
|||
|
MOVE A0,*A8(OFLAGS),W
|
|||
|
SLEEPK 2
|
|||
|
zext a10
|
|||
|
MOVE A10,*A8(OPAL),L
|
|||
|
MOVE *A8(OFLAGS),A0,W
|
|||
|
ANDI 0FFF7H,A0
|
|||
|
MOVE A0,*A8(OFLAGS),W
|
|||
|
SLEEPK 5
|
|||
|
DSJ A11,FLP
|
|||
|
SLEEP 120
|
|||
|
JRUC WAITB
|
|||
|
SW10
|
|||
|
movi AUDWARPA,a0 ;# Appeared
|
|||
|
calla AUD1
|
|||
|
MOVE *A8(OYVAL),A10,L
|
|||
|
MOVE *A8(OXVAL),A11,L
|
|||
|
CALLA DELOBJA8 ;KILL OLD SHELL
|
|||
|
MOVE A10,A1
|
|||
|
MOVE A11,A0
|
|||
|
MOVI OTHERP,A2 ;GET OTHER PAL FOR THIS DISC
|
|||
|
MOVI 70,A3 ;70 FOR INSTANT WARP
|
|||
|
JRUC WRP2
|
|||
|
WARPER
|
|||
|
;TURN ON WARP BUTTON AT BOTTOM OF SCREEN
|
|||
|
;IF IT SCROLLS OFF SCRN, KILL IT, DIE
|
|||
|
;IF PLAYER TOUCHES IT, XFERPROC TO WARPER SLIDING OUT
|
|||
|
;HALT ALL ACTION
|
|||
|
;ENTER WARP CODE, ETC.
|
|||
|
;RESTART ACTION AT NEW LOCATION
|
|||
|
MOVE @WORLDTLX,A0,L
|
|||
|
ADDI [0147H,0],A0
|
|||
|
MOVE @WORLDTLY,A1,L
|
|||
|
ADDI [0C0H-02CH,0],A1
|
|||
|
|
|||
|
MOVI SPIN1,A2
|
|||
|
MOVI 71,A3
|
|||
|
WRP2
|
|||
|
MOVI DMAWNZ|M_PIXSCAN,A4
|
|||
|
MOVI CLSNEUT|TYPICON|SUBMAN,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ2
|
|||
|
|
|||
|
|
|||
|
****************************************************************************
|
|||
|
;TEST BOOB SHIP TURRET ATTACHED TO SPINNING WARP DISC!
|
|||
|
;POSSIBLY CREATE THIS TWICE! COULD BE FUN
|
|||
|
|
|||
|
; MOVE A13,A10
|
|||
|
; MOVK 3,A9 ;GUN ON TOP OF BTR60
|
|||
|
;;CREATE TURRET ON BOOB SHIP
|
|||
|
;;A8=BOOB SHIP IMG PNTR THIS TURRET WILL CONSTANTLY ALIGN TO
|
|||
|
; .REF TTORSO
|
|||
|
; CREATE T72PID,TTORSO
|
|||
|
; CREATE T72PID,TTORSO
|
|||
|
; CREATE T72PID,TTORSO
|
|||
|
; CREATE T72PID,TTORSO
|
|||
|
;; MOVE A0,*A13(KPTSO),L ;KEEP TURRET PROC AROUND
|
|||
|
|
|||
|
;TURRET PROCESS STORES THIS BACK INTO CALLING PROCESS!
|
|||
|
;; MOVE A8,*A10(KPTSOBJ),L
|
|||
|
****************************************************************************
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
; .REF DO_FLMRS
|
|||
|
; CREATE0 DO_FLMRS
|
|||
|
WRP3 CREATE WARPPID,ANISPN
|
|||
|
MOVE A0,*A13(PDATA),L ;PUT SPIN PROC INTO WARPER PDATA
|
|||
|
|
|||
|
WTP1 SLEEP 200 ;500
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
MOVE @WORLDTLY+16,A1
|
|||
|
CMP A1,A0
|
|||
|
JRC WTP1 ;HASN'T APPEARED ON SCRN YET!
|
|||
|
CALLA SCRTST
|
|||
|
JRZ WTP1
|
|||
|
;SKIPPED GETTING WARP
|
|||
|
CALLA DELOBJA8
|
|||
|
MOVE *A13(PDATA),A0,L ;PROCESS SPINNING THE DISC
|
|||
|
CALLA KILL
|
|||
|
DIE
|
|||
|
; .REF MORTAR_GRNT
|
|||
|
;DUF SLEEP 60
|
|||
|
; CREATE BOSSPID,MORTAR_GRNT
|
|||
|
; SLEEP 180
|
|||
|
; JRUC DUF
|
|||
|
|
|||
|
ANISPN
|
|||
|
MOVI WSPINS,A9
|
|||
|
WBG1 CLR A1
|
|||
|
JSRP FRANIM
|
|||
|
JRNC WBG1
|
|||
|
JRUC ANISPN
|
|||
|
|
|||
|
WSPINS
|
|||
|
.LONG SPIN1
|
|||
|
.WORD 2
|
|||
|
.LONG SPIN2
|
|||
|
.WORD 2
|
|||
|
.LONG SPIN3
|
|||
|
.WORD 2
|
|||
|
.LONG SPIN4
|
|||
|
.WORD 2
|
|||
|
.LONG SPIN5
|
|||
|
.WORD 2
|
|||
|
.LONG SPIN6
|
|||
|
.WORD 2
|
|||
|
.LONG SPIN7
|
|||
|
.WORD 2
|
|||
|
.LONG SPIN8
|
|||
|
.WORD 2
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
SPREAD
|
|||
|
CREATE0 SPREAD2
|
|||
|
MOVK 8,A11
|
|||
|
LE1
|
|||
|
MOVE A11,A0
|
|||
|
SLL 5,A0
|
|||
|
MOVI XVL2,A1
|
|||
|
ADD A0,A1
|
|||
|
MOVE *A1,A9,L
|
|||
|
|
|||
|
ADDI YVL2,A0
|
|||
|
MOVE *A0,A10,L
|
|||
|
CREATE0 KM2A
|
|||
|
DSJS A11,LE1
|
|||
|
DIE
|
|||
|
SPREAD2
|
|||
|
MOVK 8,A11
|
|||
|
LE2
|
|||
|
MOVE A11,A0
|
|||
|
SLL 5,A0
|
|||
|
MOVI XVL,A1
|
|||
|
ADD A0,A1
|
|||
|
MOVE *A1,A9,L
|
|||
|
|
|||
|
ADDI YVL,A0
|
|||
|
MOVE *A0,A10,L
|
|||
|
CREATE0 KM2A
|
|||
|
DSJS A11,LE2
|
|||
|
DIE
|
|||
|
|
|||
|
KBM ;ARM RGT
|
|||
|
.LONG 0,0,SPIN1
|
|||
|
.WORD 93,DMAWNZ+M_NOCOLL,CLSDEAD
|
|||
|
.LONG 0H,0H
|
|||
|
AKBM2
|
|||
|
.LONG [340,0],[150,0]
|
|||
|
.LONG XPLD1
|
|||
|
.WORD 180,DMAWNZ+M_NOCOLL,CLSDEAD
|
|||
|
.LONG 0,0
|
|||
|
KM2A
|
|||
|
;TURN ON BURST EXP
|
|||
|
;SEND IT OUT AT CORRECT ANGLE
|
|||
|
;KILL OFF
|
|||
|
;A11=BURST #
|
|||
|
MOVI KBM,A14 ;BLOOD
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
|
|||
|
MOVE *A8(OXVAL),A1,L
|
|||
|
MOVE A1,*A0(OXVAL),L
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
MOVE A1,*A0(OYVAL),L
|
|||
|
MOVE A0,A8
|
|||
|
|
|||
|
MOVE A9,*A8(OXVEL),L
|
|||
|
MOVE A10,*A8(OYVEL),L
|
|||
|
|
|||
|
MOVI WSPINS,A9
|
|||
|
JSRP FRANIMQ
|
|||
|
|
|||
|
MOVE *A8(OXVEL),A0,L
|
|||
|
NEG A0
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVE *A8(OYVEL),A0,L
|
|||
|
NEG A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVI WSPINS,A9
|
|||
|
jauc FRQDELDIE
|
|||
|
|
|||
|
KM2B
|
|||
|
MOVI AKBM2,A14 ;BLOOD
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,A8
|
|||
|
MOVI 08000H,A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVE *A10(OXPOS),A0
|
|||
|
SUBK 12H,A0
|
|||
|
MOVE A0,*A8(OXPOS)
|
|||
|
MOVE *A10(OYPOS),A0
|
|||
|
SUBK 11H,A0
|
|||
|
MOVE A0,*A8(OYPOS)
|
|||
|
|
|||
|
MOVI XBOOMS,A9
|
|||
|
jauc FRQDELDIE
|
|||
|
|
|||
|
XVL2 .LONG 0,0,14000H*3,18000H*3,14000H*3,0,-14000H*3,-18000H*3,-14000H*3
|
|||
|
YVL2 .LONG 0,-16000H*3,-14000H*3,0,14000H*3,16000H*3,14000H*3,0,-14000H*3
|
|||
|
|
|||
|
LOCKA_MOD:
|
|||
|
.LONG LOCKABMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD -46+200,-38+200 ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
LOCKB_MOD:
|
|||
|
.LONG MODBBMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 0B0H,094H ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
LOCKD_MOD:
|
|||
|
.LONG MODDBMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 0CDH,0C6H ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
LOCKJ_MOD:
|
|||
|
.LONG MODJBMOD ;ROAD WITH LOTS OF GREEN POOLS
|
|||
|
.WORD 0CDH,0C6H ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
LOCKJ2_MOD:
|
|||
|
.LONG MODJBMOD ;ROAD WITH LOTS OF GREEN POOLS
|
|||
|
.WORD 0CDH,200 ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
LOCKH_MOD:
|
|||
|
.LONG MODHBMOD ;ROAD WITH LOTS OF GREEN POOLS
|
|||
|
.WORD 0A9H,0AFH ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
LOCKC_MOD:
|
|||
|
.LONG MODCBMOD ;ROAD WITH LOTS OF GREEN POOLS
|
|||
|
.WORD 0C2H,0BCH ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
LOCKZ_MOD:
|
|||
|
.LONG MODZBMOD ;ROAD WITH LOTS OF GREEN POOLS
|
|||
|
.WORD 0CDH,0C6H ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
PALBNO .LONG SCOREPAL,DESRTPL,0
|
|||
|
PALENO .LONG 0*32*32+0*32+0,0
|
|||
|
PALCNO2 .LONG 11*32*32+7*32+0,DESRTPL,0
|
|||
|
PALCNO3 .LONG 3*32*32+4*32+5,0
|
|||
|
TUNE6 .WORD >F3F0,2,>8008,0 ;UPPER DESERT TUNE
|
|||
|
;PUT IN WAVES ALSO!
|
|||
|
CMBAK
|
|||
|
;COMING BACK FROM A LOCKDOWN
|
|||
|
movi AUDWARPC,a0 ;# Completed
|
|||
|
calla AUD1
|
|||
|
MOVE @WAVE,A0
|
|||
|
CMPI 28,A0
|
|||
|
JRZ NEWT
|
|||
|
CMPI 23,A0
|
|||
|
JRZ NEWT
|
|||
|
subk 22,A0
|
|||
|
JRNZ CMBAK2
|
|||
|
NEWT MOVI TUNE6,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
CMBAK2
|
|||
|
MOVI WRPSND,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@SHK_ON
|
|||
|
MOVE A0,@AFTR_WRP
|
|||
|
;FADE AUTOPAL
|
|||
|
MOVI PALCNO,A11
|
|||
|
JSRP FADE_STRT
|
|||
|
|
|||
|
MOVI KEEP_STUFF,A1
|
|||
|
MOVE *A1+,A0,L
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
MOVE *A1+,A0,L
|
|||
|
MOVE A0,@WORLDTLY,L
|
|||
|
MOVE *A1+,A0,L
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
MOVE *A1+,A0,W
|
|||
|
MOVE A0,@HSTGSET
|
|||
|
MOVE *A1+,A0,L
|
|||
|
MOVE A0,@CURRENT,L
|
|||
|
MOVE *A1+,A0,L
|
|||
|
MOVE A0,@BCURRENT,L
|
|||
|
MOVE *A1+,A0,L
|
|||
|
MOVE A0,@EN_CURRENT,L
|
|||
|
MOVE *A1+,A0,L
|
|||
|
MOVE A0,@ENEMY_RECT,L
|
|||
|
MOVE *A1+,A0,W
|
|||
|
MOVE A0,@JUMPXY
|
|||
|
MOVE *A1+,A0,W
|
|||
|
MOVE A0,@JUMPXY2
|
|||
|
MOVE *A1+,A0,W
|
|||
|
MOVE A0,@WAVE
|
|||
|
MOVE *A1+,A0,L
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
MOVE *A1+,A0,W
|
|||
|
MOVE A0,@HTYPE,W
|
|||
|
|
|||
|
MOVI 30,A10 ;TIME FOR RINGS
|
|||
|
CREATE0 SETDET
|
|||
|
SLEEPK 2
|
|||
|
|
|||
|
CALLA CLNPAL
|
|||
|
|
|||
|
CLR A1
|
|||
|
MOVE A1,@DISPLAYON
|
|||
|
CALLA BGND_UD1
|
|||
|
MOVI BULLET,A0
|
|||
|
CALLA BLAKOUT
|
|||
|
MOVI PALDNO,A0 ;FADE IN BROWN AUTOPAL ALSO
|
|||
|
MOVE @LOCK_NUM,A1
|
|||
|
CMPI 9,A1
|
|||
|
JRZ DCOLR
|
|||
|
CMPI 6,A1
|
|||
|
JRNZ DC1
|
|||
|
;FADE IN RAM COLOR LIST
|
|||
|
DCX MOVI RAMNO,A0
|
|||
|
JRUC DCOLR
|
|||
|
DC1 CMPI 3,A1
|
|||
|
JRLT DCOLR
|
|||
|
MOVI PALCNO,A0 ;FADE IN GREY AUTOPAL ALSO
|
|||
|
DCOLR
|
|||
|
MOVK 1,A1
|
|||
|
MOVE A1,@DISPLAYON
|
|||
|
MOVK 2,A1
|
|||
|
CALLA FADEIN
|
|||
|
MOVI PALBNO,A0
|
|||
|
CALLA FB_FADEIN
|
|||
|
CALLR PLYRS_CNTR
|
|||
|
CLR A0
|
|||
|
MOVE A0,@SHK_ON
|
|||
|
CREATE JOYPID,JOY_UPDATE
|
|||
|
CREATE ICONPID,SEND_ICON
|
|||
|
MOVI TARGPID,A0
|
|||
|
MOVI DELPID,A5
|
|||
|
MOVI FUTRPID,A6
|
|||
|
MOVI ACTIVE,A2,L
|
|||
|
XNXT:
|
|||
|
MOVE *A2,A2,L ;GET NEXT
|
|||
|
JREQ XSC ;ALL DONE
|
|||
|
MOVE *A2(PROCID),A4
|
|||
|
CMP A6,A4 ;MATCH?
|
|||
|
JRZ XYE
|
|||
|
CMP A5,A4 ;MATCH?
|
|||
|
JRZ XYE
|
|||
|
CMP A0,A4 ;MATCH?
|
|||
|
JRNE XNXT ;NO
|
|||
|
XYE MOVE *A2(PTIME),A4
|
|||
|
CMPI 5,A4
|
|||
|
JRZ XNXT
|
|||
|
MOVK 5,A4
|
|||
|
MOVE A4,*A2(PTIME)
|
|||
|
JRUC XNXT
|
|||
|
XSC
|
|||
|
CLR A0
|
|||
|
MOVE A0,@WFLG
|
|||
|
MOVE A0,@HALT
|
|||
|
MOVE @KEEP_P,A9,L
|
|||
|
|
|||
|
MOVE @LOCK_NUM,A0
|
|||
|
CMPI 5,A0
|
|||
|
JRNZ DRIFTFIX
|
|||
|
;INTO BIG FORT
|
|||
|
MOVK 1,A0
|
|||
|
CALLA DOLORD
|
|||
|
DRIFTFIX
|
|||
|
|
|||
|
SLEEPK 5 ;NO MORE GUNNERS FOR AWHILE
|
|||
|
CLR A0
|
|||
|
MOVE A0,@AFTR_WRP
|
|||
|
MOVE A0,@INAWARP
|
|||
|
SLEEPK 5 ;10
|
|||
|
CREATE0 SBOMB
|
|||
|
; MOVI HULKPID,A0
|
|||
|
; CALLA KIL1C
|
|||
|
SLEEP 60
|
|||
|
|
|||
|
;START MESSAGE TELLING PLAYERS TOTAL KEYS COLLECTED TOTAL
|
|||
|
CREATE0 KEY_TOTAL
|
|||
|
|
|||
|
MOVE @LOCK_NUM,A0
|
|||
|
CMPI 5,A0
|
|||
|
JRZ ROADUP
|
|||
|
CMPI 3,A0
|
|||
|
JRNZ NOTJP
|
|||
|
;FROM JEEP ROAD WAVE
|
|||
|
MOVK 1,A9 ;A9=0 FOR UP, 1 FOR RGT
|
|||
|
CREATE ARWPID,ONARRW ;TURN ON UP ARROW
|
|||
|
CREATE FUTUREPID,AOF ;ARROW OFF AFTER A TIME
|
|||
|
CALLA SETC2 ;START LAND MINE COLOR CYCLE
|
|||
|
DIE
|
|||
|
EVAL
|
|||
|
;EVALUATE PLAYER SUCCESS
|
|||
|
;START PLAYER SPINNING!
|
|||
|
CLR A0
|
|||
|
MOVE A0,@DEATHS
|
|||
|
DIE
|
|||
|
KILL_SHOK
|
|||
|
MOVE @DEATHS,A0
|
|||
|
BTST 0,A0
|
|||
|
JRZ EV2
|
|||
|
MOVE @PLYRPRCS,A0,L
|
|||
|
MOVE A0,A7
|
|||
|
CLR A2
|
|||
|
MOVE A2,@P1DATA+PLIVES,W
|
|||
|
MOVK 1,A2
|
|||
|
CALLA WARP_KIL ;KILL PLAYER
|
|||
|
JRUC EV2A
|
|||
|
EV2 MOVE @STATUS,A0
|
|||
|
BTST 0,A0
|
|||
|
JRZ EV2A
|
|||
|
;PLYR SURVIVED! GIVE ME PNTS!
|
|||
|
;A2=P1DATA OR P2DATA
|
|||
|
MOVI P1DATA,A2
|
|||
|
MOVI SHOCKPT,A1 ;AMOUNT OF SCORE
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
EV2A
|
|||
|
MOVE @DEATHS,A0
|
|||
|
BTST 1,A0
|
|||
|
JRZ EV3
|
|||
|
MOVE @PLYRPRCS+32,A0,L
|
|||
|
MOVE A0,A7
|
|||
|
CLR A2
|
|||
|
MOVE A2,@P2DATA+PLIVES,W
|
|||
|
MOVK 1,A2
|
|||
|
CALLA WARP_KIL ;KILL PLAYER
|
|||
|
JRUC EV3A
|
|||
|
EV3 MOVE @STATUS,A0
|
|||
|
BTST 1,A0
|
|||
|
JRZ EV3A
|
|||
|
;PLYR SURVIVED! GIVE ME PNTS!
|
|||
|
;A2=P1DATA OR P2DATA
|
|||
|
MOVI P2DATA,A2
|
|||
|
MOVI SHOCKPT,A1 ;AMOUNT OF SCORE
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
EV3A RETS
|
|||
|
|
|||
|
ROADUP
|
|||
|
; MOVK 1,A0
|
|||
|
; CALLA DOLORD
|
|||
|
CALLA STRT_FORT ;FORT CYCLE
|
|||
|
CALLA SETC2 ;START LAND MINE COLOR CYCLE
|
|||
|
CLR A9 ;A9=0 FOR UP, 1 FOR RGT
|
|||
|
MOVE A9,@CRSRAM,L
|
|||
|
CREATE ARWPID,ONARRW ;TURN ON UP ARROW
|
|||
|
CREATE FUTUREPID,AOF ;ARROW OFF AFTER A TIME
|
|||
|
DIE
|
|||
|
NOTJP
|
|||
|
CALLA STRT_FORT ;FORT CYCLE
|
|||
|
CALLA STRT_D ;CYCLE SAT DISH
|
|||
|
CALLA SETC2 ;START LAND MINE COLOR CYCLE
|
|||
|
MOVE @LOCK_NUM,A0
|
|||
|
CMPI 2,A0
|
|||
|
JRZ PP2 ;BR=DON'T NEED THESE CYCLES!
|
|||
|
CALLA JEEPCYC ;CYCLE JEEP TIRES
|
|||
|
CALLR STRT_G ;CYCLE GOOB POOL
|
|||
|
MOVE @LOCK_NUM,A0
|
|||
|
CMPI 6,A0
|
|||
|
JRZ EVAL
|
|||
|
DIE
|
|||
|
SETDET
|
|||
|
;A10=LENGTH OF TIME FOR RINGS
|
|||
|
MOVI 260,A0
|
|||
|
MOVE @PLYRPRCS,A1,L
|
|||
|
JRZ HI
|
|||
|
MOVE A0,*A1(DELYDET)
|
|||
|
HI MOVE @PLYRPRCS+32,A1,L
|
|||
|
JRZ HI2
|
|||
|
MOVE A0,*A1(DELYDET)
|
|||
|
HI2 SLEEP 50
|
|||
|
MOVE @STATUS,A0
|
|||
|
BTST 0,A0
|
|||
|
JRZ PP1
|
|||
|
MOVK 1,A9
|
|||
|
MOVI B1PID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI RNG1PID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
JRZ STRT1
|
|||
|
move *A0(PA9),A1,L
|
|||
|
CALLA KILL
|
|||
|
MOVE A1,A0
|
|||
|
CALLA DELOBJ
|
|||
|
STRT1
|
|||
|
CREATE RNG1PID,RINGS
|
|||
|
PP1
|
|||
|
MOVE @STATUS,A0
|
|||
|
BTST 1,A0
|
|||
|
JRZ PP2
|
|||
|
MOVK 2,A9
|
|||
|
|
|||
|
MOVI B2PID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI RNG2PID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
JRZ STRT2
|
|||
|
move *A0(PA9),A1,L
|
|||
|
CALLA KILL
|
|||
|
MOVE A1,A0
|
|||
|
CALLA DELOBJ
|
|||
|
STRT2
|
|||
|
CREATE RNG2PID,RINGS
|
|||
|
PP2 DIE
|
|||
|
|
|||
|
PALDNO .LONG 11*32*32+7*32+0,DESRTPL,0
|
|||
|
PALCNO .LONG 5*32*32+5*32+5,DESRTPL,0
|
|||
|
WRPSX .WORD 010DH+79,061H+30,307H-51,0D42H,01485H,09CH-20,5,13D1H
|
|||
|
.WORD 808,307H-51+34,0
|
|||
|
COMEOUT
|
|||
|
;PLAYER HAS TOUCHED WARP BUTTON
|
|||
|
;SET OFF SMART BOMB
|
|||
|
;A9=PLYR IMG PTR WHO GOT ME
|
|||
|
;A8=WARP DISC IMG
|
|||
|
|
|||
|
SLEEPK 1
|
|||
|
MOVI HELPPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
JRNZ COMEOUT
|
|||
|
|
|||
|
MOVI HELPPID,A0
|
|||
|
MOVE A0,*A13(PROCID)
|
|||
|
|
|||
|
MOVE *A8(OIMG),A0,L
|
|||
|
CMPI ORCHINT,A0
|
|||
|
JRNZ CM020
|
|||
|
;ORCUS HINTS!
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@HALT
|
|||
|
MOVE A13,@MAPOUT,L
|
|||
|
MOVK 3,A0
|
|||
|
MOVE A0,@MAPNUM
|
|||
|
CREATE HNTPID,DOTEXT
|
|||
|
MOVI DMAWNZ+M_NOCOLL,A0
|
|||
|
MOVE A0,*A8(OFLAGS)
|
|||
|
ORC1 SLEEPK 1
|
|||
|
MOVE @MAPOUT,A0,L
|
|||
|
JRNZ ORC1
|
|||
|
MOVI WARPPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
; MOVE *A13(PDATA),A0,L
|
|||
|
; CALLA KILL
|
|||
|
jauc DELOBJDIE
|
|||
|
|
|||
|
CM020
|
|||
|
MOVI NEUT2PID,A0
|
|||
|
CALLA KIL1C
|
|||
|
movi BOMBNPID,a0
|
|||
|
calla KIL1C
|
|||
|
CLR A0
|
|||
|
MOVE A0,@bombnon
|
|||
|
|
|||
|
MOVE A9,@KEEP_P,L
|
|||
|
MOVE *A9(OPLINK),A1,L
|
|||
|
MOVI P1DATA+BMB_CNT,A0 ;GIVE PLAYER A BOMB WHO TOUCHED WARP
|
|||
|
MOVE *A1(PNUM),A1
|
|||
|
CMPI 1,A1
|
|||
|
JRZ FLY
|
|||
|
MOVI P2DATA+BMB_CNT,A0
|
|||
|
FLY CALLA ADDBMB
|
|||
|
MOVE *A8(OZPOS),A0
|
|||
|
CMPI 69,A0
|
|||
|
JRZ CMBAK
|
|||
|
CMPI 70,A0
|
|||
|
|
|||
|
***************************************************************************
|
|||
|
JRNZ CM2 ;TAKE OUT TO TEST A WARP
|
|||
|
***************************************************************************
|
|||
|
|
|||
|
MOVE *A8(OXPOS),A0
|
|||
|
CMPI 54H-9,A0
|
|||
|
JRZ CM2O ;SHORTCUT TO ORCUS
|
|||
|
CMPI 251H,A0
|
|||
|
JRZ CM2OZ ;SHORTCUT TO TAUNT LOCKDOWN
|
|||
|
;INSTANT WARP DISC
|
|||
|
;A9=PLYR IMG PTR WHO GOT ME FOR SMART BOMB
|
|||
|
CLR A0
|
|||
|
MOVE A0,@P1DATA+WAVEPTS
|
|||
|
MOVE A0,@P2DATA+WAVEPTS
|
|||
|
movi AUDWARPT,a0 ;# Taken
|
|||
|
calla AUD1
|
|||
|
MOVE A9,@INAWARP ;IN A WARP
|
|||
|
MOVE A9,@WFLG ;NO START BUTTONS
|
|||
|
MOVK 2,A0
|
|||
|
MOVE A0,@ARWOFF
|
|||
|
MOVI KEEP_STUFF,A0
|
|||
|
MOVE @WORLDTLX,A1,L
|
|||
|
MOVE A1,*A0+,L
|
|||
|
MOVE @WORLDTLY,A1,L
|
|||
|
MOVE A1,*A0+,L
|
|||
|
MOVE @BAKMODS,A1,L
|
|||
|
MOVE A1,*A0+,L
|
|||
|
MOVE @HSTGSET,A1
|
|||
|
MOVE A1,*A0+,W
|
|||
|
MOVE @CURRENT,A1,L
|
|||
|
MOVE A1,*A0+,L
|
|||
|
MOVE @BCURRENT,A1,L
|
|||
|
MOVE A1,*A0+,L
|
|||
|
MOVE @EN_CURRENT,A1,L
|
|||
|
MOVE A1,*A0+,L
|
|||
|
MOVE @ENEMY_RECT,A1,L
|
|||
|
MOVE A1,*A0+,L
|
|||
|
MOVE @JUMPXY,A1
|
|||
|
MOVE A1,*A0+,W
|
|||
|
MOVE @JUMPXY2,A1
|
|||
|
MOVE A1,*A0+,W
|
|||
|
MOVE @WAVE,A1
|
|||
|
MOVE A1,*A0+,W
|
|||
|
MOVE @ICLIST,A1,L
|
|||
|
MOVE A1,*A0+,L
|
|||
|
MOVE @HTYPE,A1,W
|
|||
|
MOVE A1,*A0+,W
|
|||
|
|
|||
|
|
|||
|
MOVI TARGPID,A0
|
|||
|
MOVI DELPID,A5
|
|||
|
MOVI FUTRPID,A6
|
|||
|
MOVI ACTIVE,A2,L
|
|||
|
EXNXT:
|
|||
|
MOVE *A2,A2,L ;GET NEXT
|
|||
|
JREQ EXSC ;ALL DONE
|
|||
|
MOVE *A2(PROCID),A4
|
|||
|
CMP A6,A4 ;MATCH?
|
|||
|
JRZ YE
|
|||
|
CMP A5,A4 ;MATCH?
|
|||
|
JRZ YE
|
|||
|
CMP A0,A4 ;MATCH?
|
|||
|
JRNE EXNXT ;NO
|
|||
|
YE MOVE *A2(PTIME),A4
|
|||
|
CMPI 07FFFH,A4
|
|||
|
JRZ EXNXT
|
|||
|
MOVI 07FFFH,A4
|
|||
|
MOVE A4,*A2(PTIME)
|
|||
|
JRUC EXNXT
|
|||
|
NOCAN2
|
|||
|
MOVI 3100,A0
|
|||
|
CALLA KIL1C
|
|||
|
CREATE0 WTDMA
|
|||
|
CLR A0
|
|||
|
MOVE A0,@TAUNTOUT
|
|||
|
CALLR KILL_SHOK
|
|||
|
MOVE @KEEP_WARP,A2
|
|||
|
MOVE @WAVE,A0
|
|||
|
SUBK 32,A0
|
|||
|
JRNZ NOCAN
|
|||
|
|
|||
|
MOVI 33,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
;AT END OF AIRPORT AFTER SHOCK
|
|||
|
MOVI PALCNO,A11
|
|||
|
JSRP FADE_STRT
|
|||
|
MOVI [1520H,0],A0,L
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
MOVI [912H,0],A0,L
|
|||
|
MOVE A0,@WORLDTLY,L
|
|||
|
MOVI PORT_MOD,A0 ;SHOW ROAD
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
MOVI AIRRECT3A,A0
|
|||
|
MOVE A0,@CURRENT,L
|
|||
|
MOVI AIRBRECT3,A0
|
|||
|
MOVE A0,@BCURRENT,L
|
|||
|
CALLA KILBGND
|
|||
|
; CLR A1
|
|||
|
; MOVE A1,@DISPLAYON
|
|||
|
SLEEPK 2
|
|||
|
CALLA BGND_UD1
|
|||
|
MOVK 2,A1
|
|||
|
MOVI PALCNO,A0
|
|||
|
CALLA FADEIN
|
|||
|
MOVI PALBNO,A0 ;FADE EVERYTHING EXCEPT SCOREPAL
|
|||
|
CALLA FB_FADEIN
|
|||
|
CALLR PLYRS_CNTR
|
|||
|
CALLA SETC2 ;ALWAYS START LAND MINE COLOR CYCLE
|
|||
|
CLR A0
|
|||
|
MOVE A0,@SHK_ON
|
|||
|
MOVE A0,@HALT
|
|||
|
CREATE JOYPID,JOY_UPDATE
|
|||
|
CREATE ICONPID,SEND_ICON
|
|||
|
;FADE IN COMPLETE
|
|||
|
MOVI 33,A0
|
|||
|
CALLA DOLORD
|
|||
|
;GREED FEST
|
|||
|
MOVK 20,A10 ;GREED FEST!
|
|||
|
MOVI [-16,0],A9 ;Y ADD IN VALUE
|
|||
|
CREATE0 ZONE_TXT2
|
|||
|
CREATE ICONPID,SEND_GEMS ;TONS OF GEMS!
|
|||
|
CLR A0
|
|||
|
MOVE A0,@WFLG
|
|||
|
MOVE A0,@MINE_FLG
|
|||
|
SLEEPK 2
|
|||
|
CALLA BGND_UD1
|
|||
|
DIE
|
|||
|
|
|||
|
WTDMA SLEEP 050H
|
|||
|
CALLA DMA_SCORE
|
|||
|
DIE
|
|||
|
|
|||
|
EXSC
|
|||
|
***************************************************************************
|
|||
|
;GET WARP # BASED ON XPOS IN WORLD!
|
|||
|
; MOVI 0,A2 ;PUT IN TO TEST A WARP
|
|||
|
; JRUC NOCAN ;LCKEX
|
|||
|
***************************************************************************
|
|||
|
|
|||
|
MOVE *A8(OXPOS),A0
|
|||
|
MOVI WRPSX,A1
|
|||
|
MOVI -1,A2
|
|||
|
NXT INC A2
|
|||
|
MOVE *A1+,A3,W
|
|||
|
JRNZ NXT1
|
|||
|
.IF DEBUG
|
|||
|
LOCKUP
|
|||
|
EINT
|
|||
|
.ENDIF
|
|||
|
;COULDN'T FIND A WARP! DEFAULT TO A WARP
|
|||
|
MOVI 1,A2
|
|||
|
JRUC NOCAN
|
|||
|
NXT1 SUB A0,A3
|
|||
|
ABS A3
|
|||
|
SUBK 2,A3
|
|||
|
JRHI NXT
|
|||
|
MOVI 70,A0
|
|||
|
CALLA RANDPER
|
|||
|
JRNC NOCAN
|
|||
|
LCKEX
|
|||
|
;CAN THIS WARP TO SHOCK SCENE!
|
|||
|
MOVE A2,@KEEP_WARP
|
|||
|
MOVK 6,A2 ;PUT IN TO TEST A WARP
|
|||
|
NOCAN
|
|||
|
MOVE A2,@LOCK_NUM
|
|||
|
MOVE @LOCK_NUM,A0
|
|||
|
CMPI 6,A0
|
|||
|
JRNZ CHNG09
|
|||
|
MOVE @IRQSKYE,A0,L
|
|||
|
MOVE A0,@RAMNO,L ;SKY COLOR
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@TAUNTOUT
|
|||
|
CALLA INIT_SCORE ;TURNS ON REGULAR IMAGES FOR SCORES
|
|||
|
SLEEPK 2
|
|||
|
CLR A0
|
|||
|
MOVE A0,@SCORE_FLAG
|
|||
|
CREATE 3100,SCRLUP
|
|||
|
|
|||
|
CHNG09 MOVI WRPSND,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
MOVI PALDNO,A11
|
|||
|
JSRP FADE_STRT
|
|||
|
MOVI [200,0],A0
|
|||
|
MOVE A0,@WORLDTLY,L
|
|||
|
MOVE @LOCK_NUM,A0
|
|||
|
CMPI 6,A0
|
|||
|
JRNZ CHNG01
|
|||
|
;FRY PLAYERS
|
|||
|
movk 10,a0
|
|||
|
move a0,@WORLDTLX+16
|
|||
|
movi 960,a0
|
|||
|
move a0,@WORLDTLY+16
|
|||
|
JRUC CHNG2
|
|||
|
CHNG01 CMPI 5,A0
|
|||
|
JRNZ CHNG0
|
|||
|
MOVI [0820H,0],A0
|
|||
|
MOVE A0,@WORLDTLY,L
|
|||
|
MOVI [05D0H,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
JRUC CHNG2
|
|||
|
CHNG0 CMPI 3,A0
|
|||
|
JRNZ CHNG1
|
|||
|
MOVI [200+255,0],A0
|
|||
|
MOVE A0,@WORLDTLY,L
|
|||
|
CHNG1
|
|||
|
MOVI [200,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
CHNG2
|
|||
|
;KILL EVERYTHING BUT PLAYER STUFF
|
|||
|
;POSITION PLAYERS IN THE MIDDLE OF THE SCREEN
|
|||
|
;SHOW NEW BLIMP MODULE
|
|||
|
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@SHK_ON
|
|||
|
|
|||
|
MOVE @LOCK_NUM,A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI LCK_INFO,A0
|
|||
|
MOVE *A0,A9,L
|
|||
|
|
|||
|
MOVE *A9+,A0,W ;GET MINE INFO
|
|||
|
MOVE A0,@MINE_FLG
|
|||
|
MOVE *A9+,A0,W ;GET INFO
|
|||
|
MOVE A0,@HSTGSET
|
|||
|
MOVE *A9+,A0,L
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
;SETUP COLLISIONS FOR PLAYER AND HIS BULLETS
|
|||
|
MOVE *A9+,A0,L
|
|||
|
MOVE A0,@CURRENT,L
|
|||
|
MOVE *A9+,A0,L
|
|||
|
MOVE A0,@BCURRENT,L
|
|||
|
MOVE *A9+,A0,L
|
|||
|
MOVE A0,@EN_CURRENT,L ;FOR BOX COLLISIONS
|
|||
|
MOVE *A9+,A0,L
|
|||
|
MOVE A0,@ENEMY_RECT,L ;FOR SPAWNING
|
|||
|
MOVE *A9+,A0,W
|
|||
|
MOVE A0,@JUMPXY2 ;X JUMP COOR
|
|||
|
MOVE *A9+,A0,W
|
|||
|
MOVE A0,@WAVE ;FOR BARRELS, TO GET CORRECT TIME
|
|||
|
MOVE *A9+,A0,L
|
|||
|
MOVE A0,@SITLST,L ;FOR AHMED FLAME THROWERS
|
|||
|
SLEEPK 2
|
|||
|
CLR A1
|
|||
|
MOVE A1,@DISPLAYON
|
|||
|
CALLA BGND_UD1
|
|||
|
MOVE *A9+,A10,L
|
|||
|
JRZ BLKDN
|
|||
|
BLK0 MOVE *A10+,A0,L
|
|||
|
JRZ BLKDN
|
|||
|
CALLA BLAKOUT
|
|||
|
JRUC BLK0
|
|||
|
BLKDN SLEEPK 2
|
|||
|
MOVE *A9+,A0,L
|
|||
|
MOVK 1,A1
|
|||
|
MOVE A1,@DISPLAYON
|
|||
|
MOVK 2,A1
|
|||
|
PUSH A9
|
|||
|
CALLA FADEIN
|
|||
|
MOVI PALBNO,A0 ;FADE EVERYTHING EXCEPT SCOREPAL
|
|||
|
CALLA FB_FADEIN
|
|||
|
MOVE @LOCK_NUM,A0
|
|||
|
CMPI 6,A0 ;SHOCK
|
|||
|
JRZ NOM
|
|||
|
CALLR PLYRS_CNTR
|
|||
|
NOM PULL A9
|
|||
|
MOVE *A9+,A2,W ;PLACE DOWN RANDOM LAND MINES
|
|||
|
JRZ NOMINES
|
|||
|
CALLA O_MINE
|
|||
|
NOMINES
|
|||
|
;SETUP ICON LIST FOR THIS LOCKDOWN
|
|||
|
MOVE *A9+,A0,L
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
SLEEPK 30
|
|||
|
CREATE0 DELY_BARRELS
|
|||
|
.REF WARP_INFO
|
|||
|
CREATE0 WARP_INFO
|
|||
|
|
|||
|
MOVE *A9+,A7,L
|
|||
|
JRZ GTO0
|
|||
|
CALLA GETPRC
|
|||
|
GTO0 CALLA SETC2 ;ALWAYS START LAND MINE COLOR CYCLE
|
|||
|
GTO
|
|||
|
SLEEPK 1
|
|||
|
MOVE @INFO_BOX,A0,L
|
|||
|
JRNZ GTO
|
|||
|
MOVE A0,@SHK_ON
|
|||
|
MOVE A0,@HALT
|
|||
|
MOVE @LOCK_NUM,A0
|
|||
|
CMPI 6,A0
|
|||
|
JRZ GT55
|
|||
|
CREATE JOYPID,JOY_UPDATE
|
|||
|
CREATE ICONPID,SEND_ICON
|
|||
|
;FADE IN COMPLETE
|
|||
|
MOVE @WAVE,A0
|
|||
|
CALLA DOLORD
|
|||
|
GT55 MOVE @KEEP_P,A9,L
|
|||
|
CREATE0 SBOMB
|
|||
|
CLR A0
|
|||
|
MOVE A0,@WFLG
|
|||
|
MOVE A0,@MINE_FLG
|
|||
|
DIE
|
|||
|
DELY_BARRELS
|
|||
|
;DELAY ALL CMAN PROCS X TIME
|
|||
|
SLEEPK 1
|
|||
|
MOVI ACTIVE,A2,L
|
|||
|
CNXT:
|
|||
|
MOVE *A2,A2,L ;GET NEXT
|
|||
|
JREQ CSC ;ALL DONE
|
|||
|
MOVE *A2(PROCID),A4
|
|||
|
CMPI CMAN,A4 ;MATCH?
|
|||
|
JRZ YESDELY
|
|||
|
CMPI shawnpid,A4 ;DELAY EGGS
|
|||
|
JRNE CNXT ;NO
|
|||
|
YESDELY MOVE *A2(PTIME),A4
|
|||
|
ADDI 130+150+30+13H,A4 ;MAX TIME INFO BOX IS OUT
|
|||
|
MOVE A4,*A2(PTIME)
|
|||
|
JRUC CNXT
|
|||
|
CSC
|
|||
|
MOVI 130+150+30+13H+5,A8 ;MAX TIME INFO BOX IS OUT
|
|||
|
CSC1 SLEEPK 1
|
|||
|
DEC A8
|
|||
|
JAZ SUCIDE
|
|||
|
MOVE @INFO_BOX,A0,L
|
|||
|
JRNZ CSC1
|
|||
|
;INFO BOX GONE VIA BUTTON PRESS OR IT TIMED OUT
|
|||
|
MOVI ACTIVE,A2,L
|
|||
|
BNXT:
|
|||
|
MOVE *A2,A2,L ;GET NEXT
|
|||
|
JAZ SUCIDE ;ALL DONE
|
|||
|
MOVE *A2(PROCID),A4
|
|||
|
CMPI shawnpid,A4 ;DELAY EGGS
|
|||
|
JRZ YESDELY2
|
|||
|
CMPI CMAN,A4 ;MATCH?
|
|||
|
JRNE BNXT ;NO
|
|||
|
YESDELY2
|
|||
|
MOVE *A2(PTIME),A4
|
|||
|
SUB A8,A4 ;TIME LEFT FOR INFO BOX TO BE OUT!
|
|||
|
MOVE A4,*A2(PTIME)
|
|||
|
JRUC BNXT
|
|||
|
|
|||
|
LCK_INFO
|
|||
|
.LONG LCK1,LCK2,LCK3,LCK4,LCK5,LCK6,LCK7,LCK8,LCK9,LCK9
|
|||
|
LCK9 ;LOWER RIGHT OF DESERT
|
|||
|
.WORD 0 ;MINES ON FLAG FOR BGND DRIVER
|
|||
|
.WORD 0 ;HSTG SET
|
|||
|
.LONG LOCKJ2_MOD ;MOD NAME
|
|||
|
.LONG 0 ;PLAYER BUMP RECTANGLE
|
|||
|
.LONG 0 ;PLAYER BULLET RECTANGLES
|
|||
|
.LONG 0 ;NO GRUNT BOX CHECKS
|
|||
|
.LONG LK1SPWN ;SPAWN POINTS FOR GRUNTS
|
|||
|
.WORD 0 ;JUMPXY2
|
|||
|
.WORD 42 ;WAVE
|
|||
|
.LONG SIT1 ;AHMED FLAME THROWER CORNERS
|
|||
|
.LONG BLACK1 ;LIST OF PALS TO BLACK OUT
|
|||
|
.LONG PALCNO ;PALS TO FADEIN
|
|||
|
.WORD 1 ;# OF LAND MINES RANDOMLY PLACED
|
|||
|
.LONG ICN6 ;ICON LIST FOR THIS LOCKDOWN
|
|||
|
.LONG SPEC3A ;SPECIAL STUFF FOR THIS LOCKDWN
|
|||
|
LCK8 ;GUN PIT WARP
|
|||
|
.WORD 0 ;MINES ON FLAG FOR BGND DRIVER
|
|||
|
.WORD 1 ;HSTG SET 0=BALL CHAIN, 1=GOOB
|
|||
|
.LONG LOCKH_MOD ;MOD NAME
|
|||
|
.LONG 0 ;PLAYER BUMP RECTANGLE
|
|||
|
.LONG 0 ;PLAYER BULLET RECTANGLES
|
|||
|
.LONG 0 ;NO GRUNT BOX CHECKS
|
|||
|
.LONG 0 ;SPAWN POINTS FOR GRUNTS
|
|||
|
.WORD 0 ;JUMPXY2
|
|||
|
.WORD 28 ;WAVE
|
|||
|
.LONG 0 ;AHMED FLAME THROWER CORNERS
|
|||
|
.LONG 0 ;LIST OF PALS TO BLACK OUT
|
|||
|
.LONG PALCNO2 ;PALS TO FADEIN
|
|||
|
.WORD 0 ;# OF LAND MINES RANDOMLY PLACED
|
|||
|
.LONG ICN2 ;ICON LIST FOR THIS LOCKDOWN
|
|||
|
.LONG SPEC8 ;SPECIAL STUFF FOR THIS LOCKDWN
|
|||
|
LCK7 ;SHOCK WARP
|
|||
|
.WORD 0 ;MINES ON FLAG FOR BGND DRIVER
|
|||
|
.WORD 0 ;HSTG SET 0=BALL CHAIN, 1=GOOB
|
|||
|
.LONG frypbg_t ;MOD NAME
|
|||
|
.LONG 0 ;PLAYER BUMP RECTANGLE
|
|||
|
.LONG 0 ;PLAYER BULLET RECTANGLES
|
|||
|
.LONG 0 ;NO GRUNT BOX CHECKS
|
|||
|
.LONG 0 ;SPAWN POINTS FOR GRUNTS
|
|||
|
.WORD 0 ;JUMPXY2
|
|||
|
.WORD 27 ;WAVE
|
|||
|
.LONG 0 ;AHMED FLAME THROWER CORNERS
|
|||
|
.LONG 0 ;LIST OF PALS TO BLACK OUT
|
|||
|
.LONG PALENO ;PALS TO FADEIN
|
|||
|
.WORD 0 ;# OF LAND MINES RANDOMLY PLACED
|
|||
|
.LONG ICN7 ;ICON LIST FOR THIS LOCKDOWN
|
|||
|
.LONG SPEC6 ;SPECIAL STUFF FOR THIS LOCKDWN
|
|||
|
LCK6 ;LONG JET TARMAC IN BIGFORT
|
|||
|
.WORD 0 ;MINES ON FLAG FOR BGND DRIVER
|
|||
|
.WORD 0 ;HSTG SET 0=BALL CHAIN, 1=GOOB
|
|||
|
.LONG LOCKZ_MOD ;MOD NAME
|
|||
|
.LONG 0 ;PLAYER BUMP RECTANGLE
|
|||
|
.LONG 0 ;PLAYER BULLET RECTANGLES
|
|||
|
.LONG 0 ;NO GRUNT BOX CHECKS
|
|||
|
.LONG 0 ;SPAWN POINTS FOR GRUNTS
|
|||
|
.WORD 0 ;JUMPXY2
|
|||
|
.WORD 27 ;WAVE
|
|||
|
.LONG 0 ;AHMED FLAME THROWER CORNERS
|
|||
|
.LONG BLACK3 ;LIST OF PALS TO BLACK OUT
|
|||
|
.LONG PALCNO ;PALS TO FADEIN
|
|||
|
.WORD 0 ;# OF LAND MINES RANDOMLY PLACED
|
|||
|
.LONG ICN7 ;ICON LIST FOR THIS LOCKDOWN
|
|||
|
.LONG SPEC5 ;SPECIAL STUFF FOR THIS LOCKDWN
|
|||
|
LCK5 ;AFTER JETS FLY OVER AT RIGHT SIDE OF AIRPORT
|
|||
|
.WORD 0 ;MINES ON FLAG FOR BGND DRIVER
|
|||
|
.WORD 1 ;HSTG SET 0=BALL CHAIN, 1=GOOB
|
|||
|
.LONG LOCKC_MOD ;MOD NAME
|
|||
|
.LONG LK5RECT ;PLAYER BUMP RECTANGLE
|
|||
|
.LONG LK5BRECT ;PLAYER BULLET RECTANGLES
|
|||
|
.LONG LK5GRECT ;NO GRUNT BOX CHECKS
|
|||
|
.LONG LK5SPWN ;SPAWN POINTS FOR GRUNTS
|
|||
|
.WORD 0 ;JUMPXY2
|
|||
|
.WORD 26 ;WAVE
|
|||
|
.LONG SIT4 ;AHMED FLAME THROWER CORNERS
|
|||
|
.LONG BLACK3 ;LIST OF PALS TO BLACK OUT
|
|||
|
.LONG PALCNO3 ;PALS TO FADEIN
|
|||
|
.WORD 8 ;# OF LAND MINES RANDOMLY PLACED
|
|||
|
.LONG ICN8 ;ICON LIST FOR THIS LOCKDOWN
|
|||
|
.LONG SPEC4 ;SPECIAL STUFF FOR THIS LOCKDWN
|
|||
|
LCK4 ;FLESH FEAST SUPER WARP - JEEPS
|
|||
|
.WORD 0 ;MINES ON FLAG FOR BGND DRIVER
|
|||
|
.WORD 0 ;HSTG SET
|
|||
|
.LONG LOCKJ_MOD ;MOD NAME
|
|||
|
.LONG 0 ;PLAYER BUMP RECTANGLE
|
|||
|
.LONG 0 ;PLAYER BULLET RECTANGLES
|
|||
|
.LONG 0 ;NO GRUNT BOX CHECKS
|
|||
|
.LONG LK1SPWN ;SPAWN POINTS FOR GRUNTS
|
|||
|
.WORD 0 ;JUMPXY2
|
|||
|
.WORD 23 ;WAVE
|
|||
|
.LONG SIT1 ;AHMED FLAME THROWER CORNERS
|
|||
|
.LONG BLACK1 ;LIST OF PALS TO BLACK OUT
|
|||
|
.LONG PALCNO ;PALS TO FADEIN
|
|||
|
.WORD 5 ;# OF LAND MINES RANDOMLY PLACED
|
|||
|
.LONG ICN2 ;ICON LIST FOR THIS LOCKDOWN
|
|||
|
.LONG SPEC3 ;SPECIAL STUFF FOR THIS LOCKDWN
|
|||
|
LCK3 ;NEAR TRIPLE GUNNER
|
|||
|
.WORD 0 ;MINES ON FLAG FOR BGND DRIVER
|
|||
|
.WORD 1 ;HSTG SET
|
|||
|
.LONG LOCKD_MOD ;MOD NAME
|
|||
|
.LONG LK3RECT ;PLAYER BUMP RECTANGLE
|
|||
|
.LONG LK3BRECT ;PLAYER BULLET RECTANGLES
|
|||
|
.LONG LK3GRECT ;GRUNT BOX CHECKS
|
|||
|
.LONG LK2SPWN ;SPAWN POINTS FOR GRUNTS
|
|||
|
.WORD 0 ;JUMPXY2
|
|||
|
.WORD 22 ;WAVE
|
|||
|
.LONG SIT3 ;AHMED FLAME THROWER CORNERS
|
|||
|
.LONG BLACK1 ;LIST OF PALS TO BLACK OUT
|
|||
|
.LONG PALCNO3 ;PALS TO FADEIN
|
|||
|
.WORD 4 ;# OF LAND MINES RANDOMLY PLACED
|
|||
|
.LONG ICN2 ;ICON LIST FOR THIS LOCKDOWN
|
|||
|
.LONG SPEC2 ;SPECIAL STUFF FOR THIS LOCKDWN
|
|||
|
LCK2 ;LOWER LEFT DESERT AREA
|
|||
|
.WORD 1 ;MINES ON FLAG FOR BGND DRIVER
|
|||
|
.WORD 0 ;HSTG SET
|
|||
|
.LONG LOCKB_MOD ;MOD NAME
|
|||
|
.LONG 0 ;PLAYER BUMP RECTANGLE
|
|||
|
.LONG 0 ;PLAYER BULLET RECTANGLES
|
|||
|
.LONG 0 ;NO GRUNT BOX CHECKS
|
|||
|
.LONG LK2SPWN ;SPAWN POINTS FOR GRUNTS
|
|||
|
.WORD 0 ;JUMPXY2
|
|||
|
.WORD 21 ;WAVE
|
|||
|
.LONG SIT1 ;AHMED FLAME THROWER CORNERS
|
|||
|
.LONG BLACK2 ;LIST OF PALS TO BLACK OUT
|
|||
|
.LONG PALCNO2 ;PALS TO FADEIN
|
|||
|
.WORD 0 ;# OF LAND MINES RANDOMLY PLACED
|
|||
|
.LONG ICN2 ;ICON LIST FOR THIS LOCKDOWN
|
|||
|
.LONG 0 ;SPECIAL STUFF FOR THIS LOCKDWN
|
|||
|
LCK1 ;MIDDLE OF MINE FIELD WARP TO JEEPS/BTR60 LOCKDOWN
|
|||
|
.WORD 0 ;MINES ON FLAG FOR BGND DRIVER
|
|||
|
.WORD 1 ;HSTG SET
|
|||
|
.LONG LOCKA_MOD ;MOD NAME
|
|||
|
.LONG LK1RECT ;PLAYER BUMP RECTANGLE
|
|||
|
.LONG LK1BRECT ;PLAYER BULLET RECTANGLES
|
|||
|
.LONG 0 ;NO GRUNT BOX CHECKS
|
|||
|
.LONG LK1SPWN ;SPAWN POINTS FOR GRUNTS
|
|||
|
.WORD 588 ;JUMPXY2
|
|||
|
.WORD 20 ;WAVE
|
|||
|
.LONG SIT1 ;AHMED FLAME THROWER CORNERS
|
|||
|
.LONG BLACK1 ;LIST OF PALS TO BLACK OUT
|
|||
|
.LONG PALCNO ;PALS TO FADEIN
|
|||
|
.WORD 4 ;# OF LAND MINES RANDOMLY PLACED
|
|||
|
.LONG ICN2 ;ICON LIST FOR THIS LOCKDOWN
|
|||
|
.LONG SPEC1 ;SPECIAL STUFF FOR THIS LOCKDWN
|
|||
|
|
|||
|
BLACK1 .LONG BGFRTP,GRNDP,CANDB,UFLP,JEEPP2,0
|
|||
|
BLACK2 .LONG BULLET,PPLP,DESRTPL,GRNDP,0
|
|||
|
BLACK3 .LONG PPLP,BULLET,SPYDERP1,GRNDP,UPAL,0
|
|||
|
TUNE4 .word >f3fe,10,>8007,0 ;Rackup tune
|
|||
|
SPEC8
|
|||
|
MOVI TUNE4,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
CALLR STRT_G ;CYCLE GOOB POOL
|
|||
|
MOVI PONDPID,A0 ;POND PROC
|
|||
|
MOVI 7*60,A2
|
|||
|
CALLA KOP_1C ;KNOCK OUT FOR THIS LONG
|
|||
|
SPEC8B SLEEP 60
|
|||
|
MOVI T72PID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
JRNZ SPEC8B
|
|||
|
;GUNNERS DEAD
|
|||
|
SLEEP 15*60
|
|||
|
CREATE WARPPID,GOBACK
|
|||
|
* Z BIT SET = NO MATCH, A0 = 0
|
|||
|
DIE
|
|||
|
SPEC6
|
|||
|
CREATE0 WITR
|
|||
|
CLR A8 ;PLAYER FRY
|
|||
|
jauc fry_plyrs
|
|||
|
WITR SLEEP 120
|
|||
|
MOVI ICONPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI CMAN,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI CLSNEUT|TYPICON,A0
|
|||
|
MOVI 0FF00H,A1 ;DEL ANY ICONS SITTING AROUND
|
|||
|
CALLA KILOBJ
|
|||
|
MOVE @KEEP_P,A9,L
|
|||
|
CREATE0 SBOMB
|
|||
|
DIE
|
|||
|
SPEC5
|
|||
|
; MOVE @PLYROBJS,A0,L
|
|||
|
; JRZ JU2
|
|||
|
; MOVI P1DATA+BMB_CNT,A0
|
|||
|
; MOVK 15,A10
|
|||
|
;SP5 CALLA ADDBMB
|
|||
|
; DSJS A10,SP5
|
|||
|
;JU2 MOVE @PLYROBJS+32,A0,L
|
|||
|
; JRZ NEWS1
|
|||
|
; MOVI P2DATA+BMB_CNT,A0
|
|||
|
; MOVK 15,A10
|
|||
|
;SP5A CALLA ADDBMB
|
|||
|
; DSJS A10,SP5A
|
|||
|
NEWS1
|
|||
|
CLR A9 ;A9=0 FOR UP, 1 FOR RGT
|
|||
|
MOVE A9,@JET_KILLS,L
|
|||
|
MOVE A9,@GET_AWAY
|
|||
|
MOVE A9,@CRSRAM,L
|
|||
|
CREATE ARWPID,ONARRW ;TURN ON UP ARROW
|
|||
|
CREATE FUTUREPID,AOF ;ARROW OFF AFTER A TIME
|
|||
|
SLEEP 60
|
|||
|
MOVI PATHAIR3,A10 ;INDICATES NEW SCROLL WITH SCRL TABLE
|
|||
|
MOVE @WORLDTLY,A9,L
|
|||
|
SRL 16,A9
|
|||
|
ADDI 180,A9 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
CLR A8
|
|||
|
CREATE TARGPID,TARGET ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
MOVK 13,A0
|
|||
|
MOVE A0,@CTOTAL,W ;18 =REACTOR, 11 FOR DISH,13 FOR JET
|
|||
|
SLEEP 5*60
|
|||
|
CREATE FUTUREPID,TUFFMINE
|
|||
|
SLEEPK 3
|
|||
|
MOVK 27,A0
|
|||
|
MOVE A0,@WAVE ;FOR JET DETECTION
|
|||
|
DIE
|
|||
|
PATHAIR3
|
|||
|
.WORD 1,472H,8,400H,8,5A0H,18,1,1,0A9H,0
|
|||
|
|
|||
|
SPEC4
|
|||
|
;CYCLE BACKGROUND WALLS
|
|||
|
MOVI UPAL,A8 ;PAL NAME
|
|||
|
MOVI PALTMP,A9 ;RAM AREA
|
|||
|
MOVI [50,63],A10 ;BEGIN/END COLOR #
|
|||
|
MOVK 7,A11 ;RATE IN TICKS
|
|||
|
CREATE CYCPID,COLCYC ;COLOR CYCLER ON
|
|||
|
CREATE ICONPID,SEND_ICON
|
|||
|
CALLA JEEPCYC ;CYCLE JEEP TIRES
|
|||
|
CLR A0
|
|||
|
MOVE A0,@SKIPR_DN
|
|||
|
SP4A SLEEP 60
|
|||
|
MOVE @SKIPR_DN,A0
|
|||
|
JRZ SP4A
|
|||
|
MOVK 9,A0
|
|||
|
CALLA DOLORD
|
|||
|
DIE
|
|||
|
TUNE5 .WORD >F3F0,1,>800A,0 ;WARP MUSIC
|
|||
|
SPEC3
|
|||
|
MOVI TUNE5,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
CREATE0 DOUBLE ;TWO SETS OF ICONS!
|
|||
|
CALLR STRT_G ;CYCLE GOOB POOL
|
|||
|
MOVI PONDPID,A0 ;POND PROC
|
|||
|
MOVI 13*60,A2
|
|||
|
CALLA KOP_1C ;KNOCK OUT FOR THIS LONG
|
|||
|
SLEEP 2*60*60-15*60-47*60 ;LENGTH OF WAVE BEFORE JEEPS START
|
|||
|
MOVI 43CH,A10
|
|||
|
SPEC3B
|
|||
|
SLEEPK 1
|
|||
|
;PLAYERS CAN GET DRAGGED OFF BOTTOM!
|
|||
|
.REF CK_BTMSD
|
|||
|
CALLA CK_BTMSD ;CHECK FOR PLAYERS DRAGGING AT BOTM
|
|||
|
JRC SPEC3B
|
|||
|
MOVE @WORLDTLY,A0,L
|
|||
|
SUBI [0,04000H],A0
|
|||
|
MOVE A0,@WORLDTLY,L
|
|||
|
CALLA MAYBE_UD1
|
|||
|
DSJ A10,SPEC3B
|
|||
|
MOVE A10,@JET_KILLS,L ;FOR JEEPS ESCAPED
|
|||
|
MOVE A10,@GET_AWAY
|
|||
|
CALLA JEEPCYC ;CYCLE JEEP TIRES
|
|||
|
MOVI ICN6,A0 ;NO WEAPONS
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
MOVK SUBSPDG1,A9 ;BULLET SUBTYPE
|
|||
|
CREATE FIXPID,FIXGUNS
|
|||
|
SLEEP 120
|
|||
|
;HERE COME JEEPS
|
|||
|
MOVK 14,A10 ;KILL ALL FOR DOUBLE
|
|||
|
MOVI [-16,0],A9 ;Y ADD IN VALUE
|
|||
|
CREATE0 ZONE_TXT2
|
|||
|
DIE
|
|||
|
SPEC3A
|
|||
|
MOVI TUNE5,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
CREATE0 DOUBLE ;TWO SETS OF ICONS!
|
|||
|
CLR A0
|
|||
|
MOVE A0,@JET_KILLS,L ;FOR JEEPS ESCAPED
|
|||
|
MOVE A0,@GET_AWAY
|
|||
|
CALLA JEEPCYC ;CYCLE JEEP TIRES
|
|||
|
MOVI ICN6,A0 ;NO WEAPONS
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
MOVK SUBSPDG1,A9 ;BULLET SUBTYPE
|
|||
|
CREATE FIXPID,FIXGUNS
|
|||
|
SLEEP 30
|
|||
|
SPEC3AA SLEEPK 10
|
|||
|
MOVE @INFO_BOX,A0
|
|||
|
JRNZ SPEC3AA
|
|||
|
;HERE COME JEEPS
|
|||
|
MOVK 14,A10 ;KILL ALL FOR DOUBLE
|
|||
|
MOVI [-16,0],A9 ;Y ADD IN VALUE
|
|||
|
CREATE0 ZONE_TXT2
|
|||
|
DIE
|
|||
|
SPEC2
|
|||
|
MOVI TUNE4,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
CALLA JEEPCYC ;CYCLE JEEP TIRES
|
|||
|
DIE
|
|||
|
SPEC1
|
|||
|
CALLA STRT_FORT ;FORT CYCLE
|
|||
|
CALLA JEEPCYC ;CYCLE JEEP TIRES
|
|||
|
GTO1 SLEEPK 1
|
|||
|
MOVE @INFO_BOX,A0,L
|
|||
|
JRNZ GTO1
|
|||
|
CREATE0 POL2 ;BRING ON SIDE POOL
|
|||
|
CALLR STRT_G ;CYCLE GOOB POOL
|
|||
|
DIE
|
|||
|
|
|||
|
PLYRS_CNTR:
|
|||
|
;PLACE PLAYERS IN CENTER OF SCREEN
|
|||
|
MOVI SCRPID,A0
|
|||
|
CALLA KIL1C ;GET RID OF RUNNING IN SCRIPT
|
|||
|
MOVE @WORLDTLY+16,A4
|
|||
|
ADDI 127,A4
|
|||
|
MOVI 180,A6
|
|||
|
move @WAVE,a0
|
|||
|
cmpi 40,a0
|
|||
|
jrne pc20
|
|||
|
addk 5,a6 ;X
|
|||
|
addi 59,a4 ;Y
|
|||
|
pc20
|
|||
|
MOVK 2,A5
|
|||
|
MOVE @PLYRPRCS,A0,L
|
|||
|
JRZ PS2
|
|||
|
MOVE @DEATHS,A1
|
|||
|
BTST 0,A1
|
|||
|
JRZ PS2A
|
|||
|
MOVI 680,A6
|
|||
|
PS2A
|
|||
|
;PLACE DOWN FREE MAN
|
|||
|
MOVE *A0(TSO_PTR),A1,L
|
|||
|
MOVE *A0(LEG_PTR),A2,L
|
|||
|
MOVE @WORLDTLX+16,A3
|
|||
|
ADD A6,A3
|
|||
|
MOVE A3,*A1(OXPOS)
|
|||
|
MOVE A3,*A2(OXPOS)
|
|||
|
MOVE A4,*A1(OYPOS)
|
|||
|
MOVE A4,*A2(OYPOS)
|
|||
|
MOVE A5,*A0(P_DIR)
|
|||
|
MOVE @AFTR_WRP,A0
|
|||
|
JRNZ PS2
|
|||
|
MOVE @START,A0
|
|||
|
CMPI 11,A0
|
|||
|
JRZ PS2
|
|||
|
MOVE @WAVE,A0
|
|||
|
SUBI 33,A0
|
|||
|
JRZ PS2
|
|||
|
; MMTM SP,A4,A5
|
|||
|
CLR A8
|
|||
|
CREATE FUTUREPID,BONUS_MAN
|
|||
|
; MMFM SP,A4,A5
|
|||
|
|
|||
|
PS2
|
|||
|
MOVI 220,A6
|
|||
|
move @WAVE,a0
|
|||
|
cmpi 40,a0
|
|||
|
jrne pc50
|
|||
|
subk 13,a6
|
|||
|
pc50 MOVE @PLYRPRCS+32,A0,L
|
|||
|
JRZ PSE
|
|||
|
MOVE @DEATHS,A1
|
|||
|
BTST 1,A1
|
|||
|
JRZ PSE2
|
|||
|
MOVI 620,A6
|
|||
|
PSE2
|
|||
|
;PLACE DOWN FREE MAN
|
|||
|
MOVE *A0(TSO_PTR),A1,L
|
|||
|
MOVE *A0(LEG_PTR),A2,L
|
|||
|
MOVE @WORLDTLX,A3,L
|
|||
|
SRL 16,A3
|
|||
|
ADD A6,A3
|
|||
|
MOVE A3,*A1(OXPOS)
|
|||
|
MOVE A3,*A2(OXPOS)
|
|||
|
MOVE A4,*A1(OYPOS)
|
|||
|
MOVE A4,*A2(OYPOS)
|
|||
|
MOVE A5,*A0(P_DIR)
|
|||
|
MOVE @AFTR_WRP,A0
|
|||
|
JRNZ PSE
|
|||
|
MOVE @START,A0
|
|||
|
CMPI 11,A0
|
|||
|
JRZ PSE
|
|||
|
MOVE @WAVE,A0
|
|||
|
SUBI 33,A0
|
|||
|
JRZ PSE
|
|||
|
MOVK 1,A8
|
|||
|
CREATE FUTUREPID,BONUS_MAN
|
|||
|
PSE
|
|||
|
CLR A0
|
|||
|
MOVE A0,@DEATHS
|
|||
|
RETS
|
|||
|
|
|||
|
BONUS_MAN
|
|||
|
MOVE @WORLDTLY,A1,L
|
|||
|
ADDI [187,0],A1
|
|||
|
MOVE @WORLDTLX,A0,L
|
|||
|
SLL 5,A8
|
|||
|
ADDI XOV,A8
|
|||
|
MOVE *A8,A2,L
|
|||
|
ADD A2,A0
|
|||
|
MOVI PLAYER,A2
|
|||
|
MOVI 71,A3
|
|||
|
MOVI DMAWNZ|M_PIXSCAN,A4
|
|||
|
MOVI CLSNEUT|TYPICON|SUBMAN,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ2
|
|||
|
; CLR A0
|
|||
|
; MOVE A0,*A8(OPLINK),L
|
|||
|
BM SLEEP 07FFFH ;KEEP THIS
|
|||
|
JRUC BM
|
|||
|
XOV .LONG [177,0],[217,0]
|
|||
|
TXTSND1 .WORD >F3F7,>8,>80AE,0
|
|||
|
|
|||
|
CM2O
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@AFTR_WRP ;NO FREE MAN
|
|||
|
MOVK 6,A0
|
|||
|
JRUC CM2OX
|
|||
|
CM2OZ MOVK 5,A0
|
|||
|
CM2OX MOVE A0,@START
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@HALT
|
|||
|
MOVE A8,*A13(PDATA+32),L ;SPINNING DISC IMG
|
|||
|
MOVE *A8(OFLAGS),A0
|
|||
|
ORI M_NOCOLL,A0
|
|||
|
MOVE A0,*A8(OFLAGS)
|
|||
|
JRUC YESPWRD
|
|||
|
CM2
|
|||
|
; MOVK 1,A0
|
|||
|
; MOVE A0,@HALT
|
|||
|
CREATE0 SBOMB
|
|||
|
CREATE0 SPREAD
|
|||
|
MOVI TXTSND1,A0
|
|||
|
CALLA ONESND
|
|||
|
MOVE A8,*A13(PDATA+32),L ;KEEP DISC IMG PNTR
|
|||
|
CALLR KILJOY
|
|||
|
|
|||
|
SLEEPK 8
|
|||
|
CALLR STOPPLYR
|
|||
|
|
|||
|
.REF R_U_SURE
|
|||
|
JSRP R_U_SURE
|
|||
|
MOVE A11,A11
|
|||
|
JRNZ IDO ;I HAVE PASSWORD
|
|||
|
;NO PASSWORD
|
|||
|
MOVI WHAWHA,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
MOVE *A13(PDATA+32),A8,L ;KEEP DISC IMG PNTR
|
|||
|
MOVI CLSDEAD,A0
|
|||
|
MOVE A0,*A8(OID)
|
|||
|
CREATE JOYPID,JOY_UPDATE
|
|||
|
CLR A0
|
|||
|
MOVE A0,@HALT
|
|||
|
DIE
|
|||
|
WHAWHA .WORD >FBEE,90,>8088,0 ;WHAWHA
|
|||
|
IDO
|
|||
|
; CALLR STOPPLYR
|
|||
|
|
|||
|
MOVE @KEEP_P,A9,L
|
|||
|
|
|||
|
MOVE *A9(OPLINK),A10,L
|
|||
|
|
|||
|
movi AUDPWWARPSO,a0 ;Stepped on
|
|||
|
calla AUD1
|
|||
|
|
|||
|
MOVE *A10(PNUM),A0
|
|||
|
MOVE A0,@WARPOUT
|
|||
|
; MOVE *A9(PNUM),A0
|
|||
|
; MOVE A0,@WARPOUT
|
|||
|
|
|||
|
; SLEEP 28H
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@HALT
|
|||
|
CREATE JOYPID,JOY_UPDATE
|
|||
|
PUSH A9
|
|||
|
MOVI WARPP,A8 ;PAL NAME
|
|||
|
MOVI PALTMP,A9 ;RAM AREA
|
|||
|
MOVI [19,28],A10 ;BEGIN/END COLOR #
|
|||
|
MOVK 6,A11 ;RATE IN TICKS
|
|||
|
CREATE CYCPID,COLCYC ;COLOR CYCLER ON
|
|||
|
MOVE A0,*A13(PDATA+64),L
|
|||
|
PULL A9
|
|||
|
|
|||
|
MOVI SLIDEIN,A0
|
|||
|
CALLA ONESND
|
|||
|
|
|||
|
MOVI WRP,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,A8
|
|||
|
MOVI 01AH,A11
|
|||
|
WOUT SLEEPK 1
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
ADDK 5,A0
|
|||
|
MOVE A0,*A8(OYPOS)
|
|||
|
DSJ A11,WOUT
|
|||
|
CREATE0 INSTRUCT
|
|||
|
CREATE0 WTIME
|
|||
|
CREATE0 WARW
|
|||
|
MOVE A0,A10
|
|||
|
CREATE0 DIGITS
|
|||
|
CLR A0
|
|||
|
MOVE A0,@WORDS+16,L
|
|||
|
MOVE A0,@WORDS+48,L
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@WORDS,W ;FIRST LETTER (A)
|
|||
|
WSL SLEEPK 1
|
|||
|
MOVE @WORDS+4*16,A0
|
|||
|
JRZ WSL
|
|||
|
|
|||
|
MOVK 3,A0 ;NO BOMBS TO BE DROPPED
|
|||
|
MOVE A0,@WARPOUT
|
|||
|
|
|||
|
;ANALYZE PASSWORD
|
|||
|
MOVI PASWRDS,A0
|
|||
|
MOVE A0,A4
|
|||
|
MOVK 1,A6
|
|||
|
CKA MOVI WORDS,A1
|
|||
|
MOVK 4,A5
|
|||
|
CKB MOVB *A0,A2
|
|||
|
ADDK 8,A0
|
|||
|
CMPI 0,A2
|
|||
|
JRZ BADPWD
|
|||
|
MOVE *A1+,A3
|
|||
|
ADDK 20H,A3
|
|||
|
CMPI 20H,A3
|
|||
|
JRZ CKC
|
|||
|
ADDK 020H,A3
|
|||
|
CKC CMP A2,A3
|
|||
|
JRNZ NXTP
|
|||
|
DSJ A5,CKB
|
|||
|
;A HIT
|
|||
|
MOVE A6,@START
|
|||
|
movi AUDPWWARPOK,a0 ;Good
|
|||
|
calla AUD1
|
|||
|
JRUC YESPWRD
|
|||
|
NXTP ADDK 32,A4
|
|||
|
MOVE A4,A0
|
|||
|
INC A6
|
|||
|
JRUC CKA
|
|||
|
|
|||
|
KILJOY MOVI JOYPID,A0
|
|||
|
; CLR A1
|
|||
|
; NOT A1
|
|||
|
JAUC KIL1C
|
|||
|
STOPPLYR
|
|||
|
MOVE *A9(OPLINK),A10,L
|
|||
|
MOVE *A10(STICK),A2,L
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A2,W
|
|||
|
MOVE *A10(LEG_PTR),A2,L ;GET LEG INFO
|
|||
|
;STOP PLAYER FROM FLOATING
|
|||
|
MOVE A0,*A2(OXVEL),L
|
|||
|
MOVE A0,*A2(OYVEL),L
|
|||
|
MOVE A0,*A9(OXVEL),L
|
|||
|
MOVE A0,*A9(OYVEL),L
|
|||
|
RETS
|
|||
|
|
|||
|
;BAD PASSWORD
|
|||
|
;TURN ON BIG EXPLOSIONS OVER PLAYER
|
|||
|
;DELETE SPINNING DISC, AND ITS PROC
|
|||
|
;WHEN CLEAR, SPIN PLAYER INTO FLAME DEATH
|
|||
|
;TAKE AWAY WARP PANEL
|
|||
|
;UNHALT
|
|||
|
;RUN A NEW PLAYER OUT
|
|||
|
;
|
|||
|
YESPWRD
|
|||
|
MOVK 2,A0
|
|||
|
MOVE A0,@ARWOFF
|
|||
|
;GET RID OF BTR60
|
|||
|
MOVI FUTUREPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
;SCROLL PROCS
|
|||
|
MOVI FLGPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI PONDPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI TARGPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI DELPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI LORDPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI WARPPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
;SET OFF SMART BOMB
|
|||
|
;A9=PLYR IMG PTR WHO GOT ME
|
|||
|
CREATE0 SBOMB
|
|||
|
MOVE @START,A0
|
|||
|
CMPI 11,A0
|
|||
|
JRZ YRT
|
|||
|
PUSH A8
|
|||
|
CALLA INIT_SCORE ;TURNS ON REGULAR IMAGES FOR SCORES
|
|||
|
PULL A8
|
|||
|
SLEEPK 2
|
|||
|
CLR A0
|
|||
|
MOVE A0,@SCORE_FLAG
|
|||
|
MOVE @START,A0
|
|||
|
CMPI 10,A0
|
|||
|
JRNZ YRT
|
|||
|
;SHOCK WARP
|
|||
|
CREATE 3100,SCRLUP
|
|||
|
MOVI CMAN,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI ICONPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
YRT
|
|||
|
MOVI WRPSND,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
;CHECKER BOARD WIPE
|
|||
|
CLR A0
|
|||
|
MOVE A0,@SQR_FLG
|
|||
|
CALLA SQUARES
|
|||
|
SLEEPK 13H
|
|||
|
CALLA ERASE_TXT
|
|||
|
GT1 SLEEPK 1
|
|||
|
MOVE @SQR_FLG,A0
|
|||
|
JRZ GT1
|
|||
|
;SQUARES NOW COVER ENTIRE SCREEN
|
|||
|
MOVE @START,A0
|
|||
|
CMPI 11,A0
|
|||
|
JRZ YRT0
|
|||
|
MOVE *A13(PDATA+32),A0,L ;SPINNING DISC IMG
|
|||
|
MOVE *A0(OXPOS),A1
|
|||
|
CALLA DELOBJ
|
|||
|
CMPI 251H,A1 ;SHORTCUT
|
|||
|
JRZ YRT0
|
|||
|
CMPI 54H-9,A1 ;SHORTCUT
|
|||
|
JRZ YRT0
|
|||
|
CALLA DELOBJA8 ;DELETE WARP PANEL
|
|||
|
MOVE *A13(PDATA+64),A0,L ;COLOR CYCLER FOR WARP PANEL
|
|||
|
CALLA KILL
|
|||
|
;TAKE AWAY ALL PASSWORD DIGITS AND TIMER DIGITS
|
|||
|
MOVI 0FFH,A0
|
|||
|
MOVE A0,@WORDS+4*16 ;TAKES AWAY PASSWRD LETTERS
|
|||
|
YRT0
|
|||
|
;GET RID OF MAP BUTTON IF PRESENT
|
|||
|
MOVI MAPPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
JRZ STR
|
|||
|
CALLA GETA8
|
|||
|
CALLA KILL
|
|||
|
CALLA DELOBJA8
|
|||
|
STR MOVI FUTRPID,A0 ;KIL BTR60 WAITING FOR ME
|
|||
|
CALLA KIL1C
|
|||
|
CALLA KILBGND ;KILL ALL BACKGROUND
|
|||
|
;NOW DISPLAY NEW WORLD HE HAS JUST WARPED TO
|
|||
|
MOVE @START,A0
|
|||
|
CMPI 3,A0
|
|||
|
JRNZ WRPA
|
|||
|
;DO THIS FOR START OF GAME AT GATES OF REACTOR FACILITY
|
|||
|
CALLA STRTA
|
|||
|
MOVI ( 5 *32*32)+( 5 *32)+( 5 ),A1 ;GREY
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
SLEEPK 2
|
|||
|
MOVI [0E4H,0],A3
|
|||
|
MOVI [127EH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [0E08H,0],A4 ;F23
|
|||
|
SUB A5,A4
|
|||
|
CALLR MOVESQRS
|
|||
|
MOVI [0476H,0],A0 ;35B
|
|||
|
MOVE A0,@WORLDTLY,L
|
|||
|
|
|||
|
CLR A8 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
MOVE A8,@WORLDTLX,L
|
|||
|
|
|||
|
MOVE @WORLDTLY,A9,L
|
|||
|
SRL 16,A9
|
|||
|
ADDI 130,A9 ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
CLR A10
|
|||
|
CREATE TARGPID,TARGET
|
|||
|
|
|||
|
CREATE FUTUREPID,SEND_TOP ;SEND FIRST ENEMIES
|
|||
|
|
|||
|
MOVK 1,A0
|
|||
|
CALLA DOLORD
|
|||
|
|
|||
|
WRPDN
|
|||
|
;EVERY WARP JUMPS IN HERE TO FINISH IT OFF
|
|||
|
MOVE @START,A0
|
|||
|
CMPI 10,A0
|
|||
|
JRZ WR00
|
|||
|
CALLA INIT_SCORE ;TURNS ON REGULAR IMAGES FOR SCORES
|
|||
|
WR00 CALLA BGND_UD1
|
|||
|
SLEEPK 1
|
|||
|
CALLA BGND_UD1
|
|||
|
SLEEPK 1
|
|||
|
CALLA BGND_UD1
|
|||
|
|
|||
|
CALLR KILJOY
|
|||
|
MOVI CYCPID,A0 ;ALL COLOR CYCLES OFF AFTER WARP
|
|||
|
CALLA KIL1C
|
|||
|
MOVI POWPID,A0 ;ALL COLOR CYCLES OFF AFTER WARP
|
|||
|
CALLA KIL1C
|
|||
|
CLR A0
|
|||
|
MOVE A0,@CYCLIFE
|
|||
|
MOVE A0,@HALT
|
|||
|
MOVE A0,@RUNIN,W
|
|||
|
|
|||
|
MOVE @START,A0
|
|||
|
CMPI 10,A0
|
|||
|
JRZ GT2
|
|||
|
CMPI 11,A0
|
|||
|
JRNZ GT28
|
|||
|
CALLR PLYRS_CNTR
|
|||
|
JRUC GT2
|
|||
|
|
|||
|
GT28 MOVE @STATUS,A2
|
|||
|
CMPI 3,A2
|
|||
|
JRZ SAZ
|
|||
|
MOVE A2,A8
|
|||
|
DEC A2
|
|||
|
SLL 5,A2
|
|||
|
ADDI PLYRPRCS,A2,L
|
|||
|
MOVE *A2,A2,L
|
|||
|
CALLA SETPXY1 ;1 OR 2
|
|||
|
MOVE *A2(TSO_PTR),A3,L
|
|||
|
MOVE *A2(LEG_PTR),A4,L
|
|||
|
MOVE A0,*A3(OXVAL),L
|
|||
|
MOVE A1,*A3(OYVAL),L
|
|||
|
MOVE A0,*A4(OXVAL),L
|
|||
|
MOVE A1,*A4(OYVAL),L
|
|||
|
MOVE @RUNIN,A10 ;A10=0 FOR COME IN FROM BOTTOM
|
|||
|
CREATE SCRPID,SCRIPTPLAY
|
|||
|
JRUC GT2
|
|||
|
|
|||
|
INSTRUCT
|
|||
|
;TURN ON INSTRUCTIONS FOR WARP PANEL
|
|||
|
MOVI INST1,A8 ;OBJECTIVE 1
|
|||
|
MOVI [0F0H-10,0200],A9 ;SCRN Y/X
|
|||
|
MOVI 3B3BH,A6 ;YELLOW
|
|||
|
MOVI RD7FONT,A11 ;FONT TABLE
|
|||
|
CLR A0
|
|||
|
MOVE A0,@WRLD
|
|||
|
MOVK 1,A10 ;Y,X SPACING BETWEEN CHARCTERS
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
MOVI INST2,A8 ;OBJECTIVE 1
|
|||
|
MOVI [00F0H,0200],A9 ;SCRN Y/X
|
|||
|
MOVI 3B3BH,A6 ;YELLOW
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO
|
|||
|
|
|||
|
DIE
|
|||
|
|
|||
|
INST1 .BYTE "LEFT JOYSTICK MOVES THE ARROW",0
|
|||
|
INST2 .BYTE "RIGHT JOYSTICK OR BUTTON SELECTS THE LETTER",0
|
|||
|
.EVEN
|
|||
|
|
|||
|
MOVESQRS
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
AGN MOVI CLSNEUT|TYPTEXT|SUBWNDW,A0
|
|||
|
CALLA EXISTOBJ
|
|||
|
JRZ EX
|
|||
|
MOVE *A0(OXVAL),A2,L
|
|||
|
SUB A3,A2
|
|||
|
MOVE A2,*A0(OXVAL),L
|
|||
|
MOVE *A0(OYVAL),A2,L
|
|||
|
SUB A4,A2
|
|||
|
MOVE A2,*A0(OYVAL),L
|
|||
|
CLR A2
|
|||
|
MOVE A2,*A0(OID)
|
|||
|
JRUC AGN
|
|||
|
EX RETS
|
|||
|
|
|||
|
SAZ MOVK 1,A8
|
|||
|
MOVE @RUNIN,A10 ;A10=0 FOR COME IN FROM BOTTOM
|
|||
|
CREATE SCRPID,SCRIPTPLAY
|
|||
|
MOVE @PLYRPRCS,A2,L
|
|||
|
CALLA SETPXY1
|
|||
|
MOVE *A2(TSO_PTR),A3,L
|
|||
|
MOVE *A2(LEG_PTR),A4,L
|
|||
|
MOVE A0,*A3(OXVAL),L
|
|||
|
MOVE A1,*A3(OYVAL),L
|
|||
|
MOVE A0,*A4(OXVAL),L
|
|||
|
MOVE A1,*A4(OYVAL),L
|
|||
|
MOVK 2,A8
|
|||
|
CREATE SCRPID,SCRIPTPLAY
|
|||
|
MOVE @PLYRPRCS+32,A2,L
|
|||
|
CALLA SETPXY2
|
|||
|
MOVE *A2(TSO_PTR),A3,L
|
|||
|
MOVE *A2(LEG_PTR),A4,L
|
|||
|
MOVE A0,*A3(OXVAL),L
|
|||
|
MOVE A1,*A3(OYVAL),L
|
|||
|
MOVE A0,*A4(OXVAL),L
|
|||
|
MOVE A1,*A4(OYVAL),L
|
|||
|
|
|||
|
;CHECKER BOARD UNWIPE
|
|||
|
GT2 SLEEPK 2
|
|||
|
MOVE @SQR_FLG,A0
|
|||
|
JRNZ GT2
|
|||
|
;ALL SQUARES GONE!
|
|||
|
MOVE @START,A0
|
|||
|
CMPI 10,A0
|
|||
|
JRZ GT22
|
|||
|
CALLA DMA_SCORE
|
|||
|
CREATE JOYPID,JOY_UPDATE
|
|||
|
CALLA SETC2 ;START LAND MINE COLOR CYCLE
|
|||
|
GT22 CLR A0
|
|||
|
MOVE A0,@WARPOUT
|
|||
|
|
|||
|
JSRP DELSTUF ;1/11/92
|
|||
|
CALLA STOPOBJS
|
|||
|
|
|||
|
MOVE @START,A0
|
|||
|
CMPI 11,A0
|
|||
|
JAZ FROMSHK
|
|||
|
DIE
|
|||
|
|
|||
|
ahkbang .word >f9F7,80,>80ef,0 ;^ angry
|
|||
|
BADPWD MOVE *A13(PDATA+32),A10,L ;SPINNING DISC IMG
|
|||
|
CREATE0 JSND0
|
|||
|
CREATE0 KM2B
|
|||
|
CLR A0
|
|||
|
MOVE A0,@HALT
|
|||
|
SLEEPK 10
|
|||
|
MOVE *A13(PDATA+32),A0,L ;SPINNING DISC IMG
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE *A13(PDATA),A0,L ;PROC SPINNING THAT DISC
|
|||
|
CALLA KILL
|
|||
|
SLEEPK 4
|
|||
|
;START PLAYER SPINNING!
|
|||
|
MOVE *A9(OPLINK),A0,L
|
|||
|
MOVE A0,A7
|
|||
|
PUSH A8
|
|||
|
CLR A2
|
|||
|
CALLA WARP_KIL ;KILL PLAYER
|
|||
|
PULL A8
|
|||
|
SLEEPK 20
|
|||
|
;TAKE AWAY ALL PASSWORD DIGITS AND TIMER DIGITS
|
|||
|
MOVI 0FFH,A0
|
|||
|
MOVE A0,@WORDS+4*16 ;TAKES AWAY PASSWRD LETTERS
|
|||
|
CREATE0 JSND
|
|||
|
MOVI SLIDEIN,A0
|
|||
|
CALLA ONESND
|
|||
|
|
|||
|
MOVI 1AH,A11
|
|||
|
WOUT2 SLEEPK 1
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
SUBK 5,A0
|
|||
|
MOVE A0,*A8(OYPOS)
|
|||
|
DSJ A11,WOUT2
|
|||
|
CALLA DELOBJA8 ;DELETE WARP PANEL
|
|||
|
MOVE *A13(PDATA+64),A0,L ;COLOR CYCLER FOR WARP PANEL
|
|||
|
CALLA KILL
|
|||
|
CALLA ERASE_TXT
|
|||
|
CLR A0
|
|||
|
MOVE A0,@WARPOUT
|
|||
|
DIE
|
|||
|
JSND0
|
|||
|
JSRP BOOMS
|
|||
|
DIE
|
|||
|
JSND SLEEP 90
|
|||
|
MOVI ahkbang,a0
|
|||
|
calla ONESND
|
|||
|
DIE
|
|||
|
WRPA
|
|||
|
;NEXT WARP CHECK
|
|||
|
CMPI 4,A0
|
|||
|
JRNZ WRPB
|
|||
|
;WARP TO DESERT 1ST LOCKDOWN
|
|||
|
SLEEPK 2
|
|||
|
CLR A3
|
|||
|
MOVI [127FH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [026EH,0],A4
|
|||
|
SUB A5,A4
|
|||
|
CALLR MOVESQRS
|
|||
|
MOVI [0100FH,0],A0
|
|||
|
MOVE A0,@WORLDTLY,L
|
|||
|
|
|||
|
MOVI DSRTONE_MOD,A0 ;SHOW FORT MODULE
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
MOVK 6,A9 ;6=1 PIXEL OF SCROLL!
|
|||
|
MOVE A9,@TARGET_NUM ;FIRST TARGET FOR SCROLL
|
|||
|
MOVI 252,A0
|
|||
|
MOVE @WORLDTLY,A9,L
|
|||
|
SRL 16,A9
|
|||
|
ADD A0,A9 ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
CLR A8 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
CLR A10
|
|||
|
CREATE TARGPID,TARGET
|
|||
|
JRUC WRPDN
|
|||
|
|
|||
|
WRPB
|
|||
|
;NEXT WARP CHECK
|
|||
|
CMPI 5,A0
|
|||
|
JRNZ WRPC
|
|||
|
;WARP TO DESERT 2ND LOCKDOWN
|
|||
|
SLEEPK 2
|
|||
|
MOVI [127FH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [0800H,0],A4
|
|||
|
SUB A5,A4
|
|||
|
MOVI [0C5H,0],A3
|
|||
|
CALLR MOVESQRS
|
|||
|
MOVI [0A7EH,0],A0
|
|||
|
MOVE A0,@WORLDTLY,L
|
|||
|
MOVI [01FH,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
MOVI DSRTONE_MOD,A0 ;SHOW FORT MODULE
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
MOVK 12,A0
|
|||
|
MOVE A0,@WAVE ;1ST LOCKDOWN
|
|||
|
MOVI 252,A0
|
|||
|
MOVE @WORLDTLY,A9,L
|
|||
|
SRL 16,A9
|
|||
|
ADD A0,A9 ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
CLR A8 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
MOVI PATHCA,A10 ;INDICATES NEW SCROLL WITH SCRL TABLE
|
|||
|
CREATE TARGPID,TARGET
|
|||
|
JRUC WRPDN
|
|||
|
PATHCA ;DIR,CNT
|
|||
|
.WORD 1,1,0
|
|||
|
WRPC
|
|||
|
;NEXT WARP CHECK
|
|||
|
CMPI 6,A0
|
|||
|
JRNZ WRPD
|
|||
|
;WARP TO START OF ORCUS
|
|||
|
SLEEPK 2
|
|||
|
MOVI [127FH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [0127EH,0],A4
|
|||
|
SUB A5,A4
|
|||
|
|
|||
|
; MOVI [0C3H,0],A3
|
|||
|
|
|||
|
MOVE @WORLDTLX+16,A3
|
|||
|
SUBI 21H,A3
|
|||
|
SLL 16,A3
|
|||
|
|
|||
|
CALLR MOVESQRS
|
|||
|
CLR A0
|
|||
|
MOVE A0,@WORLDTLY,L
|
|||
|
MOVI [021H,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
MOVI DSRTNEW_MOD,A0 ;SHOW FORT MODULE
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
MOVK 15,A0
|
|||
|
MOVE A0,@WAVE ;1ST LOCKDOWN
|
|||
|
MOVI 252,A0
|
|||
|
MOVE @WORLDTLY,A9,L
|
|||
|
SRL 16,A9
|
|||
|
ADD A0,A9 ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
CLR A8 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
MOVI PATHCA,A10 ;INDICATES NEW SCROLL WITH SCRL TABLE
|
|||
|
CREATE TARGPID,TARGET
|
|||
|
CREATE0 FIXC
|
|||
|
JRUC WRPDN
|
|||
|
FIXC SLEEPK 5
|
|||
|
MOVI FLGPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI PONDPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
DIE
|
|||
|
WRPD
|
|||
|
;NEXT WARP CHECK
|
|||
|
CMPI 7,A0
|
|||
|
JRNZ WRPE
|
|||
|
;WARP TO START OF ROAD #1
|
|||
|
SLEEPK 2
|
|||
|
|
|||
|
MOVI [-0DEH,0],A3 ;450 DECIMAL
|
|||
|
MOVI [127FH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [145H,0],A4
|
|||
|
ADD A5,A4
|
|||
|
NEG A4
|
|||
|
CALLR MOVESQRS
|
|||
|
|
|||
|
CLR A0 ;1=STUCK IN GOO, 0=BALL AND CHAIN
|
|||
|
MOVE A0,@HSTGSET
|
|||
|
MOVE A0,@CRSRAM,L
|
|||
|
MOVI [5060,0],A2
|
|||
|
MOVE A2,@WORLDTLY,L
|
|||
|
MOVI [0450,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
MOVI ROAD_MOD,A0 ;SHOW ROAD
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
MOVI ( 5 *32*32)+( 5 *32)+( 5 ),A1 ;SAND COLOR
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
CREATE0 FIX
|
|||
|
MOVK 17,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
MOVK 1,A9 ;A9=0 FOR UP, 1 FOR RGT
|
|||
|
CREATE ARWPID,ONARRW ;TURN ON UP ARROW
|
|||
|
CREATE FUTUREPID,AOF ;ARROW OFF AFTER A TIME
|
|||
|
MOVK 8,A0 ;10
|
|||
|
MOVE A0,@CTOTAL
|
|||
|
MOVI ICN4,A0
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
CREATE ICONPID,SEND_ICON ;2 ICON SETS FOR ROADWAY
|
|||
|
CREATE ICONPID,SEND_ICON ;2 ICON SETS FOR ROADWAY
|
|||
|
|
|||
|
MOVK SUBSPRY,A9 ;BULLET SUBTYPE
|
|||
|
CREATE FIXPID,FIXGUNS
|
|||
|
JRUC WRPDN
|
|||
|
WRPE
|
|||
|
;NEXT WARP CHECK
|
|||
|
CMPI 8,A0
|
|||
|
JRNZ WRPF
|
|||
|
SLEEPK 2
|
|||
|
;FOR START AT END OF ROAD AFTER RACKUP
|
|||
|
|
|||
|
MOVI [-0B96H,0],A3 ;C7AH
|
|||
|
MOVI [127FH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [145H,0],A4
|
|||
|
ADD A5,A4
|
|||
|
NEG A4
|
|||
|
CALLR MOVESQRS
|
|||
|
|
|||
|
;FOR START AT END OF ROAD AFTER RACKUP
|
|||
|
CLR A0 ;1=STUCK IN GOO, 0=BALL AND CHAIN
|
|||
|
MOVE A0,@HSTGSET
|
|||
|
MOVE A0,@CRSRAM,L
|
|||
|
MOVI [5060,0],A2
|
|||
|
MOVE A2,@WORLDTLY,L
|
|||
|
MOVI [0C7AH,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
MOVI ROAD_MOD,A0 ;SHOW ROAD
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
MOVI ( 5 *32*32)+( 5 *32)+( 5 ),A1 ;GREY COLOR
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
|
|||
|
MOVI AIRRECT1,A0
|
|||
|
MOVE A0,@CURRENT,L
|
|||
|
MOVI AIRBRECT1,A0
|
|||
|
MOVE A0,@BCURRENT,L
|
|||
|
MOVI ENAIR1,A0
|
|||
|
MOVE A0,@EN_CURRENT,L ;FOR BOX COLLISIONS
|
|||
|
|
|||
|
MOVI 08000H,A0
|
|||
|
MOVE A0,@HZSPD,L
|
|||
|
CREATE0 DELY
|
|||
|
|
|||
|
MOVK 18,A0
|
|||
|
CALLA DOLORD
|
|||
|
CLR A9 ;A9=0 FOR UP, 1 FOR RGT
|
|||
|
MOVE A9,@TARGET_NUM
|
|||
|
CREATE ARWPID,ONARRW ;TURN ON UP ARROW
|
|||
|
CREATE FUTUREPID,AOF ;ARROW OFF AFTER A TIME
|
|||
|
MOVK 13,A0 ;10
|
|||
|
MOVE A0,@CTOTAL
|
|||
|
MOVI ICN1,A0
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
JRUC WRPDN
|
|||
|
DELY SLEEPK 30
|
|||
|
MOVE @WORLDTLY,A9,L
|
|||
|
SRL 16,A9
|
|||
|
ADDI 90,A9 ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
CLR A8 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
MOVI PATHU,A10 ;INDICATES NEW SCROLL WITH SCRL TABLE
|
|||
|
CREATE TARGPID,TARGET
|
|||
|
DIE
|
|||
|
PATHU ;DIR,CNT
|
|||
|
.WORD 1,700,0
|
|||
|
WRPF
|
|||
|
;NEXT WARP CHECK
|
|||
|
CMPI 9,A0
|
|||
|
JRNZ WRPG
|
|||
|
SLEEPK 2
|
|||
|
;FOR START AT END OF TARMAC AREA #1 - SPIDER EGGS AROUND ME
|
|||
|
|
|||
|
MOVI [-0110CH,0],A3
|
|||
|
MOVI [127FH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [65CH,0],A4
|
|||
|
SUB A5,A4
|
|||
|
CALLR MOVESQRS
|
|||
|
|
|||
|
;FOR START AT END OF AIRPLANE MISSILE AREA-ON RUNWAY
|
|||
|
CLR A0 ;1=STUCK IN GOO, 0=BALL AND CHAIN
|
|||
|
MOVE A0,@HSTGSET
|
|||
|
MOVE A0,@CRSRAM,L
|
|||
|
MOVI [0C23H,0],A2
|
|||
|
MOVE A2,@WORLDTLY,L
|
|||
|
MOVI [011F0H,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
MOVI PORT_MOD,A0 ;SHOW ROAD
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
MOVI ( 5 *32*32)+( 5 *32)+( 5 ),A1 ;GREY COLOR
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
|
|||
|
MOVI AIRRECT3A,A0 ;TAKEN CARE OF BY SCROLLER
|
|||
|
MOVE A0,@CURRENT,L
|
|||
|
MOVI AIRBRECT3,A0
|
|||
|
MOVE A0,@BCURRENT,L
|
|||
|
|
|||
|
MOVI 08000H,A0
|
|||
|
MOVE A0,@HZSPD,L
|
|||
|
MOVE @WORLDTLX,A8,L
|
|||
|
SRL 16,A8
|
|||
|
ADDI 300,A8 ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
CLR A9 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
MOVI PATHAIR2,A10 ;INDICATES NEW SCROLL WITH SCRL TABLE
|
|||
|
CREATE TARGPID,TARGETST
|
|||
|
|
|||
|
MOVK 18,A0
|
|||
|
CALLA DOLORD
|
|||
|
MOVK 1,A9 ;A9=0 FOR UP, 1 FOR RGT
|
|||
|
MOVE A9,@TARGET_NUM
|
|||
|
CREATE ARWPID,ONARRW ;TURN ON UP ARROW
|
|||
|
CREATE FUTUREPID,AOF ;ARROW OFF AFTER A TIME
|
|||
|
MOVK 13,A0 ;10
|
|||
|
MOVE A0,@CTOTAL
|
|||
|
MOVI ICN1,A0
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
JRUC WRPDN
|
|||
|
WRPG
|
|||
|
;NEXT WARP CHECK
|
|||
|
CMPI 1,A0
|
|||
|
JRNZ WRPH
|
|||
|
SLEEPK 2
|
|||
|
|
|||
|
;STARTING GAME WHEN REACTOR IS ALREADY ON SCREEN
|
|||
|
|
|||
|
MOVI [0E4H,0],A3
|
|||
|
MOVI [127FH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [127EH,0],A4
|
|||
|
SUB A5,A4
|
|||
|
CALLR MOVESQRS
|
|||
|
|
|||
|
MOVK 1,A0 ;1=STUCK IN GOO, 0=BALL AND CHAIN
|
|||
|
MOVE A0,@HSTGSET
|
|||
|
|
|||
|
MOVK 1,A9
|
|||
|
MOVE A9,@TARGET_NUM ;FIRST TARGET FOR SCROLL
|
|||
|
CLR A0
|
|||
|
MOVE A0,@CRSRAM,L
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
MOVI 010000H,A0
|
|||
|
MOVE A0,@WORLDTLY,L
|
|||
|
|
|||
|
MOVI STRT_MOD,A0 ;SHOW FORT MODULE
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
|
|||
|
MOVE @WORLDTLY,A9,L
|
|||
|
SRL 16,A9
|
|||
|
ADDI 230,A9 ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
CLR A8 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
CLR A10
|
|||
|
CREATE TARGPID,TARGET
|
|||
|
CREATE0 FORDBG
|
|||
|
MOVI ICN1,A0
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
MOVI ( 5 *32*32)+( 5 *32)+( 5 ),A1 ;GREY
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
CREATE0 DELYC
|
|||
|
JRUC WRPDN
|
|||
|
DELYC SLEEP 40
|
|||
|
CALLR STRT_G
|
|||
|
CALLA STRT_FORT ;FORT CYCLE
|
|||
|
DIE
|
|||
|
|
|||
|
WRPH
|
|||
|
;NEXT WARP CHECK
|
|||
|
CMPI 10,A0
|
|||
|
JRNZ WRPI
|
|||
|
SLEEPK 2
|
|||
|
|
|||
|
;SHOCK PLAYER! GO BACK TO DESERT START!
|
|||
|
;FRY PLAYERS
|
|||
|
|
|||
|
MOVI [0DAH,0],A3
|
|||
|
MOVI [127EH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [0EBFH,0],A4
|
|||
|
SUB A5,A4
|
|||
|
CALLR MOVESQRS
|
|||
|
|
|||
|
movk 10,a0
|
|||
|
move a0,@WORLDTLX+16
|
|||
|
movi 960,a0
|
|||
|
move a0,@WORLDTLY+16
|
|||
|
|
|||
|
MOVI frypbg_t,A0
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
CLR A1
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@TAUNTOUT
|
|||
|
CLR A8 ;PLAYER FRY
|
|||
|
CREATE0 fry_plyrs
|
|||
|
JRUC WRPDN
|
|||
|
WRPI
|
|||
|
CMPI 11,A0
|
|||
|
JRNZ WRPJ
|
|||
|
;BACK FROM SHOCK PLAYER! GO BACK TO DESERT START!
|
|||
|
CALLR KILL_SHOK
|
|||
|
|
|||
|
|
|||
|
MOVI ICONPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI CMAN,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI CLSNEUT|TYPICON,A0
|
|||
|
MOVI 0FF00H,A1 ;DEL ANY ICONS SITTING AROUND
|
|||
|
CALLA KILOBJ
|
|||
|
|
|||
|
|
|||
|
MOVI [-0DAH,0],A3
|
|||
|
MOVI [-0EBFH,0],A4
|
|||
|
CALLR MOVESQRS
|
|||
|
|
|||
|
MOVI 0E4H,a0
|
|||
|
move a0,@WORLDTLX+16
|
|||
|
movi 127DH,a0
|
|||
|
move a0,@WORLDTLY+16
|
|||
|
|
|||
|
MOVI DSRTONE_MOD,A0 ;SHOW FORT MODULE
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
MOVI ( 11 *32*32)+( 7 *32)+( 0 ),A1
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
MOVE A1,@TAUNTOUT
|
|||
|
JRUC WRPDN
|
|||
|
WRPJ
|
|||
|
CMPI 12,A0
|
|||
|
JRNZ WRPK
|
|||
|
;FOR START AT END OF AIRPORT LOCKDOWN
|
|||
|
SLEEPK 2
|
|||
|
|
|||
|
; MOVI [127FH,0],A5
|
|||
|
; MOVE @WORLDTLY,A4,L
|
|||
|
; SUB A4,A5
|
|||
|
; MOVI [0800H,0],A4
|
|||
|
; SUB A5,A4
|
|||
|
; MOVI [0C5H,0],A3
|
|||
|
; CALLR MOVESQRS
|
|||
|
; MOVI [0A7EH,0],A0
|
|||
|
; MOVE A0,@WORLDTLY,L
|
|||
|
; MOVI [01FH,0],A0
|
|||
|
; MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
;DESERT STARTS HERE
|
|||
|
; MOVI [127EH,0],A2
|
|||
|
; MOVE A2,@WORLDTLY,L
|
|||
|
; MOVI [0E4H,0],A0
|
|||
|
; MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
|
|||
|
|
|||
|
; MOVE *A0(OXVAL),A2,L
|
|||
|
; SUB A3,A2
|
|||
|
; MOVE A2,*A0(OXVAL),L
|
|||
|
; MOVE *A0(OYVAL),A2,L
|
|||
|
; SUB A4,A2
|
|||
|
; MOVE A2,*A0(OYVAL),L
|
|||
|
|
|||
|
|
|||
|
MOVI [127FH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [08DCH,0],A4
|
|||
|
SUB A5,A4
|
|||
|
MOVI [-128CH,0],A3
|
|||
|
CALLR MOVESQRS
|
|||
|
|
|||
|
|
|||
|
MOVK 1,A0 ;1=STUCK IN GOO, 0=BALL AND CHAIN
|
|||
|
MOVE A0,@HSTGSET
|
|||
|
CLR A0
|
|||
|
MOVE A0,@CRSRAM,L
|
|||
|
MOVI [09A2H,0],A2
|
|||
|
MOVE A2,@WORLDTLY,L
|
|||
|
MOVI [01370H,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
MOVI PORT_MOD,A0 ;SHOW ROAD
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
|
|||
|
MOVI AIRRECT3A,A0
|
|||
|
MOVE A0,@CURRENT,L
|
|||
|
MOVI AIRBRECT3,A0
|
|||
|
MOVE A0,@BCURRENT,L
|
|||
|
|
|||
|
MOVI 010000H,A0
|
|||
|
MOVE A0,@HZSPD,L
|
|||
|
MOVE @WORLDTLY,A9,L
|
|||
|
SRL 16,A9
|
|||
|
ADDI 250,A9 ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
CLR A8 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
MOVI PATHCB,A10 ;INDICATES NEW SCROLL WITH SCRL TABLE
|
|||
|
CREATE TARGPID,TARGET
|
|||
|
|
|||
|
MOVI ( 5 *32*32)+( 5 *32)+( 5 ),A1 ;GREY
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
|
|||
|
MOVK 29,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
MOVK 13,A0 ;10
|
|||
|
MOVE A0,@CTOTAL
|
|||
|
MOVI ICN1,A0
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
JRUC WRPDN
|
|||
|
WRPK
|
|||
|
CMPI 13,A0
|
|||
|
JRNZ WRPL
|
|||
|
;FOR START AT BEGINNING OF 2ND ROAD
|
|||
|
SLEEPK 2
|
|||
|
|
|||
|
;DESERT STARTS HERE
|
|||
|
; MOVI [127EH,0],A2
|
|||
|
; MOVE A2,@WORLDTLY,L
|
|||
|
; MOVI [0E4H,0],A0
|
|||
|
; MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
; MOVE *A0(OXVAL),A2,L
|
|||
|
; SUB A3,A2
|
|||
|
; MOVE A2,*A0(OXVAL),L
|
|||
|
; MOVE *A0(OYVAL),A2,L
|
|||
|
; SUB A4,A2
|
|||
|
; MOVE A2,*A0(OYVAL),L
|
|||
|
|
|||
|
|
|||
|
;2ND ROAD STARTS HERE
|
|||
|
; MOVI [912H,0],A2
|
|||
|
; MOVE A2,@WORLDTLY,L
|
|||
|
; MOVI [01520H,0],A0
|
|||
|
; MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
|
|||
|
MOVI [127FH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [096DH,0],A4
|
|||
|
SUB A5,A4
|
|||
|
MOVI [-143CH,0],A3
|
|||
|
CALLR MOVESQRS
|
|||
|
|
|||
|
CLR A0 ;1=STUCK IN GOO, 0=BALL AND CHAIN
|
|||
|
MOVE A0,@HSTGSET
|
|||
|
MOVE A0,@CRSRAM,L
|
|||
|
|
|||
|
|
|||
|
MOVI [912H,0],A2
|
|||
|
MOVE A2,@WORLDTLY,L
|
|||
|
MOVI [01520H,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
|
|||
|
MOVI ROAD2_MOD,A0 ;SHOW ROAD
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
MOVI ( 5 *32*32)+( 5 *32)+( 5 ),A1 ;SAND COLOR
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
CREATE0 FIX3
|
|||
|
MOVK 18,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
MOVK 2,A9 ;A9=0 FOR UP, 1 FOR RGT
|
|||
|
CREATE ARWPID,ONARRW ;TURN ON LFT ARROW
|
|||
|
CREATE FUTUREPID,AOF ;ARROW OFF AFTER A TIME
|
|||
|
MOVK 8,A0 ;10
|
|||
|
MOVE A0,@CTOTAL
|
|||
|
MOVI ICN4,A0
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
CREATE ICONPID,SEND_ICON ;2 ICON SETS FOR ROADWAY
|
|||
|
|
|||
|
MOVK SUBSPRY,A9 ;BULLET SUBTYPE
|
|||
|
CREATE FIXPID,FIXGUNS
|
|||
|
JRUC WRPDN
|
|||
|
WRPL
|
|||
|
CMPI 14,A0
|
|||
|
JRNZ WRPM
|
|||
|
;FOR START AT END OF 2ND ROAD
|
|||
|
SLEEPK 2
|
|||
|
|
|||
|
;DESERT STARTS HERE
|
|||
|
; MOVI [127EH,0],A2
|
|||
|
; MOVE A2,@WORLDTLY,L
|
|||
|
; MOVI [0E4H,0],A0
|
|||
|
; MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
; MOVE *A0(OXVAL),A2,L
|
|||
|
; SUB A3,A2
|
|||
|
; MOVE A2,*A0(OXVAL),L
|
|||
|
; MOVE *A0(OYVAL),A2,L
|
|||
|
; SUB A4,A2
|
|||
|
; MOVE A2,*A0(OYVAL),L
|
|||
|
|
|||
|
|
|||
|
;END OF ROAD STARTS HERE
|
|||
|
; MOVI [912H,0],A2
|
|||
|
; MOVE A2,@WORLDTLY,L
|
|||
|
; MOVI [0611H,0],A0
|
|||
|
; MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
MOVI [127FH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [096DH,0],A4
|
|||
|
SUB A5,A4
|
|||
|
MOVI [-52DH,0],A3
|
|||
|
CALLR MOVESQRS
|
|||
|
|
|||
|
CLR A0 ;1=STUCK IN GOO, 0=BALL AND CHAIN
|
|||
|
MOVE A0,@HSTGSET
|
|||
|
MOVE A0,@CRSRAM,L
|
|||
|
|
|||
|
SLEEPK 1
|
|||
|
MOVI [912H,0],A2
|
|||
|
MOVE A2,@WORLDTLY,L
|
|||
|
MOVI [0611H,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
MOVI ROAD2_MOD,A0 ;SHOW ROAD
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
MOVI ( 5 *32*32)+( 5 *32)+( 5 ),A1 ;SAND COLOR
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
|
|||
|
CLR A0
|
|||
|
MOVE A0,@CURRENT,L
|
|||
|
MOVE A0,@BCURRENT,L
|
|||
|
MOVE @WORLDTLX+16,A8
|
|||
|
ADDK 5,A8 ;A8=X TARGET LINE TO TRIGGER SCROLL
|
|||
|
CLR A9 ;A9=0 MEANS NOT CHECKING FOR Y TARGET
|
|||
|
MOVI PATHL2,A10 ;INDICATES NEW SCROLL WITH SCRL TABLE
|
|||
|
MOVI 08000H,A0
|
|||
|
MOVE A0,@HZSPD,L
|
|||
|
CREATE TARGPID,TARGET
|
|||
|
|
|||
|
MOVI 34,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
MOVK 8,A0 ;10
|
|||
|
MOVE A0,@CTOTAL
|
|||
|
MOVI ICN4,A0
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
CREATE ICONPID,SEND_ICON ;2 ICON SETS FOR ROADWAY
|
|||
|
SLEEPK 1
|
|||
|
JRUC WRPDN
|
|||
|
WRPM
|
|||
|
CMPI 16,A0
|
|||
|
JRNZ WRPN
|
|||
|
;FOR START AT BEGINNING OF BASEMENT
|
|||
|
SLEEPK 2
|
|||
|
|
|||
|
;DESERT STARTS HERE
|
|||
|
; MOVI [127EH,0],A2
|
|||
|
; MOVE A2,@WORLDTLY,L
|
|||
|
; MOVI [0E4H,0],A0
|
|||
|
; MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
; MOVE *A0(OXVAL),A2,L
|
|||
|
; SUB A3,A2
|
|||
|
; MOVE A2,*A0(OXVAL),L
|
|||
|
; MOVE *A0(OYVAL),A2,L
|
|||
|
; SUB A4,A2
|
|||
|
; MOVE A2,*A0(OYVAL),L
|
|||
|
|
|||
|
|
|||
|
;END OF ROAD STARTS HERE
|
|||
|
; MOVI [912H,0],A2
|
|||
|
; MOVE A2,@WORLDTLY,L
|
|||
|
; MOVI [0611H,0],A0
|
|||
|
; MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
; MOVI [04E8H,0],A2 ;AT START
|
|||
|
; MOVE A2,@WORLDTLY,L
|
|||
|
;
|
|||
|
; MOVI [068H,0],A0
|
|||
|
; MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
MOVI [127FH,0],A5
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A5
|
|||
|
MOVI [0D97H,0],A4
|
|||
|
SUB A5,A4
|
|||
|
MOVI [7CH,0],A3
|
|||
|
CALLR MOVESQRS
|
|||
|
|
|||
|
CLR A0 ;1=STUCK IN GOO, 0=BALL AND CHAIN
|
|||
|
MOVE A0,@HSTGSET
|
|||
|
MOVE A0,@CRSRAM,L
|
|||
|
|
|||
|
SLEEPK 1
|
|||
|
; MOVI [912H,0],A2
|
|||
|
; MOVE A2,@WORLDTLY,L
|
|||
|
; MOVI [0611H,0],A0
|
|||
|
; MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
MOVI [04E8H,0],A2 ;AT START
|
|||
|
MOVE A2,@WORLDTLY,L
|
|||
|
MOVI [068H,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
|
|||
|
MOVI BOSS_MOD,A0 ;SHOW BOSS PIT
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
|
|||
|
MOVI ( 3 *32*32)+( 4 *32)+( 5 ),A1 ;BASEMENT COLOR
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
|
|||
|
CLR A0
|
|||
|
MOVE A0,@CURRENT,L
|
|||
|
MOVE A0,@BCURRENT,L
|
|||
|
MOVE A0,@FREETOT
|
|||
|
|
|||
|
MOVK 3,A0
|
|||
|
MOVE A0,@RUNIN,W ;RUNIN FROM ABOVE SCRN
|
|||
|
|
|||
|
MOVI 38,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
MOVK 8,A0 ;10
|
|||
|
MOVE A0,@CTOTAL
|
|||
|
MOVI ICN1,A0
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
CREATE0 DLYINTO
|
|||
|
SLEEPK 1
|
|||
|
JRUC WRPDN
|
|||
|
|
|||
|
BOSS_MOD ;BASEMENT BOSS MONSTER PIT
|
|||
|
.LONG BOTMBMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 0100,0100 ;x,y start pos.
|
|||
|
.long -1
|
|||
|
|
|||
|
|
|||
|
****************************************************************************
|
|||
|
|
|||
|
.REF TEXTTST
|
|||
|
|
|||
|
WRPN CMPI 17,A0
|
|||
|
JRNZ WRPO
|
|||
|
;ENDING 1 = NO FRY, NO DOMES
|
|||
|
clr a0
|
|||
|
move a0,@SCORE_FLAG
|
|||
|
MOVI 40,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@ESCAPED
|
|||
|
WRPZZ SLEEP 30
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBSCOR,A0
|
|||
|
CALLA KIL1OBJC
|
|||
|
; SLEEP 10
|
|||
|
JAUC TEXTTST
|
|||
|
|
|||
|
WRPO CMPI 18,A0
|
|||
|
JRNZ WRPP
|
|||
|
;ENDING 2 = FRY, NO DOMES
|
|||
|
clr a0
|
|||
|
move a0,@SCORE_FLAG
|
|||
|
MOVI 40,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
CLR A0
|
|||
|
MOVE A0,@ESCAPED
|
|||
|
JRUC WRPZZ
|
|||
|
WRPP CMPI 19,A0
|
|||
|
JRNZ WRPQ
|
|||
|
;ENDING 3 = DOMES
|
|||
|
clr a0
|
|||
|
move a0,@SCORE_FLAG
|
|||
|
MOVI 40,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
CLR A0
|
|||
|
MOVE A0,@ESCAPED
|
|||
|
MOVI 500,A0 ;MORE THAN ENOUGH KEYS
|
|||
|
move A0,@P1DATA+TKEYS
|
|||
|
JRUC WRPZZ
|
|||
|
WRPQ LOCKUP
|
|||
|
PATHL2 ;DIR,CNT
|
|||
|
.WORD 7,01H,0
|
|||
|
|
|||
|
PATHCB ;DIR,CNT
|
|||
|
.WORD 1,1,19,1,0
|
|||
|
|
|||
|
CLRIT MOVE *A6+,A0,L
|
|||
|
CALLA OBJOFF
|
|||
|
JRUC DGD
|
|||
|
|
|||
|
PASWRDS:
|
|||
|
;SHOW CODE
|
|||
|
.STRING "BOOF" ;=41H-5AH, 20H=SPACE - START=1 REACTOR ON SCRN
|
|||
|
.STRING "++++" ; START=2 SECRET PATH BEHIND
|
|||
|
.STRING "TOID" ; 3 - START OF REACTOR WORLD
|
|||
|
.STRING "GOOB" ; 4 - 1ST DESERT LOCK DOWN
|
|||
|
.STRING "ZULU" ; 5 - BEFORE 1ST TAUNT
|
|||
|
.STRING "ORCS" ;ORCS 6 - BEFORE ORCUS
|
|||
|
.STRING "ROAD" ;ROAD 7 - ROAD AFTER RACKUP
|
|||
|
.STRING "LIPS" ; 8 - END OF 1ST ROAD
|
|||
|
.STRING "LICK" ; 9 - AFTER PLANE TARMAC AREA
|
|||
|
.STRING "SHOK" ;SHOK 10 - SHOCK SCENE
|
|||
|
.STRING "++++" ;NOT USED 11 - BACK FROM SHOCK
|
|||
|
.STRING "FIRE" ; 12 - FLAMING GRUNTS IN PORT
|
|||
|
.STRING "FOOD" ; 13 - START OF SECOND ROAD
|
|||
|
.STRING "EATS" ;EATS 14 - END OF SECOND ROAD
|
|||
|
.STRING "++++" ; 15 - BEFORE BOSS PIT
|
|||
|
.STRING "MARK" ;MARK 16 - START OF BASEMENT
|
|||
|
.STRING "DOME" ; 17 - ENDING 1
|
|||
|
.STRING "WORM" ; 18 - ENDING 2
|
|||
|
.STRING "AZAZ" ;AZAZ 19 - FINAL ENDING INTO DOMES
|
|||
|
.WORD 0
|
|||
|
|
|||
|
DIGITS
|
|||
|
;A10=PROCESS OF ARROW POINTER
|
|||
|
MOVE *A9(OPLINK),A9,L
|
|||
|
|
|||
|
CLR A11
|
|||
|
DG0 MOVI DG2,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A11,A1
|
|||
|
SLL 5,A1
|
|||
|
ADD A13,A1
|
|||
|
ADDI PDATA,A1
|
|||
|
MOVE A0,*A1,L
|
|||
|
|
|||
|
MOVE A11,A1
|
|||
|
SLL 4,A1
|
|||
|
ADDI ARX,A1
|
|||
|
MOVE *A1,A1
|
|||
|
DEC A1
|
|||
|
MOVE A1,*A0(OXPOS)
|
|||
|
INC A11
|
|||
|
CMPI 4,A11
|
|||
|
JRNZ DG0
|
|||
|
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,*A13(PDATA+200) ;DEBOUNCE
|
|||
|
DGTOP0
|
|||
|
;DRAW ALL 5 LETTERS
|
|||
|
MOVE @WORDS+4*16,A0
|
|||
|
JRZ DEX
|
|||
|
CMPI 0FFH,A0
|
|||
|
JRZ KDEX
|
|||
|
SLEEPK 1
|
|||
|
JRUC DGTOP0
|
|||
|
KDEX
|
|||
|
MOVE *A13(PDATA),A0,L
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE *A13(PDATA+32),A0,L
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE *A13(PDATA+64),A0,L
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE *A13(PDATA+96),A0,L
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
|
|||
|
DEX MOVI WORDS,A5
|
|||
|
MOVI PDATA,A6
|
|||
|
ADD A13,A6
|
|||
|
CLR A7
|
|||
|
DGDRW
|
|||
|
MOVE *A5+,A1,W ;LETTER X VALUE
|
|||
|
JRZ CLRIT
|
|||
|
SLL 5,A1
|
|||
|
ADDI WARPTXT-32,A1
|
|||
|
MOVE *A1,A1,L
|
|||
|
MOVE A7,A0
|
|||
|
SLL 4,A0
|
|||
|
ADDI ARX,A0
|
|||
|
MOVE *A0,A0
|
|||
|
DEC A0
|
|||
|
CMPI FON15X,A1 ;SPECIAL CASE FOR ALIGNING THESE WIDE LETTERS
|
|||
|
JRZ DGBIG
|
|||
|
CMPI FON15W,A1
|
|||
|
JRZ DGBIG
|
|||
|
CMPI FON15V,A1
|
|||
|
JRZ DGBIG
|
|||
|
CMPI FON15M,A1
|
|||
|
JRNZ NOB
|
|||
|
DGBIG
|
|||
|
SUBK 3,A0
|
|||
|
NOB
|
|||
|
MOVE *A6+,A8,L
|
|||
|
MOVE A0,*A8(OXPOS)
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
CALLA ANI
|
|||
|
MOVE A8,A0
|
|||
|
CALLA OBJON
|
|||
|
DGD
|
|||
|
INC A7
|
|||
|
CMPI 4,A7
|
|||
|
JRNZ DGDRW
|
|||
|
|
|||
|
CALLR GETJ
|
|||
|
; ANDI 0FH,A2
|
|||
|
ANDI 0F0H,A2
|
|||
|
JRNZ A_MV
|
|||
|
;STICK IS NOT BEING TOUCHED
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(PDATA+200) ;DEBOUNCE
|
|||
|
DGTOP SLEEPK 1
|
|||
|
JRUC DGTOP0
|
|||
|
|
|||
|
GETJ MOVE @SWITCH,A5 ;MOVE PLAYER SWITCHES TO A5 (32 BIT PORT)
|
|||
|
NOT A5
|
|||
|
MOVB A5,@P1CTRL
|
|||
|
SRL 8,A5 ;4 THIS IS Y-UNIT
|
|||
|
MOVB A5,@P2CTRL
|
|||
|
|
|||
|
MOVE *A9(STICK),A2,L
|
|||
|
;GET STICK FROM TORSO STRUCT
|
|||
|
MOVE *A2,A2,W ;GET ACTUAL CTRL INFO
|
|||
|
RETS
|
|||
|
|
|||
|
ARX .WORD 016FH,187H,19FH,1B6H,1D8H
|
|||
|
|
|||
|
A_MV:
|
|||
|
MOVE *A13(PDATA+200),A0
|
|||
|
JRZ BCNT
|
|||
|
DEC A0
|
|||
|
MOVE A0,*A13(PDATA+200)
|
|||
|
JRUC DGTOP
|
|||
|
BCNT
|
|||
|
MOVE *A10(PDATA),A0 ;ARROW INDEX
|
|||
|
SLL 4,A0
|
|||
|
ADDI WORDS,A0
|
|||
|
MOVE *A0,A1
|
|||
|
|
|||
|
BTST BMPFDOWN,A2
|
|||
|
JRZ PLYR_UP
|
|||
|
;MOVE DOWN THRU ALPHABET
|
|||
|
MOVE A1,A1
|
|||
|
JRNZ AXE
|
|||
|
MOVK 26,A1
|
|||
|
JRUC DEBA
|
|||
|
AXE DEC A1
|
|||
|
|
|||
|
DEBA
|
|||
|
MOVE A1,*A0,W
|
|||
|
MOVK 7,A0
|
|||
|
MOVE A0,*A13(PDATA+200)
|
|||
|
MOVI BEEP1,A0
|
|||
|
CALLA ONESND
|
|||
|
JRUC DGTOP
|
|||
|
|
|||
|
PLYR_UP:
|
|||
|
BTST BMPFUP,A2
|
|||
|
JRZ DGTOP
|
|||
|
;MOVE UP THRU ALPHABET
|
|||
|
CMPI 26,A1
|
|||
|
JRNZ AXE2
|
|||
|
CLR A1
|
|||
|
JRUC DEBA
|
|||
|
AXE2 INC A1
|
|||
|
JRUC DEBA
|
|||
|
|
|||
|
WARW MOVE A13,@KPARWP,L
|
|||
|
MOVI ARZ,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,A8
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,*A13(PDATA+16)
|
|||
|
;A9=PLAYER IMG
|
|||
|
MOVE *A9(OPLINK),A9,L
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(PDATA) ;INDEX
|
|||
|
ARWTOP SLEEPK 1
|
|||
|
;POSITION ARW (PDATA)=INDEX 0-5
|
|||
|
MOVE @WORDS+4*16,A0
|
|||
|
JRNZ WEX
|
|||
|
MOVE *A13(PDATA),A1
|
|||
|
SLL 4,A1
|
|||
|
ADDI ARX,A1
|
|||
|
MOVE *A1,A1
|
|||
|
MOVE A1,*A8(OXPOS)
|
|||
|
CALLR GETJ
|
|||
|
ANDI 0FH,A2
|
|||
|
JRNZ YES_A_MV
|
|||
|
; STICK IS NOT BEING TOUCHED
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(PDATA+16) ;DEBOUNCE
|
|||
|
JRUC ARWTOP
|
|||
|
|
|||
|
YES_A_MV:
|
|||
|
MOVE *A13(PDATA+16),A0
|
|||
|
JRZ ACNT
|
|||
|
DEC A0
|
|||
|
MOVE A0,*A13(PDATA+16)
|
|||
|
JRUC ARWTOP
|
|||
|
WEX jauc DELOBJDIE
|
|||
|
|
|||
|
ACNT
|
|||
|
;
|
|||
|
; PLAYER WILL MOVE IN DIRECTION SPECIFIED IN A2
|
|||
|
|
|||
|
MOVE *A13(PDATA),A10 ;INDEX 0-5
|
|||
|
BTST BMPRYTE,A2
|
|||
|
JRZ PLYR_LFT
|
|||
|
;CHECK FOR RIGHT SIDE OF SCREEN
|
|||
|
;SCRN EDGE OK
|
|||
|
CMPI 4,A10
|
|||
|
JRZ ARWTOP
|
|||
|
INC A10
|
|||
|
DEB MOVI 90,A0 ;6
|
|||
|
MOVE A0,*A13(PDATA+16)
|
|||
|
MOVE A10,*A13(PDATA)
|
|||
|
MOVI BEEP1,A0
|
|||
|
CALLA ONESND
|
|||
|
JRUC ARWTOP
|
|||
|
PLYR_LFT:
|
|||
|
BTST BMPLEFT,A2
|
|||
|
JRZ ARWTOP ;TSTDN
|
|||
|
CMPI 0,A10
|
|||
|
JRZ ARWTOP
|
|||
|
DEC A10
|
|||
|
JRUC DEB
|
|||
|
|
|||
|
WTIME
|
|||
|
;TURN ON 2 DIGITS AND TIME THEM OUT
|
|||
|
MOVI DG1,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,A8
|
|||
|
MOVI DG1,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE *A0(OXPOS),A1
|
|||
|
ADDK 7,A1
|
|||
|
MOVE A1,*A0(OXPOS)
|
|||
|
MOVE A0,A9
|
|||
|
MOVK 2,A0 ;20 SECONDS
|
|||
|
MOVE A0,*A13(PDATA)
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(PDATA+16)
|
|||
|
TIMTOP MOVE @WORDS+4*16,A0
|
|||
|
JRNZ TIMOUT
|
|||
|
MOVE *A13(PDATA),A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI digit_t,A0
|
|||
|
MOVE *A0,A1,L
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
CALLA ANI
|
|||
|
;
|
|||
|
MOVE *A13(PDATA+16),A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI digit_t,A0
|
|||
|
MOVE *A0,A1,L
|
|||
|
PUSH A8
|
|||
|
MOVE A9,A8
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
CALLA ANI
|
|||
|
PULL A8
|
|||
|
SLEEP 60
|
|||
|
MOVE *A13(PDATA+16),A0
|
|||
|
JRNZ TMW1
|
|||
|
MOVK 9,A0
|
|||
|
MOVE A0,*A13(PDATA+16)
|
|||
|
MOVE *A13(PDATA),A0
|
|||
|
JRZ TIMOUT
|
|||
|
DEC A0
|
|||
|
MOVE A0,*A13(PDATA)
|
|||
|
JRUC TIMTOP
|
|||
|
TMW1 DEC A0
|
|||
|
MOVE A0,*A13(PDATA+16)
|
|||
|
JRUC TIMTOP
|
|||
|
TIMOUT
|
|||
|
;TIMER RAN OUT!
|
|||
|
;
|
|||
|
CMPI 0FFH,A0
|
|||
|
JRZ T8
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@WORDS+4*16
|
|||
|
T8 SLEEPK 1
|
|||
|
MOVE @WORDS+4*16,A0 ;TAKES AWAY PASSWRD LETTERS
|
|||
|
CMPI 0FFH,A0
|
|||
|
JRNZ T8
|
|||
|
|
|||
|
CALLA DELOBJA8
|
|||
|
MOVE A9,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
.long 0
|
|||
|
digit_t .LONG WTIMER0,WTIMER1,WTIMER2,WTIMER3,WTIMER4
|
|||
|
.LONG WTIMER5,WTIMER6,WTIMER7,WTIMER8,WTIMER9
|
|||
|
|
|||
|
|
|||
|
DG2: ;FONT
|
|||
|
.LONG [88H,0],[6BH-20,0],FON15A
|
|||
|
.WORD 470,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
DG1:
|
|||
|
.LONG [0F3H,0],[062H-20,0],WTIMER0
|
|||
|
.WORD 470,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
ARZ:
|
|||
|
.LONG [88H,0],[07EH-20,0],ARW2
|
|||
|
.WORD 470,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
|
|||
|
BIGMAP
|
|||
|
;MAPNUM=0-2
|
|||
|
;TURN ON MAP BUTTON AT BOTTOM OF SCREEN
|
|||
|
;IF IT SCROLLS OFF SCRN, KILL IT, DIE
|
|||
|
;IF PLAYER TOUCHES IT, XFERPROC TO MAP SLIDING OUT
|
|||
|
;HALT ALL ACTION
|
|||
|
;DISPLAY TEXT OBJECTIVES
|
|||
|
;TIME OUT MAP OR HIT ANY START BUTTON TO SLIDE IT OFF
|
|||
|
;RESTART ACTION
|
|||
|
MOVE @GAMSTATE,A0
|
|||
|
CMPI INAMODE,A0
|
|||
|
JAZ SUCIDE
|
|||
|
SLEEPK 4
|
|||
|
MOVI [022H,0],A0
|
|||
|
MOVI [098H,0],A1
|
|||
|
MOVE @WAVE,A2
|
|||
|
CMPI 1,A2
|
|||
|
JRNZ BGB
|
|||
|
MOVI [0D4H-25,0],A1
|
|||
|
BGB
|
|||
|
CMPI 17,A2
|
|||
|
JRNZ BG9
|
|||
|
MOVI [415,0],A0
|
|||
|
MOVI [233,0],A1
|
|||
|
BG9 MOVI MAPBUTN,A2
|
|||
|
MOVI 71,A3
|
|||
|
MOVI DMAWNZ|M_PIXSCAN,A4
|
|||
|
MOVI CLSNEUT|TYPICON|SUBMAN,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ
|
|||
|
BG1 SLEEP 180
|
|||
|
CALLA SCRTST
|
|||
|
JRZ BG1
|
|||
|
;SKIPPED GETTING MAP
|
|||
|
jauc DELOBJDIE
|
|||
|
|
|||
|
TTIMER SLEEPK 1
|
|||
|
MOVE @TAUNTOUT,A0
|
|||
|
CMPI 3,A0
|
|||
|
JRZ DRT
|
|||
|
DEC A10
|
|||
|
JRNZ TTIMER
|
|||
|
DRT SLEEP 60
|
|||
|
DIE
|
|||
|
WAITTNT
|
|||
|
;SLIDE IN DICTATOR MESSAGE!
|
|||
|
SLEEP 60 ;120
|
|||
|
;CHECK FOR BULLETS IN AIR ALSO!
|
|||
|
MOVI BULPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
* Z BIT CLR = MATCH, A0 = PTR TO PROCESS
|
|||
|
JRNZ WAITTNT
|
|||
|
MOVE @PLYRPRCS,A0,L
|
|||
|
JRZ WTR5
|
|||
|
MOVE *A0(DEAD),A1
|
|||
|
JRNZ WAITTNT
|
|||
|
WTR5 MOVE @PLYRPRCS+32,A0,L
|
|||
|
JRZ WTR6
|
|||
|
MOVE *A0(DEAD),A1
|
|||
|
JRNZ WAITTNT
|
|||
|
WTR6 MOVE @SHK_ON,A0
|
|||
|
MOVE @CNTDIG1,A1
|
|||
|
MOVE @CNTDIG2,A2
|
|||
|
MOVE @HULK_CNT,A3
|
|||
|
MOVE @PCTOT,A4
|
|||
|
OR A4,A0
|
|||
|
OR A0,A1
|
|||
|
OR A1,A2
|
|||
|
OR A2,A3
|
|||
|
JRNZ WAITTNT
|
|||
|
;STOP BUYINS, CHECK FOR BUTTON PRESS TO EXIT THIS TAUNT!
|
|||
|
MOVE A3,@NOSHOOT
|
|||
|
MOVE A3,@timeron ;do not accumulate seconds
|
|||
|
MOVE A13,@KP_TAUNT,L
|
|||
|
MOVE A3,@WFLG
|
|||
|
MOVE A10,@TNT_TYPE ;0=TAUNT ONE,1=RACK UP ONE,2=RACK 2
|
|||
|
;3=GI GETS EATEN
|
|||
|
MOVI ACTIVE,A2,L
|
|||
|
XXT:
|
|||
|
MOVE *A2,A2,L ;GET NEXT
|
|||
|
JREQ VSC ;ALL DONE
|
|||
|
MOVE *A2(PROCID),A4
|
|||
|
CMPI 1000H,A4 ;SWITCH PROC?
|
|||
|
JRZ XXT
|
|||
|
MOVE *A2(PTIME),A4
|
|||
|
ADDI 5*60*60+2,A4 ;ADD 60 SECONDS TO IT
|
|||
|
MOVE A4,*A2(PTIME)
|
|||
|
JRUC XXT
|
|||
|
VSC MOVI 5*60*60,A10
|
|||
|
CREATE0 TTIMER
|
|||
|
MOVE A0,*A13(PDATA+32),L
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@HALT
|
|||
|
CALLA KILJOY
|
|||
|
CALLA INIT_SCORE ;TURNS ON REGULAR IMAGES FOR SCORES
|
|||
|
MOVI CYCPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI POWPID,A0 ;ALL COLOR CYCLES OFF AFTER WARP
|
|||
|
CALLA KIL1C
|
|||
|
CLR A0
|
|||
|
MOVE A0,@CYCLIFE
|
|||
|
SLEEPK 2
|
|||
|
CLR A0
|
|||
|
MOVE A0,@P1CTRL
|
|||
|
MOVE A0,@P2CTRL
|
|||
|
MOVE A0,@SCORE_FLAG
|
|||
|
SLEEPK 10
|
|||
|
CALLA CLNPAL
|
|||
|
CALLA STRT_CRM ;START HEADQUARTERS CYCLE
|
|||
|
CALLA STRT_S ;START STATIC CYCLE
|
|||
|
|
|||
|
MOVK 2,A9
|
|||
|
CREATE0 STATSNDS
|
|||
|
|
|||
|
MOVK 31,A9
|
|||
|
MOVI RMOD,A10 ;SHOW HOME BASE VIEW SCREEN
|
|||
|
MOVE @TNT_TYPE,A1
|
|||
|
JRNZ TAG1Z
|
|||
|
MOVI TUNE3,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
;FORCE CORRECT Y
|
|||
|
movk AUDTAUNT1,a0
|
|||
|
calla aud_addnumplyrs
|
|||
|
MOVI [0A80H-2,0],A2
|
|||
|
MOVE A2,@WORLDTLY,L
|
|||
|
JRUC TAG1
|
|||
|
TAG1Z CMPI 1,A1
|
|||
|
JRZ RK1
|
|||
|
CMPI 2,A1
|
|||
|
JRZ SECRACK
|
|||
|
;PURPLE GUY EATS GI
|
|||
|
MOVI TUNE3,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
|
|||
|
MOVI VWSCRN2,A10 ;SHOW HOME BASE VIEW SCREEN
|
|||
|
MOVK 024,A9
|
|||
|
MMTM SP,A9,A10
|
|||
|
MOVK 2,A1
|
|||
|
CALLA INCOM_TRAN
|
|||
|
MMFM SP,A9,A10
|
|||
|
MOVI 40,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
JRUC TAG1
|
|||
|
|
|||
|
SECRACK
|
|||
|
;2ND RACK
|
|||
|
MOVI RMOD3,A10 ;SHOW HOME BASE VIEW SCREEN
|
|||
|
MOVK 026,A9
|
|||
|
MMTM SP,A9,A10
|
|||
|
MOVK 1,A1
|
|||
|
CALLA INCOM_TRAN
|
|||
|
MMFM SP,A9,A10
|
|||
|
JRUC TAG1
|
|||
|
RK1
|
|||
|
MOVI RMOD2,A10 ;SHOW HOME BASE VIEW SCREEN
|
|||
|
MOVK 028,A9
|
|||
|
MMTM SP,A9,A10
|
|||
|
CLR A1
|
|||
|
CALLA INCOM_TRAN
|
|||
|
MMFM SP,A9,A10
|
|||
|
TAG1 MOVE A10,@BAKMODS,L
|
|||
|
CALLA ZERO_BITS
|
|||
|
;SLIDE OFF AND SLIDE ON HOME BASE BLIMP MODULE!
|
|||
|
MOVI STATSND,A0
|
|||
|
CALLA ONESND
|
|||
|
MOVE A9,@DELAYALL
|
|||
|
|
|||
|
MOVE @TNT_TYPE,A1
|
|||
|
CMPI 3,A1
|
|||
|
JRNZ SLTOP
|
|||
|
;PURPLE EATS
|
|||
|
CALLA STOPOBJS
|
|||
|
CLR A0
|
|||
|
MOVE A0,@HALT
|
|||
|
XLTOP SLEEPK 1
|
|||
|
MOVE @WORLDTLX,A0,L
|
|||
|
SUBI [16,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
CALLA BGND_UD1
|
|||
|
DSJ A9,XLTOP
|
|||
|
|
|||
|
SLEEP 60
|
|||
|
MOVE A9,@DELAYALL
|
|||
|
CREATE0 GENSPK
|
|||
|
MOVI roarlongsnd,a0
|
|||
|
calla ONESNDOVR
|
|||
|
|
|||
|
.REF prt_inrackwin
|
|||
|
movi WATCHTHIS,a8
|
|||
|
movi 50,a9
|
|||
|
CREATE0 prt_inrackwin
|
|||
|
|
|||
|
CREATE INTROPID,BIG_EAT
|
|||
|
CALLA STRTS2
|
|||
|
MOVI ( 4 *32*32)+( 5 *32)+( 5 ),A0 ;SKY COLOR
|
|||
|
MOVE A0,@IRQSKYE
|
|||
|
MOVK 2,A0
|
|||
|
MOVE A0,@TAUNTOUT
|
|||
|
SLEEPK 0FH
|
|||
|
CALLA ERASE_TXT
|
|||
|
;TURN OFF BALLONS
|
|||
|
MOVI CLSNEUT|TYPTEXT,A0
|
|||
|
CALLA KIL1OBJC
|
|||
|
JRUC TLP
|
|||
|
roarlongsnd .word >f990,120,>8123,0 ;Roar PAIN
|
|||
|
WATCHTHIS
|
|||
|
; .byte "YOU SHOULD AVOID THIS",0
|
|||
|
.byte "COMING SOON FOR YOU!",0
|
|||
|
.even
|
|||
|
VWSCRN2:
|
|||
|
.LONG HOME2BMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 613H-400+6,912H ;x,y start pos.
|
|||
|
.LONG >FFFFFFFF
|
|||
|
|
|||
|
|
|||
|
SLTOP SLEEPK 1
|
|||
|
MOVE @WORLDTLX,A0,L
|
|||
|
ADDI [16,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
CALLA BGND_UD1
|
|||
|
DSJ A9,SLTOP
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@TAUNTOUT
|
|||
|
|
|||
|
;KILL IMAGES OFF SCRN TO LEFT!
|
|||
|
;107 ZPOS, FLAG, HOSTAGES
|
|||
|
;ALSO KILL SOME PROCS?
|
|||
|
CALLA DELOFFBOTL
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
MOVI CLSNEUT|TYPMINE,A0
|
|||
|
CALLA KILOBJ
|
|||
|
CAG MOVI CLSNEUT|TYPCRTE|SUBBRL,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTOBJ
|
|||
|
* RETURNS: *
|
|||
|
* Z BIT SET = NO OBJECT, A0 = 0 *
|
|||
|
* Z BIT CLR = YES OBJECT, A0 = PTR TO OBJECT *
|
|||
|
JRZ HAGN
|
|||
|
MOVE *A0(OIMG),A1,L
|
|||
|
CMPI BRRL2,A1
|
|||
|
JRZ BDI
|
|||
|
LOCKUP
|
|||
|
EINT
|
|||
|
BDI
|
|||
|
MOVE *A0(OPLINK),A1,L
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE A1,A0
|
|||
|
MOVE *A0(PROCID),A1
|
|||
|
CMPI CMAN,A1
|
|||
|
JRNZ CAG
|
|||
|
; LOCKUP
|
|||
|
; EINT
|
|||
|
;BDI2
|
|||
|
CALLA KILL
|
|||
|
JRUC CAG
|
|||
|
HAGN MOVI HSTGPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
JRZ NOHS
|
|||
|
MOVI TNTIT,A7
|
|||
|
CALLA GETA8
|
|||
|
CLR A1
|
|||
|
CALLA XFERPROC
|
|||
|
JRUC HAGN
|
|||
|
NOHS MOVI FLGPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
JRZ NOFL
|
|||
|
MOVK 1,A10
|
|||
|
MOVE A10,*A0(PA10),L
|
|||
|
MOVE A10,*A0(PTIME)
|
|||
|
NOFL
|
|||
|
; CLR A0
|
|||
|
MOVI 2*32*32+2*32+2,A0
|
|||
|
MOVE A0,@IRQSKYE ;BLACK BACKGROUND BEHIND DICTATOR
|
|||
|
;STATIC STILL GOING
|
|||
|
|
|||
|
MOVE @TNT_TYPE,A0
|
|||
|
JRZ NORACK
|
|||
|
|
|||
|
MOVI ICONPID,A0
|
|||
|
CALLA KIL1C ;START ICONS FRESH
|
|||
|
MOVI CMAN,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI CLSNEUT|TYPICON,A0
|
|||
|
MOVI 0FF00H,A1 ;DEL ANY ICONS SITTING AROUND
|
|||
|
CALLA KILOBJ
|
|||
|
CREATE0 DO_RACKUP
|
|||
|
SLEEP 50
|
|||
|
; CLR A0
|
|||
|
; MOVE A0,@FREETOT
|
|||
|
JRUC ARACK
|
|||
|
|
|||
|
;PUT UP BALLOON FOR GENERAL
|
|||
|
NORACK SLEEPK 30
|
|||
|
MOVI BLOB1,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVI BLOB2,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVI BLOB3,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
|
|||
|
CLR A0
|
|||
|
MOVE A0,@WRLD
|
|||
|
;TURN ON FISRT BALLOON TEXT
|
|||
|
MOVI BLLNP5,A0
|
|||
|
CALLA GETFPAL ;GET A COLOR MAP ASSIGNMENT
|
|||
|
MOVE A0,A6
|
|||
|
MOVE A6,*A13(PDATA),W
|
|||
|
|
|||
|
MOVI BTEXT1,A8
|
|||
|
MOVI [021H+5,0125H-30],A9 ;SCRN Y/X
|
|||
|
MOVI RD8FONT,A11 ;FONT TABLE
|
|||
|
MOVK 1,A10 ;Y,X SPACING BETWEEN CHARCTERS
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO_1 ;FULL COLOR FONT
|
|||
|
MOVI BTEXT2,A8
|
|||
|
MOVI [02CH+5,0123H-30],A9 ;SCRN Y/X
|
|||
|
MOVE *A13(PDATA),A6,W
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO_1
|
|||
|
MOVI BTEXT3,A8
|
|||
|
MOVI [037H+5,0125H-30],A9 ;SCRN Y/X
|
|||
|
MOVE *A13(PDATA),A6,W
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO_1
|
|||
|
MOVI BTEXT4,A8
|
|||
|
MOVI [042H+5,0124H-30],A9 ;SCRN Y/X
|
|||
|
MOVE *A13(PDATA),A6,W
|
|||
|
CLR A0
|
|||
|
JSRP STRCNRMO_1
|
|||
|
SLEEP 090H
|
|||
|
CREATE MADPID,DO_MAN
|
|||
|
SLEEPK 020H
|
|||
|
ARACK
|
|||
|
CLR A0
|
|||
|
MOVE A0,@DELAYALL ;TELL STATIC TO GO AWAY
|
|||
|
SLEEPK 010
|
|||
|
CALLA ERASE_TXT
|
|||
|
;TURN OFF BALLONS
|
|||
|
MOVI CLSNEUT|TYPTEXT,A0
|
|||
|
CALLA KIL1OBJC
|
|||
|
MOVK 2,A0
|
|||
|
MOVE A0,@TAUNTOUT
|
|||
|
TLP SLEEPK 1
|
|||
|
MOVE *A13(PDATA+32),A0,L
|
|||
|
CALLA GETA10
|
|||
|
CMPI 52,A10
|
|||
|
JRC TLIN
|
|||
|
MOVE @TAUNTOUT,A0
|
|||
|
SUBK 3,A0
|
|||
|
JRNZ TLP
|
|||
|
|
|||
|
TLIN CALLA ERASE_TXT
|
|||
|
movk 1,a11
|
|||
|
CREATE0 STATIC_COVER
|
|||
|
SLEEPK 15
|
|||
|
MOVI MADPID,A0
|
|||
|
CALLA KIL1C ;KILL ALL MADMAN PROCS
|
|||
|
calla anim_killall
|
|||
|
clr a0 ;Enable player starts
|
|||
|
move a0,@NO_START
|
|||
|
move a0,@INTRO
|
|||
|
|
|||
|
MOVE *A13(PDATA+32),A0,L
|
|||
|
CALLA GETA10
|
|||
|
SUBI 55,A10
|
|||
|
JRN DONADA
|
|||
|
;EXITED EARLY! UPDATE PROCS SLEEPING TO LONG
|
|||
|
MOVI ACTIVE,A2,L
|
|||
|
CXT
|
|||
|
MOVE *A2,A2,L ;GET NEXT
|
|||
|
JREQ DONADA ;ALL DONE
|
|||
|
MOVE *A2(PROCID),A4
|
|||
|
CMPI 1000H,A4 ;SWITCH PROC?
|
|||
|
JRZ CXT
|
|||
|
MOVE *A2(PTIME),A4
|
|||
|
SUB A10,A4
|
|||
|
MOVE A4,*A2(PTIME)
|
|||
|
JRUC CXT
|
|||
|
|
|||
|
DONADA CLR A1
|
|||
|
MOVE A1,@TAUNTOUT
|
|||
|
SLEEPK 15
|
|||
|
CALLA KILBGND
|
|||
|
MOVI 30,A10 ;TIME FOR RINGS
|
|||
|
CREATE0 SETDET ;SET DELYDET ON PLAYERS
|
|||
|
|
|||
|
;CHANGE TO A NEW BMOD HERE
|
|||
|
MOVE @WAVE,A0
|
|||
|
CMPI 40,A0
|
|||
|
JRNZ DONW2
|
|||
|
;END OF PURPLE GUY EATS SOLDIER!
|
|||
|
;FADE TO BLACK
|
|||
|
JSRP CLN2RD
|
|||
|
|
|||
|
MOVK 21,A10 ;HUNT DOWN AKHBOOB LIKE A DOG!
|
|||
|
MOVI [-16,0],A9
|
|||
|
CREATE0 ZONE_TXT3
|
|||
|
.REF sleep_var
|
|||
|
MOVI 190H-120-70,A0
|
|||
|
CALLA sleep_var
|
|||
|
SLEEP 70+40
|
|||
|
; SLEEP 190H-120
|
|||
|
|
|||
|
;UP INTO BIO-NUCLEAR FACILITY
|
|||
|
CLR A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
MOVI [0476H+200,0],A2 ;35B
|
|||
|
MOVE A2,@WORLDTLY,L
|
|||
|
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
CALLA STRTA
|
|||
|
MOVE @WORLDTLY,A9,L
|
|||
|
SRL 16,A9
|
|||
|
ADDI 130,A9 ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
CLR A8 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
CLR A10
|
|||
|
CREATE TARGPID,TARGET
|
|||
|
CREATE FUTUREPID,AOF ;ARROW OFF AFTER A TIME
|
|||
|
|
|||
|
MOVK 18,A0
|
|||
|
MOVE A0,@CTOTAL ;LOTS OF CRUISE MISSILES
|
|||
|
|
|||
|
MOVI ICN1,A0
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
CREATE ICONPID,SEND_ICON ;2 ICON SETS FOR ROADWAY
|
|||
|
|
|||
|
SLEEPK 2
|
|||
|
CALLA BGND_UD1
|
|||
|
MOVI DESRTPL,A0
|
|||
|
CALLA BLAKOUT
|
|||
|
MOVI PCP,A0
|
|||
|
CALLA BLAKOUT
|
|||
|
MOVI GRNDP,A0
|
|||
|
CALLA BLAKOUT
|
|||
|
CALLA CLNPAL
|
|||
|
MOVI PALCNO,A0 ;FADE IN GREY AUTOPAL ALSO
|
|||
|
MOVK 2,A1
|
|||
|
CALLA FADEIN
|
|||
|
MOVI PALBNO,A0
|
|||
|
CALLA FB_FADEIN
|
|||
|
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@AFTR_WRP ;NO FREE MAN
|
|||
|
CALLR PLYRS_CNTR
|
|||
|
CLR A9
|
|||
|
MOVE A9,@AFTR_WRP
|
|||
|
CALLR RESTRT
|
|||
|
MOVI TUNE3O,A0 ;START DESERT MUSIC AGAIN
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 50
|
|||
|
MOVI TUNE7,A0
|
|||
|
CALLA ONESND
|
|||
|
CREATE FUTUREPID,SEND_TOP ;SEND FIRST ENEMIES
|
|||
|
MOVK 1,A0
|
|||
|
CALLA DOLORD
|
|||
|
DIE
|
|||
|
TUNE7 .WORD >F3F0,1,>800A,0 ;BIG FORT MUSIC
|
|||
|
|
|||
|
|
|||
|
DONW2 CMPI 33,A0
|
|||
|
JRNZ TOFORT
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@HALT
|
|||
|
;TO THE FORT ROAD
|
|||
|
;AFTER RACKUP!
|
|||
|
;FOR START AT BEGINNING OF 2ND ROAD AFTER RACKUP
|
|||
|
;FADE TO BLACK
|
|||
|
JSRP CLN2RD
|
|||
|
|
|||
|
MOVK 19,A10 ;2ND ROAD MESSAGE - I'M IMPRESSED
|
|||
|
MOVI [-16,0],A9
|
|||
|
CREATE0 ZONE_TXT3
|
|||
|
MOVI 190H-120-70,A0
|
|||
|
CALLA sleep_var
|
|||
|
SLEEP 70+40
|
|||
|
; SLEEP 190H-120
|
|||
|
; SLEEP 60H-120
|
|||
|
; movi 60*7,a0 ;8
|
|||
|
; callA sleep_var
|
|||
|
|
|||
|
CALLR RESET_CASH
|
|||
|
|
|||
|
MOVI [912H,0],A2
|
|||
|
MOVE A2,@WORLDTLY,L
|
|||
|
MOVI [01520H,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
MOVI ROAD2_MOD,A0 ;SHOW ROAD
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
MOVK 18,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
MOVK 2,A9 ;A9=0 FOR UP, 1 FOR RGT
|
|||
|
CREATE ARWPID,ONARRW ;TURN ON LFT ARROW
|
|||
|
CREATE FUTUREPID,AOF ;ARROW OFF AFTER A TIME
|
|||
|
MOVK 8,A0 ;10
|
|||
|
MOVE A0,@CTOTAL
|
|||
|
MOVI ICN4,A0
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
CREATE ICONPID,SEND_ICON ;2 ICON SETS FOR ROADWAY
|
|||
|
CREATE ICONPID,SEND_ICON ;2 ICON SETS FOR ROADWAY
|
|||
|
MOVK SUBSPRY,A9 ;BULLET SUBTYPE
|
|||
|
CREATE FIXPID,FIXGUNS
|
|||
|
|
|||
|
|
|||
|
SLEEPK 2
|
|||
|
CLR A1
|
|||
|
MOVE A1,@DISPLAYON
|
|||
|
CALLA BGND_UD1
|
|||
|
CALLA CLNPAL
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@AFTR_WRP ;NO FREE MAN
|
|||
|
CALLR PLYRS_CNTR
|
|||
|
SLEEPK 4
|
|||
|
MOVI PALCNO,A0 ;FADE IN GREY AUTOPAL ALSO
|
|||
|
MOVK 2,A1
|
|||
|
CALLA FADEIN
|
|||
|
MOVI PALBNO,A0
|
|||
|
CALLA FB_FADEIN
|
|||
|
; MOVK 1,A0
|
|||
|
; MOVE A0,@AFTR_WRP ;NO FREE MAN
|
|||
|
; CALLR PLYRS_CNTR
|
|||
|
SLEEPK 2
|
|||
|
|
|||
|
MOVK 1,A1
|
|||
|
MOVE A1,@DISPLAYON
|
|||
|
|
|||
|
CREATE0 FIX3
|
|||
|
|
|||
|
; MOVK 1,A0
|
|||
|
; MOVE A0,@AFTR_WRP ;NO FREE MAN
|
|||
|
; CALLR PLYRS_CNTR
|
|||
|
CLR A9
|
|||
|
MOVE A9,@AFTR_WRP
|
|||
|
CALLR RESTRT
|
|||
|
MOVI TUNE3O,A0 ;START DESERT MUSIC AGAIN
|
|||
|
CALLA ONESND
|
|||
|
CLR A0
|
|||
|
MOVE A0,@HALT
|
|||
|
SLEEP 50
|
|||
|
MOVI TUNE2,A0
|
|||
|
CALLA ONESND
|
|||
|
DIE
|
|||
|
CLN2RD
|
|||
|
MOVI INTROPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI CYCPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI PALBNO,A0
|
|||
|
CALLA FB_FADEOUT
|
|||
|
|
|||
|
CLR A1
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
JSRP DELSTUF
|
|||
|
CALLA KILBGND
|
|||
|
|
|||
|
SLEEP 40
|
|||
|
CALLA CLNPAL
|
|||
|
|
|||
|
CALLA RESTUFF_AUTOERASE
|
|||
|
|
|||
|
MOVI FUTUREPID,A0 ;ELECTRIC MINE
|
|||
|
CALLA KIL1C
|
|||
|
MOVI ICONPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI CMAN,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI CLSNEUT|TYPICON,A0
|
|||
|
MOVI 0FF00H,A1 ;DEL ANY ICONS SITTING AROUND
|
|||
|
CALLA KILOBJ
|
|||
|
RETP
|
|||
|
|
|||
|
TOFORT CMPI 16,A0
|
|||
|
JRNZ NOTRD
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@HALT
|
|||
|
;AFTER RACKUP!
|
|||
|
;FOR START AT BEGINNING OF ROAD AFTER RACKUP
|
|||
|
;FADE TO BLACK
|
|||
|
MOVI INTROPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI CYCPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI PALBNO,A0
|
|||
|
CALLA FB_FADEOUT
|
|||
|
|
|||
|
CALLA ERASE_TXT
|
|||
|
;TURN OFF BALLONS
|
|||
|
MOVI CLSNEUT|TYPTEXT|SUBTXT,A0
|
|||
|
CALLA KIL1OBJC
|
|||
|
|
|||
|
CLR A1
|
|||
|
MOVE A1,@IRQSKYE
|
|||
|
JSRP DELSTUF
|
|||
|
CALLA KILBGND
|
|||
|
|
|||
|
SLEEP 40
|
|||
|
CALLA CLNPAL
|
|||
|
|
|||
|
CALLA RESTUFF_AUTOERASE
|
|||
|
|
|||
|
MOVI ICONPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI CMAN,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI CLSNEUT|TYPICON,A0
|
|||
|
MOVI 0FF00H,A1 ;DEL ANY ICONS SITTING AROUND
|
|||
|
CALLA KILOBJ
|
|||
|
|
|||
|
MOVK 10,A10 ;FLEE FROM MACHINE
|
|||
|
MOVI [-16,0],A9 ;Y ADD IN VALUE
|
|||
|
CREATE0 ZONE_TXT3
|
|||
|
MOVI 190H-120-70,A0
|
|||
|
CALLA sleep_var
|
|||
|
SLEEP 70+40
|
|||
|
; SLEEP 190H-90
|
|||
|
|
|||
|
CALLR RESET_CASH
|
|||
|
|
|||
|
MOVI [5060,0],A2
|
|||
|
MOVE A2,@WORLDTLY,L
|
|||
|
MOVI [0450,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
MOVI ROAD_MOD,A0 ;SHOW ROAD
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
SLEEPK 2
|
|||
|
CALLA BGND_UD1
|
|||
|
MOVI DESRTPL,a0
|
|||
|
CALLA BLAKOUT
|
|||
|
MOVI FRTCLS,a0
|
|||
|
CALLA BLAKOUT
|
|||
|
MOVI GRNDP,a0
|
|||
|
CALLA BLAKOUT
|
|||
|
MOVI BULLET,a0
|
|||
|
CALLA BLAKOUT
|
|||
|
MOVI STUFFP,a0
|
|||
|
CALLA BLAKOUT
|
|||
|
MOVI DUXPAL,a0
|
|||
|
CALLA BLAKOUT
|
|||
|
CALLA CLNPAL
|
|||
|
MOVI PALCNO,A0 ;FADE IN GREY AUTOPAL ALSO
|
|||
|
MOVK 2,A1
|
|||
|
CALLA FADEIN
|
|||
|
|
|||
|
MOVI PALBNO,A0
|
|||
|
CALLA FB_FADEIN
|
|||
|
|
|||
|
CREATE0 FIX
|
|||
|
MOVK 17,A0
|
|||
|
MOVE A0,@WAVE
|
|||
|
MOVK 1,A9 ;A9=0 FOR UP, 1 FOR RGT
|
|||
|
CREATE ARWPID,ONARRW ;TURN ON UP ARROW
|
|||
|
CREATE0 AOF ;ARROW OFF AFTER A TIME
|
|||
|
MOVK 8,A0 ;10
|
|||
|
MOVE A0,@CTOTAL
|
|||
|
|
|||
|
MOVI ICONPID,A0
|
|||
|
CALLA KIL1C ;START ICONS FRESH
|
|||
|
|
|||
|
MOVI ICN4,A0
|
|||
|
MOVE A0,@ICLIST,L
|
|||
|
CREATE ICONPID,SEND_ICON ;2 ICON SETS FOR ROADWAY
|
|||
|
CREATE ICONPID,SEND_ICON ;2 ICON SETS FOR ROADWAY
|
|||
|
|
|||
|
MOVK SUBSPRY,A9 ;BULLET SUBTYPE
|
|||
|
CREATE FIXPID,FIXGUNS
|
|||
|
CREATE MAPPID,BIGMAP
|
|||
|
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@AFTR_WRP ;NO FREE MAN
|
|||
|
CALLR PLYRS_CNTR
|
|||
|
CLR A9
|
|||
|
MOVE A9,@AFTR_WRP
|
|||
|
CALLR RESTRT
|
|||
|
MOVI TUNE3O,A0 ;START DESERT MUSIC AGAIN
|
|||
|
CALLA ONESNDOVR
|
|||
|
CLR A0
|
|||
|
MOVE A0,@HALT
|
|||
|
SLEEP 50
|
|||
|
MOVI TUNE2,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
DIE
|
|||
|
RESET_CASH
|
|||
|
CLR A0 ;1=STUCK IN GOO, 0=BALL AND CHAIN
|
|||
|
MOVE A0,@HSTGSET
|
|||
|
MOVE A0,@CRSRAM,L
|
|||
|
MOVE A0,@P1DATA+CASHCNT,W
|
|||
|
MOVE A0,@P2DATA+CASHCNT,W
|
|||
|
MOVE A0,@P1DATA+TFLAGS,W ;US FLAGS PICKED UP
|
|||
|
MOVE A0,@P2DATA+TFLAGS,W ;US FLAGS PICKED UP
|
|||
|
MOVE A0,@P1DATA+THSTGS,W
|
|||
|
MOVE A0,@P2DATA+THSTGS,W
|
|||
|
MOVE A0,@FREETOT
|
|||
|
RETS
|
|||
|
|
|||
|
ROAD2_MOD:
|
|||
|
.LONG XWAYBMOD ;ROAD
|
|||
|
.WORD 5F0H,8C1H ;x,y start pos. -0!!!!
|
|||
|
.LONG >FFFFFFFF
|
|||
|
|
|||
|
NOTRD
|
|||
|
MOVI ( 11 *32*32)+( 7 *32)+( 0 ),A1 ;SAND COLOR
|
|||
|
move a1,@IRQSKYE
|
|||
|
MOVI DSRTNEW_MOD,A0 ;SHOW TOP OF DESERT MODULES
|
|||
|
MOVE A0,@BAKMODS,L
|
|||
|
;SCROLL BACK TO DESERT
|
|||
|
MOVK 031,A9
|
|||
|
MOVE A9,@DELAYALL
|
|||
|
|
|||
|
MOVI TUNE3O,A0 ;TUNE OFF
|
|||
|
CALLA ONESNDOVR
|
|||
|
|
|||
|
MOVE @TNT_TYPE,A0
|
|||
|
JRZ SLTO
|
|||
|
MOVK 28,A9
|
|||
|
SLTO SLEEPK 1
|
|||
|
MOVE @WORLDTLX,A0,L
|
|||
|
SUBI [16,0],A0
|
|||
|
MOVE A0,@WORLDTLX,L
|
|||
|
CALLA BGND_UD1
|
|||
|
DSJ A9,SLTO
|
|||
|
CALLR RESTRT
|
|||
|
JSRP DELSTUF
|
|||
|
|
|||
|
MOVE @TNT_TYPE,A0
|
|||
|
JRNZ RDIE
|
|||
|
|
|||
|
;AFTER 1ST TAUNT
|
|||
|
MOVK 14,A0
|
|||
|
CALLA DOLORD
|
|||
|
MOVI ERECT12,A0 ;HUT ON LEFT
|
|||
|
MOVE A0,@ENEMY_RECT,L ;FOR SPAWNING AT 2ND DESERT LCKDWN
|
|||
|
CREATE0 DOUBLE
|
|||
|
MOVI SIT2,A0
|
|||
|
MOVE A0,@SITLST,L
|
|||
|
MOVI TUNE3O,A0 ;START DESERT MUSIC AGAIN
|
|||
|
CALLA ONESNDOVR
|
|||
|
SLEEPK 20
|
|||
|
MOVI TUNE2,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
SLEEPK 1
|
|||
|
MOVI TUNE2,A0
|
|||
|
CALLA ONESNDOVR
|
|||
|
RDIE DIE
|
|||
|
DOUBLE
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@ICONS_DN
|
|||
|
SLEEP 12*60
|
|||
|
CREATE ICONPID,SEND_ICON
|
|||
|
CREATE ICONPID,SEND_ICON
|
|||
|
DIE
|
|||
|
RESTRT
|
|||
|
MOVE A9,@HALT
|
|||
|
MOVE A9,@WFLG
|
|||
|
MOVE A9,@KP_TAUNT,L
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@timeron ;START TIMER BACK UP
|
|||
|
CREATE JOYPID,JOY_UPDATE
|
|||
|
CALLA DMA_SCORE
|
|||
|
MOVI INTROPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI CYCPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
MOVI POWPID,A0 ;ALL COLOR CYCLES OFF AFTER WARP
|
|||
|
CALLA KIL1C
|
|||
|
CLR A0
|
|||
|
MOVE A0,@CYCLIFE
|
|||
|
CALLA SETC2 ;START LAND MINE COLOR CYCLE
|
|||
|
RETS
|
|||
|
|
|||
|
DELSTUF
|
|||
|
;* GET COORS OF AREA TO BE PUT ON DISPLAY LIST.
|
|||
|
MOVE @WORLDTL,A3,1
|
|||
|
MOVE A3,A4
|
|||
|
MOVE @SCRNTL,A0,1
|
|||
|
ADDXY A0,A3
|
|||
|
MOVE @SCRNLR,A0,1
|
|||
|
ADDXY A0,A4
|
|||
|
MOVI BAKLST,A8 ;A8 - BAKGROUND LIST
|
|||
|
CALLA DISP_DEL
|
|||
|
SLEEPK 30
|
|||
|
MOVI CLSENMY|TYPGATE,A0
|
|||
|
MOVI 0FFFFH,A1 ;0FFFFH,A1
|
|||
|
CALLA KILOBJ ;STATIC PIECES
|
|||
|
CALLA OFFSCRN
|
|||
|
; CALLA CLNPAL
|
|||
|
RETP
|
|||
|
|
|||
|
TWAS1
|
|||
|
CALLA ERASE_TXT
|
|||
|
;TURN OFF BALLOONS
|
|||
|
MOVI CLSNEUT|TYPTEXT,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILOBJ
|
|||
|
JRUC TLIN
|
|||
|
|
|||
|
DSRTNEW_MOD:
|
|||
|
.LONG HUTLCKBMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 0FFE8H,0A63H ;x,y start pos. -0!!!!
|
|||
|
.LONG NEWDBMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 0FFFCH,0A63H-800+12 ;x,y start pos. -0!!!!
|
|||
|
.LONG NEWD2BMOD ;THIS IS FROM BLIMP (MODULE NAME)
|
|||
|
.WORD 0FFF1H,0FFD8H ;x,y start pos. -0!!!!
|
|||
|
.LONG >FFFFFFFF
|
|||
|
|
|||
|
BTEXT1
|
|||
|
.BYTE "GENTLEMEN, THAT",0
|
|||
|
BTEXT2
|
|||
|
.BYTE "S.O.B. GENERAL",0
|
|||
|
BTEXT3
|
|||
|
.BYTE "AKHBOOB JUST SENT",0
|
|||
|
BTEXT4
|
|||
|
.BYTE "US THIS MESSAGE.",0
|
|||
|
.EVEN
|
|||
|
BLOB1
|
|||
|
.LONG [319-131,0],[210-180,0],BOON1
|
|||
|
.WORD 472,DMAWNZ,CLSNEUT|TYPTEXT
|
|||
|
.LONG 0,0
|
|||
|
BLOB2
|
|||
|
.LONG [16BH-30,0],[210-180,0],BOON1
|
|||
|
.WORD 472,DMAWNZ|M_FLIPH,CLSNEUT|TYPTEXT
|
|||
|
.LONG 0,0
|
|||
|
BLOB3
|
|||
|
.LONG [0120H,0],[268-180,0],BOON2
|
|||
|
.WORD 472,DMAWNZ,CLSNEUT|TYPTEXT
|
|||
|
.LONG 0,0
|
|||
|
RMOD ;1ST TAUNT
|
|||
|
.long RACKBMOD ;this is from blimp (module name)
|
|||
|
.word 203H,>A7E ;x,y start pos.
|
|||
|
.long >ffffffff
|
|||
|
RMOD2 ;1ST RACKUP
|
|||
|
.long RACKBMOD ;this is from blimp (module name)
|
|||
|
.word 1A7H+46,0 ;x,y start pos.
|
|||
|
.long >ffffffff
|
|||
|
RMOD3 ;2ND RACKUP
|
|||
|
.long RACKBMOD ;this is from blimp (module name)
|
|||
|
.word 16B2H+2,912H ;x,y start pos.
|
|||
|
.long >ffffffff
|
|||
|
YTAB .WORD 0,23,40 ;FOR RED POINTER ON MAP
|
|||
|
BGDO
|
|||
|
;PLAYER HAS TOUCHED MAP BUTTON
|
|||
|
MOVE A8,*A13(PDATA+32),L ;@TEMP,L
|
|||
|
|
|||
|
CLR A1
|
|||
|
MOVE @WAVE,A0
|
|||
|
JRZ DS
|
|||
|
MOVK 2,A1
|
|||
|
CMPI 1,A0
|
|||
|
JRZ DS
|
|||
|
MOVK 1,A1
|
|||
|
DS MOVE A1,@MAPNUM
|
|||
|
|
|||
|
MOVK 2,A0
|
|||
|
MOVE A0,@ARWOFF
|
|||
|
|
|||
|
CALLA INIT_SCORE ;TURNS ON REGULAR IMAGES FOR SCORES
|
|||
|
SLEEPK 2
|
|||
|
CLR A0
|
|||
|
MOVE A0,@SCORE_FLAG
|
|||
|
CREATE0 SCRLUP
|
|||
|
CREATE BLNKPID,BLNK
|
|||
|
MOVI IQ1,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,A8
|
|||
|
MOVI IQ2,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,A9
|
|||
|
MOVI IQ3A,A14
|
|||
|
MOVE @MAPNUM,A0
|
|||
|
JRZ S1
|
|||
|
MOVI IQ3B,A14
|
|||
|
CMPI 1,A0
|
|||
|
JRZ S1
|
|||
|
MOVI IQ3C,A14
|
|||
|
S1 CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,A10
|
|||
|
MOVI IQ4,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,*A13(PDATA+256),L
|
|||
|
MOVI IQ5,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,*A13(PDATA+288),L
|
|||
|
MOVE A0,A5
|
|||
|
MOVE @MAPNUM,A0
|
|||
|
SLL 4,A0
|
|||
|
ADDI YTAB,A0
|
|||
|
MOVE *A0,A0
|
|||
|
MOVE *A5(OYPOS),A1
|
|||
|
SUB A0,A1
|
|||
|
MOVE A1,*A5(OYPOS)
|
|||
|
|
|||
|
MOVI SLIDEIN,A0
|
|||
|
CALLA ONESND
|
|||
|
|
|||
|
MOVI 39,A11
|
|||
|
BOUT SLEEPK 1
|
|||
|
MOVE *A8(OXPOS),A0
|
|||
|
SUBK 10,A0
|
|||
|
MOVE A0,*A8(OXPOS)
|
|||
|
MOVE *A9(OXPOS),A0
|
|||
|
SUBK 10,A0
|
|||
|
MOVE A0,*A9(OXPOS)
|
|||
|
MOVE *A10(OXPOS),A0
|
|||
|
SUBK 10,A0
|
|||
|
MOVE A0,*A10(OXPOS)
|
|||
|
MOVE *A13(PDATA+256),A0,L
|
|||
|
MOVE *A0(OXPOS),A1
|
|||
|
SUBK 10,A1
|
|||
|
MOVE A1,*A0(OXPOS)
|
|||
|
MOVE *A13(PDATA+288),A0,L
|
|||
|
MOVE *A0(OXPOS),A1
|
|||
|
SUBK 10,A1
|
|||
|
MOVE A1,*A0(OXPOS)
|
|||
|
DSJ A11,BOUT
|
|||
|
MOVE *A13(PDATA+32),A0,L ;@TEMP,A0,L
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE A13,@MAPOUT,L
|
|||
|
CREATE HNTPID,DOTEXT
|
|||
|
SLEEP 60*13 ;30
|
|||
|
CLR A0
|
|||
|
MOVE A0,@MAPOUT,L
|
|||
|
MAPDN ;FROM P1/P2 START BUTTONS
|
|||
|
MOVE @MAPNUM,A0
|
|||
|
SUBK 3,A0
|
|||
|
JRNZ NOTHINT
|
|||
|
|
|||
|
;ORCUS HINTS
|
|||
|
; CREATE0 SETDET ;SET DELYDET ON PLAYERS
|
|||
|
MOVI HNTPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
JRZ SKIP
|
|||
|
MOVI OBJGONE,A7
|
|||
|
CLR A1
|
|||
|
CALLA XFERPROC
|
|||
|
|
|||
|
SKIP MOVI EXITSND,A0
|
|||
|
CALLA ONESND
|
|||
|
CLR A0
|
|||
|
MOVE A0,@HALT
|
|||
|
|
|||
|
MOVI CLSNEUT|TYPICON|SUBMAN,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTOBJ
|
|||
|
* Z BIT SET = NO OBJECT, A0 = 0 *
|
|||
|
JRZ NOOR
|
|||
|
MOVE *A0(OIMG),A1,L
|
|||
|
CMPI ORCHINT,A1
|
|||
|
JRNZ NOOR
|
|||
|
CALLA DELOBJ
|
|||
|
NOOR
|
|||
|
;PROCESS BLINKING HEAD
|
|||
|
MOVI WARPPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
DIE
|
|||
|
|
|||
|
NOTHINT
|
|||
|
MOVI BLNKPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
MMTM SP,A8,A9,A10,A11
|
|||
|
CALLA GETA8
|
|||
|
CALLA GETA9
|
|||
|
CALLA GETA10
|
|||
|
CALLA GETA11
|
|||
|
MOVI BOU,A7
|
|||
|
CLR A1
|
|||
|
CALLA XFERPROC
|
|||
|
MMFM SP,A8,A9,A10,A11
|
|||
|
MOVI HNTPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
MOVI OBJGONE,A7
|
|||
|
CLR A1
|
|||
|
CALLA XFERPROC
|
|||
|
|
|||
|
MOVI EXITSND,A0
|
|||
|
CALLA ONESND
|
|||
|
|
|||
|
MOVI 02AH,A11
|
|||
|
BOUT2 SLEEPK 1
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
ADDK 8,A0
|
|||
|
MOVE A0,*A8(OYPOS)
|
|||
|
MOVE *A9(OYPOS),A0
|
|||
|
ADDK 8,A0
|
|||
|
MOVE A0,*A9(OYPOS)
|
|||
|
MOVE *A10(OYPOS),A0
|
|||
|
ADDK 8,A0
|
|||
|
MOVE A0,*A10(OYPOS)
|
|||
|
MOVE *A13(PDATA+256),A0,L
|
|||
|
MOVE *A0(OYPOS),A1
|
|||
|
ADDK 8,A1
|
|||
|
MOVE A1,*A0(OYPOS)
|
|||
|
MOVE *A13(PDATA+288),A0,L
|
|||
|
MOVE *A0(OYPOS),A1
|
|||
|
ADDK 8,A1
|
|||
|
MOVE A1,*A0(OYPOS)
|
|||
|
DSJ A11,BOUT2
|
|||
|
CALLA DELOBJA8
|
|||
|
MOVE A9,A0
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE A10,A0
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE *A13(PDATA+256),A0,L
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE *A13(PDATA+288),A0,L
|
|||
|
CALLA DELOBJ
|
|||
|
SLEEPK 03DH/2
|
|||
|
;SCORE IMAGES HAVE SCROLLED BACK INTO PLACE!
|
|||
|
CALLA DMA_SCORE
|
|||
|
MOVI 30,A10 ;TIME FOR RINGS
|
|||
|
CREATE0 SETDET ;SET DELYDET ON PLAYERS
|
|||
|
CLR A9 ;A9=0 FOR UP, 1 FOR RGT
|
|||
|
MOVE @MAPNUM,A0
|
|||
|
JRZ GT
|
|||
|
MOVK 1,A9
|
|||
|
GT CREATE ARWPID,ONARRW ;TURN ON UP ARROW
|
|||
|
CREATE0 AOF ;ARROW OFF AFTER A TIME
|
|||
|
CLR A0
|
|||
|
MOVE A0,@HALT
|
|||
|
DIE
|
|||
|
|
|||
|
BLNK
|
|||
|
MOVI PTOC,A14
|
|||
|
CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,A8
|
|||
|
CALLA OBJOFF
|
|||
|
MOVI MIS1,A14
|
|||
|
MOVE @MAPNUM,A0
|
|||
|
JRZ S2
|
|||
|
MOVI MIS2,A14
|
|||
|
CMPI 1,A0
|
|||
|
JRZ S2
|
|||
|
MOVI MIS3,A14
|
|||
|
S2 CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,A9
|
|||
|
CALLA OBJOFF
|
|||
|
MOVI YOU2,A14
|
|||
|
MOVE @MAPNUM,A0
|
|||
|
CMPI 1,A0
|
|||
|
JRZ S44
|
|||
|
MOVI YOU3,A14
|
|||
|
CMPI 2,A0
|
|||
|
JRZ S44
|
|||
|
MOVI YOU,A14
|
|||
|
S44 CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,A10
|
|||
|
CALLA OBJOFF
|
|||
|
|
|||
|
MOVI ORCP,A14
|
|||
|
MOVE @MAPNUM,A0
|
|||
|
JRZ S3
|
|||
|
MOVI PAIN,A14
|
|||
|
CMPI 1,A0
|
|||
|
JRZ S3
|
|||
|
MOVI PAIN2,A14 ;LAST MAP MONSTER TEXT
|
|||
|
S3 CALLA DO_ALL_STUFF
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE A0,A11
|
|||
|
CALLA OBJOFF
|
|||
|
SLEEP 80H
|
|||
|
BK
|
|||
|
MOVE A8,A0
|
|||
|
CALLA OBJON
|
|||
|
MOVE A9,A0
|
|||
|
CALLA OBJON
|
|||
|
MOVE A10,A0
|
|||
|
CALLA OBJON
|
|||
|
MOVE A11,A0
|
|||
|
CALLA OBJON
|
|||
|
SLEEPK 30
|
|||
|
MOVE A8,A0
|
|||
|
CALLA OBJOFF
|
|||
|
MOVE A9,A0
|
|||
|
CALLA OBJOFF
|
|||
|
MOVE A10,A0
|
|||
|
CALLA OBJOFF
|
|||
|
MOVE A11,A0
|
|||
|
CALLA OBJOFF
|
|||
|
SLEEPK 10
|
|||
|
JRUC BK
|
|||
|
BOU
|
|||
|
CALLA DELOBJA8
|
|||
|
MOVE A9,A0
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE A10,A0
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE A11,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
SCRLUP
|
|||
|
;SCROLL ANY TYPTEXT|SUBSCOR UP
|
|||
|
MOVI OBJLST,A8,L
|
|||
|
KILOBP:
|
|||
|
MOVE *A8,A8,L ;GET NEXT
|
|||
|
JREQ KILX ;ALL DONE
|
|||
|
MOVE *A8(OID),A4
|
|||
|
CMPI CLSNEUT|TYPTEXT|SUBSCOR,A4 ;MATCH?
|
|||
|
JRNZ KILOBP ;NO
|
|||
|
;FOUND ONE
|
|||
|
;CREATE PROC TO TAKE CONTROL
|
|||
|
MOVE *A13(PROCID),A1
|
|||
|
MOVI TAKEME,A7
|
|||
|
CALLA GETPRC
|
|||
|
JRUC KILOBP ;KILL THE REST
|
|||
|
KILX: DIE
|
|||
|
|
|||
|
TAKEME MOVE *A8(OYVAL),A0,L
|
|||
|
MOVE A0,*A13(PDATA),L
|
|||
|
MOVI 60,A9
|
|||
|
TK0 SLEEPK 1
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,*A8(OYPOS)
|
|||
|
DSJ A9,TK0
|
|||
|
TM1 SLEEPK 1
|
|||
|
MOVE @MAPOUT,A0
|
|||
|
JRNZ TM1
|
|||
|
MOVE @TAUNTOUT,A0
|
|||
|
JRNZ TM1
|
|||
|
MOVE @START,A0
|
|||
|
SUBK 11,A0
|
|||
|
JAZ SUCIDE
|
|||
|
MOVI 60,A9
|
|||
|
TK2 SLEEPK 1
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
INC A0
|
|||
|
MOVE A0,*A8(OYPOS)
|
|||
|
DSJ A9,TK2
|
|||
|
SLEEPK 2
|
|||
|
MOVE *A13(PDATA),A0,L
|
|||
|
MOVE A0,*A8(OYVAL),L
|
|||
|
DIE
|
|||
|
|
|||
|
WRPTBL:
|
|||
|
.LONG [300,0],[160,0],SPIN1
|
|||
|
.WORD 93,DMAWNZ,CLSDEAD
|
|||
|
.LONG 0,0
|
|||
|
BX1:
|
|||
|
.LONG [40,0],[-200,0],BXTOP
|
|||
|
.WORD 472,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
BX2:
|
|||
|
.LONG [40,0],[-200+028,0],BXMID
|
|||
|
.WORD 472,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
BX3:
|
|||
|
.LONG [40,0],[-200+0190,0],BXTOP
|
|||
|
.WORD 472,DMAWNZ|M_NOCOLL|M_FLIPV,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
MIS1:
|
|||
|
.LONG [121H,0],[043H,0],MISN1
|
|||
|
.WORD 472,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
MIS2:
|
|||
|
.LONG [120H,0],[049H,0],MISN2
|
|||
|
.WORD 472,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
MIS3:
|
|||
|
.LONG [121H,0],[034H,0],MISN3
|
|||
|
.WORD 472,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
YOU:
|
|||
|
.LONG [140H,0],[09FH,0],YOUARE
|
|||
|
.WORD 472,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
YOU2:
|
|||
|
.LONG [140H,0],[09FH,0],YOUARE2 ;ROAD LEADS HERE!
|
|||
|
.WORD 472,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
YOU3:
|
|||
|
.LONG [140H,0],[07FH,0],YOUARE2
|
|||
|
.WORD 472,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
ORCP:
|
|||
|
.LONG [0B0H,0],[015,0],ORCUS
|
|||
|
.WORD 472,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
PAIN:
|
|||
|
.LONG [0A7H,0],[0DH,0],PAINFUL
|
|||
|
.WORD 472,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
PAIN2:
|
|||
|
.LONG [0C1H,0],[0DH,0],SNEAK
|
|||
|
.WORD 472,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
PTOC:
|
|||
|
.LONG [74H,0],[0F0H,0],PRESS2
|
|||
|
.WORD 470,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
WRP:
|
|||
|
.LONG [080H,0],[0FFD8H-20,0],WARP
|
|||
|
.WORD 470,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
IQ1:
|
|||
|
.LONG [404,0],[47,0],IRAQMAP1
|
|||
|
.WORD 470,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
IQ2:
|
|||
|
.LONG [562,0],[47,0],IRAQMAP2
|
|||
|
.WORD 470,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
IQ3A:
|
|||
|
.LONG [562+112,0],[47-24,0],MISSION1
|
|||
|
.WORD 471,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
IQ3B:
|
|||
|
.LONG [562+112,0],[47-24,0],MISSION2
|
|||
|
.WORD 471,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
IQ3C:
|
|||
|
.LONG [562+112,0],[47-24,0],MISSION3
|
|||
|
.WORD 471,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
IQ4:
|
|||
|
.LONG [404+45,0],[47+3,0],PDOME
|
|||
|
.WORD 471,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
IQ5:
|
|||
|
.LONG [562+62,0],[47+70,0],POINTER
|
|||
|
.WORD 471,DMAWNZ|M_NOCOLL,CLSNEUT
|
|||
|
.LONG 0,0
|
|||
|
JMPSND .WORD >F48E,>18,>813D,0 ;FIEND JUMP SND
|
|||
|
TXTSND2 .WORD >F3F7,>8,>80B1,0
|
|||
|
.DEF KEY_TOTAL
|
|||
|
.REF STRLNRM,RD15FONT,STRCNRM,HEXTOASC,CYCSPECT
|
|||
|
KEY_TOTAL
|
|||
|
MOVE @HALT,A0
|
|||
|
JANZ SUCIDE
|
|||
|
MOVI COLRPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
CREATE COLRPID,CYCSPECT ;START COLOR CYCLE PROCESS
|
|||
|
SLEEPK 32
|
|||
|
;A8=0C0CH OR 0F0FH
|
|||
|
MOVK 7,A0
|
|||
|
MOVE A0,@KEEP3
|
|||
|
TOP0 MOVK 19,A0
|
|||
|
MOVE A0,@KEEP2
|
|||
|
MOVI JMPSND,A0
|
|||
|
CALLA ONESND
|
|||
|
TOP
|
|||
|
MOVI 3E3EH,A6
|
|||
|
MOVI [80,0C2H],A9 ;SCRN Y/X
|
|||
|
MOVI RD15FONT,A11 ;FONT TABLE
|
|||
|
CLR A0
|
|||
|
MOVE A0,@WRLD
|
|||
|
MOVK 1,A10 ;Y,X SPACING BETWEEN CHARCTERS
|
|||
|
CLR A0
|
|||
|
MOVI LINE1,A8
|
|||
|
JSRP STRCNRM
|
|||
|
MOVI 3E3EH,A6 ;COLOR CYCLE DIGITS
|
|||
|
|
|||
|
move @P1DATA+TKEYS,a0
|
|||
|
move @P2DATA+TKEYS,a8
|
|||
|
add a0,a8
|
|||
|
calla HEXTOASC
|
|||
|
|
|||
|
MOVI [80,0140H],A9 ;SCRN Y/X
|
|||
|
CLR A0
|
|||
|
JSRP STRLNRM
|
|||
|
SLEEPK 1
|
|||
|
MOVE @HALT,A0
|
|||
|
JANZ LNM
|
|||
|
MOVE @KEEP2,A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,@KEEP2
|
|||
|
JRNN TOP
|
|||
|
SLEEPK 10
|
|||
|
MOVE @KEEP3,A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,@KEEP3
|
|||
|
JRNN TOP0
|
|||
|
MOVI TXTSND2,A0
|
|||
|
CALLA ONESND
|
|||
|
LNM MOVI COLRPID,A0
|
|||
|
CALLA KIL1C
|
|||
|
DIE
|
|||
|
;LINE1 .byte "TOTAL KEYS COLLECTED:",0
|
|||
|
LINE1 .byte "TOTAL COMBINED KEYS:",0
|
|||
|
.EVEN
|
|||
|
|
|||
|
.END
|
|||
|
|
|||
|
|