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