5954 lines
119 KiB
NASM
5954 lines
119 KiB
NASM
|
;******************************************************************************
|
|||
|
;** **
|
|||
|
;** P I N B A L L F A N T A S I E S **
|
|||
|
;** TABLE: STONES 'N' BONES **
|
|||
|
;** **
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
;BONUS X10 I INACTIVE-SLINGAN
|
|||
|
;FEL LOOP COMBO-TEXT
|
|||
|
;RIGHT PASSAGE REAGERAR P<> MISSLYCKADE F<>RS<52>K VID SUPERL<52>GEN
|
|||
|
;R<>DARE MATRIX
|
|||
|
|
|||
|
INCLUDELIB STONES.LIB
|
|||
|
INCLUDELIB CLEAR.LIB
|
|||
|
|
|||
|
FLIPGFXFILESIZE=120
|
|||
|
DATAFLIP SEGMENT PARA PUBLIC 'DATA'
|
|||
|
MAXDIFS1=114+5
|
|||
|
MAXDIFS2=114+5
|
|||
|
MAXDIFS=114
|
|||
|
IF CREATE_FLIP_DATA
|
|||
|
LEFTFLIPTAB DW 42*(2*MAXDIFS1) DUP (1)
|
|||
|
RIGHTFLIPTAB DW 42*(2*MAXDIFS2) DUP (1)
|
|||
|
LEFTFLIP2TAB DW ?
|
|||
|
TEMPTAB DW 2*MAXDIFS DUP (1)
|
|||
|
ELSE
|
|||
|
EXTRN LEFTFLIPTAB,RIGHTFLIPTAB,LEFTFLIP2TAB
|
|||
|
ENDIF
|
|||
|
DATAFLIP ENDS
|
|||
|
|
|||
|
DATA SEGMENT PARA PUBLIC 'DATA'
|
|||
|
ASSUME CS:CODE,DS:DATA
|
|||
|
|
|||
|
;tid mellan knack
|
|||
|
KNACKTAB_LO DW 24,23,21,21,18,16,15,13,11,9,8,7,7,6,6,6,5,5,5,5,5,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3
|
|||
|
KNACKTABEND_LO LABEL WORD
|
|||
|
KNACKTAB_HI DW 22,28,25,25,22,19,18,15,13,11,9,9,8,8,7,7,6,6,6,6,6,5,5,5,5,5,5,4,4,4,4,4,4,4,3,3
|
|||
|
KNACKTABEND_HI LABEL WORD
|
|||
|
NOF_BANKS_LO=(KNACKTABEND_LO-KNACKTAB_LO)/2
|
|||
|
NOF_BANKS_HI=(KNACKTABEND_HI-KNACKTAB_HI)/2
|
|||
|
|
|||
|
MODUL DB 'TABLE4.MOD',0,'$'
|
|||
|
|
|||
|
if create_flip_data
|
|||
|
flipdatafil_L DB 'flipdata.4L',0
|
|||
|
flipdatafil_R DB 'flipdata.4R',0
|
|||
|
flipdatafil_L2 DB 'flipdata.4L2',0
|
|||
|
flipgfxfil DB 'flipgfx.4',0
|
|||
|
flipSTRUCfil DB 'flipSTRU.4',0
|
|||
|
endif
|
|||
|
|
|||
|
hi_score_file db 'table4.hi',0
|
|||
|
hi_score_list db 0,0,0, 1,0,0, 0,0,0, 0,0,0,'TSP',0
|
|||
|
db 0,0,0, 0,5,0, 0,0,0, 0,0,0,'ICE',0
|
|||
|
db 0,0,0, 0,2,5, 0,0,0, 0,0,0,'ANY',0
|
|||
|
db 0,0,0, 0,1,0, 0,0,0, 0,0,0,'J L',0
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;******************************** DEFINITIONS *********************************
|
|||
|
;******************************************************************************
|
|||
|
TOTCENT=16
|
|||
|
|
|||
|
;******************** SYSTEM **********************
|
|||
|
MAX_NO_OF_LIGHTS_FLASHING=64
|
|||
|
MAX_NO_OF_WAIT_SYNCS=50
|
|||
|
NOOFTASKS=20
|
|||
|
FIRSTMASK_GFXADR=BPL*(SPLH+BANH)
|
|||
|
GFXADR_FOR_FLIP_ANIM_DATA=FIRSTMASK_GFXADR+BPL*40
|
|||
|
springsourceadr=GFXADR_FOR_FLIP_ANIM_DATA-3*23 ;3*23 <20>R F<>R FJ<46>DERNS GFX
|
|||
|
springdestadr=(splh+556)*bpl+304/4
|
|||
|
RGB_BUFFER_LEN=1200
|
|||
|
|
|||
|
;******************** FLIPPER & BALL **********************
|
|||
|
BALLH=16
|
|||
|
BANH=576
|
|||
|
STARTX=310-5-BALLH/2+3
|
|||
|
STARTY=543-5-BALLH/2
|
|||
|
|
|||
|
F3TOP=168-15
|
|||
|
F3HEIGHT=53
|
|||
|
|
|||
|
;******************** FLASHING **********************
|
|||
|
SBSPEED=2
|
|||
|
SBFASTTIME=10
|
|||
|
SBSPEED2=2
|
|||
|
SBFASTTIME2=70
|
|||
|
RIPSPEED=2
|
|||
|
RIPFASTTIME=20
|
|||
|
RIPSPEED2=2
|
|||
|
RIPFASTTIME2=70
|
|||
|
GHOSTSPEED=32
|
|||
|
TRIGHOSTSPEED=18
|
|||
|
TOWERSPEED=20
|
|||
|
SKILLSPEED=1
|
|||
|
KICKSPEED=18
|
|||
|
SULPSPEED=16 ;<3B>VEN MBSPEED & 2X_SCREAMSSPEED
|
|||
|
MBFASTFLASHSPEED=1
|
|||
|
SULPFASTFLASHSPEED=1
|
|||
|
TBSPEED=18
|
|||
|
LOCKSPEED=18
|
|||
|
DEMONSPEED=18
|
|||
|
BIGGHOSTTIME=4*60
|
|||
|
BIGGHOSTSPEED=2
|
|||
|
|
|||
|
MATRIXLO equ 79
|
|||
|
MATRIXHI equ 231
|
|||
|
MATRIXCOLS equ MATRIXLO+MATRIXHI*256
|
|||
|
public matrixlo,matrixhi,matrixcols
|
|||
|
BIT2COL DB 0,0,0,0,252,255,48,0 ;flipper f<>rgerna
|
|||
|
|
|||
|
PARTY_ON_SPEED=3 ;?
|
|||
|
SHOOT_AGAIN_SPEED=3 ;?
|
|||
|
|
|||
|
|
|||
|
;******************** GAME TIMING ********************
|
|||
|
LEFT_RAMP_MILLE_TIME=5*60 ;(AMIGA:5 SEC)
|
|||
|
MB_TIME=11*60
|
|||
|
MB_FASTFLASH_TIME=1*60+30
|
|||
|
SULP_TIME=9*60 ;(AMIGA:9 SEC)
|
|||
|
SULP_FASTFLASH_TIME=1*60+30
|
|||
|
SUPERJACK_TIME=13*60 ;(AMIGA:10 SEC)
|
|||
|
COMBO_TIME=13*60 ;(AMIGA:12 SEC?)
|
|||
|
TOWERHUNT_TIME=40*60 ;CP.
|
|||
|
MULTIDEMON_TIME=35*60 ;CP!
|
|||
|
|
|||
|
;******************** HOLES **********************
|
|||
|
DROPX=140
|
|||
|
DROPY=210
|
|||
|
TOWERX=148-BALLH/2+1
|
|||
|
TOWERY=150-BALLH/2+1
|
|||
|
TOWERXS=0*TT/NN
|
|||
|
TOWERYS=-4000*TT/NN
|
|||
|
WELLX=283-BALLH/2
|
|||
|
WELLY=253-BALLH/2
|
|||
|
WELLXS=-800*TT/NN
|
|||
|
WELLYS=2000*TT/NN
|
|||
|
VAULTX=10-BALLH/2
|
|||
|
VAULTY=540-BALLH/2
|
|||
|
VAULTXS=0 ;*TT/NN
|
|||
|
VAULTYS=-2880 ;*TT/NN cpe
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;****************************** GENERAL VARS **********************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
BCD0 DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
BCD510 DB 0,0,0, 0,0,0, 0,0,0, 5,1,0
|
|||
|
BCD750 DB 0,0,0, 0,0,0, 0,0,0, 7,5,0
|
|||
|
BCD1000 DB 0,0,0, 0,0,0, 0,0,1, 0,0,0
|
|||
|
BCD1010 DB 0,0,0, 0,0,0, 0,0,1, 0,1,0
|
|||
|
BCD1020 DB 0,0,0, 0,0,0, 0,0,1, 0,2,0
|
|||
|
BCD1050 DB 0,0,0, 0,0,0, 0,0,1, 0,5,0
|
|||
|
BCD1040 DB 0,0,0, 0,0,0, 0,0,1, 0,4,0
|
|||
|
BCD1080 DB 0,0,0, 0,0,0, 0,0,1, 0,8,0
|
|||
|
BCD10000 DB 0,0,0, 0,0,0, 0,1,0, 0,0,0
|
|||
|
BCD10030 DB 0,0,0, 0,0,0, 0,1,0, 0,3,0
|
|||
|
BCD10020 DB 0,0,0, 0,0,0, 0,1,0, 0,2,0
|
|||
|
BCD10060 DB 0,0,0, 0,0,0, 0,1,0, 0,6,0
|
|||
|
BCD10070 DB 0,0,0, 0,0,0, 0,1,0, 0,7,0
|
|||
|
BCD17520 DB 0,0,0, 0,0,0, 0,1,7, 5,2,0
|
|||
|
BCD27530 DB 0,0,0, 0,0,0, 0,2,7, 5,3,0
|
|||
|
BCD50010 DB 0,0,0, 0,0,0, 5,0,0, 0,1,0
|
|||
|
BCD50030 DB 0,0,0, 0,0,0, 5,0,0, 0,3,0
|
|||
|
BCD1000000 DB 0,0,0, 0,0,1, 0,0,0, 0,0,0
|
|||
|
BCD5000000 DB 0,0,0, 0,0,5, 0,0,0, 0,0,0
|
|||
|
BCD50000000 DB 0,0,0, 0,5,0, 0,0,0, 0,0,0
|
|||
|
|
|||
|
NEXTJUMP DW ?
|
|||
|
CYCLONECOUNTER DW ? ;HEXADECIMAL
|
|||
|
cyclonecounterBCD DB ?,?,?, ?,?,?, ?,?,?, ?,?,? ;BCD CODED
|
|||
|
CYCLONESCOREBCD DB ?,?,?, ?,?,?, ?,?,?, ?,?,? ;BCD CODED
|
|||
|
XXBALLE DB ?
|
|||
|
KEY_DISABLED DB ?
|
|||
|
SB_DISABLED DB ?
|
|||
|
RIP_DISABLED DB ?
|
|||
|
KEY_ROL_DISABLED DB ?
|
|||
|
RIP_ROL_DISABLED DB ?
|
|||
|
GHOSTCOUNTER DB ? ;0-7 ARE VALID VALUES, 8 GHOSTS
|
|||
|
GHOST_FLASHING DB ? ;BOTH THE TRIANGLE AND THE GHOST ITSELF
|
|||
|
LEFT_RAMP_DOWN_COUNTER DW ?
|
|||
|
TOWER_OPEN DB ?
|
|||
|
SKILLKEY DB ?
|
|||
|
SKILLSCOREBCD DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
KICK_BACK_FLASHING DB ?
|
|||
|
TBSYNCER DB ?
|
|||
|
MB_FLASHING DB ?
|
|||
|
_2X_SCREAMS_FLASHING DB ?
|
|||
|
SULP_FLASHING DB ?
|
|||
|
LOCK1_FLASHING DB ?
|
|||
|
LOCK2_FLASHING DB ?
|
|||
|
SULPSYNCER DB ?
|
|||
|
XBALLS DB ?
|
|||
|
TBMILLIONFLASHING DB ?
|
|||
|
TB5MFLASHING DB ?
|
|||
|
XBALLFLASHING DB ?
|
|||
|
JACKPOTFLASHING DB ?
|
|||
|
SJACKPOTFLASHING DB ?
|
|||
|
HOLDBONUSFLASHING DB ?
|
|||
|
DOUBLEBONUSFLASHING DB ?
|
|||
|
HOLDBONUSFLAG DB ?
|
|||
|
SULP_SCORE DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
BPOINTER DB ?
|
|||
|
SB_DISABLE_AREA DB 11 DUP(0) ;0-3:BONE 6-10:STONE 4-5:UNUSED
|
|||
|
HIGH_VAULT DB ?
|
|||
|
TBNEXT DW ?
|
|||
|
REMAL DB ?
|
|||
|
MBDOWNCOUNTER DW ?
|
|||
|
SULPDOWNCOUNTER DW ?
|
|||
|
COMBODOWNCOUNTER DW ?
|
|||
|
COMBOSTAGE DB ?
|
|||
|
TOWERHUNTMODE DB ?
|
|||
|
TOWERHUNTMODEORIG DB ?
|
|||
|
TOWERHUNTSTAGE DB ?
|
|||
|
TOWERHUNTDOWNCOUNTER DW ?
|
|||
|
MULTIDEMONDOWNCOUNTER DW ?
|
|||
|
MULTIDEMONMODE DB ?
|
|||
|
LOCKVAULTFLASHING DB ?
|
|||
|
LOCKWELLFLASHING DB ?
|
|||
|
HOLDMULTICOUNTER DB ?
|
|||
|
PARTYFLASH DB ?
|
|||
|
DEMONFLASHING DB ?
|
|||
|
FIX_TELEPORT_BUG DB ?
|
|||
|
GHOST_INH_SB DB ?
|
|||
|
BONUS_X DB ?
|
|||
|
TEMPBONUSBCD DB ?,?,?, ?,?,?, ?,?,?, ?,?,?
|
|||
|
FROM_DEMO_MODE DB ?
|
|||
|
TURBOBACKUP DB ?
|
|||
|
OFFROADBACKUP DB ?
|
|||
|
WAS_SPECIAL DB ?
|
|||
|
IN_VAULT DB ? ;TILT
|
|||
|
IN_WELL DB ? ;TILT
|
|||
|
IN_TOWER DB ? ;TILT
|
|||
|
|
|||
|
JackValue DB 0,0,0, 0,0,0, 0,0,0, 0,0,0 ;Jackpot Current
|
|||
|
JackRaise DB 0,0,0, 0,0,0, 1,0,0, 0,0,0 ;Jackpot Step
|
|||
|
JackInit DB 0,0,0, 0,1,0, 0,0,0, 0,0,0 ;Jackpot Start
|
|||
|
|
|||
|
TOWERVALUE DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
TOWERSTART DB 0,0,0, 0,0,1, 0,0,0, 0,0,0
|
|||
|
TOWERADDS DB 0,0,0, 0,0,0, 2,2,3, 4,7,0
|
|||
|
|
|||
|
VAULTVALUE DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
VAULTSTART DB 0,0,0, 0,0,0, 5,0,0, 0,0,0
|
|||
|
VAULTADDS DB 0,0,0, 0,0,0, 0,8,2, 1,5,0
|
|||
|
|
|||
|
WELLVALUE DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
WELLSTART DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
WELLADDS DB 0,0,0, 0,0,0, 0,6,4, 1,9,0
|
|||
|
|
|||
|
GHOST_STRUC STRUC
|
|||
|
G_LIGHTNO DB ? ;LIGHTNO OF THE GHOST
|
|||
|
G_ROUTINE DW ? ;RUT CALLED WHEN GHOST COLLECTED
|
|||
|
G_EFFECT DW ? ;EFFECT DONE WHEN GHOST COLLECTED
|
|||
|
G_SBEFF DW ? ;EFFECT DONE WHEN GHOST ENABLED
|
|||
|
ENDS
|
|||
|
|
|||
|
GHOSTAREA LABEL BYTE ;"R9b"
|
|||
|
DB 32 ;BAT
|
|||
|
DW BATMANRUT,BATMAN,EVENT_LIT1
|
|||
|
DB 34 ;BLUE GHOST
|
|||
|
DW TOWERHUNTRUT,TOWERHUNT,EVENT_LIT2
|
|||
|
DB 35 ;GREEN SMILER
|
|||
|
DW SMILERRUT,SMILER,EVENT_LIT3
|
|||
|
DB 37 ;RED DEVIL
|
|||
|
DW REDDEVILRUT,REDDEVIL,EVENT_LIT4
|
|||
|
DB 36 ;YELLOW POLERGEIST
|
|||
|
DW GHOSTHUNTRUT,GHOSTHUNT,EVENT_LIT5
|
|||
|
DB 31 ;BLUE OCTOPUSSY
|
|||
|
DW MULTIDEMONRUT,MULTIDEMONS,EVENT_LIT6
|
|||
|
DB 33 ;MUMMY HEAD
|
|||
|
DW MUMMYHEADRUT,MUMMYHEAD,EVENT_LIT7
|
|||
|
DB 38 ;GRIM PEAPER
|
|||
|
DW GRIMRUT,GRIMR,EVENT_LIT8
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;********************************* EFFECTS ************************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
EFFECT_STRUC STRUC
|
|||
|
THEJINGLE DW ?
|
|||
|
TSCORE DB 0,0,0, 0,0,0, 0,0,0, 0,0,0 ;12 ST!!
|
|||
|
TBONUS DB 0,0,0, 0,0,0, 0,0,0, 0,0,0 ;12 ST!!
|
|||
|
DOTMATRIX DW ?
|
|||
|
ENDS
|
|||
|
|
|||
|
SHOOTTHEBALL DW SJINGLE2 ;SJINGLE0 ;CP?
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0 ;CP?
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0 ;CP?
|
|||
|
DW SHOOTTHEBALLTS
|
|||
|
|
|||
|
MULTIDEMONS DW 0
|
|||
|
DB 100
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0 ;CP?
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0 ;CP?
|
|||
|
DW MULTIDEMONTS
|
|||
|
|
|||
|
EVENT_LIT DW 0
|
|||
|
DB 0
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW 0
|
|||
|
|
|||
|
EVENT_LIT1 DW SJINGLE3
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW EVENT1TS
|
|||
|
|
|||
|
EVENT_LIT2 DW SJINGLE3
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW EVENT2TS
|
|||
|
|
|||
|
EVENT_LIT3 DW SJINGLE3
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW EVENT3TS
|
|||
|
|
|||
|
EVENT_LIT4 DW SJINGLE3
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW EVENT4TS
|
|||
|
|
|||
|
EVENT_LIT5 DW SJINGLE3
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW EVENT5TS
|
|||
|
|
|||
|
EVENT_LIT6 DW SJINGLE3
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW EVENT6TS
|
|||
|
|
|||
|
EVENT_LIT7 DW SJINGLE3
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW EVENT7TS
|
|||
|
|
|||
|
EVENT_LIT8 DW SJINGLE3
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW EVENT8TS
|
|||
|
|
|||
|
SMILER DW SJINGLE3B
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0 ;CP?
|
|||
|
DW SMILERTS
|
|||
|
|
|||
|
TowerHunt1 DW SJingle5
|
|||
|
DB 0,0,0, 0,0,5, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,5,0, 0,0,0
|
|||
|
DW Tower1TS
|
|||
|
|
|||
|
TowerHunt2 DW SJingle5
|
|||
|
DB 0,0,0, 0,1,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DW Tower2TS
|
|||
|
|
|||
|
TowerHunt3 DW SJingle5
|
|||
|
DB 0,0,0, 0,2,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 2,0,0, 0,0,0
|
|||
|
DW Tower3TS
|
|||
|
|
|||
|
BATMAN DW SJINGLE7
|
|||
|
DB 0,0,0, 0,0,5, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DW BATMANTS
|
|||
|
|
|||
|
REDDEVIL DW SJINGLE21
|
|||
|
DB 0,0,0, 0,1,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 5,0,0, 0,0,0
|
|||
|
DW REDDEVILTS
|
|||
|
|
|||
|
MUMMYHEAD DW SJINGLE21
|
|||
|
DB 0,0,0, 0,1,5, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,1, 5,0,0, 0,0,0
|
|||
|
DW MUMMYHEADTS
|
|||
|
|
|||
|
LOOPCOMBO DW SJINGLE8
|
|||
|
DB 0,0,0, 0,0,5, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW LOOPCOMBOTS
|
|||
|
|
|||
|
GETXBALL DW SJINGLE5
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW GETXBALLTS
|
|||
|
|
|||
|
RIPEFF DW 0
|
|||
|
DB 40
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW RIPEFFTS
|
|||
|
|
|||
|
SKILLSHOT DW SJINGLE9
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW SKILLSHOTTS
|
|||
|
|
|||
|
OPENTOWER DW SJINGLE6
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW OPENTOWERTS
|
|||
|
|
|||
|
GHOSTHUNT DW SJINGLE17
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0 ;CP?
|
|||
|
DW OFFROADTS
|
|||
|
|
|||
|
GRIMR DW SJINGLE19
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0 ;CP?
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW TURBOTS
|
|||
|
|
|||
|
TOWERHUNT DW SJINGLE6
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0 ;CP?
|
|||
|
DW TOWERHUNTTS
|
|||
|
|
|||
|
MILLION DW SJINGLE9
|
|||
|
DB 0,0,0, 0,0,1, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DW MILLIONTS
|
|||
|
|
|||
|
TMillion DW SJINGLE9
|
|||
|
DB 0,0,0, 0,0,1, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 2,5,0, 0,0,0
|
|||
|
DW TMILLIONANIMTS
|
|||
|
|
|||
|
Million5 DW SJingle7
|
|||
|
DB 0,0,0, 0,0,5, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DW Million5TS
|
|||
|
|
|||
|
TMillion5 DW SJingle7
|
|||
|
DB 0,0,0, 0,0,5, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DW TMillion5TS
|
|||
|
|
|||
|
ExtraBall DW SJingle13
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW ExtraBallTS
|
|||
|
|
|||
|
Million10 DW SJingle21
|
|||
|
DB 0,0,0, 0,1,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 5,0,0, 0,0,0
|
|||
|
DW Million10TS
|
|||
|
|
|||
|
Million20 DW SJingle4
|
|||
|
DB 0,0,0, 0,2,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,2, 0,0,0, 0,0,0
|
|||
|
DW Million20TS
|
|||
|
|
|||
|
HoldBonus DW SJingle24
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,2,0, 0,0,0
|
|||
|
DW HoldBTS
|
|||
|
|
|||
|
DoubleBonus DW SJingle23
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,2,0, 0,0,0
|
|||
|
DW DoubleBTS
|
|||
|
|
|||
|
Jackpot DW SJingle10
|
|||
|
DB 0,0,0, 0,0,1, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 2,5,0, 0,0,0
|
|||
|
DW JackpotTS
|
|||
|
|
|||
|
SuperJack DW SJingle1
|
|||
|
DB 0,0,0, 0,5,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,2, 0,0,0, 0,0,0
|
|||
|
DW SuperJackTS
|
|||
|
|
|||
|
MillionPlus DW SJingle9
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW MillionPlusTS ;CP!
|
|||
|
|
|||
|
ScoreVault DW SJingle14
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW VaultValueTS
|
|||
|
|
|||
|
ScoreWell DW SJingle12
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW WellValueTS
|
|||
|
|
|||
|
ScoreTower DW SJingle5
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW TowerValueTS
|
|||
|
|
|||
|
M2 DW SJingle11
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,2,5, 0,0,0
|
|||
|
DW M2TS
|
|||
|
|
|||
|
M4 DW SJingle11
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,2,5, 0,0,0
|
|||
|
DW M4TS
|
|||
|
|
|||
|
M6 DW SJingle11
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,2,5, 0,0,0
|
|||
|
DW M6TS
|
|||
|
|
|||
|
M8 DW SJingle11
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,2,5, 0,0,0
|
|||
|
DW M8TS
|
|||
|
|
|||
|
M10 DW SJingle11
|
|||
|
DB 0,0,0, 0,0,0, 1,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,2,5, 0,0,0
|
|||
|
DW M10TS
|
|||
|
|
|||
|
JUMP_AT DW SJINGLE9B
|
|||
|
DB 0,0,0, 0,0,0, 0,2,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW JUMP_AT_TS
|
|||
|
|
|||
|
JUMP_AT2 DW SJINGLE9B
|
|||
|
DB 0,0,0, 0,0,0, 0,2,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW JUMP_AT2_TS
|
|||
|
|
|||
|
LOSTBALL DW S_LOSTBALL
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DB 0,0,0, 0,0,0, 0,0,0, 0,0,0
|
|||
|
DW ball_lostTS
|
|||
|
|
|||
|
ETTA DB 0,0,0,0,0,0,0,0,0,0,0,1
|
|||
|
HUNDRATUSEN DB 0,0,0,0,0,0,1,0,0,0,0,0
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;**************************** SOUND STRUCTURES ********************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
;SAMPLE,PERIOD,EFFECT,CHANNEL
|
|||
|
|
|||
|
sbase Equ 19
|
|||
|
|
|||
|
SBumper DB 18H,18,0,3
|
|||
|
SFlippUpp DB 19H,22,0,3
|
|||
|
SRinner DB 1CH,18,0,3
|
|||
|
SNewBall DB 1CH,18,0,3
|
|||
|
SKicker DB 1DH,18,0,3
|
|||
|
SFjader DB 1EH,18,0,3
|
|||
|
SGrop DB 17H,18,0,3
|
|||
|
|
|||
|
;***********************************************************************
|
|||
|
|
|||
|
ebase Equ 10
|
|||
|
SBygel1 DB (ebase-4),10,0,3
|
|||
|
SBygel2 DB (ebase-4),12,0,3
|
|||
|
S_Touch1 DB (ebase-8),14,0,3
|
|||
|
S_Touch2 DB (ebase+0),10,0,3
|
|||
|
S_MultiLjud DB (ebase-8),10,0,3
|
|||
|
S_ScoreLjud DB (ebase+0),18,0,3
|
|||
|
S_AddPlayer2 DB (ebase+0),18,0,3
|
|||
|
;***********************************************************************
|
|||
|
|
|||
|
;JINGLE,NOOFPTNS (0=4EVER),PRIORITY
|
|||
|
|
|||
|
EMPTYJINGLE EQU 52
|
|||
|
SPRINGJINGLE EQU 0
|
|||
|
MAINJINGLE EQU 1
|
|||
|
LASTMAINPOS EQU 9
|
|||
|
S_Empty DB 52,0,0
|
|||
|
S_Spring1 DB 33,0,0
|
|||
|
S_Spring DB 0,0,0
|
|||
|
S_Main DB 1,0,0
|
|||
|
S_NoHigh DB 21,0,0
|
|||
|
S_Danger DB 37,1,255
|
|||
|
S_Tilt DB 38,2,255
|
|||
|
S_GameOver DB 40,0,0
|
|||
|
S_GameOver2 DB 39,0,0
|
|||
|
S_LostBall DB 62,1,200
|
|||
|
S_AddPlayer DB 33,0,200
|
|||
|
S_Knacket DB 44,1,230
|
|||
|
S_EndFig DB 43,1,0
|
|||
|
S_BEATEN DB 61,1,200
|
|||
|
S_BEATEN_XB DB 42,1,200
|
|||
|
;***********************************************************************
|
|||
|
|
|||
|
SJINGLE0 DB 0,0,1 ;TVINGA UTSKJUT
|
|||
|
SJingle1 DB 24,1,200 ;Super Jackpot
|
|||
|
SJingle2 DB 26,1,100 ;Lock ball
|
|||
|
SJingle3 DB 27,1,50 ;Event lit
|
|||
|
SJingle3B DB 27,1,51 ;Event lit
|
|||
|
SJingle4 DB 28,1,100 ;20 Mil
|
|||
|
SJingle5 DB 29,1,110 ;X Ball lit
|
|||
|
SJingle6 DB 30,1,75 ;Tower Open
|
|||
|
SJingle7 DB 31,1,100 ;5 millions
|
|||
|
SJingle8 DB 32,1,80 ;Jackpot Lit / Loop Combo
|
|||
|
SJingle9 DB 34,1,70 ;Million / Millions+
|
|||
|
SJingle9B DB 34,1,35 ;SCREAMS
|
|||
|
SJingle10 DB 35,1,200 ;Jackpot
|
|||
|
SJingle11 DB 36,1,100 ;X Bonus
|
|||
|
SJingle12 DB 41,1,50 ;Well value
|
|||
|
SJingle13 DB 42,1,200 ;X Ball
|
|||
|
SJingle14 DB 45,1,50 ;Vault value
|
|||
|
SJingle15 DB 46,0,0 ;Tower On
|
|||
|
SJingle16 DB 51,1,0 ;Tower End
|
|||
|
SJingle17 DB 53,0,100 ;Grave On
|
|||
|
SJingle18 DB 55,1,100 ;Grave End
|
|||
|
SJingle19 DB 56,0,100 ;Grim On
|
|||
|
SJingle20 DB 60,1,100 ;Grim End
|
|||
|
SJingle21 DB 61,1,100 ;10 / 15 millions
|
|||
|
SJingle22 DB 63,1,90 ;Ball lock enabled
|
|||
|
SJingle23 DB 64,1,90 ;Double bonus
|
|||
|
SJingle24 DB 25,1,90 ;Hold Bonus
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;***************************** DETECTION AREAS ********************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
BumperLista_L DW 172,88,185,112
|
|||
|
DW Bumper1
|
|||
|
DW 231,94,255,118
|
|||
|
DW Bumper2
|
|||
|
DW 190,134,214,158
|
|||
|
DW Bumper3
|
|||
|
DW -1,-1,-1,-1
|
|||
|
DW -1
|
|||
|
|
|||
|
BumperLista_U DW -1,-1,-1,-1
|
|||
|
DW -1
|
|||
|
|
|||
|
Bumper2Lista_L DW 50,415,80,470 ;Just to add power
|
|||
|
DW Kicker1 ;No Scores or effects
|
|||
|
DW 219,415,249,470
|
|||
|
DW Kicker2
|
|||
|
|
|||
|
Bumper2Lista_U DW -1,-1,-1,-1
|
|||
|
DW -1
|
|||
|
|
|||
|
bumper1 dw sbumper
|
|||
|
db 0,0,0, 0,0,0, 0,0,1, 0,0,0 ;1,000
|
|||
|
bumper2 dw sbumper
|
|||
|
db 0,0,0, 0,0,0, 0,0,1, 0,0,0 ;1,000
|
|||
|
bumper3 dw sbumper
|
|||
|
db 0,0,0, 0,0,0, 0,0,1, 0,0,0 ;1,000
|
|||
|
kicker1 dw skicker
|
|||
|
db 0,0,0, 0,0,0, 0,0,0, 5,0,0 ;500
|
|||
|
kicker2 dw skicker
|
|||
|
db 0,0,0, 0,0,0, 0,0,0, 5,0,0 ;500
|
|||
|
|
|||
|
ZonLista_L LABEL WORD
|
|||
|
DW 123,226,143,243
|
|||
|
DW Touch_O_BONE
|
|||
|
DW 143,230,164,243
|
|||
|
DW Touch_N_BONE
|
|||
|
DW 70,234,81,241
|
|||
|
DW Touch_B_BONE
|
|||
|
DW 217,234,229,241
|
|||
|
DW Touch_E_BONE
|
|||
|
|
|||
|
DW 11,277,38,294
|
|||
|
DW Touch_O_STONE
|
|||
|
DW 11,294,38,310
|
|||
|
DW Touch_T_STONE
|
|||
|
DW 11,310,38,325
|
|||
|
DW Touch_S_STONE
|
|||
|
DW 272,303,286,323
|
|||
|
DW Touch_N_STONE
|
|||
|
DW 272,323,286,343
|
|||
|
DW Touch_E_STONE
|
|||
|
DW 0
|
|||
|
|
|||
|
ZonLista_U DW 0
|
|||
|
|
|||
|
AreaLista_L LABEL WORD
|
|||
|
DW 213,4,245,25 ;Game On
|
|||
|
DW Close1
|
|||
|
DW 130,15,160,40 ;IN TILL TOWER
|
|||
|
DW Bygel15
|
|||
|
DW 285,50,310,80 ;UPP TILL BUMPER-OMR<4D>DET
|
|||
|
DW Bygel16
|
|||
|
DW 184,51,194,61 ;K
|
|||
|
DW Bygel5
|
|||
|
DW 206,51,216,61 ;E
|
|||
|
DW Bygel6
|
|||
|
DW 228,51,238,61 ;Y
|
|||
|
DW Bygel7
|
|||
|
DW 278,248,288,258 ;THE WELL
|
|||
|
DW GropB
|
|||
|
DW 1,400,20,430 ;V<> DRAIN <20>VRE
|
|||
|
DW Bygel19
|
|||
|
DW 25,435,35,445 ;V<> FLIPPER-R<>NNA
|
|||
|
DW Bygel3
|
|||
|
DW 263,435,273,445 ;H<> FLIPPER-R<>NNA
|
|||
|
DW Bygel4
|
|||
|
DW 1,450,20,480 ;V<> DRAIN NEDRE
|
|||
|
DW Bygel1
|
|||
|
DW 284,450,294,470 ;H<> DRAIN
|
|||
|
DW Bygel2
|
|||
|
DW 1,530,20,550 ;THE VAULT
|
|||
|
DW GropC
|
|||
|
DW 305,544,320,576 ;Spring Valid
|
|||
|
DW Bygel28
|
|||
|
DW 300,520,315,540 ;SPRING INVALID
|
|||
|
DW BYGELSI
|
|||
|
DW 50,576,270,600 ;Close Tower
|
|||
|
DW Close4
|
|||
|
DW 160,180,177,197 ;OPEN BUMPERGATE
|
|||
|
DW OPENBUMPERS
|
|||
|
DW 232,151,254,177 ;OPEN BUMPERGATE
|
|||
|
DW OPENBUMPERS
|
|||
|
; DW 177,5,245,48 ;LAST GATE IN LIST!
|
|||
|
; DW PARTYOFFAREA
|
|||
|
DW 0
|
|||
|
|
|||
|
AreaLista_U LABEL WORD
|
|||
|
DW 135,140,155,160 ;TOWER SUG-H<>L
|
|||
|
DW GropA
|
|||
|
DW 100,5,130,30 ;LOOP MIDDLE
|
|||
|
DW Bygel8
|
|||
|
DW 17,80,27,90 ;R
|
|||
|
DW Bygel12
|
|||
|
DW 63,80,73,90 ;P
|
|||
|
DW Bygel14
|
|||
|
DW 41,83,51,93 ;I
|
|||
|
DW Bygel13
|
|||
|
DW 267,85,283,105 ;LOOP END
|
|||
|
DW Bygel8b
|
|||
|
DW 240,121,260,151 ;SCREAM RAMP
|
|||
|
DW Bygel11
|
|||
|
DW 22,140,42,170 ;GRID-RAMP START LEFT
|
|||
|
DW Bygel9
|
|||
|
DW 49,140,69,170 ;GRID-RAMP START RIGHT
|
|||
|
DW Bygel10
|
|||
|
DW 22,200,42,230 ;GRID-RAMP B<>J1 LEFT
|
|||
|
DW Open6
|
|||
|
DW 49,200,69,230 ;GRID-RAMP B<>J1 RIGHT
|
|||
|
DW Close6
|
|||
|
DW 22,250,42,280 ;GRID-RAMP B<>J2 LEFT
|
|||
|
DW Open7
|
|||
|
DW 49,250,69,280 ;GRID-RAMP B<>J2 RIGHT
|
|||
|
DW Close7
|
|||
|
DW 5,400,20,430 ;TO THE VAULT
|
|||
|
DW Bygel18
|
|||
|
; DW 271,28,292,58 ;CLEARIT, MM.
|
|||
|
DW 213,4,245,25
|
|||
|
DW PARTYOFFAREA
|
|||
|
DW 0
|
|||
|
|
|||
|
AREALISTA_L_T LABEL WORD
|
|||
|
DW 278,248,288,258 ;THE WELL (TILT)
|
|||
|
DW GropB_T
|
|||
|
DW 1,530,20,550 ;THE VAULT
|
|||
|
DW GropC
|
|||
|
DW 135,140,155,160 ;TOWER SUG-H<>L (TILT)
|
|||
|
DW GropA_T
|
|||
|
DW 0
|
|||
|
|
|||
|
AREALISTA_U_T LABEL WORD
|
|||
|
DW 1,530,20,550 ;THE VAULT
|
|||
|
DW GropC
|
|||
|
DW 135,140,155,160 ;TOWER SUG-H<>L (TILT)
|
|||
|
DW GropA_T
|
|||
|
DW 22,140,42,170 ;GRID-RAMP START LEFT
|
|||
|
DW Bygel9
|
|||
|
DW 49,140,69,170 ;GRID-RAMP START RIGHT
|
|||
|
DW Bygel10
|
|||
|
DW 22,200,42,230 ;GRID-RAMP B<>J1 LEFT
|
|||
|
DW Open6
|
|||
|
DW 49,200,69,230 ;GRID-RAMP B<>J1 RIGHT
|
|||
|
DW Close6
|
|||
|
DW 22,250,42,280 ;GRID-RAMP B<>J2 LEFT
|
|||
|
DW Open7
|
|||
|
DW 49,250,69,280 ;GRID-RAMP B<>J2 RIGHT
|
|||
|
DW Close7
|
|||
|
DW 0
|
|||
|
|
|||
|
LEVEL1LISTA LABEL WORD ;AREOR SOM ANGER HOPP TILL LEVEL 1 FR<46>N LEVEL 2
|
|||
|
;PARTY ON? DW 213,4,245,25
|
|||
|
DW 16,8,42,45
|
|||
|
DW 90,80,115,120
|
|||
|
DW 265,155,295,185
|
|||
|
; DW 75,165,105,190
|
|||
|
DW 74,169,88,181 ;
|
|||
|
DW 74,181,104,193 ;
|
|||
|
DW 185,200,215,240
|
|||
|
DW 300,200,320,250
|
|||
|
DW 260,450,277,470
|
|||
|
DW 20,450,50,470
|
|||
|
DW 1,526,20,576
|
|||
|
DW -1
|
|||
|
|
|||
|
LEVEL2LISTA LABEL WORD ;AREOR SOM ANGER HOPP TILL LEVEL 2 FR<46>N LEVEL 1
|
|||
|
DW 42,8,66,38
|
|||
|
DW 136,36,156,60
|
|||
|
DW 91,38,133,55
|
|||
|
DW 138,140,157,160
|
|||
|
DW 190,165,225,200
|
|||
|
DW 300,170,320,200
|
|||
|
DW -1
|
|||
|
|
|||
|
IF CREATE_FLIP_DATA
|
|||
|
FlipLInfo DB FlipperL,222
|
|||
|
DW 80,510,4,53,0,142,400,576,95,536,0,(53*8*3)
|
|||
|
DW 0,0,0,20,20*ADJUST,-7*tt/nn,4*tt/nn,-68*tt/nn,48*tt/nn
|
|||
|
DW ?,?,?,?,LEFTFLIPTAB,LEFTFLIPTAB,maxdifs1*4
|
|||
|
DW FLIPLEFT
|
|||
|
|
|||
|
DB FlipperR,222
|
|||
|
DW 160,510,4,53,143,320,400,576,204,536,0,(53*8*3)
|
|||
|
DW 0,0,0,20,20*ADJUST,-7*tt/nn,4*tt/nn,-68*tt/nn,48*tt/nn
|
|||
|
DW ?,?,?,?,RIGHTFLIPTAB,RIGHTFLIPTAB,maxdifs2*4
|
|||
|
DW FLIPRIGHT
|
|||
|
|
|||
|
DB 0,0
|
|||
|
ELSE
|
|||
|
EXTRN FLIPLINFO:FLIPSTRUC:2
|
|||
|
ENDIF
|
|||
|
no_of_ramps equ 11 ;cpw!?!?
|
|||
|
RampTable DW 0,(10*2*tt/nn)/2
|
|||
|
DW -10*tt/nn,5*tt/nn
|
|||
|
DW 0,-10*tt/nn
|
|||
|
DW 5*tt/nn,0
|
|||
|
DW 5*tt/nn,15*tt/nn
|
|||
|
DW -10*tt/nn,12*tt/nn
|
|||
|
DW 2,15*tt/nn
|
|||
|
DW -8*tt/nn,12*tt/nn
|
|||
|
DW 3,10*tt/nn
|
|||
|
DW 4,13*tt/nn
|
|||
|
DW 7*tt/nn,10*tt/nn
|
|||
|
DW 0,0
|
|||
|
RampTable_hi DW 0,10
|
|||
|
DW -10,5
|
|||
|
DW 0,-10
|
|||
|
DW 5,0
|
|||
|
DW 5,15
|
|||
|
DW -10,12
|
|||
|
DW 2,15
|
|||
|
DW -8,12
|
|||
|
DW 3,10
|
|||
|
DW 4,13
|
|||
|
DW 7,10
|
|||
|
DW 0,0
|
|||
|
|
|||
|
PLAYER_STRUC STRUC
|
|||
|
P_SIFFRORNA DB 12 DUP(?)
|
|||
|
P_BONUSSIFFRORNA DB 12 DUP(?)
|
|||
|
P_GHOSTCOUNTER DB ?
|
|||
|
P_GHOSTFLASHING DB ?
|
|||
|
P_SKILLSCOREBCD DB 12 DUP(?)
|
|||
|
P_KICKBACKFLASHING DB ?
|
|||
|
P_R_RIP DB ?
|
|||
|
P_I_RIP DB ?
|
|||
|
P_P_RIP DB ?
|
|||
|
P_STONE_S DB ?
|
|||
|
P_STONE_T DB ?
|
|||
|
P_STONE_O DB ?
|
|||
|
P_STONE_N DB ?
|
|||
|
P_STONE_E DB ?
|
|||
|
P_BONE_B DB ?
|
|||
|
P_BONE_O DB ?
|
|||
|
P_BONE_N DB ?
|
|||
|
P_BONE_E DB ?
|
|||
|
P_CYCLONECOUNTER DW ?
|
|||
|
P_CYCLONECOUNTERBCD DB 12 DUP(?)
|
|||
|
P_NEXTJUMP DW ?
|
|||
|
ENDS
|
|||
|
|
|||
|
PUBLIC PLAYER_AREA
|
|||
|
PLAYER_AREA PLAYER_STRUC NO_OF_PLAYERS DUP(<?>)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;************************ DEMO MODE LIGHT FLASHING ****************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
FLASHLIST LABEL WORD
|
|||
|
T2=14
|
|||
|
DW 0,0,T2,T2,1 ;KEY
|
|||
|
DW 0,T2,T2,T2,2
|
|||
|
DW 0,0,T2,T2,3
|
|||
|
|
|||
|
T2=9
|
|||
|
DW 0,0,T2,T2,26 ;STONE BONE
|
|||
|
DW 0,T2,T2,T2,27
|
|||
|
DW 0,0,T2,T2,28
|
|||
|
DW 0,T2,T2,T2,29
|
|||
|
DW 0,0,T2,T2,30
|
|||
|
DW 0,T2,T2,T2,20
|
|||
|
DW 0,0,T2,T2,21
|
|||
|
DW 0,T2,T2,T2,22
|
|||
|
DW 0,0,T2,T2,23
|
|||
|
|
|||
|
T2=12
|
|||
|
DW 0,T2,T2,T2,15 ;LOCK & LOCK
|
|||
|
DW 0,0,T2,T2,25
|
|||
|
|
|||
|
T2=7
|
|||
|
DW 0,0,T2,T2,39 ;X2X4X6X8X10
|
|||
|
DW 0,T2,T2,T2,40
|
|||
|
DW 0,0,T2,T2,41
|
|||
|
DW 0,T2,T2,T2,42
|
|||
|
DW 0,0,T2,T2,43
|
|||
|
|
|||
|
DW -1
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;**************************** LIGHT PALETTE DATA ******************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
NOOFLIGHTS=44
|
|||
|
|
|||
|
LON1 DB 129 ;K
|
|||
|
DB 2
|
|||
|
DB 33,58,33
|
|||
|
DB 52,89,52
|
|||
|
LON2 DB 131 ;E
|
|||
|
DB 2
|
|||
|
DB 33,58,33
|
|||
|
DB 52,89,52
|
|||
|
LON3 DB 133 ;Y
|
|||
|
DB 2
|
|||
|
DB 33,58,33
|
|||
|
DB 52,89,52
|
|||
|
LON4 DB 135 ;R
|
|||
|
DB 2
|
|||
|
DB 77,52,27
|
|||
|
DB 95,83,20
|
|||
|
LON5 DB 137 ;I
|
|||
|
DB 1
|
|||
|
DB 95,83,20
|
|||
|
LON6 DB 138 ;P
|
|||
|
DB 2
|
|||
|
DB 77,52,27
|
|||
|
DB 95,83,20
|
|||
|
LON7 DB 140 ;TOWER
|
|||
|
DB 2
|
|||
|
DB 33,58,33
|
|||
|
DB 52,89,57
|
|||
|
LON8 DB 187 ;X-TRA BALL
|
|||
|
DB 2
|
|||
|
DB 60,60,60
|
|||
|
DB 96,96,96
|
|||
|
LON9 DB 189 ;JACKPOT
|
|||
|
DB 2
|
|||
|
DB 60,60,60
|
|||
|
DB 96,96,96
|
|||
|
LON10 DB 191 ;S-JACKPOT
|
|||
|
DB 2
|
|||
|
DB 60,60,60
|
|||
|
DB 96,96,96
|
|||
|
LON11 DB 193 ;MILLION
|
|||
|
DB 2
|
|||
|
DB 60,60,60
|
|||
|
DB 96,96,96
|
|||
|
LON12 DB 195 ;5-MILLION
|
|||
|
DB 2
|
|||
|
DB 60,60,60
|
|||
|
DB 96,96,96
|
|||
|
LON13 DB 197 ;HOLD-BONUS
|
|||
|
DB 2
|
|||
|
DB 60,60,60
|
|||
|
DB 96,96,96
|
|||
|
LON14 DB 199 ;DOUBLE-BONUS
|
|||
|
DB 2
|
|||
|
DB 60,60,60
|
|||
|
DB 96,96,96
|
|||
|
LON15 DB 142 ;L<>S
|
|||
|
DB 3
|
|||
|
DB 33,58,33
|
|||
|
DB 39,70,39
|
|||
|
DB 52,89,52
|
|||
|
LON16 DB 145 ;SP<53>KE
|
|||
|
DB 3
|
|||
|
DB 58,58,58
|
|||
|
DB 70,70,70
|
|||
|
DB 95,95,95
|
|||
|
LON17 DB 148 ;2*SKRIK
|
|||
|
DB 3
|
|||
|
DB 43,43,43
|
|||
|
DB 70,70,70
|
|||
|
DB 95,95,95
|
|||
|
LON18 DB 151 ;DEMON
|
|||
|
DB 2
|
|||
|
DB 52,8,14
|
|||
|
DB 95,0,0
|
|||
|
LON19 DB 153 ;+
|
|||
|
DB 2
|
|||
|
DB 52,8,14
|
|||
|
DB 95,0,0
|
|||
|
LON20 DB 155 ;B
|
|||
|
DB 2
|
|||
|
DB 39,70,39
|
|||
|
DB 52,89,52
|
|||
|
LON21 DB 157 ;O
|
|||
|
DB 2
|
|||
|
DB 39,70,39
|
|||
|
DB 52,89,52
|
|||
|
LON22 DB 159 ;N
|
|||
|
DB 2
|
|||
|
DB 39,70,39
|
|||
|
DB 52,89,52
|
|||
|
LON23 DB 161 ;E
|
|||
|
DB 2
|
|||
|
DB 39,70,39
|
|||
|
DB 52,89,52
|
|||
|
LON24 DB 180 ;MB
|
|||
|
DB 3
|
|||
|
DB 58,58,58
|
|||
|
DB 70,70,70
|
|||
|
DB 95,95,95
|
|||
|
LON25 DB 183 ;L<>S
|
|||
|
DB 2
|
|||
|
DB 33,58,33
|
|||
|
DB 52,89,52
|
|||
|
LON26 DB 163 ;S
|
|||
|
DB 2
|
|||
|
DB 39,70,39
|
|||
|
DB 52,89,52
|
|||
|
LON27 DB 165 ;T
|
|||
|
DB 1
|
|||
|
DB 52,89,52
|
|||
|
LON28 DB 166 ;O
|
|||
|
DB 1
|
|||
|
DB 52,89,52
|
|||
|
LON29 DB 167 ;N
|
|||
|
DB 2
|
|||
|
DB 39,70,39
|
|||
|
DB 52,89,52
|
|||
|
LON30 DB 169 ;E
|
|||
|
DB 2
|
|||
|
DB 39,70,39
|
|||
|
DB 52,89,52
|
|||
|
LON31 DB 64 ;SLEMBOLLEN
|
|||
|
DB 9
|
|||
|
DB 20,27,33
|
|||
|
DB 27,33,45
|
|||
|
DB 33,45,58
|
|||
|
DB 39,52,70
|
|||
|
DB 52,64,77
|
|||
|
DB 70,70,70
|
|||
|
DB 39,0,0
|
|||
|
DB 52,8,14
|
|||
|
DB 58,27,27
|
|||
|
LON32 DB 73 ;FLADDERMUSEN
|
|||
|
DB 6
|
|||
|
DB 20,27,33
|
|||
|
DB 27,33,45
|
|||
|
DB 39,39,39
|
|||
|
DB 58,58,58
|
|||
|
DB 77,52,27
|
|||
|
DB 95,83,20
|
|||
|
LON33 DB 80 ;MUMIEN
|
|||
|
DB 5
|
|||
|
DB 39,39,39
|
|||
|
DB 58,58,58
|
|||
|
DB 70,70,70
|
|||
|
DB 52,8,14
|
|||
|
DB 95,0,0
|
|||
|
LON34 DB 85 ;BL<42>A ANSIKTET
|
|||
|
DB 7
|
|||
|
DB 20,27,33
|
|||
|
DB 27,33,45
|
|||
|
DB 27,39,52
|
|||
|
DB 33,45,58
|
|||
|
DB 39,52,70
|
|||
|
DB 52,64,77
|
|||
|
DB 95,83,20
|
|||
|
LON35 DB 92 ;BARBA-PAPPA
|
|||
|
DB 8
|
|||
|
DB 14,39,14
|
|||
|
DB 27,45,20
|
|||
|
DB 33,58,33
|
|||
|
DB 39,70,39
|
|||
|
DB 52,89,52
|
|||
|
DB 52,8,14
|
|||
|
DB 95,0,0
|
|||
|
DB 95,83,20
|
|||
|
LON36 DB 100 ;PEPPARKAKS-GUBBEN
|
|||
|
DB 5
|
|||
|
DB 58,27,27
|
|||
|
DB 64,39,39
|
|||
|
DB 77,52,27
|
|||
|
DB 95,83,20
|
|||
|
DB 95,95,95
|
|||
|
LON37 DB 105 ;R<>D-LUVAN
|
|||
|
DB 7
|
|||
|
DB 39,0,0
|
|||
|
DB 52,8,14
|
|||
|
DB 58,27,27
|
|||
|
DB 64,39,39
|
|||
|
DB 77,52,27
|
|||
|
DB 95,95,95
|
|||
|
DB 95,0,0
|
|||
|
LON38 DB 112 ;DEN GRYMMA RAPPARN
|
|||
|
DB 17
|
|||
|
DB 17,23,30
|
|||
|
DB 20,27,33
|
|||
|
DB 27,33,45
|
|||
|
DB 27,39,52
|
|||
|
DB 33,45,58
|
|||
|
DB 52,8,14
|
|||
|
DB 95,0,0
|
|||
|
DB 39,39,39
|
|||
|
DB 39,52,70
|
|||
|
DB 58,58,58
|
|||
|
DB 33,20,20
|
|||
|
DB 58,27,27
|
|||
|
DB 64,39,39
|
|||
|
DB 77,52,27
|
|||
|
DB 52,39,27
|
|||
|
DB 64,52,39
|
|||
|
DB 77,64,52
|
|||
|
LON39 DB 171 ;X2
|
|||
|
DB 2
|
|||
|
DB 52,27,27
|
|||
|
DB 95,0,0
|
|||
|
LON40 DB 173 ;X4
|
|||
|
DB 1
|
|||
|
DB 95,0,0
|
|||
|
LON41 DB 174 ;X6
|
|||
|
DB 2
|
|||
|
DB 52,27,27
|
|||
|
DB 95,0,0
|
|||
|
LON42 DB 176 ;X8
|
|||
|
DB 2
|
|||
|
DB 52,27,27
|
|||
|
DB 95,0,0
|
|||
|
LON43 DB 178 ;X10
|
|||
|
DB 2
|
|||
|
DB 52,27,27
|
|||
|
DB 95,0,0
|
|||
|
LON44 DB 185 ;SPARKA TILLBAKA
|
|||
|
DB 2
|
|||
|
DB 58,58,58
|
|||
|
DB 95,95,95
|
|||
|
MATRIXON DB matrixlo ;(MATRIXCOL LOW BYTE)
|
|||
|
DB 1
|
|||
|
DB 95,83,20
|
|||
|
LONEND DB 0
|
|||
|
|
|||
|
LONINDEX LABEL WORD
|
|||
|
DW OFFSET LON1
|
|||
|
DW OFFSET LON2
|
|||
|
DW OFFSET LON3
|
|||
|
DW OFFSET LON4
|
|||
|
DW OFFSET LON5
|
|||
|
DW OFFSET LON6
|
|||
|
DW OFFSET LON7
|
|||
|
DW OFFSET LON8
|
|||
|
DW OFFSET LON9
|
|||
|
DW OFFSET LON10
|
|||
|
DW OFFSET LON11
|
|||
|
DW OFFSET LON12
|
|||
|
DW OFFSET LON13
|
|||
|
DW OFFSET LON14
|
|||
|
DW OFFSET LON15
|
|||
|
DW OFFSET LON16
|
|||
|
DW OFFSET LON17
|
|||
|
DW OFFSET LON18
|
|||
|
DW OFFSET LON19
|
|||
|
DW OFFSET LON20
|
|||
|
DW OFFSET LON21
|
|||
|
DW OFFSET LON22
|
|||
|
DW OFFSET LON23
|
|||
|
DW OFFSET LON24
|
|||
|
DW OFFSET LON25
|
|||
|
DW OFFSET LON26
|
|||
|
DW OFFSET LON27
|
|||
|
DW OFFSET LON28
|
|||
|
DW OFFSET LON29
|
|||
|
DW OFFSET LON30
|
|||
|
DW OFFSET LON31
|
|||
|
DW OFFSET LON32
|
|||
|
DW OFFSET LON33
|
|||
|
DW OFFSET LON34
|
|||
|
DW OFFSET LON35
|
|||
|
DW OFFSET LON36
|
|||
|
DW OFFSET LON37
|
|||
|
DW OFFSET LON38
|
|||
|
DW OFFSET LON39
|
|||
|
DW OFFSET LON40
|
|||
|
DW OFFSET LON41
|
|||
|
DW OFFSET LON42
|
|||
|
DW OFFSET LON43
|
|||
|
DW OFFSET LON44
|
|||
|
|
|||
|
|
|||
|
MATRIXOFF DB matrixlo
|
|||
|
DB 3
|
|||
|
DB 3 DUP(20*64/100,27*64/100,33*64/100)
|
|||
|
; DB 3 DUP(20*64/100,27*64/100,36*64/100) ;(50)
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;************************* GATES & BYGLARS DATA AREOR *************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
EXTRN POS2,POS3,POS4,POS5:BYTE
|
|||
|
EXTRN NEG2,NEG3,NEG4,NEG5:BYTE
|
|||
|
|
|||
|
GATE2 DW POS3-2 ;TO THE BUMPERS
|
|||
|
DW NEG3-2
|
|||
|
DW 5*40+30
|
|||
|
DW 2,20
|
|||
|
GATE3 DW POS4-2 ;TO THE TOWER
|
|||
|
DW NEG4-2
|
|||
|
DW 5*40+20
|
|||
|
DW 2,24
|
|||
|
GATE4A DW POS2 ;LEFT RAMP 1
|
|||
|
DW NEG2
|
|||
|
DW 191*40+4
|
|||
|
DW 4,14
|
|||
|
GATE4B DW POS2 ;LEFT RAMP 2
|
|||
|
DW NEG2
|
|||
|
DW 247*40+4
|
|||
|
DW 4,14
|
|||
|
GATE4C DW POS2 ;LEFT RAMP 3
|
|||
|
DW NEG2
|
|||
|
DW 303*40+4
|
|||
|
DW 4,14
|
|||
|
GATE5 DW POS5 ;KICKBACK
|
|||
|
DW NEG5
|
|||
|
DW 511*40+0
|
|||
|
DW 4,13
|
|||
|
|
|||
|
OffRoadMode db ?
|
|||
|
TurboMode db ?
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;****************************** DOT MATRIX ************************************
|
|||
|
;******************************************************************************
|
|||
|
CLEARIT MACRO
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
ASSUME DS:DATA
|
|||
|
ENDM
|
|||
|
|
|||
|
|
|||
|
;********************************** TEXTER ************************************
|
|||
|
OPENTOWERTEXT DB 21 DUP (1),'THE TOWER IS OPEN',21 DUP(1),255
|
|||
|
MILLIONSCROLL DB 21 DUP (1),'MILLION',6 DUP (1),255
|
|||
|
GRIMSCROLL DB 21 DUP (1),'ALL LOOPS TRAPS AND RAMPS SCORE 5000000',21 DUP(1),255
|
|||
|
MILLIONPLUSTEXT DB ' MILLION PLUS',0
|
|||
|
VAULTVALUETEXT DB ' VAULT SCORE',0
|
|||
|
WELLVALUETEXT DB ' WELL TREASURE',0
|
|||
|
TOWERVALUETEXT DB ' TOWER BONUS',0
|
|||
|
DOUBLETEXT DB ' DOUBLE BONUS',0
|
|||
|
HOLDTEXT DB ' HOLD BONUS',0
|
|||
|
RIPTEXT DB ' KICKBACK ACTIVATED',0
|
|||
|
GETXBALLTEXT DB ' GET THE EXTRA BALL',0
|
|||
|
SKILLTEXT DB ' SKILL SHOT',0
|
|||
|
LOOPCOMBOTEXT DB ' LOOP COMBO',0 ;CP!?
|
|||
|
TOWER_TEXT DB 21 DUP (1),'SHOOT THE TOWER FOR 5 ',94,' 10 AND 20 MILLIONS IN 30 SECONDS',21 DUP(1),255
|
|||
|
MARTIN_BERG_TEXT DB ' TOWER HUNT',0
|
|||
|
VAULT45M DB 21 DUP (1),'ENTER THE VAULT FOR 5000000',21 DUP(1),255
|
|||
|
VAULT4TOWERHUNT DB 21 DUP (1),'ENTER THE VAULT FOR TOWER HUNT',21 DUP(1),255
|
|||
|
VAULT4XBALL DB 21 DUP (1),'ENTER THE VAULT TO LITE THE EXTRA BALL',21 DUP(1),255
|
|||
|
VAULT410M DB 21 DUP (1),'ENTER THE VAULT FOR 10000000',21 DUP(1),255
|
|||
|
VAULT4GHOSTHUNT DB 21 DUP (1),'ENTER THE VAULT FOR GHOST HUNT',21 DUP(1),255
|
|||
|
VAULT4MULTIDEMONS DB 21 DUP (1),'ENTER THE VAULT FOR MULTI DEMONS',21 DUP(1),255
|
|||
|
VAULT415M DB 21 DUP (1),'ENTER THE VAULT FOR 15000000',21 DUP(1),255
|
|||
|
VAULT4GRIMREAPER DB 21 DUP (1),'ENTER THE VAULT FOR GRIM REAPER',21 DUP(1),255
|
|||
|
MULTIDEMONTEXT DB 21 DUP (1),'LOCK BALLS IN WELL AND VAULT TO INCREASE DEMON VALUE BY 5 AND 10 MILLIONS',21 DUP(1),255
|
|||
|
SHOOTTHEBALLTEXT DB 'SHOOT THE BALL PL X',0
|
|||
|
SUPERTEXT DB 'SUPER',0
|
|||
|
EXTRABALLTEXT DB 'EXTRA BALL',0
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;********************************** TSAR **************************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
;*********************************************************
|
|||
|
;******* OBS!!! KOM IH<49>G ATT ASSUMERA ANIMATIONER TILL DATA2 OCH
|
|||
|
;******* SCROLLAR TILL DATA !!!!!
|
|||
|
|
|||
|
BEATENSCROLL DB 21 DUP (1),'YOU HAVE BEATEN THE HIGHSCORE',21 DUP(1),255
|
|||
|
|
|||
|
Beaten_bh_TS LABEL WORD ;I BALL LOST SEKVENSEN
|
|||
|
DW _DOBEATEN,?
|
|||
|
CLEARIT
|
|||
|
DW _JINGLE,S_BEATEN
|
|||
|
DW _LASTJINGLE,EMPTYJINGLE
|
|||
|
DW _SCROLL,BEATENSCROLL
|
|||
|
DW _WAITJINGLE,?
|
|||
|
DW _JINGLE,S_BEATEN_XB
|
|||
|
DW _LASTJINGLE,EMPTYJINGLE
|
|||
|
DW _FLASHON,1 ;6
|
|||
|
; DW _PRINT13,EXTRABALLTEXT,SW*4/4+TOTCENT+4
|
|||
|
; DW _WAIT,6*2*30
|
|||
|
DW _ANIMATION,_EXTRABALL
|
|||
|
DW _WAIT,90
|
|||
|
CLEARIT
|
|||
|
DW _FLASHOFF,?
|
|||
|
DW _JMP,No_Bonus2TS
|
|||
|
|
|||
|
BeatenTS LABEL WORD ;I SPELET
|
|||
|
DW _DOBEATEN,?
|
|||
|
CLEARIT
|
|||
|
DW _JINGLE,S_BEATEN
|
|||
|
DW _LASTJINGLE,EMPTYJINGLE
|
|||
|
DW _SCROLL,BEATENSCROLL
|
|||
|
DW _WAITJINGLE,?
|
|||
|
DW _JINGLE,S_BEATEN_XB
|
|||
|
DW _LASTJINGLE,3
|
|||
|
DW _FLASHON,1 ;6
|
|||
|
; DW _PRINT13,EXTRABALLTEXT,SW*4/4+TOTCENT+4
|
|||
|
; DW _WAIT,6*2*30
|
|||
|
DW _ANIMATION,_EXTRABALL
|
|||
|
DW _WAIT,90
|
|||
|
CLEARIT
|
|||
|
DW _FLASHOFF,?
|
|||
|
DW 0
|
|||
|
|
|||
|
SHOOTTHEBALLTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,2
|
|||
|
DW _PARTYONN,?
|
|||
|
DW _PRINT13,SHOOTTHEBALLTEXT,SW*4/4
|
|||
|
DW _PARTYON,?
|
|||
|
DW 0
|
|||
|
|
|||
|
MULTIDEMONTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _SCROLL,MULTIDEMONTEXT
|
|||
|
CLEARIT
|
|||
|
DW _VAULTEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
EVENT1TS LABEL WORD
|
|||
|
DW _SCROLL,VAULT45M
|
|||
|
DW 0
|
|||
|
|
|||
|
EVENT2TS LABEL WORD
|
|||
|
DW _SCROLL,VAULT4TOWERHUNT
|
|||
|
DW 0
|
|||
|
|
|||
|
EVENT3TS LABEL WORD
|
|||
|
DW _SCROLL,VAULT4XBALL
|
|||
|
DW 0
|
|||
|
|
|||
|
EVENT4TS LABEL WORD
|
|||
|
DW _SCROLL,VAULT410M
|
|||
|
DW 0
|
|||
|
|
|||
|
EVENT5TS LABEL WORD
|
|||
|
DW _SCROLL,VAULT4GHOSTHUNT
|
|||
|
DW 0
|
|||
|
|
|||
|
EVENT6TS LABEL WORD
|
|||
|
DW _SCROLL,VAULT4MULTIDEMONS
|
|||
|
DW 0
|
|||
|
|
|||
|
EVENT7TS LABEL WORD
|
|||
|
DW _SCROLL,VAULT415M
|
|||
|
DW 0
|
|||
|
|
|||
|
EVENT8TS LABEL WORD
|
|||
|
DW _SCROLL,VAULT4GRIMREAPER
|
|||
|
DW 0
|
|||
|
|
|||
|
SMILERTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,2
|
|||
|
DW _PRINT13,GETXBALLTEXT,SW*4/4
|
|||
|
DW _WAIT,150
|
|||
|
DW _FLASHOFF,?
|
|||
|
CLEARIT
|
|||
|
DW _VAULTEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
TOWER1TS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _TOWER,87-16+2
|
|||
|
DW _WAIT,50
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _TOWEREND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
TOWER2TS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _TOWER,61-16+2
|
|||
|
DW _WAIT,50
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _TOWEREND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
TOWER3TS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _TOWER,36-16
|
|||
|
DW _WAIT,120
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _TOWEREND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
BATMANTS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _WAIT,5
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_5
|
|||
|
DW _WAIT,25
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_MILLION
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _VAULTEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
REDDEVILTS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_10
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_MILLION
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _WAIT,50
|
|||
|
DW _VAULTEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
MUMMYHEADTS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_15
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_MILLION
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _WAIT,50
|
|||
|
DW _VAULTEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
LOOPCOMBOTS LABEL WORD ;CP! INTE S<> I ALLA FALL!!
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,2
|
|||
|
DW _PRINT13,LOOPCOMBOTEXT,SW*4/4
|
|||
|
DW _WAIT,140
|
|||
|
DW _FLASHOFF,?
|
|||
|
CLEARIT
|
|||
|
DW 0
|
|||
|
|
|||
|
GETXBALLTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,2
|
|||
|
DW _PRINT13,GETXBALLTEXT,SW*4/4
|
|||
|
DW _WAIT,150
|
|||
|
DW _FLASHOFF,?
|
|||
|
CLEARIT
|
|||
|
DW 0
|
|||
|
|
|||
|
RIPEFFTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,1
|
|||
|
DW _PRINT13,RIPTEXT,SW*4/4
|
|||
|
DW _WAIT,90
|
|||
|
DW _FLASHOFF,?
|
|||
|
CLEARIT
|
|||
|
DW 0
|
|||
|
|
|||
|
SKILLSHOTTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _RULLGARDIN_UPP,SKILLTEXT,1
|
|||
|
DW _WAIT,60
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,1
|
|||
|
DW _PRINT13_NUMBER_CENT,SKILLSCOREBCD,2*2*SW/4+TOTCENT
|
|||
|
DW _WAIT,2*60
|
|||
|
CLEARIT
|
|||
|
DW _FLASHOFF,?
|
|||
|
DW 0
|
|||
|
|
|||
|
OPENTOWERTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _SCROLL,OPENTOWERTEXT
|
|||
|
CLEARIT
|
|||
|
DW 0
|
|||
|
|
|||
|
MILLIONTS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _SCROLL,MILLIONSCROLL
|
|||
|
DW _WAIT,60
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW 0
|
|||
|
|
|||
|
TMILLIONANIMTS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_MILLION
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _TOWEREND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
Million5TS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _WAIT,5
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_5
|
|||
|
DW _WAIT,25
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_MILLION
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW 0
|
|||
|
|
|||
|
TMillion5TS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _WAIT,5
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_5
|
|||
|
DW _WAIT,25
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_MILLION
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _TOWEREND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
Million10TS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_10
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_MILLION
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW 0
|
|||
|
|
|||
|
Million20TS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_20
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_MILLION
|
|||
|
DW _WAIT,120
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW 0
|
|||
|
|
|||
|
DoubleBTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,2
|
|||
|
DW _PRINT13,DOUBLETEXT,SW*4/4
|
|||
|
DW _WAIT,150
|
|||
|
DW _FLASHOFF,?
|
|||
|
CLEARIT
|
|||
|
DW _TOWEREND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
HOLDBTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,2
|
|||
|
DW _PRINT13,HOLDTEXT,SW*4/4
|
|||
|
DW _WAIT,150
|
|||
|
DW _FLASHOFF,?
|
|||
|
CLEARIT
|
|||
|
DW _TOWEREND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
JackpotTS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_JACKPOT
|
|||
|
DW _WAIT,30
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _TOWEREND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
SuperJackTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,1
|
|||
|
DW _PRINT13,SUPERTEXT,SW*4/4+7*4
|
|||
|
DW _WAIT,100
|
|||
|
DW _FLASHOFF,?
|
|||
|
CLEARIT
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_JACKPOT
|
|||
|
DW _WAIT,30
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,1
|
|||
|
DW _PRINT13_NUMBER_CENT,BCD50000000,2*2*SW/4+TOTCENT
|
|||
|
DW _WAIT,100
|
|||
|
CLEARIT
|
|||
|
DW _FLASHOFF,?
|
|||
|
DW _TOWEREND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
MillionPlusTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _RULLGARDIN_UPP,MILLIONPLUSTEXT,1
|
|||
|
DW _WAIT,60
|
|||
|
CLEARIT
|
|||
|
DW _PRINT13_NUMBER_CENT,SULP_SCORE,2*2*SW/4+TOTCENT
|
|||
|
DW _WAIT,2*60
|
|||
|
CLEARIT
|
|||
|
DW 0
|
|||
|
|
|||
|
VaultValueTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,2
|
|||
|
DW _PRINT13,VAULTVALUETEXT,SW*4/4
|
|||
|
DW _WAIT,60
|
|||
|
DW _FLASHOFF,?
|
|||
|
CLEARIT
|
|||
|
DW _PRINT13_NUMBER_CENT,VAULTVALUE,2*2*SW/4+TOTCENT
|
|||
|
DW _WAIT,80
|
|||
|
CLEARIT
|
|||
|
DW _VAULTEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
WellValueTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,2
|
|||
|
DW _PRINT13,WELLVALUETEXT,SW*4/4
|
|||
|
DW _WAIT,60
|
|||
|
DW _FLASHOFF,?
|
|||
|
CLEARIT
|
|||
|
DW _PRINT13_NUMBER_CENT,WELLVALUE,2*2*SW/4+TOTCENT
|
|||
|
DW _WAIT,80
|
|||
|
CLEARIT
|
|||
|
DW _WELLEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
TowerValueTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,2
|
|||
|
DW _PRINT13,TOWERVALUETEXT,SW*4/4
|
|||
|
DW _WAIT,60
|
|||
|
DW _FLASHOFF,?
|
|||
|
CLEARIT
|
|||
|
DW _PRINT13_NUMBER_CENT,TOWERVALUE,2*2*SW/4+TOTCENT
|
|||
|
DW _WAIT,80
|
|||
|
CLEARIT
|
|||
|
DW _TOWEREND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
EXTRABALLTS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_EXTRABALL
|
|||
|
DW _WAIT,120
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _TOWEREND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
M2TS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_BONUSX2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _WELLEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
M4TS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_BONUSX4
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _WELLEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
M6TS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_BONUSX6
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _WELLEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
M8TS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_BONUSX8
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _WELLEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
M10TS LABEL WORD
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _ANIMATION,_BONUSX10
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
DW _WELLEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
TOWERHUNTTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _RULLGARDIN_UPP,MARTIN_BERG_TEXT,-13
|
|||
|
DW _RULLGARDIN_NED,MARTIN_BERG_TEXT,16
|
|||
|
DW _RULLGARDIN_UPP,MARTIN_BERG_TEXT,-13
|
|||
|
DW _RULLGARDIN_NED,MARTIN_BERG_TEXT,16
|
|||
|
DW _SCROLL,TOWER_TEXT
|
|||
|
CLEARIT
|
|||
|
DW _VAULTEND,?
|
|||
|
DW 0
|
|||
|
|
|||
|
;*****************************************
|
|||
|
party_onTS LABEL BYTE ;Turn on party on . . .
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,PARTY_ON_SPEED
|
|||
|
DW _PARTYONN,1
|
|||
|
DW _PRINT13,PARTY_ON_TEXT,SW*4/4 ;+16*3/4 ;CP!
|
|||
|
DW _PARTYON,1
|
|||
|
DW 0
|
|||
|
|
|||
|
party_offTS LABEL WORD ;Turn it off
|
|||
|
CLEARIT
|
|||
|
DW _PARTYOFF,1
|
|||
|
DW _FLASHOFF,1
|
|||
|
DW 0
|
|||
|
|
|||
|
;*****************************************
|
|||
|
ASSUME DS:DATA2
|
|||
|
clearTS dw _animation,_clear
|
|||
|
dw 0
|
|||
|
|
|||
|
tomTS dw _animation,_clear
|
|||
|
dw _wait,32767
|
|||
|
dw 0
|
|||
|
|
|||
|
|
|||
|
OffRoadTS LABEL WORD
|
|||
|
DW _TURNONSPECIALMODE,?
|
|||
|
DW _TURNONOFFROADMODE,?
|
|||
|
DW _ANIMATION,_CLEAR
|
|||
|
dw _scroll,go_for_some_text
|
|||
|
dw _animation,_clear
|
|||
|
DW _PRINT13,ZEROQ,SW*(2+2)/4+16*13/4
|
|||
|
DW _VAULTEND,?
|
|||
|
dw _countdown,3,0,OR_total
|
|||
|
AFTER_ORCDTS LABEL WORD
|
|||
|
dw _animation,_clear
|
|||
|
OffRoad_endingTS Label Word
|
|||
|
DW _TURNOFFOFFROADMODE,?
|
|||
|
DW _JACKEND,?
|
|||
|
DW _JBCDZ,OR_TOTAL,no_orTS
|
|||
|
assume ds:data
|
|||
|
dw _rullgardin_upp,or_total_text,1
|
|||
|
|
|||
|
assume ds:data2
|
|||
|
dw _wait,60 ;CPW!
|
|||
|
|
|||
|
dw _animation,_clear
|
|||
|
DW _FLASHON,1
|
|||
|
assume ds:data
|
|||
|
DW _PRINT13_NUMBER,OR_total,SW*4/4+16*2/4 ;CP! RUTCENT
|
|||
|
assume ds:data2
|
|||
|
dw _wait,80 ;CPW!
|
|||
|
DW _FLASHOFF,1
|
|||
|
dw _animation,_clear
|
|||
|
dw _TurnOffSpecialMode,?
|
|||
|
dw 0
|
|||
|
|
|||
|
no_orTS DW _PRINT13,NO_or_TEXT,SW*4/4
|
|||
|
ASSUME DS:DATA2
|
|||
|
dw _wait,80 ;CPW!
|
|||
|
CLEARIT
|
|||
|
dw _TurnOffSpecialMode,?
|
|||
|
DW 0
|
|||
|
|
|||
|
BACK_2_OFFROADTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _PRINT13,ZEROQ,SW*(2+2)/4+16*13/4
|
|||
|
DW _COUNTDOWNCONTINUE,?,?,OR_TOTAL
|
|||
|
DW _JMP,AFTER_ORCDTS
|
|||
|
DW 0
|
|||
|
|
|||
|
BREAK_OR_MODETS LABEL WORD
|
|||
|
DW _TURNOFFOFFROADMODE,?
|
|||
|
CLEARIT
|
|||
|
DW 0
|
|||
|
|
|||
|
go_for_some_text db 21 dup (' '),'ALL TARGETS SCORE 1000000 FOR 30 SECONDS',21 dup (' '),255
|
|||
|
OR_total_Text db ' GHOST HUNTER TOTAL',0
|
|||
|
ASSUME DS:DATA
|
|||
|
no_or_text db ' NO BONUS',0
|
|||
|
or_total db ?,?,?,?,?,?,?,?,?,?,?,?
|
|||
|
|
|||
|
;**********************************************************
|
|||
|
|
|||
|
TurboTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _TurnONSpecialMode,?
|
|||
|
DW _TURNONTURBOMODE,?
|
|||
|
DW _RULLGARDIN_UPP,GO_FOR_NISSE_TEXT,-13
|
|||
|
DW _RULLGARDIN_NED,GO_FOR_NISSE_TEXT,16
|
|||
|
DW _RULLGARDIN_UPP,GO_FOR_NISSE_TEXT,-13
|
|||
|
DW _RULLGARDIN_NED,GO_FOR_NISSE_TEXT,16
|
|||
|
CLEARIT
|
|||
|
DW _SCROLL,GRIMSCROLL
|
|||
|
DW _PRINT13,ZEROQ,SW*(2+2)/4+16*13/4
|
|||
|
DW _VAULTEND,?
|
|||
|
dw _countdown,5,0,tm_total ;(the final?) ;CP?
|
|||
|
AFTER_TMCDTS LABEL WORD
|
|||
|
DW _GRIMOFF,?
|
|||
|
CLEARIT
|
|||
|
TurboMode_endingTS Label Word
|
|||
|
DW _TURNOFFTURBOMODE,?
|
|||
|
DW _JACKEND,?
|
|||
|
DW _JBCDZ,TM_TOTAL,no_tmTS
|
|||
|
assume ds:data
|
|||
|
dw _rullgardin_upp,tm_total_text,1
|
|||
|
|
|||
|
assume ds:data2
|
|||
|
dw _wait,60 ;CPW!
|
|||
|
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,1
|
|||
|
DW _PRINT13_NUMBER,tm_total,SW*4/4+16*2/4 ;CP! RUTCENT
|
|||
|
dw _wait,80 ;CPW!
|
|||
|
DW _FLASHOFF,1
|
|||
|
CLEARIT
|
|||
|
dw _TurnOffSpecialMode,?
|
|||
|
dw 0
|
|||
|
no_tmTS DW _PRINT13,NO_tm_TEXT,SW*4/4
|
|||
|
dw _wait,80 ;CPW!
|
|||
|
CLEARIT
|
|||
|
dw _TurnOffSpecialMode,?
|
|||
|
DW 0
|
|||
|
|
|||
|
BACK_2_TURBOTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _PRINT13,ZEROQ,SW*(2+2)/4+16*13/4
|
|||
|
DW _COUNTDOWNCONTINUE,?,?,TM_TOTAL
|
|||
|
DW _JMP,AFTER_TMCDTS
|
|||
|
DW 0
|
|||
|
|
|||
|
BREAK_TURBO_MODETS LABEL WORD
|
|||
|
DW _TURNOFFTURBOMODE,?
|
|||
|
CLEARIT
|
|||
|
DW 0
|
|||
|
|
|||
|
go_for_nisse_text db ' GRIM REAPER',0
|
|||
|
tm_total_Text db ' GRIM REAPER TOTAL ',0
|
|||
|
ASSUME DS:DATA
|
|||
|
no_tm_text db ' NO BONUS',0
|
|||
|
tm_total db ?,?,?,?,?,?,?,?,?,?,?,?
|
|||
|
MILES_TEXT DB ' XXX SCREAMS',0
|
|||
|
|
|||
|
Jump_At_TS label word
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,1
|
|||
|
DW _PRINT11,MILES_TEXT,SW*2*3/4
|
|||
|
DW _WAIT,60
|
|||
|
CLEARIT
|
|||
|
DW _FLASHOFF,?
|
|||
|
DW _FLASHON,9
|
|||
|
dw _print11,jump_at_text,sw*2*3/4
|
|||
|
DW _WAIT,120
|
|||
|
CLEARIT
|
|||
|
DW _FLASHOFF,?
|
|||
|
DW 0
|
|||
|
|
|||
|
Jump_At2_TS label word
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,1
|
|||
|
DW _PRINT11,MILES_TEXT,SW*2*3/4
|
|||
|
DW _WAIT,60
|
|||
|
CLEARIT
|
|||
|
DW _FLASHOFF,?
|
|||
|
DW _FLASHON,9
|
|||
|
dw _print11,jump_at_text2,sw*2*3/4
|
|||
|
DW _WAIT,120
|
|||
|
CLEARIT
|
|||
|
DW _FLASHOFF,?
|
|||
|
DW 0
|
|||
|
|
|||
|
jump_at_text db 'XXX LITES EXTRA BALL',0
|
|||
|
jump_at_text2 db 'XXX LITES ','7'+5,' MILLIONS',0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;*********************** NYA BALL LOST *******************
|
|||
|
|
|||
|
ASSUME DS:DATA
|
|||
|
show_cyclones_text db ' SCREAMS X ',0
|
|||
|
show_or_text db ' GHOST HUNT TOTAL ',0 ;CP!?
|
|||
|
|
|||
|
|
|||
|
|
|||
|
ball_lostTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
|
|||
|
DW _PRINT13,GETTING_SICK_TEXT,SW*2/4*2
|
|||
|
DW _LASTJINGLE,EMPTYJINGLE
|
|||
|
DW _SETDECCOR,70 ;CPW!
|
|||
|
DW _WAITJINGLE2,?
|
|||
|
CLEARIT
|
|||
|
|
|||
|
DW _JBCDZ,BONUSSIFFRORNA,no_bonusTS
|
|||
|
DW _PRINT5,show_bonus_TEXT,SW*1*2/4+16*7/4
|
|||
|
DW _PRINT8_NUMBER_CENT,BONUSSIFFRORNA,7*2*SW/4+TOTCENT
|
|||
|
DW _WAIT,60 ;CPW!
|
|||
|
dw _Sound_Effect,s_MultiLjud,0
|
|||
|
|
|||
|
DW _JBONUSX1,NoBonusXTS
|
|||
|
CLEARIT ;CP! CLEARIT <20>R ON<4F>DIGT BRUTAL!
|
|||
|
DW _BONUS_X_CALCS,?
|
|||
|
DW _PRINT5,BONUS_X_TEXT,SW*1*2/4+16*7/4-4*2
|
|||
|
DW _PRINT8_NUMBER_CENT,BONUSSIFFRORNA,7*2*SW/4+TOTCENT
|
|||
|
DW _WAIT,60 ;CPW!
|
|||
|
dw _Sound_Effect,s_MultiLjud,0
|
|||
|
NoBonusXTS LABEL WORD
|
|||
|
|
|||
|
no_bonusTS LABEL WORD
|
|||
|
DW _JBCDZ,CYCLONECOUNTERBCD,no_cyclonesTS
|
|||
|
CLEARIT
|
|||
|
DW _CALC_CYCLO ;CYCLONESCOREBCD & SIFFRORNA UPPDATERAS!
|
|||
|
DW _PRINT5_NUMBER,CYCLONECOUNTERBCD,SW*1*2/4-17*9/4
|
|||
|
DW _PRINT5_number,HUNDRATUSEN,SW*1*2/4+14*8/4
|
|||
|
DW _PRINT5,show_CYCLONES_TEXT,SW*1*2/4-16*1/4
|
|||
|
DW _PRINT8_NUMBER_CENT,CYCLONESCOREBCD,SW*2*7/4+TOTCENT
|
|||
|
DW _WAIT,120 ;CPW!
|
|||
|
dw _Sound_Effect,s_MultiLjud,0
|
|||
|
CLEARIT
|
|||
|
no_cyclonesTS LABEL WORD
|
|||
|
|
|||
|
;OFF ROAD!!!!!!
|
|||
|
DW _JBCDZ,OR_TOTAL,no_happy_stewartTS
|
|||
|
CLEARIT
|
|||
|
DW _CALC_HAPPY ;CYCLONESCOREBCD & SIFFRORNA UPPDATERAS!
|
|||
|
DW _PRINT5,show_or_TEXT,SW*1*2/4
|
|||
|
DW _PRINT8_NUMBER_CENT,or_TOTAL,SW*2*7/4+TOTCENT
|
|||
|
DW _WAIT,70 ;CPW!
|
|||
|
dw _Sound_Effect,s_MultiLjud,0
|
|||
|
CLEARIT
|
|||
|
no_happy_stewartTS LABEL WORD
|
|||
|
|
|||
|
;TURBO MODE!!!!!!!
|
|||
|
DW _JBCDZ,TM_TOTAL,no_MEGA_LAUGHTS
|
|||
|
CLEARIT
|
|||
|
DW _CALC_MEGA ;CYCLONESCOREBCD & SIFFRORNA UPPDATERAS!
|
|||
|
DW _PRINT5,show_TURBO_TEXT,SW*1*2/4+4
|
|||
|
DW _PRINT8_NUMBER_CENT,TM_TOTAL,SW*2*7/4+TOTCENT
|
|||
|
DW _WAIT,70 ;CPW!
|
|||
|
dw _Sound_Effect,s_MultiLjud,0
|
|||
|
CLEARIT
|
|||
|
no_MEGA_LAUGHTS LABEL WORD
|
|||
|
|
|||
|
DW _JBCDZ,BONUSSIFFRORNA,no_bonus2TS
|
|||
|
DW _PRINT5,show_totalbonus_TEXT,SW*1*2/4+16*4/4
|
|||
|
|
|||
|
DW _PRINT8_NUMBER_CENT,BONUSSIFFRORNA,7*2*SW/4+TOTCENT
|
|||
|
|
|||
|
DW _WAIT,60 ;CPW!
|
|||
|
CLEARIT
|
|||
|
DW _PRINT8_NUMBER,BONUSSIFFRORNA,7*2*SW/4-16*4/4
|
|||
|
DW _FLORPA
|
|||
|
DW _WAIT,25 ;CPW!
|
|||
|
dw _beaten_matrix
|
|||
|
no_bonus2TS LABEL WORD
|
|||
|
DW _KOLLA_XXBALL ;EXEKVERAS ENDAST VID XXBALLE
|
|||
|
;UTF<54>R XBALLES VUNNA UNDER XXBALLEN
|
|||
|
;OCH HOPPAR TILL CHECK_XXBALLE
|
|||
|
;VID EJ XXBALLE: DUMRET
|
|||
|
;VID XXBALLE: N<>STA SPELARE ELLER AVSLUTA
|
|||
|
dw _waitifmulti,2*60 ;cpgnu? (visa poeng lite lengre)
|
|||
|
DW _MATRIXLGT,0
|
|||
|
clearit
|
|||
|
DW _CHANGE_PLAYER
|
|||
|
CLEARIT
|
|||
|
dw _wait,32000 ;BR<42>CKS!
|
|||
|
DW 0
|
|||
|
SORRYNOBONUSTEXT DB ' SORRY ',94,' NO BONUS ',0
|
|||
|
SHOW_TURBO_TEXT DB ' GRIM REAPER TOTAL',0
|
|||
|
|
|||
|
shoot_again_onTS LABEL BYTE ;Turn on shoot again . . .
|
|||
|
CLEARIT
|
|||
|
DW _WAITJINGLE,?
|
|||
|
DW _FLASHON,SHOOT_AGAIN_SPEED
|
|||
|
DW _SHOOT_AGAIN_ONN,1
|
|||
|
DW _PRINT13,SHOOT_AGAIN_TEXT,SW*2/4*2 ;+16*3/4 ;CP!
|
|||
|
DW _NEW_BALL2
|
|||
|
DW _PARTYON,1 ;CP?
|
|||
|
DW 0
|
|||
|
|
|||
|
|
|||
|
out_of_ballsTS LABEL WORD ;<3B>r Stewarts fortfarande borta kanske?
|
|||
|
CLEARIT
|
|||
|
dw _matrixlgt,1
|
|||
|
dw _knacket,?
|
|||
|
DW _SETDECCOR,60
|
|||
|
DW _WAITJINGLE2,?
|
|||
|
dw _flashoff,?
|
|||
|
; dw _wait,1
|
|||
|
|
|||
|
check_xxballTS LABEL WORD
|
|||
|
DW _check_Xxballs ;KOLLA SPELAREN N'S XXBALL.
|
|||
|
;OM XXBALL: G<>R NEWBALL
|
|||
|
;OM EJ XXBALL: HOPPA TILL AFTER_XXBALLSTS
|
|||
|
;KOMMER EJ HIT!
|
|||
|
|
|||
|
|
|||
|
after_xxballsTS LABEL WORD
|
|||
|
clearit
|
|||
|
dw _check_high,?
|
|||
|
DW _MATRIXLGT,0
|
|||
|
DW _2_DEMO_MODE
|
|||
|
dw _wait,30000
|
|||
|
DW 0
|
|||
|
|
|||
|
AfterDemoModeTS Label Word
|
|||
|
DW _MATRIXLGT,0
|
|||
|
dw _wait,20
|
|||
|
dw _setloop,2,?
|
|||
|
DW _INIT_SCORE,?
|
|||
|
DW _JMP,UrbanOverTS
|
|||
|
|
|||
|
Once_MoreTS LABEL WORD
|
|||
|
DW _INIT_SCORE,?
|
|||
|
|
|||
|
GameOverTS LABEL WORD
|
|||
|
SHOWTIME=80
|
|||
|
DW _WAIT,SHOWTIME
|
|||
|
|
|||
|
UrbanOverTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,1
|
|||
|
DW _PRINT13,GAME_OVER_TEXT,SW*2*2/4
|
|||
|
DW _WAIT,30
|
|||
|
DW _FLASHOFF,?
|
|||
|
CLEARIT
|
|||
|
DW _SHOW_SCORE,OFFSET GAMEOVERTS
|
|||
|
dw _loop_,2,offset once_morets
|
|||
|
DW _WAIT,SHOWTIME
|
|||
|
CLEARIT
|
|||
|
DW _WAIT,20
|
|||
|
DW _JMP,ShowHighsTS
|
|||
|
DW 0
|
|||
|
GAME_OVER_TEXT DB ' GAME OVER',0
|
|||
|
;TUBORG!
|
|||
|
|
|||
|
;********************** SLUT P<> BALL LOST *******************
|
|||
|
ASSUME DS:DATA
|
|||
|
showithi macro
|
|||
|
DW _PRINT13,ALLTIME_TEXT,SW*2/4*2+16/4/2
|
|||
|
dw _wait,40
|
|||
|
|
|||
|
CLEARIT
|
|||
|
|
|||
|
DW _FLASHOFF,1
|
|||
|
DW _MATRIXLGT,0
|
|||
|
DW _PRINT13,hi_1,SW*2/4*2
|
|||
|
DW _PRINT13_NUMBER,(offset hi_score_list+(12+3+1)*0),4*SW/4+8*16/4
|
|||
|
DW _PRINT13,(offset hi_score_list+(12+3+1)*0+12),SW*2/4*2+2*16/4
|
|||
|
DW _FLASHON,1
|
|||
|
dw _wait,140
|
|||
|
clearit
|
|||
|
|
|||
|
DW _FLASHOFF,1
|
|||
|
DW _MATRIXLGT,0
|
|||
|
DW _PRINT13,hi_2,SW*2/4*2
|
|||
|
DW _PRINT13_NUMBER,(offset hi_score_list+(12+3+1)*1),4*SW/4+8*16/4
|
|||
|
DW _PRINT13,(offset hi_score_list+(12+3+1)*1+12),SW*2/4*2+2*16/4
|
|||
|
DW _FLASHON,1
|
|||
|
dw _wait,140
|
|||
|
clearit
|
|||
|
|
|||
|
DW _FLASHOFF,1
|
|||
|
DW _MATRIXLGT,0
|
|||
|
DW _PRINT13,hi_3,SW*2/4*2
|
|||
|
DW _PRINT13_NUMBER,(offset hi_score_list+(12+3+1)*2),4*SW/4+8*16/4
|
|||
|
DW _PRINT13,(offset hi_score_list+(12+3+1)*2+12),SW*2/4*2+2*16/4
|
|||
|
DW _FLASHON,1
|
|||
|
dw _wait,140
|
|||
|
clearit
|
|||
|
|
|||
|
DW _FLASHOFF,1
|
|||
|
DW _MATRIXLGT,0
|
|||
|
DW _PRINT13,hi_4,SW*2/4*2
|
|||
|
DW _PRINT13_NUMBER,(offset hi_score_list+(12+3+1)*3),4*SW/4+8*16/4
|
|||
|
DW _PRINT13,(offset hi_score_list+(12+3+1)*3+12),SW*2/4*2+2*16/4
|
|||
|
DW _FLASHON,1
|
|||
|
dw _wait,140
|
|||
|
clearit
|
|||
|
DW _FLASHOFF,1
|
|||
|
endm
|
|||
|
|
|||
|
|
|||
|
ShowInfoTS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
clearit
|
|||
|
DW _rullgardin_ned,PLAY_TEXT,1
|
|||
|
dw _wait,40*3
|
|||
|
DW _MATRIXLGT,0
|
|||
|
CLEARIT
|
|||
|
DW _PRINT13,JACK_TEXT,SW*4/4
|
|||
|
dw _print13_number,jackvalue,SW*4/4+8*16/4
|
|||
|
DW _FLASHON,1
|
|||
|
dw _wait,40*3
|
|||
|
DW _FLASHOFF,1
|
|||
|
CLEARIT
|
|||
|
dw _rullgardin_upp,BONUS_TEXT,1
|
|||
|
dw _wait,40*3
|
|||
|
CLEARIT
|
|||
|
showithi
|
|||
|
CLEARIT
|
|||
|
|
|||
|
dw _print5,playerstext,sw*2*2/4+16*1/4
|
|||
|
dw _print5,ballstext,sw*2*10/4+16*1/4
|
|||
|
|
|||
|
DW 0
|
|||
|
|
|||
|
ShowHighsTS LABEL WORD
|
|||
|
;TEXTER
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,1
|
|||
|
DW _PRINT13,PF_TEXT,SW*2/4*2+4+2
|
|||
|
dw _wait,120
|
|||
|
DW _CLEAR2
|
|||
|
DW _FLASHOFF,1
|
|||
|
dw _rullgardin_upp,TRS_TEXT,1
|
|||
|
dw _wait,90
|
|||
|
CLEARIT
|
|||
|
DW _FLASHON,1
|
|||
|
DW _PRINT13,PL_TEXT,SW*2/4*2+3*4
|
|||
|
dw _wait,90
|
|||
|
DW _CLEAR3
|
|||
|
DW _FLASHOFF,1
|
|||
|
;SCROLLA
|
|||
|
clearit
|
|||
|
DW _SCROLL,SCROLL_TEXT1
|
|||
|
;VISA HIGHSCORE
|
|||
|
showithi
|
|||
|
;DI UPP <20> NED!
|
|||
|
CLEARIT
|
|||
|
; dw _rullgardin_NED,DIGITAL_TEXT,16
|
|||
|
; dw _rullgardin_upp,DIGITAL_TEXT,-13
|
|||
|
; dw _wait,40
|
|||
|
; CLEARIT
|
|||
|
dw _rullgardin_NED,fld_TEXT,16
|
|||
|
dw _rullgardin_upp,fld_TEXT,-13
|
|||
|
dw _wait,40
|
|||
|
;SCROLLA SISTA
|
|||
|
DW _SCROLL,SCROLL_TEXT2
|
|||
|
CLEARIT
|
|||
|
DW _JMP,ShowHighsTS
|
|||
|
dw 0
|
|||
|
|
|||
|
|
|||
|
ShowPlayersTS label word
|
|||
|
clearit
|
|||
|
dw _print5,playerstext,sw*2*2/4+16*1/4
|
|||
|
dw _print5,ballstext,sw*2*10/4+16*1/4
|
|||
|
dw 0
|
|||
|
|
|||
|
first_no_of_playersTS LABEL WORD
|
|||
|
clearit
|
|||
|
dw _print5,playerstext,sw*2*2/4+16*1/4
|
|||
|
DW _PRINT13,NOLLA,SW*2*2/4+16*19/4
|
|||
|
no_of_playersTS label word
|
|||
|
dw _print5,no_of_players_text,sw*2*10/4+16*1/4
|
|||
|
DW _WAIT_GAME_ON,?
|
|||
|
dw 0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
BonusHeldTS label word
|
|||
|
clearit
|
|||
|
DW _PRINT13,BonusHeld_Text,SW*2/4*2
|
|||
|
DW _WAIT,30
|
|||
|
clearit
|
|||
|
dw 0
|
|||
|
|
|||
|
BonusHeld_text db ' B O N U S H E L D ',0
|
|||
|
LIT_XBALL_TEXT DB ' GET THE EXTRA BALL ',0
|
|||
|
|
|||
|
|
|||
|
tiltTS LABEL WORD
|
|||
|
DW _TILTED,?
|
|||
|
CLEARIT
|
|||
|
DW _PRINT13,TILT_TEXT,sw*2/4*2+16*0/4
|
|||
|
DW _WAIT,32767
|
|||
|
DW _PRINT13,CPTEXT,sw*2/4*2+16*0/4
|
|||
|
DW 0
|
|||
|
|
|||
|
TILT_TEXT DB ' TILT TILT TILT',0
|
|||
|
CPTEXT DB 'EVER HEARD OF TILT?',0
|
|||
|
last_text db ' ',0
|
|||
|
flashlast db ' ',0
|
|||
|
slutsiffra db '0',0
|
|||
|
startext db '*',0
|
|||
|
last_pos dw 0
|
|||
|
|
|||
|
;***********************************************************
|
|||
|
|
|||
|
GETTING_SICK_TEXT DB ' DOWN THE DRAIN',0
|
|||
|
|
|||
|
PARTY_ON_TEXT DB ' KUK-AMIGA! ',0 ;N<>men Gabriel hur du skriver!!!
|
|||
|
ZEROQ DB '0'+7,0
|
|||
|
SHOOT_AGAIN_TEXT DB 'SHOOT AGAIN PLAYER ',0
|
|||
|
|
|||
|
NO_OF_PLAYERS_TEXT DB 'PLAYERS X',0
|
|||
|
NOLLA DB '7',0
|
|||
|
show_bonus_TEXT DB 'BONUS',0
|
|||
|
BONUS_X_TEXT DB 'BONUS*X*??',0
|
|||
|
show_totalbonus_TEXT DB 'TOTAL*BONUS',0
|
|||
|
|
|||
|
|
|||
|
fld_TEXT DB ' FRONTLINE DESIGN',0
|
|||
|
|
|||
|
PF_TEXT DB 'PINBALL FANTASIES',0
|
|||
|
TRS_TEXT DB ' THE REAL SIMULATOR',0
|
|||
|
PL_TEXT DB "STONES N BONES",0
|
|||
|
SCROLL_TEXT1 DB 21 DUP (' '),'ADD PLAYERS WITH F1 TO F8 OR ENTER',21 DUP (' ')
|
|||
|
DB 'WINNERS DO NOT USE DRUGS',21 DUP (' '),255
|
|||
|
ALLTIME_TEXT DB 'ALL TIME HIGHSCORES',0
|
|||
|
SCROLL_TEXT2 DB 21 DUP (' '),'FLIP WITH LEFT AND RIGHT ALT SHIFT OR CTRL KEYS',21 DUP (' ')
|
|||
|
DB 'PUSH TABLE WITH SPACE',21 DUP (' ')
|
|||
|
DB 'CONTROL SPRING WITH DOWN ARROW KEY OR MOUSE',21 DUP (' ')
|
|||
|
DB 'WINNERS DO NOT USE DRUGS',21 DUP (' ')
|
|||
|
DB 'P PAUSES GAME AND M TOGGLES INGAME MUSIC ON AND OFF',21 DUP (' ')
|
|||
|
DB 'ESC EXITS AND SAVES NEW HIGHSCORES',21 DUP (' '),255
|
|||
|
DIGITAL_TEXT DB ' DIGITAL ILLUSIONS',0
|
|||
|
|
|||
|
JACK_TEXT DB 'JACKPOT IS',0
|
|||
|
BONUS_TEXT DB ' YOU HAVE ?X BONUS',0 ;11
|
|||
|
PLAY_TEXT DB ' PLAYER 8 BALL 8 ',0 ;8,18
|
|||
|
|
|||
|
INFO_TEXT DB 21 DUP (' ')
|
|||
|
db ''
|
|||
|
DB 21 DUP (1),255
|
|||
|
|
|||
|
playerstext db 'PLAYER 8',0 ;8=1 (L<>S EKVATIONEN!)
|
|||
|
BALLSTEXT DB 'BALL*8***',0 ;8=1
|
|||
|
|
|||
|
hajjskar db 'HIGHSCORE PL X ',92,' ',93,0
|
|||
|
stjaernor db '********************',0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
BONUSX2TS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_BONUSX2
|
|||
|
CLEARIT
|
|||
|
DW 0
|
|||
|
|
|||
|
|
|||
|
BONUSX4TS LABEL WORD
|
|||
|
CLEARIT
|
|||
|
ASSUME DS:DATA2
|
|||
|
DW _ANIMATION,_BONUSX4
|
|||
|
CLEARIT
|
|||
|
DW 0
|
|||
|
|
|||
|
|
|||
|
DATA ENDS
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;*************************** Animations **************************************
|
|||
|
;******************************************************************************
|
|||
|
DATA2 SEGMENT PARA PUBLIC 'DATA'
|
|||
|
|
|||
|
dw 1
|
|||
|
dw 4*4
|
|||
|
_clear dw clear2,1
|
|||
|
dw clear3,1
|
|||
|
dw clear4,1
|
|||
|
dw clear5,1
|
|||
|
|
|||
|
|
|||
|
BONUSTIMEFIRST=25
|
|||
|
BONUSTIME=3
|
|||
|
BONUSTIMELAST=60
|
|||
|
DW 1
|
|||
|
DW 12*4
|
|||
|
_BONUSX2 LABEL WORD
|
|||
|
DW A_01_00,BONUSTIMEFIRST
|
|||
|
DW A_01_01,BONUSTIME
|
|||
|
DW A_01_02,BONUSTIME
|
|||
|
DW A_01_03,BONUSTIME
|
|||
|
DW A_01_04,BONUSTIME
|
|||
|
DW A_01_05,BONUSTIME
|
|||
|
DW A_01_06,BONUSTIME
|
|||
|
DW A_01_07,BONUSTIME
|
|||
|
DW A_01_08,BONUSTIME
|
|||
|
DW A_01_09,BONUSTIME
|
|||
|
DW A_01_10,BONUSTIME
|
|||
|
DW A_01_11,BONUSTIMELAST
|
|||
|
|
|||
|
DW 1
|
|||
|
DW 12*4
|
|||
|
_BONUSX4 LABEL WORD
|
|||
|
DW A_01_00,BONUSTIMEFIRST
|
|||
|
DW A_02_00,BONUSTIME
|
|||
|
DW A_02_01,BONUSTIME
|
|||
|
DW A_02_02,BONUSTIME
|
|||
|
DW A_02_03,BONUSTIME
|
|||
|
DW A_02_04,BONUSTIME
|
|||
|
DW A_02_05,BONUSTIME
|
|||
|
DW A_02_06,BONUSTIME
|
|||
|
DW A_02_07,BONUSTIME
|
|||
|
DW A_02_08,BONUSTIME
|
|||
|
DW A_02_09,BONUSTIME
|
|||
|
DW A_02_10,BONUSTIMELAST
|
|||
|
|
|||
|
DW 1
|
|||
|
DW 12*4
|
|||
|
_BONUSX6 LABEL WORD
|
|||
|
DW A_01_00,BONUSTIMEFIRST
|
|||
|
DW A_03_00,BONUSTIME
|
|||
|
DW A_03_01,BONUSTIME
|
|||
|
DW A_03_02,BONUSTIME
|
|||
|
DW A_03_03,BONUSTIME
|
|||
|
DW A_03_04,BONUSTIME
|
|||
|
DW A_03_05,BONUSTIME
|
|||
|
DW A_03_06,BONUSTIME
|
|||
|
DW A_03_07,BONUSTIME
|
|||
|
DW A_03_08,BONUSTIME
|
|||
|
DW A_03_09,BONUSTIME
|
|||
|
DW A_03_10,BONUSTIMELAST
|
|||
|
|
|||
|
DW 1
|
|||
|
DW 12*4
|
|||
|
_BONUSX8 LABEL WORD
|
|||
|
DW A_01_00,BONUSTIMEFIRST
|
|||
|
DW A_04_00,BONUSTIME
|
|||
|
DW A_04_01,BONUSTIME
|
|||
|
DW A_04_02,BONUSTIME
|
|||
|
DW A_04_03,BONUSTIME
|
|||
|
DW A_04_04,BONUSTIME
|
|||
|
DW A_04_05,BONUSTIME
|
|||
|
DW A_04_06,BONUSTIME
|
|||
|
DW A_04_07,BONUSTIME
|
|||
|
DW A_04_08,BONUSTIME
|
|||
|
DW A_04_09,BONUSTIME
|
|||
|
DW A_04_10,BONUSTIMELAST
|
|||
|
|
|||
|
DW 1
|
|||
|
DW 12*4
|
|||
|
_BONUSX10 LABEL WORD
|
|||
|
DW A_01_00,BONUSTIMEFIRST
|
|||
|
DW A_05_00,BONUSTIME
|
|||
|
DW A_05_01,BONUSTIME
|
|||
|
DW A_05_02,BONUSTIME
|
|||
|
DW A_05_03,BONUSTIME
|
|||
|
DW A_05_04,BONUSTIME
|
|||
|
DW A_05_05,BONUSTIME
|
|||
|
DW A_05_06,BONUSTIME
|
|||
|
DW A_05_07,BONUSTIME
|
|||
|
DW A_05_08,BONUSTIME
|
|||
|
DW A_05_09,BONUSTIME
|
|||
|
DW A_05_10,BONUSTIMELAST
|
|||
|
|
|||
|
FRAMETIME=3
|
|||
|
DW 0
|
|||
|
DW 4 ;ANTAL FJANTIGA FUJUMPVARV!!!!!
|
|||
|
DW 17*4-4
|
|||
|
_JACKPOT LABEL WORD
|
|||
|
DW A_06_00,FRAMETIME
|
|||
|
DW A_06_01,FRAMETIME
|
|||
|
DW A_06_02,FRAMETIME
|
|||
|
DW A_06_03,FRAMETIME
|
|||
|
DW A_06_04,FRAMETIME
|
|||
|
DW A_06_05,FRAMETIME
|
|||
|
DW A_06_06,FRAMETIME
|
|||
|
DW A_06_07,FRAMETIME
|
|||
|
DW A_06_08,FRAMETIME
|
|||
|
DW A_06_09,FRAMETIME
|
|||
|
DW A_06_10,FRAMETIME
|
|||
|
DW A_06_11,FRAMETIME
|
|||
|
DW A_06_12,FRAMETIME
|
|||
|
DW A_06_13,FRAMETIME
|
|||
|
DW A_06_14,FRAMETIME
|
|||
|
DW A_06_15,FRAMETIME
|
|||
|
DW A_06_16,FRAMETIME
|
|||
|
|
|||
|
|
|||
|
|
|||
|
FRAMETIME=3
|
|||
|
DW 1
|
|||
|
DW 8*4
|
|||
|
_EXTRABALL LABEL WORD
|
|||
|
DW A_07_00,FRAMETIME*9
|
|||
|
DW A_07_01,FRAMETIME
|
|||
|
DW A_07_02,FRAMETIME
|
|||
|
DW A_07_03,FRAMETIME
|
|||
|
DW A_07_04,FRAMETIME
|
|||
|
DW A_07_05,FRAMETIME
|
|||
|
DW A_07_06,FRAMETIME
|
|||
|
DW A_07_07,FRAMETIME*17
|
|||
|
|
|||
|
FRAMETIME=1
|
|||
|
DW 1
|
|||
|
DW 16*4
|
|||
|
_MILLION LABEL WORD
|
|||
|
DW A_09_00,FRAMETIME
|
|||
|
DW A_09_01,FRAMETIME
|
|||
|
DW A_09_02,FRAMETIME
|
|||
|
DW A_09_03,FRAMETIME
|
|||
|
DW A_09_04,FRAMETIME
|
|||
|
DW A_09_05,FRAMETIME
|
|||
|
DW A_09_06,FRAMETIME
|
|||
|
DW A_09_07,FRAMETIME
|
|||
|
DW A_09_08,FRAMETIME
|
|||
|
DW A_09_09,FRAMETIME
|
|||
|
DW A_09_10,FRAMETIME
|
|||
|
DW A_09_11,FRAMETIME
|
|||
|
DW A_09_12,FRAMETIME
|
|||
|
DW A_09_13,FRAMETIME
|
|||
|
DW A_09_14,FRAMETIME
|
|||
|
DW A_09_15,120
|
|||
|
|
|||
|
FRAMETIME=1
|
|||
|
FRAMETIMELAST=30
|
|||
|
DW 1
|
|||
|
DW 8*4
|
|||
|
_5 LABEL WORD
|
|||
|
DW A_10_00,FRAMETIME
|
|||
|
DW A_10_01,FRAMETIME
|
|||
|
DW A_10_02,FRAMETIME
|
|||
|
DW A_10_03,FRAMETIME
|
|||
|
DW A_10_04,FRAMETIME
|
|||
|
DW A_10_05,FRAMETIME
|
|||
|
DW A_10_06,FRAMETIME
|
|||
|
DW A_10_07,FRAMETIMELAST
|
|||
|
|
|||
|
FRAMETIME=1
|
|||
|
DW 1
|
|||
|
DW 8*4
|
|||
|
_10 LABEL WORD
|
|||
|
DW A_10200,FRAMETIME
|
|||
|
DW A_10201,FRAMETIME
|
|||
|
DW A_10202,FRAMETIME
|
|||
|
DW A_10203,FRAMETIME
|
|||
|
DW A_10204,FRAMETIME
|
|||
|
DW A_10205,FRAMETIME
|
|||
|
DW A_10206,FRAMETIME
|
|||
|
DW A_10207,FRAMETIMELAST
|
|||
|
|
|||
|
DW 1
|
|||
|
DW 8*4
|
|||
|
_15 LABEL WORD
|
|||
|
DW A_11_00,FRAMETIME
|
|||
|
DW A_11_01,FRAMETIME
|
|||
|
DW A_11_02,FRAMETIME
|
|||
|
DW A_11_03,FRAMETIME
|
|||
|
DW A_11_04,FRAMETIME
|
|||
|
DW A_11_05,FRAMETIME
|
|||
|
DW A_11_06,FRAMETIME
|
|||
|
DW A_11_07,FRAMETIMELAST
|
|||
|
|
|||
|
DW 1
|
|||
|
DW 8*4
|
|||
|
_20 LABEL WORD
|
|||
|
DW A_11200,FRAMETIME
|
|||
|
DW A_11201,FRAMETIME
|
|||
|
DW A_11202,FRAMETIME
|
|||
|
DW A_11203,FRAMETIME
|
|||
|
DW A_11204,FRAMETIME
|
|||
|
DW A_11205,FRAMETIME
|
|||
|
DW A_11206,FRAMETIME
|
|||
|
DW A_11207,FRAMETIMELAST
|
|||
|
|
|||
|
|
|||
|
extrn clear2,clear3,clear4,clear5:byte
|
|||
|
extrn a_01_00,a_01_01,a_01_02,a_01_03,a_01_04,a_01_05,a_01_06 ,A_01_07 ,a_01_08 ,a_01_09 ,a_01_10 ,a_01_11
|
|||
|
extrn a_02_00,a_02_01,a_02_02,a_02_03,a_02_04,a_02_05,a_02_06 ,A_02_07 ,a_02_08 ,a_02_09 ,a_02_10
|
|||
|
extrn a_03_00,a_03_01,a_03_02,a_03_03,a_03_04,a_03_05,a_03_06 ,A_03_07 ,a_03_08 ,a_03_09 ,a_03_10
|
|||
|
extrn a_04_00,a_04_01,a_04_02,a_04_03,a_04_04,a_04_05,a_04_06 ,A_04_07 ,a_04_08 ,a_04_09 ,a_04_10
|
|||
|
extrn a_05_00,a_05_01,a_05_02,a_05_03,a_05_04,a_05_05,a_05_06 ,A_05_07 ,a_05_08 ,a_05_09 ,a_05_10
|
|||
|
extrn a_06_00,a_06_01,a_06_02,a_06_03,a_06_04,a_06_05,a_06_06 ,A_06_07 ,a_06_08 ,a_06_09 ,a_06_10 ,A_06_11 ,A_06_12 ,A_06_13 ,A_06_14 ,A_06_15,A_06_16
|
|||
|
extrn a_07_00,a_07_01,a_07_02,a_07_03,a_07_04,a_07_05,a_07_06 ,A_07_07
|
|||
|
extrn a_09_00,a_09_01,a_09_02,a_09_03,a_09_04,a_09_05,a_09_06 ,A_09_07 ,a_09_08 ,a_09_09 ,a_09_10 ,A_09_11 ,A_09_12 ,A_09_13 ,A_09_14 ,A_09_15
|
|||
|
extrn a_10_00,a_10_01,a_10_02,a_10_03,a_10_04,a_10_05,a_10_06 ,A_10_07
|
|||
|
extrn a_10200,a_10201,a_10202,a_10203,a_10204,a_10205,a_10206 ,A_10207
|
|||
|
extrn a_11_00,a_11_01,a_11_02,a_11_03,a_11_04,a_11_05,a_11_06 ,A_11_07
|
|||
|
extrn a_11200,a_11201,a_11202,a_11203,a_11204,a_11205,a_11206 ,A_11207
|
|||
|
|
|||
|
DATA2 ENDS
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;** **
|
|||
|
;** C O D E **
|
|||
|
;** **
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
CODE SEGMENT PARA PUBLIC 'CODE'
|
|||
|
ASSUME CS:CODE,DS:DATA
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;*********************************** INITS ************************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
JUST_ONE_TIME_RESET_TABLE:
|
|||
|
CALL SLACK_LIGHTS
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
WHEN_NEW_GAME_RESET_TABLE:
|
|||
|
CALL SLACK_LIGHTS
|
|||
|
CALL RESETFLASHLIST
|
|||
|
MOVEBCD JACKVALUE,JACKINIT
|
|||
|
CALL RESET_VARS
|
|||
|
CALL UPDATE_P_STRUC_4_ALL_PLAYERS
|
|||
|
MOV XBALLS,0
|
|||
|
MOV XxballE,FALSE
|
|||
|
MOV FROM_DEMO_MODE,TRUE
|
|||
|
;cleara slutsiffrorna (di alla!) (F<>r knacket allts<74>!!!)
|
|||
|
push es
|
|||
|
move es,ds
|
|||
|
MOV di,offset last_text
|
|||
|
mov al,' '
|
|||
|
mov cx,8*2
|
|||
|
rep stosb
|
|||
|
MOV di,offset flashlast
|
|||
|
mov al,' '
|
|||
|
mov cx,8*2
|
|||
|
rep stosb
|
|||
|
pop es
|
|||
|
RETN
|
|||
|
|
|||
|
WHEN_NEW_BALL_RESET_TABLE:
|
|||
|
; CALL KILL_FLASHOR ;DOT MATRIX FLASH RESET
|
|||
|
CALL SLACK_LIGHTS
|
|||
|
CALL RESETFLASHLIST
|
|||
|
CALL RESET_VARS
|
|||
|
CALL P_STRUC_2_VARS
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
RESET_VARS:
|
|||
|
MOV BONUS_TEXT[11],'8'
|
|||
|
MOV play_TEXT[18],'8'
|
|||
|
MOV play_TEXT[8],'8'
|
|||
|
|
|||
|
NIL AX
|
|||
|
MOVE ES,DS
|
|||
|
MOV DI,OFFSET SIFFRORNA
|
|||
|
MOV CX,6
|
|||
|
REP STOSW
|
|||
|
MOV DI,OFFSET BONUSSIFFRORNA
|
|||
|
MOV CX,6
|
|||
|
REP STOSW
|
|||
|
MOV DI,OFFSET CYCLONECOUNTERBCD
|
|||
|
MOV CX,6
|
|||
|
REP STOSW
|
|||
|
MOVEBCD OR_TOTAL,BCD0
|
|||
|
MOVEBCD TM_TOTAL,BCD0
|
|||
|
|
|||
|
NIL AL
|
|||
|
MOV DI,OFFSET SB_DISABLE_AREA
|
|||
|
MOV CX,11
|
|||
|
REP STOSB
|
|||
|
|
|||
|
NIL AX
|
|||
|
MOV DI,OFFSET SKILLSCOREBCD
|
|||
|
MOV CX,6
|
|||
|
REP STOSW
|
|||
|
|
|||
|
MOVEBCD SULP_SCORE,BCD0
|
|||
|
|
|||
|
MOV BALLHIGH,FALSE
|
|||
|
MOV HOLDBONUSFLAG,FALSE
|
|||
|
MOV KEY_DISABLED,FALSE
|
|||
|
MOV SB_DISABLED,FALSE
|
|||
|
MOV KEY_ROL_DISABLED,TRUE
|
|||
|
MOV RIP_ROL_DISABLED,FALSE
|
|||
|
MOV LEFT_RAMP_DOWN_COUNTER,0
|
|||
|
MOV GHOSTCOUNTER,0
|
|||
|
MOV GHOST_FLASHING,FALSE
|
|||
|
MOV TOWER_OPEN,FALSE
|
|||
|
|
|||
|
PUT_GATE_POS_LOW GATE3
|
|||
|
PUT_GATE_POS_LOW GATE5
|
|||
|
|
|||
|
CALL INIT_TOWER
|
|||
|
CALL INIT_VAULT
|
|||
|
CALL INIT_WELL
|
|||
|
|
|||
|
MOV NEXTJUMP,10
|
|||
|
MOV CYCLONECOUNTER,0
|
|||
|
MOV AX,SLUMP_COUNTERN
|
|||
|
NIL AH
|
|||
|
MOV BL,3
|
|||
|
DIV BL
|
|||
|
INC AH
|
|||
|
MOV SKILLKEY,AH
|
|||
|
LIGHTFLASH AH,SKILLSPEED
|
|||
|
MOV KICK_BACK_FLASHING,FALSE
|
|||
|
MOV MB_FLASHING,FALSE
|
|||
|
MOV _2X_SCREAMS_FLASHING,FALSE
|
|||
|
MOV SULP_FLASHING,FALSE
|
|||
|
MOV LOCK1_FLASHING,FALSE
|
|||
|
MOV LOCK2_FLASHING,FALSE
|
|||
|
MOV SULPSYNCER,0
|
|||
|
MOV TBMILLIONFLASHING,0
|
|||
|
MOV TB5MFLASHING,0
|
|||
|
MOV TBSYNCER,0
|
|||
|
MOV XBALLFLASHING,FALSE
|
|||
|
MOV JACKPOTFLASHING,FALSE
|
|||
|
MOV SJACKPOTFLASHING,FALSE
|
|||
|
MOV HOLDBONUSFLASHING,FALSE
|
|||
|
MOV DOUBLEBONUSFLASHING,FALSE
|
|||
|
MOV HOLDBONUSFLAG,FALSE
|
|||
|
MOV BPOINTER,39 ;MULTIPEL BONUS POINTER
|
|||
|
MOV HIGH_VAULT,FALSE ;NOT KICKBACK IN THE VAULT?
|
|||
|
MOV TBNEXT,0
|
|||
|
MOV TURBOMODE,FALSE
|
|||
|
MOV OFFROADMODE,FALSE
|
|||
|
MOV MBDOWNCOUNTER,0
|
|||
|
MOV SULPDOWNCOUNTER,0
|
|||
|
MOV COMBODOWNCOUNTER,0
|
|||
|
MOV COMBOSTAGE,0
|
|||
|
MOV TOWERHUNTMODE,FALSE
|
|||
|
MOV TOWERHUNTSTAGE,0
|
|||
|
MOV TOWERHUNTDOWNCOUNTER,0
|
|||
|
MOV MULTIDEMONDOWNCOUNTER,0
|
|||
|
MOV MULTIDEMONMODE,FALSE
|
|||
|
MOV LOCKVAULTFLASHING,FALSE
|
|||
|
MOV LOCKWELLFLASHING,FALSE
|
|||
|
MOV HOLDMULTICOUNTER,FALSE
|
|||
|
;H<>R VAR DEN! ; mov paRTYFLASh,false
|
|||
|
MOV DEMONFLASHING,FALSE
|
|||
|
MOV FIX_TELEPORT_BUG,FALSE ;OVERRIDE-VARIABEL!
|
|||
|
MOV GHOST_INH_SB,FALSE
|
|||
|
MOV BONUS_X,1
|
|||
|
MOV IN_VAULT,FALSE ;TILT-BUG-FIX
|
|||
|
MOV IN_WELL,FALSE ;TILT-BUG-FIX
|
|||
|
MOV IN_TOWER,FALSE ;TILT-BUG-FIX
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
|
|||
|
|
|||
|
DEMO_MUSIC PROC NEAR
|
|||
|
CMP HIGHSCORE,TRUE
|
|||
|
; JE OOPS_HIGH ;CP!
|
|||
|
PLAYJINGLE S_NOHIGH
|
|||
|
MOV AL,S_NOHIGH[2]
|
|||
|
MOV LASTPRIORITY,AL
|
|||
|
MOV LASTJINGLE,9 ;9=NOHIGH ;SVEN
|
|||
|
RETN
|
|||
|
DEMO_MUSIC ENDP
|
|||
|
|
|||
|
GAME_MUSIC PROC NEAR
|
|||
|
PLAYJINGLE S_SPRING1
|
|||
|
MOV AL,S_SPRING1+2
|
|||
|
MOV LASTPRIORITY,AL
|
|||
|
MOV LASTJINGLE,0
|
|||
|
RETN
|
|||
|
GAME_MUSIC ENDP
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;******************************** LOOSE BALL **********************************
|
|||
|
;******************************************************************************
|
|||
|
LOOSE_BALL PROC NEAR
|
|||
|
MOV LOOSING,TRUE
|
|||
|
MOV SCREENFORCE2,576-SH_LO+SPLH ;CP?
|
|||
|
CMP HI_RES,TRUE
|
|||
|
JNE NOTHIRES16
|
|||
|
MOV SCREENFORCE2,576-SH_HI+SPLH ;CP?
|
|||
|
NOTHIRES16:
|
|||
|
SETBALLPOS DROPX,DROPY,0,0,FALSE
|
|||
|
MOV HOLDSTILL,TRUE
|
|||
|
MOV ALLOWFLIP,FALSE ;KILL FLIPPERS!
|
|||
|
|
|||
|
ADDTASK SOUNDRINNER
|
|||
|
|
|||
|
MOV SPECIALMODE,FALSE
|
|||
|
ENDFLASH 38 ;GRIM OFF! ;CP.
|
|||
|
LIGHTOFF 38
|
|||
|
|
|||
|
MOV CURRENT_PRIORITY,0
|
|||
|
EFFECT LOSTBALL
|
|||
|
MOV LASTLOOPVAL,0
|
|||
|
RETN
|
|||
|
|
|||
|
SOUNDRINNER:
|
|||
|
WAITSYNCS 5
|
|||
|
SOUNDEFFECT SRINNER,0
|
|||
|
SUICIDE
|
|||
|
|
|||
|
_FLORPA:
|
|||
|
MOV CS:LB6CNT,0 ;RESET F<>RDR<44>JNINGS-R<>KNAREN
|
|||
|
MOV ADDORPEK,OFFSET ADDOR ;STARTA MED SISTA NUFFRAN
|
|||
|
MOV BONUSPEK,OFFSET BONUSSIFFRORNA+11
|
|||
|
|
|||
|
MOV SI,OFFSET BONUSSIFFRORNA ;SPARA BONUSSIFFRORNA
|
|||
|
MOV DI,OFFSET TEMPSIFFRORNA
|
|||
|
MOVE ES,DS
|
|||
|
MOV CX,6
|
|||
|
REP MOVSW
|
|||
|
|
|||
|
MOV DOTRUT,OFFSET DO_FLORPA
|
|||
|
|
|||
|
ADD BX,2
|
|||
|
CMP WORD PTR [BX],0
|
|||
|
JNE _NEXTp_5
|
|||
|
MOV BX,0
|
|||
|
_NEXTp_5:
|
|||
|
MOV NEXT_A,BX
|
|||
|
RETN
|
|||
|
PLIPPA_SCORE:
|
|||
|
mov si,offset siffrorna
|
|||
|
mov bx,336*2/4+(320-12*16)/4 ;h<>ger justerad!
|
|||
|
MOVE ES,CS
|
|||
|
CALL DWORD PTR ES:PEKOR
|
|||
|
MOV SI,0
|
|||
|
RETN
|
|||
|
|
|||
|
LB6CNT DW ?
|
|||
|
DO_FLORPA:
|
|||
|
INC CS:LB6CNT
|
|||
|
CMP CS:LB6CNT,4 ;CPW!
|
|||
|
JE LB6CNTOK
|
|||
|
MOV SI,75
|
|||
|
RETN
|
|||
|
LB6CNTOK:
|
|||
|
MOV CS:LB6CNT,0
|
|||
|
|
|||
|
DO_IT_AGAIN_AND_DO_IT_NOW:
|
|||
|
MOV BX,BONUSPEK
|
|||
|
MOV AL,[BX]
|
|||
|
OR AL,AL ;IS DIGIT ZERO?
|
|||
|
JZ DIGIT_IS_ZERO
|
|||
|
DEC BYTE PTR [BX] ;R<>KNA NED BONUSEN
|
|||
|
JNZ NO_WAITS_TODAY
|
|||
|
|
|||
|
IFZEROBCD BONUSSIFFRORNA
|
|||
|
JNC NO_WAITS_TODAY
|
|||
|
|
|||
|
MOV CS:LB6CNT,-10 ;CPW!
|
|||
|
NO_WAITS_TODAY:
|
|||
|
|
|||
|
MOV SI,ADDORPEK ;R<>KNA UPP PO<50>NGEN
|
|||
|
MOV DI,OFFSET SIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
|
|||
|
SOUNDEFFECT S_SCORELJUD,0
|
|||
|
|
|||
|
JMP STEP_DONE
|
|||
|
|
|||
|
DIGIT_IS_ZERO:
|
|||
|
;FLER SIFFROR?
|
|||
|
INC ADDORPEK ;NEXT DIGIT IN PO<50>NGEN
|
|||
|
CMP ADDORPEK,OFFSET ADDOR+12
|
|||
|
JE NO_MORE_NUFFROR
|
|||
|
DEC BONUSPEK ;NEXT DIGIT IN BONUS
|
|||
|
JMP DO_IT_AGAIN_AND_DO_IT_NOW
|
|||
|
|
|||
|
STEP_DONE:
|
|||
|
;SHOW BONUSSIFFRORNA & SIFFRORNA
|
|||
|
MOV SI_siffror,OFFSET BONUSSIFFRORNA
|
|||
|
MOV DI_siffror,7*2*SW/4-16*4/4 ;10 RADER NED, 8 (12-4) TECKEN IN P<> RADEN!!
|
|||
|
MOV TABORT_DIOVRE_FNT,0
|
|||
|
MOV PRINTTASK,OFFSET PRINT8_task
|
|||
|
CALL PLIPPA_SCORE
|
|||
|
MOV SI,75 ;AVINSTALLERA EJ!
|
|||
|
RETN
|
|||
|
|
|||
|
NO_MORE_NUFFROR:
|
|||
|
mov clear_box_start,7*2*SW/4
|
|||
|
mov clear_box_bredd,16*(12-1)/4-16*4/4
|
|||
|
mov clear_box_hojd,10
|
|||
|
CALL clear_box2
|
|||
|
MOV SI,0 ;AVINSTALLERA!
|
|||
|
RETN
|
|||
|
|
|||
|
;******************************* ARNESSON
|
|||
|
|
|||
|
|
|||
|
disa dw ?
|
|||
|
playerQ db ?
|
|||
|
hi_pos dw ?
|
|||
|
_check_high:
|
|||
|
MOV SISA,1
|
|||
|
mov al,players
|
|||
|
mov cs:playerQ,0
|
|||
|
MOV CS:DISA,0
|
|||
|
MOV DOTRUT,offset SPINTSEL_IN_HIGH
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
spintsel_in_high:
|
|||
|
|
|||
|
LEA SI,PLAYER_AREA.P_SIFFRORNA
|
|||
|
|
|||
|
MOV CX,4
|
|||
|
|
|||
|
add si,cs:disa
|
|||
|
add cs:disa,size player_struc
|
|||
|
|
|||
|
mov di,offset hi_score_list
|
|||
|
|
|||
|
inc cs:playerQ
|
|||
|
mov al,cs:playerQ
|
|||
|
cmp al,players
|
|||
|
jna check_list
|
|||
|
mov first_high,false
|
|||
|
cmp highscore,true
|
|||
|
je no_sad_jingle
|
|||
|
|
|||
|
mov current_priority,0
|
|||
|
mov jinglejumpcnt,1
|
|||
|
PLAYJINGLE S_GameOver
|
|||
|
mov current_priority,0
|
|||
|
mov no_demomusic,true
|
|||
|
no_sad_jingle:
|
|||
|
mov highscore,false
|
|||
|
mov si,0
|
|||
|
retn ;f<>rdig!
|
|||
|
|
|||
|
check_list:
|
|||
|
push cx
|
|||
|
mov cx,12
|
|||
|
mov bx,0
|
|||
|
check_num:
|
|||
|
mov al,[di+bx]
|
|||
|
cmp [si+bx],al
|
|||
|
jb not_beaten
|
|||
|
ja beaten
|
|||
|
inc bx
|
|||
|
loop check_num
|
|||
|
not_beaten:
|
|||
|
mov bp,false
|
|||
|
jmp poppera
|
|||
|
beaten:
|
|||
|
pop cx
|
|||
|
mov cs:hi_pos,cx
|
|||
|
;play the happy highscore jingle . . .
|
|||
|
;But only the first time!!
|
|||
|
cmp first_high,true
|
|||
|
je noplay_of_this
|
|||
|
mov first_high,true
|
|||
|
mov current_priority,0
|
|||
|
mov jinglejumpcnt,1
|
|||
|
mov highscore,true
|
|||
|
playjingle_PENETRATE S_GameOver2 ;(HiScore jingle)
|
|||
|
noplay_of_this:
|
|||
|
mov sisa,1
|
|||
|
mov bp,true
|
|||
|
jmp done_hi_check
|
|||
|
|
|||
|
poppera:
|
|||
|
pop cx
|
|||
|
add di,12+3+1 ;12 nuffror, 3 bokst<73>ver
|
|||
|
loop check_list
|
|||
|
|
|||
|
done_hi_check:
|
|||
|
mov si,1
|
|||
|
cmp bp,true
|
|||
|
jne dont_getit
|
|||
|
;*****************
|
|||
|
;Print 'highscore pl x ( )' and install key-reader TS
|
|||
|
|
|||
|
mov al,cs:playerQ
|
|||
|
mov hajjskar[13],al
|
|||
|
add hajjskar[13],'7'
|
|||
|
|
|||
|
mov dotrut,offset get_it_from_keyboard
|
|||
|
|
|||
|
mov hojd_1,13
|
|||
|
mov tabort_diovre,0
|
|||
|
mov tabort_diovre_fnt,0
|
|||
|
mov hojd_add,bredd_1/4-sw*13*2/4
|
|||
|
mov font_adr,offset font13
|
|||
|
MOV AX,offset hajjskar
|
|||
|
MOVE DI,sw*2*2/4
|
|||
|
call PRINT_TEXT
|
|||
|
|
|||
|
;*****************
|
|||
|
mov si,1
|
|||
|
retn
|
|||
|
|
|||
|
dont_getit:
|
|||
|
retn
|
|||
|
|
|||
|
get_it_from_keyboard:
|
|||
|
;************ insert in list
|
|||
|
push es
|
|||
|
move es,ds
|
|||
|
mov cx,cs:hi_pos
|
|||
|
|
|||
|
mov si,offset hi_score_list+(12+3+1)*3-1
|
|||
|
mov di,offset hi_score_list+(12+3+1)*4-1
|
|||
|
dec cx
|
|||
|
jcxz pos4J
|
|||
|
|
|||
|
mov ax,12+3+1
|
|||
|
mul cx
|
|||
|
mov cx,ax
|
|||
|
|
|||
|
std
|
|||
|
rep movsb
|
|||
|
|
|||
|
pos4J: sub di,(12+3+1)-1
|
|||
|
cld
|
|||
|
lea si,player_area.p_siffrorna
|
|||
|
MOV CX,SIZE PLAYER_STRUC
|
|||
|
MOV AL,CS:PLAYERQ
|
|||
|
dec al
|
|||
|
NIL AH
|
|||
|
MUL CX
|
|||
|
ADD SI,AX
|
|||
|
mov cx,12
|
|||
|
rep movsb ;mov in new hiscore
|
|||
|
pop es
|
|||
|
;di pekar d<>r namnet ska petas in!!
|
|||
|
mov cs:nof_chars_to_read,3
|
|||
|
mov cs:place_hi,di
|
|||
|
mov scan_code,-1 ;l<>s ev. tidigare tangenttryck!
|
|||
|
mov dotrut,offset read_keyboardet
|
|||
|
mov si,1
|
|||
|
retn
|
|||
|
;*****************
|
|||
|
place_hi dw ?
|
|||
|
nof_chars_to_read dw ?
|
|||
|
|
|||
|
read_keyboardet:
|
|||
|
push es
|
|||
|
mov al,scan_code
|
|||
|
cmp al,-1
|
|||
|
je feltecken_du ;ej tryckt!
|
|||
|
mov scan_code,-1
|
|||
|
mov bx,offset alfa_keys
|
|||
|
xlat
|
|||
|
cmp al,0
|
|||
|
je feltecken_du ;felaktigt tecken!
|
|||
|
move es,ds
|
|||
|
mov di,cs:place_hi
|
|||
|
stosb
|
|||
|
push ax
|
|||
|
mov cs:place_hi,di
|
|||
|
mov ax,3
|
|||
|
sub ax,cs:nof_chars_to_read
|
|||
|
mov di,offset hajjskar+16
|
|||
|
add di,ax
|
|||
|
pop ax
|
|||
|
stosb ;skriv te sk<73>rm texten . .
|
|||
|
dec cs:nof_chars_to_read
|
|||
|
jnz kvar_svar
|
|||
|
mov sisa,60 ;cpw!
|
|||
|
mov dotrut,offset wait_a_little
|
|||
|
pop es
|
|||
|
|
|||
|
mov hojd_1,13
|
|||
|
mov tabort_diovre,0
|
|||
|
mov tabort_diovre_fnt,0
|
|||
|
mov hojd_add,bredd_1/4-sw*13*2/4
|
|||
|
mov font_adr,offset font13
|
|||
|
MOV AX,offset hajjskar
|
|||
|
MOVE DI,sw*2*2/4
|
|||
|
call PRINT_TEXT
|
|||
|
|
|||
|
;cleara namnet!
|
|||
|
push es
|
|||
|
move es,ds
|
|||
|
mov al,' '
|
|||
|
mov cx,3
|
|||
|
mov di,offset hajjskar+16
|
|||
|
rep stosb ;skriv te sk<73>rm texten . .
|
|||
|
pop es
|
|||
|
jmp dont_write_play
|
|||
|
kvar_svar:
|
|||
|
pop es
|
|||
|
mov hojd_1,13
|
|||
|
mov tabort_diovre,0
|
|||
|
mov tabort_diovre_fnt,0
|
|||
|
mov hojd_add,bredd_1/4-sw*13*2/4
|
|||
|
mov font_adr,offset font13
|
|||
|
MOV AX,offset hajjskar
|
|||
|
MOVE DI,sw*2*2/4
|
|||
|
call PRINT_TEXT
|
|||
|
|
|||
|
dont_write_play:
|
|||
|
mov si,sisa
|
|||
|
retn
|
|||
|
feltecken_du:
|
|||
|
pop es
|
|||
|
mov si,sisa
|
|||
|
retn
|
|||
|
|
|||
|
wait_a_little:
|
|||
|
dec si
|
|||
|
cmp si,30 ;cpw!
|
|||
|
jne dont_blame_me
|
|||
|
push si
|
|||
|
mov hojd_1,13
|
|||
|
mov tabort_diovre,0
|
|||
|
mov tabort_diovre_fnt,0
|
|||
|
mov hojd_add,bredd_1/4-sw*13*2/4
|
|||
|
mov font_adr,offset font13
|
|||
|
MOV AX,offset stjaernor
|
|||
|
MOVE DI,sw*2*2/4
|
|||
|
call PRINT_TEXT
|
|||
|
pop si
|
|||
|
dont_blame_me:
|
|||
|
cmp si,2
|
|||
|
jnbe retta_oooo
|
|||
|
mov dotrut,offset spintsel_in_high
|
|||
|
mov si,1
|
|||
|
retta_oooo:
|
|||
|
retn
|
|||
|
_loop_:
|
|||
|
dec cs:looper
|
|||
|
JZ NOJUMPER_tomorrow
|
|||
|
add bx,4
|
|||
|
mov bx,[bx]
|
|||
|
MOV NEXT_A,BX
|
|||
|
jmp [bx]
|
|||
|
|
|||
|
looper dw ?
|
|||
|
_setloop:
|
|||
|
NOJUMPER_tomorrow:
|
|||
|
;reinstall loop val
|
|||
|
mov ax,[bx+2]
|
|||
|
mov cs:looper,ax
|
|||
|
|
|||
|
MOV SISA,1
|
|||
|
mov dotrut,offset WAITRUT
|
|||
|
jmp print_end
|
|||
|
|
|||
|
|
|||
|
|
|||
|
SHOWER DB ?
|
|||
|
player_adr dw ?
|
|||
|
_INIT_SCORE:
|
|||
|
mov cs:player_adr,0
|
|||
|
sub cs:player_adr,size player_struc
|
|||
|
MOV PLAYERSTEXT[7],0+'7'
|
|||
|
MOV PLAY_TEXT[8],0+'7'
|
|||
|
MOV AL,PLAYERS
|
|||
|
MOV CS:SHOWER,AL
|
|||
|
inc CS:SHOWER
|
|||
|
|
|||
|
MOV SISA,1
|
|||
|
mov dotrut,offset WAITRUT
|
|||
|
jmp normal_end
|
|||
|
_SHOW_SCORE:
|
|||
|
INC PLAYERSTEXT[7]
|
|||
|
INC PLAY_TEXT[8]
|
|||
|
add cs:player_adr,size player_struc
|
|||
|
DEC CS:SHOWER
|
|||
|
JZ NOJUMPER
|
|||
|
|
|||
|
|
|||
|
MOV SISA,1
|
|||
|
mov dotrut,offset ShowIt
|
|||
|
|
|||
|
cmp CS:SHOWER,1
|
|||
|
je normal_end
|
|||
|
|
|||
|
add bx,2
|
|||
|
mov bx,[bx]
|
|||
|
MOV NEXT_A,BX
|
|||
|
RETN
|
|||
|
|
|||
|
NOJUMPER:
|
|||
|
MOV SISA,1
|
|||
|
mov dotrut,offset WAITRUT
|
|||
|
jmp normal_end
|
|||
|
|
|||
|
ShowIt:
|
|||
|
mov hojd_1,5
|
|||
|
mov tabort_diovre,0
|
|||
|
mov tabort_diovre_fnt,0
|
|||
|
mov hojd_add,bredd_1/4-sw*5*2/4
|
|||
|
mov font_adr,offset font5
|
|||
|
MOV AX,offset PLAYERSTEXT
|
|||
|
MOVE DI,sw*2*2/4
|
|||
|
call PRINT_TEXT
|
|||
|
|
|||
|
; mov si,offset siffrorna
|
|||
|
|
|||
|
mov bx,cs:player_adr
|
|||
|
LEA SI,PLAYER_AREA[BX].P_SIFFRORNA
|
|||
|
|
|||
|
mov bx,336*2/4+(320-12*16)/4 ;h<>ger justerad!
|
|||
|
MOVE ES,CS
|
|||
|
CALL DWORD PTR ES:PEKOR
|
|||
|
MOV SI,0
|
|||
|
RETN
|
|||
|
|
|||
|
_TurnOffSpecialMode:
|
|||
|
MOVE SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
mov specialmode,false
|
|||
|
mov current_priority,0
|
|||
|
jmp Normal_End
|
|||
|
|
|||
|
_TurnONSpecialMode:
|
|||
|
MOVE SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
MOV SPECIALMODE,TRUE
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
_TURNONTURBOMODE:
|
|||
|
MOVE SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
MOV TURBOMODE,TRUE
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
_TURNOFFTURBOMODE:
|
|||
|
MOVE SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
MOV TURBOMODE,FALSE
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
_TURNONOFFROADMODE:
|
|||
|
MOVE SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
MOV OFFROADMODE,TRUE
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
_TURNOFFOFFROADMODE:
|
|||
|
MOVE SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
MOV OFFROADMODE,FALSE
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
|
|||
|
_knacket:
|
|||
|
mov dotrut,offset knackrut1
|
|||
|
mov sisa,1
|
|||
|
MOV PLAYER,1 ;F<>R CHECK_XXBALL
|
|||
|
jmp normal_end
|
|||
|
|
|||
|
|
|||
|
|
|||
|
knackrut1:
|
|||
|
PLAYJINGLE_PENETRATE S_endfig
|
|||
|
MOV LASTJINGLE,emptyjingle ;TYST EFTER FULLGJORD PENETRERING
|
|||
|
mov dotrut,offset knackrut2
|
|||
|
;g<>r text me sista nuffrerna!!
|
|||
|
mov cl,players
|
|||
|
nil ch
|
|||
|
mov di,offset last_text
|
|||
|
mov ah,' '
|
|||
|
mov bx,10 ;n<>st sista!
|
|||
|
LEA SI,PLAYER_AREA[BX].P_SIFFRORNA
|
|||
|
push es
|
|||
|
move es,data
|
|||
|
mov bx,0
|
|||
|
make_last:
|
|||
|
mov al,ds:[si]
|
|||
|
add si,size player_struc
|
|||
|
add al,'7'
|
|||
|
stosw
|
|||
|
mov word ptr offset [flashlast+bx],ax ;kopiera texten f<>r senare blink
|
|||
|
|
|||
|
add bx,2
|
|||
|
loop make_last
|
|||
|
|
|||
|
pop es
|
|||
|
mov hojd_1,5
|
|||
|
mov tabort_diovre,0
|
|||
|
mov tabort_diovre_fnt,0
|
|||
|
mov hojd_add,bredd_1/4-sw*5*2/4
|
|||
|
mov font_adr,offset font5
|
|||
|
MOV AX,offset last_text
|
|||
|
MOVE DI,sw*2/4
|
|||
|
call PRINT_TEXT
|
|||
|
|
|||
|
;knacka(????) fram en ny slutsiffra!
|
|||
|
mov ax,slump_countern
|
|||
|
mov dx,0
|
|||
|
mov cx,10
|
|||
|
div cx
|
|||
|
;resten i de<64>ks e mellan n<>ll <20> ti<74>
|
|||
|
mov last_pos,dx
|
|||
|
|
|||
|
mov cs:knackptr,offset knacktab_LO
|
|||
|
mov si,nof_banks_LO
|
|||
|
CMP HI_RES,TRUE
|
|||
|
JNE NOTHIRES38
|
|||
|
mov cs:knackptr,offset knacktab_HI
|
|||
|
mov si,nof_banks_HI
|
|||
|
NOTHIRES38:
|
|||
|
mov bx,cs:knackptr
|
|||
|
move cs:knacktiden,[bx]
|
|||
|
mov sisa,SI
|
|||
|
|
|||
|
retn
|
|||
|
knackptr dw ?
|
|||
|
knacktiden dw ?
|
|||
|
alla_glada db ?
|
|||
|
knackrut2:
|
|||
|
|
|||
|
push si
|
|||
|
mov ax,last_pos
|
|||
|
;ax=linje adress, ett steg=32 pixel=> 1 steg= 8 adr.(mcgab)
|
|||
|
;(1 char=8*2 pix, 1 steg=2 char)
|
|||
|
shl ax,3
|
|||
|
mov hojd_1,5
|
|||
|
mov tabort_diovre,0
|
|||
|
mov tabort_diovre_fnt,0
|
|||
|
mov hojd_add,bredd_1/4-sw*5*2/4
|
|||
|
mov font_adr,offset font5
|
|||
|
MOVE DI,sw*2*8/4
|
|||
|
add di,ax
|
|||
|
MOV AX,offset startext
|
|||
|
call PRINT_TEXT
|
|||
|
mov si,1
|
|||
|
|
|||
|
dec cs:knacktiden
|
|||
|
jnz over_iii
|
|||
|
mov bx,cs:knackptr
|
|||
|
move cs:knacktiden,[bx]
|
|||
|
add cs:knackptr,2
|
|||
|
pop si
|
|||
|
dec si
|
|||
|
push si
|
|||
|
DEC LAST_POS
|
|||
|
CMP LAST_POS,-1
|
|||
|
JNE OVER_III
|
|||
|
MOV LAST_POS,9
|
|||
|
OVER_III:
|
|||
|
|
|||
|
mov ax,last_pos
|
|||
|
add ax,'7'
|
|||
|
mov slutsiffra[0],al
|
|||
|
sub ax,'7'
|
|||
|
shl ax,3
|
|||
|
mov hojd_1,5
|
|||
|
mov tabort_diovre,0
|
|||
|
mov tabort_diovre_fnt,0
|
|||
|
mov hojd_add,bredd_1/4-sw*5*2/4
|
|||
|
mov font_adr,offset font5
|
|||
|
MOV AX_PRINT,offset slutsiffra
|
|||
|
MOVE DI_PRINT,sw*2*8/4
|
|||
|
add di_print,ax
|
|||
|
MOV PRINTTASK,OFFSET PRINT_TEXT
|
|||
|
pop si
|
|||
|
; dec si
|
|||
|
cmp si,0
|
|||
|
jne retta_nuda
|
|||
|
;kolla om siffrorna st<73>mmer f<>r n<>en . . .
|
|||
|
mov cl,players
|
|||
|
nil ch
|
|||
|
mov si,offset last_text
|
|||
|
mov bx,last_pos
|
|||
|
add bx,'7'
|
|||
|
|
|||
|
mov di,offset flashlast
|
|||
|
|
|||
|
move es,data
|
|||
|
mov cs:alla_glada,false
|
|||
|
READ_NUFFROR:
|
|||
|
lodsw
|
|||
|
cmp al,bl
|
|||
|
jne gladgnu_tu
|
|||
|
mov cs:alla_glada,true
|
|||
|
add di,2
|
|||
|
loop READ_NUFFROR
|
|||
|
jmp ture_sventton_kravdes_har
|
|||
|
gladgnu_tu:
|
|||
|
mov ax,'**'
|
|||
|
stosw
|
|||
|
loop READ_NUFFROR
|
|||
|
ture_sventton_kravdes_har:
|
|||
|
cmp cs:alla_glada,true
|
|||
|
je gladgnu
|
|||
|
mov si,0
|
|||
|
jmp retta_nuda ;-( ingen glad )-:
|
|||
|
|
|||
|
;Om javisst, spela glad gnu <20> flasha!
|
|||
|
gladgnu:
|
|||
|
MOV MATRIX_SPEED,3
|
|||
|
MOV MATRIX_CNT,3
|
|||
|
MOV MATRIX_ONOFF,TRUE
|
|||
|
MOV MATRIX_IS_FLASHING,TRUE
|
|||
|
|
|||
|
mov hojd_1,5
|
|||
|
mov tabort_diovre,0
|
|||
|
mov tabort_diovre_fnt,0
|
|||
|
mov hojd_add,bredd_1/4-sw*5*2/4
|
|||
|
mov font_adr,offset font5
|
|||
|
MOV AX,offset flashlast
|
|||
|
MOVE DI,sw*2/4
|
|||
|
call PRINT_TEXT
|
|||
|
|
|||
|
|
|||
|
mov current_priority,0
|
|||
|
PLAYJINGLE S_Knacket
|
|||
|
MOV JINGLEJUMPCNT,1
|
|||
|
mov current_priority,0
|
|||
|
mov lastjingle,emptyjingle
|
|||
|
mov si,0
|
|||
|
retta_nuda:
|
|||
|
retn
|
|||
|
|
|||
|
|
|||
|
|
|||
|
_CHECK_XXBALLS: ;OBS! TV<54> ING<4E>NGAR TILL DENNA RUTIN
|
|||
|
;INPUT: LAST_TEXT, LAST_POS, PLAYER, PLAYERS
|
|||
|
;OUTPUT: FT_PEKARE, PLAYER
|
|||
|
TESTNEXTPL:
|
|||
|
PUSH BX
|
|||
|
|
|||
|
MOV BL,PLAYER
|
|||
|
NIL BH
|
|||
|
|
|||
|
SHL BX,1
|
|||
|
ADD BX,OFFSET LAST_TEXT-2 ;bx pekar p<> spelare n's slutsiffra
|
|||
|
|
|||
|
MOV AL,[BX]
|
|||
|
MOV WORD PTR [BX],'XX' ;DESTROY HIM MY ROBOTS!
|
|||
|
NIL AH
|
|||
|
SUB AL,'7'
|
|||
|
POP BX
|
|||
|
|
|||
|
|
|||
|
CMP LAST_POS,AX
|
|||
|
JE THIS_ONE ;HAN SKA F<> XXBALL!!! CP?
|
|||
|
|
|||
|
INC PLAYER ;INGEN XXBALL F<>R HONOM!
|
|||
|
MOV AL,PLAYER
|
|||
|
CMP AL,PLAYERS
|
|||
|
JNA TESTNEXTPL
|
|||
|
|
|||
|
MOV BX,OFFSET after_xxballsTS ;<3B>X<EFBFBD> AVSLUT
|
|||
|
MOV NEXT_A,BX
|
|||
|
JMP [BX]
|
|||
|
|
|||
|
THIS_ONE:
|
|||
|
|
|||
|
MOV AL,PLAYER
|
|||
|
ADD AL,'7' ;SEPEKOMPENSERING
|
|||
|
MOV PLAYERSTEXT[7],AL
|
|||
|
|
|||
|
MOV XXBALLE,TRUE
|
|||
|
MOV BX,OFFSET shoOt_AGAIN_OnTS
|
|||
|
MOV NEXT_A,BX
|
|||
|
JMP [BX]
|
|||
|
|
|||
|
;*********************************
|
|||
|
|
|||
|
_KOLLA_XXBALL: ;VID EJ XXBALLE: DUMRET
|
|||
|
;VID XXBALLE: N<>STA SPELARE ELLER AVSLUTA
|
|||
|
;(FIXAR EV XBALL)
|
|||
|
CMP XXBALLE,FALSE
|
|||
|
JE HU_
|
|||
|
PUSH BX
|
|||
|
CALL VARS_2_P_STRUC ;STORE TABLE AND SCORE!
|
|||
|
POP BX
|
|||
|
|
|||
|
CMP XBALLS,0 ;LAUGH AGAIN?
|
|||
|
JA LET_HIM_SHOOT_AGAIN ;MEGA-HOPP
|
|||
|
|
|||
|
MOV AL,PLAYER ;IS HE THE HIGHEST PLAYER?
|
|||
|
CMP AL,PLAYERS
|
|||
|
JE HIGHEST_PLAYER2
|
|||
|
|
|||
|
INC PLAYER ;CHANGE TO THE NEXT PLAYER!
|
|||
|
JMP PLAYER_CHANGED2
|
|||
|
|
|||
|
HIGHEST_PLAYER2:
|
|||
|
MOV BX,OFFSET AFTER_XXBALLSTS ;END XXBALLE GAME
|
|||
|
MOV NEXT_A,BX
|
|||
|
JMP [BX]
|
|||
|
|
|||
|
PLAYER_CHANGED2:
|
|||
|
MOV AL,PLAYER
|
|||
|
ADD AL,'7' ;SEPEKOMPENSERING
|
|||
|
MOV PLAYERSTEXT[7],AL
|
|||
|
|
|||
|
|
|||
|
MOV BX,OFFSET CHECK_XXBALLTS
|
|||
|
MOV NEXT_A,BX
|
|||
|
JMP [BX]
|
|||
|
|
|||
|
;**********
|
|||
|
|
|||
|
|
|||
|
_CHANGE_PLAYER:
|
|||
|
PUSH BX
|
|||
|
CMP HOLDBONUSFLAG,TRUE
|
|||
|
JNE NOT_HB_TRUE
|
|||
|
MOV SI,OFFSET TEMPSIFFRORNA ;HOLD THE BONUS!
|
|||
|
MOV DI,OFFSET BONUSSIFFRORNA
|
|||
|
MOVE ES,DS
|
|||
|
MOV CX,6
|
|||
|
REP MOVSW
|
|||
|
NOT_HB_TRUE:
|
|||
|
|
|||
|
CALL VARS_2_P_STRUC ;STORE TABLE AND SCORE!
|
|||
|
|
|||
|
POP BX
|
|||
|
CMP XBALLS,0 ;LAUGH AGAIN?
|
|||
|
JA LET_HIM_SHOOT_AGAIN
|
|||
|
PUSH BX
|
|||
|
|
|||
|
MOV AL,PLAYER ;IS HE THE HIGHEST PLAYER?
|
|||
|
CMP AL,PLAYERS
|
|||
|
JE HIGHEST_PLAYER
|
|||
|
|
|||
|
INC PLAYER ;CHANGE TO THE NEXT PLAYER!
|
|||
|
JMP PLAYER_CHANGED
|
|||
|
|
|||
|
HIGHEST_PLAYER:
|
|||
|
INC BALLS[11]
|
|||
|
MOV AL,NO_OF_BALLS
|
|||
|
CMP BALLS[11],AL
|
|||
|
JA NO_MORE_BALLS
|
|||
|
MOV PLAYER,1 ;NEXT PLAYER IS FIRST PLAYER!
|
|||
|
MOV AL,BALLS[11]
|
|||
|
ADD AL,'7' ;SEPEKOMPENSERING
|
|||
|
MOV BALLSTEXT[5],AL
|
|||
|
MOV play_TEXT[18],AL
|
|||
|
|
|||
|
PLAYER_CHANGED:
|
|||
|
MOV AL,PLAYER
|
|||
|
ADD AL,'7' ;SEPEKOMPENSERING
|
|||
|
MOV PLAYERSTEXT[7],AL
|
|||
|
MOV play_TEXT[8],AL
|
|||
|
|
|||
|
ADDTASK NEW_BALL_TASK ;TO GAME FROM GAME
|
|||
|
POP BX
|
|||
|
|
|||
|
HU_: ADD BX,2 ;TASKSYTEM, HOPPA TILL N<>STA/AVSLUT
|
|||
|
CMP WORD PTR [BX],0
|
|||
|
JNE _NEXTp_7
|
|||
|
MOV BX,0
|
|||
|
MOV NEXT_A,BX
|
|||
|
RETN
|
|||
|
_NEXTp_7:
|
|||
|
MOV NEXT_A,BX
|
|||
|
JMP [BX]
|
|||
|
|
|||
|
LET_HIM_SHOOT_AGAIN: ;2 ING<4E>NGAR!
|
|||
|
DEC XBALLS
|
|||
|
MOV BX,OFFSET shoot_again_onTS
|
|||
|
MOV NODOTCOUNT,0
|
|||
|
UPDAT_SCORE
|
|||
|
; MOV NEXT_A,BX ;CP?
|
|||
|
JMP [BX]
|
|||
|
|
|||
|
_NEW_BALL2:
|
|||
|
PUSH BX
|
|||
|
ADDTASK NEW_BALL_TASK ;TO GAME FROM GAME
|
|||
|
POP BX
|
|||
|
JMP HU_
|
|||
|
|
|||
|
|
|||
|
NO_MORE_BALLS:
|
|||
|
CALL VARS_2_P_STRUC ;STORE LAST PLAYER'S SCORE TOO!
|
|||
|
POP BX
|
|||
|
MOV BX,OFFSET out_of_ballsTS
|
|||
|
MOV NEXT_A,BX
|
|||
|
JMP [BX]
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
_2_DEMO_MODE:
|
|||
|
ADDTASK TO_DEMO_FROM_GAME
|
|||
|
JMP HU_
|
|||
|
|
|||
|
zeroscore:
|
|||
|
push es
|
|||
|
move es,ds
|
|||
|
mov cx,12/2
|
|||
|
mov ax,0
|
|||
|
mov di,offset siffrorna
|
|||
|
rep stosw
|
|||
|
pop es
|
|||
|
retn
|
|||
|
|
|||
|
TO_DEMO_FROM_GAME:
|
|||
|
MOV PLAYERS_CP,TRUE
|
|||
|
CALL GO_DEMO_MODE ;TO DEMO FROM GAME
|
|||
|
MOV SCREENFORCE,BANH-(SH_LO-SPLH)
|
|||
|
CMP HI_RES,TRUE
|
|||
|
JNE NOTHIRES17
|
|||
|
MOV SCREENFORCE,BANH-(SH_HI-SPLH)
|
|||
|
NOTHIRES17:
|
|||
|
MOV CARMEN,-1 ;KARMANN GHIA???
|
|||
|
CALL SLACK_LIGHTS
|
|||
|
MOV ADDPLAYERS,TRUE
|
|||
|
SUICIDE
|
|||
|
|
|||
|
|
|||
|
LOOSE_BALL ENDP
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;******************************** NEW_BALL ************************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
NEW_BALL_TASK:
|
|||
|
WAITSYNCS 30
|
|||
|
CALL NEW_BALL
|
|||
|
RETN ;PGA NEWBALL
|
|||
|
|
|||
|
NEW_BALL PROC NEAR ;ENDA S<>TTET ATT F<> UT EN BOLL P<> BANAN!
|
|||
|
MOV LOOSING,FALSE
|
|||
|
MOV BALL_DOWN,FALSE
|
|||
|
MOV I_UTSKJUT,TRUE
|
|||
|
|
|||
|
CALL WHEN_NEW_BALL_RESET
|
|||
|
CALL WHEN_NEW_BALL_RESET_TABLE
|
|||
|
|
|||
|
MOV HOLDSTILL,TRUE
|
|||
|
SETBALLPOS STARTX-5-15,STARTY-5,0,0,FALSE
|
|||
|
MOV SCREENFORCE2,-1 ;500
|
|||
|
|
|||
|
CMP ADDPLAYERS,TRUE
|
|||
|
JE NOSP
|
|||
|
PLAYJINGLE S_SPRING
|
|||
|
NOSP:
|
|||
|
MOV LASTJINGLE,0
|
|||
|
MOV SCORECHANGED,FALSE
|
|||
|
|
|||
|
CMP ADDPLAYERS,TRUE
|
|||
|
JE ITS_FROM_DEMO
|
|||
|
CALL NEW_BALL_PART_TWO
|
|||
|
RETN
|
|||
|
|
|||
|
ITS_FROM_DEMO:
|
|||
|
ADDTASK SNART_NEW_BALL
|
|||
|
RETN
|
|||
|
|
|||
|
NEW_BALL_PART_TWO:
|
|||
|
ADDTASK SOUNDNEWBALL
|
|||
|
ADDTASK SETBALL
|
|||
|
|
|||
|
MOV ALLOWFLIP,TRUE
|
|||
|
MOV TILTFLAG,FALSE
|
|||
|
MOV TILTCOUNTER,0
|
|||
|
MOV SCORECHANGED,FALSE
|
|||
|
RETN
|
|||
|
|
|||
|
SOUNDNEWBALL:
|
|||
|
WAITSYNCS 45
|
|||
|
SOUNDEFFECT SNEWBALL,0
|
|||
|
SUICIDE
|
|||
|
|
|||
|
SETBALL:
|
|||
|
WAITSYNCS 80
|
|||
|
SETBALLPOS STARTX-5,STARTY-5,10,0,FALSE
|
|||
|
MOV HOLDSTILL,FALSE
|
|||
|
MOV SCREENFORCE2,-1
|
|||
|
SUICIDE
|
|||
|
;FIAT UNO
|
|||
|
NEW_BALL ENDP
|
|||
|
|
|||
|
MOTA_BORT_INACTIVE_SLINGAN:
|
|||
|
;OBS! AVINSTALLERA DENNA GENOM "MOV I_UTSKJUT,FALSE"
|
|||
|
MOV NODOTCOUNT,0
|
|||
|
CMP I_UTSKJUT,FALSE
|
|||
|
JE TA_BORT_MEJ
|
|||
|
RETN
|
|||
|
TA_BORT_MEJ:
|
|||
|
SUICIDE
|
|||
|
|
|||
|
|
|||
|
P_STRUC_2_VARS PROC NEAR ;INPUT: PLAYER
|
|||
|
MOV BL,PLAYER
|
|||
|
DEC BL
|
|||
|
NIL BH
|
|||
|
MOV AX,SIZE PLAYER_STRUC
|
|||
|
MUL BX
|
|||
|
MOV BX,AX ;BX=INDEX TO CORRECT PLAYER DATA IN PLAYER_AREA
|
|||
|
|
|||
|
MOV CX,12/2
|
|||
|
MOVE ES,DS
|
|||
|
|
|||
|
LEA SI,PLAYER_AREA[BX].P_SIFFRORNA
|
|||
|
MOV DI,OFFSET SIFFRORNA
|
|||
|
MOV CX,12/2
|
|||
|
REP MOVSW
|
|||
|
|
|||
|
LEA SI,PLAYER_AREA[BX].P_BONUSSIFFRORNA
|
|||
|
MOV DI,OFFSET BONUSSIFFRORNA
|
|||
|
MOV CX,12/2
|
|||
|
REP MOVSW
|
|||
|
|
|||
|
LEA SI,PLAYER_AREA[BX].P_SKILLSCOREBCD
|
|||
|
MOV DI,OFFSET SKILLSCOREBCD
|
|||
|
MOV CX,12/2
|
|||
|
REP MOVSW
|
|||
|
CALL DOLIGHTS
|
|||
|
|
|||
|
UPDATE_LIGHT 26,PLAYER_AREA[BX].P_STONE_S ;STONE
|
|||
|
UPDATE_LIGHT 27,PLAYER_AREA[BX].P_STONE_T
|
|||
|
UPDATE_LIGHT 28,PLAYER_AREA[BX].P_STONE_O
|
|||
|
UPDATE_LIGHT 29,PLAYER_AREA[BX].P_STONE_N
|
|||
|
UPDATE_LIGHT 30,PLAYER_AREA[BX].P_STONE_E
|
|||
|
|
|||
|
CALL DOLIGHTS
|
|||
|
|
|||
|
UPDATE_LIGHT 20,PLAYER_AREA[BX].P_BONE_B ;BONE
|
|||
|
UPDATE_LIGHT 21,PLAYER_AREA[BX].P_BONE_O
|
|||
|
UPDATE_LIGHT 22,PLAYER_AREA[BX].P_BONE_N
|
|||
|
UPDATE_LIGHT 23,PLAYER_AREA[BX].P_BONE_E
|
|||
|
UPDATE_LIGHT 4,PLAYER_AREA[BX].P_R_RIP ;RIP
|
|||
|
UPDATE_LIGHT 5,PLAYER_AREA[BX].P_I_RIP
|
|||
|
UPDATE_LIGHT 6,PLAYER_AREA[BX].P_P_RIP
|
|||
|
|
|||
|
CALL DOLIGHTS
|
|||
|
|
|||
|
MOV AL,PLAYER_AREA[BX].P_KICKBACKFLASHING ;KICKBACK
|
|||
|
MOV KICK_BACK_FLASHING,AL
|
|||
|
CMP AL,TRUE
|
|||
|
JNE NOTTHEKICKBACK
|
|||
|
PUSH BX
|
|||
|
ENDFLASH 44
|
|||
|
LIGHTFLASH 44,KICKSPEED
|
|||
|
PUT_GATE_NEG_LOW GATE5
|
|||
|
POP BX
|
|||
|
NOTTHEKICKBACK:
|
|||
|
|
|||
|
MOVE NEXTJUMP,PLAYER_AREA[BX].P_NEXTJUMP
|
|||
|
MOVE CYCLONECOUNTER,PLAYER_AREA[BX].P_CYCLONECOUNTER
|
|||
|
MOVEBCD CYCLONECOUNTERBCD,PLAYER_AREA[BX].P_CYCLONECOUNTERBCD
|
|||
|
|
|||
|
MOV CL,PLAYER_AREA[BX].P_GHOSTCOUNTER
|
|||
|
MOV GHOSTCOUNTER,CL
|
|||
|
OR CL,CL
|
|||
|
JZ NOGHOSTS
|
|||
|
NIL CH
|
|||
|
NEXTGHOST:
|
|||
|
PUSH CX
|
|||
|
PUSH BX
|
|||
|
MOV BL,CL
|
|||
|
DEC BL
|
|||
|
MOV AL,SIZE GHOST_STRUC
|
|||
|
MUL BL
|
|||
|
MOV BX,AX
|
|||
|
MOV AL,GHOSTAREA[BX].G_LIGHTNO
|
|||
|
LIGHTON AL
|
|||
|
POP BX
|
|||
|
POP CX
|
|||
|
LOOP NEXTGHOST
|
|||
|
NOGHOSTS:
|
|||
|
MOV AL,PLAYER_AREA[BX].P_GHOSTFLASHING
|
|||
|
MOV GHOST_FLASHING,AL
|
|||
|
CMP AL,TRUE
|
|||
|
JNE NOTFLASHTHEGHOST
|
|||
|
MOV BL,GHOSTCOUNTER
|
|||
|
MOV AL,SIZE GHOST_STRUC
|
|||
|
MUL BL
|
|||
|
MOV BX,AX
|
|||
|
ADD BX,OFFSET GHOSTAREA
|
|||
|
MOV AL,[BX].G_LIGHTNO
|
|||
|
LIGHTFLASH AL,GHOSTSPEED
|
|||
|
ENDFLASH 16
|
|||
|
LIGHTFLASH 16,TRIGHOSTSPEED
|
|||
|
NOTFLASHTHEGHOST:
|
|||
|
RETN
|
|||
|
P_STRUC_2_VARS ENDP
|
|||
|
|
|||
|
|
|||
|
VARS_2_P_STRUC PROC NEAR ;INPUT: PLAYER
|
|||
|
;2 ENTRIES TO THIS RUT
|
|||
|
MOV BL,PLAYER
|
|||
|
DEC BL
|
|||
|
NIL BH
|
|||
|
MOV AX,SIZE PLAYER_STRUC
|
|||
|
MUL BX
|
|||
|
MOV BX,AX ;BX=INDEX TO CORRECT PLAYER DATA IN PLAYER_AREA
|
|||
|
VARS_2_P_STRUC_2: ;USED BY WHEN_NEW_GAME_RESET!
|
|||
|
MOV CX,12/2
|
|||
|
MOVE ES,DS
|
|||
|
|
|||
|
LEA DI,PLAYER_AREA[BX].P_SIFFRORNA
|
|||
|
|
|||
|
MOV SI,OFFSET SIFFRORNA
|
|||
|
MOV CX,12/2
|
|||
|
REP MOVSW
|
|||
|
|
|||
|
LEA DI,PLAYER_AREA[BX].P_BONUSSIFFRORNA
|
|||
|
MOV SI,OFFSET BONUSSIFFRORNA
|
|||
|
MOV CX,12/2
|
|||
|
REP MOVSW
|
|||
|
|
|||
|
LEA DI,PLAYER_AREA[BX].P_SKILLSCOREBCD
|
|||
|
MOV SI,OFFSET SKILLSCOREBCD
|
|||
|
MOV CX,12/2
|
|||
|
REP MOVSW
|
|||
|
|
|||
|
UPDATE_PSTRUC PLAYER_AREA[BX].P_STONE_S,26 ;STONE
|
|||
|
UPDATE_PSTRUC PLAYER_AREA[BX].P_STONE_T,27
|
|||
|
UPDATE_PSTRUC PLAYER_AREA[BX].P_STONE_O,28
|
|||
|
UPDATE_PSTRUC PLAYER_AREA[BX].P_STONE_N,29
|
|||
|
UPDATE_PSTRUC PLAYER_AREA[BX].P_STONE_E,30
|
|||
|
UPDATE_PSTRUC PLAYER_AREA[BX].P_BONE_B,20 ;BONE
|
|||
|
UPDATE_PSTRUC PLAYER_AREA[BX].P_BONE_O,21
|
|||
|
UPDATE_PSTRUC PLAYER_AREA[BX].P_BONE_N,22
|
|||
|
UPDATE_PSTRUC PLAYER_AREA[BX].P_BONE_E,23
|
|||
|
UPDATE_PSTRUC PLAYER_AREA[BX].P_R_RIP,4 ;RIP
|
|||
|
UPDATE_PSTRUC PLAYER_AREA[BX].P_I_RIP,5
|
|||
|
UPDATE_PSTRUC PLAYER_AREA[BX].P_P_RIP,6
|
|||
|
|
|||
|
MOVE PLAYER_AREA[BX].P_NEXTJUMP,NEXTJUMP
|
|||
|
MOVE PLAYER_AREA[BX].P_CYCLONECOUNTER,CYCLONECOUNTER
|
|||
|
MOVEBCD PLAYER_AREA[BX].P_CYCLONECOUNTERBCD,CYCLONECOUNTERBCD
|
|||
|
MOVAL PLAYER_AREA[BX].P_KICKBACKFLASHING,KICK_BACK_FLASHING
|
|||
|
MOVAL PLAYER_AREA[BX].P_GHOSTCOUNTER,GHOSTCOUNTER
|
|||
|
MOVAL PLAYER_AREA[BX].P_GHOSTFLASHING,GHOST_FLASHING
|
|||
|
|
|||
|
RETN
|
|||
|
VARS_2_P_STRUC ENDP
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;******************************** TILT TILT TILT ******************************
|
|||
|
;******************************************************************************
|
|||
|
HE_TILTED PROC NEAR
|
|||
|
MOV ALLOWFLIP,FALSE
|
|||
|
PLAYJINGLE S_TILT
|
|||
|
MOV LASTJINGLE,EMPTYJINGLE
|
|||
|
MOV BX,OFFSET tiltTS
|
|||
|
CALL DO_MATRIX
|
|||
|
CALL RESETFLASHLIST
|
|||
|
CALL SLACK_LIGHTS
|
|||
|
RETN
|
|||
|
HE_TILTED ENDP
|
|||
|
|
|||
|
HE_ALMOST_TILTED PROC NEAR
|
|||
|
PLAYJINGLE S_DANGER
|
|||
|
RETN
|
|||
|
ENDP
|
|||
|
|
|||
|
;********************************* CHECK SHIFTKEYS ****************************
|
|||
|
|
|||
|
CHECK_SHIFTKEYS PROC NEAR
|
|||
|
CMP SHIFTPRESSED,TRUE
|
|||
|
JNE NO_SHIFT
|
|||
|
MOV SHIFTPRESSED,FALSE
|
|||
|
;****************************************
|
|||
|
;* 3 light rol *
|
|||
|
;****************************************
|
|||
|
CMP KEY_ROL_DISABLED,TRUE
|
|||
|
JE NO_KEY_ROL
|
|||
|
START_LIGHT=1
|
|||
|
SHIFT_LIGHT
|
|||
|
NO_KEY_ROL:
|
|||
|
CMP RIP_ROL_DISABLED,TRUE
|
|||
|
JE NO_RIP_ROL
|
|||
|
START_LIGHT=4
|
|||
|
SHIFT_LIGHT
|
|||
|
NO_RIP_ROL:
|
|||
|
NO_SHIFT:
|
|||
|
RETN
|
|||
|
CHECK_SHIFTKEYS ENDP
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;***************************** BRICKOR & KNAPPAR ******************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
SB_TOUCHERA MACRO LNO
|
|||
|
LOCAL QXX,XXT,QXXT
|
|||
|
CMP GHOST_INH_SB,TRUE
|
|||
|
JE QXX
|
|||
|
CMP SB_DISABLED,TRUE
|
|||
|
JE QXX
|
|||
|
CMP SB_DISABLE_AREA[LNO-20],TRUE
|
|||
|
JE QXX
|
|||
|
MOV SB_DISABLE_AREA[LNO-20],TRUE
|
|||
|
CALL TOUCHSETA
|
|||
|
MOV LIGHTSTATUS[LNO],TRUE
|
|||
|
CALL CHECK_STONE_BONE
|
|||
|
JC ALL_STONE_BONE
|
|||
|
ADDTASK XXT
|
|||
|
LIGHTFLASH LNO,SBSPEED
|
|||
|
QXX: RETN
|
|||
|
XXT: CMP SB_DISABLED,TRUE
|
|||
|
JE QXXT
|
|||
|
WAITSYNCS SBFASTTIME
|
|||
|
ENDFLASH LNO
|
|||
|
LIGHTON LNO
|
|||
|
MOV SB_DISABLE_AREA[LNO-20],FALSE
|
|||
|
SUICIDE
|
|||
|
QXXT: ENDFLASH LNO
|
|||
|
MOV SB_DISABLE_AREA[LNO-20],FALSE
|
|||
|
SUICIDE
|
|||
|
ENDM
|
|||
|
|
|||
|
SB_TOUCHERB MACRO LNO
|
|||
|
LOCAL QXX,XXT,QXXT
|
|||
|
CMP GHOST_INH_SB,TRUE
|
|||
|
JE QXX
|
|||
|
CMP SB_DISABLED,TRUE
|
|||
|
JE QXX
|
|||
|
CMP SB_DISABLE_AREA[LNO-20],TRUE
|
|||
|
JE QXX
|
|||
|
MOV SB_DISABLE_AREA[LNO-20],TRUE
|
|||
|
CALL TOUCHSETB
|
|||
|
MOV LIGHTSTATUS[LNO],TRUE
|
|||
|
CALL CHECK_STONE_BONE
|
|||
|
JC ALL_STONE_BONE
|
|||
|
ADDTASK XXT
|
|||
|
LIGHTFLASH LNO,SBSPEED
|
|||
|
QXX: RETN
|
|||
|
XXT: CMP SB_DISABLED,TRUE
|
|||
|
JE QXXT
|
|||
|
WAITSYNCS SBFASTTIME
|
|||
|
ENDFLASH LNO
|
|||
|
LIGHTON LNO
|
|||
|
MOV SB_DISABLE_AREA[LNO-20],FALSE
|
|||
|
SUICIDE
|
|||
|
QXXT: ENDFLASH LNO
|
|||
|
MOV SB_DISABLE_AREA[LNO-20],FALSE
|
|||
|
SUICIDE
|
|||
|
ENDM
|
|||
|
|
|||
|
TOUCH_B_BONE:
|
|||
|
SB_TOUCHERA 20
|
|||
|
TOUCH_O_BONE:
|
|||
|
SB_TOUCHERA 21
|
|||
|
TOUCH_N_BONE:
|
|||
|
SB_TOUCHERA 22
|
|||
|
TOUCH_E_BONE:
|
|||
|
SB_TOUCHERA 23
|
|||
|
|
|||
|
TOUCH_S_STONE:
|
|||
|
SB_TOUCHERB 26
|
|||
|
TOUCH_T_STONE:
|
|||
|
SB_TOUCHERB 27
|
|||
|
TOUCH_O_STONE:
|
|||
|
SB_TOUCHERB 28
|
|||
|
TOUCH_N_STONE:
|
|||
|
SB_TOUCHERB 29
|
|||
|
TOUCH_E_STONE:
|
|||
|
SB_TOUCHERB 30
|
|||
|
|
|||
|
TOUCHSETA:
|
|||
|
CALL ADDOFFROAD
|
|||
|
SOUNDEFFECT S_TOUCH2,0
|
|||
|
ADDSCORE BCD27530
|
|||
|
ADDBONUS BCD510
|
|||
|
RETN
|
|||
|
|
|||
|
TOUCHSETB:
|
|||
|
CALL ADDOFFROAD
|
|||
|
SOUNDEFFECT S_TOUCH1,40
|
|||
|
ADDSCORE BCD17520
|
|||
|
ADDBONUS BCD750
|
|||
|
RETN
|
|||
|
|
|||
|
ALL_STONE_BONE:
|
|||
|
CALL JACKADD
|
|||
|
MOV SB_DISABLED,TRUE
|
|||
|
MOVE ES,DS
|
|||
|
NIL AL
|
|||
|
MOV DI,OFFSET SB_DISABLE_AREA
|
|||
|
MOV CX,11
|
|||
|
REP STOSB
|
|||
|
ENDFLASH 20 ;B
|
|||
|
ENDFLASH 21 ;O
|
|||
|
ENDFLASH 22 ;N
|
|||
|
ENDFLASH 23 ;E
|
|||
|
ENDFLASH 26 ;S
|
|||
|
ENDFLASH 27 ;T
|
|||
|
ENDFLASH 28 ;O
|
|||
|
ENDFLASH 29 ;N
|
|||
|
ENDFLASH 30 ;E
|
|||
|
CMP GHOST_FLASHING,TRUE
|
|||
|
JE GANDALF_THE_GREY
|
|||
|
MOV BL,GHOSTCOUNTER
|
|||
|
MOV AL,SIZE GHOST_STRUC
|
|||
|
MUL BL
|
|||
|
MOV BX,AX
|
|||
|
MOV AX,GHOSTAREA[BX].G_SBEFF
|
|||
|
EFFECT AX
|
|||
|
JMP GANDALF_THE_WHITE
|
|||
|
GANDALF_THE_GREY:
|
|||
|
EFFECT EVENT_LIT
|
|||
|
GANDALF_THE_WHITE:
|
|||
|
CALL DO_GHOST
|
|||
|
ADDTASK ALL_STONE_BONE_2
|
|||
|
RETN
|
|||
|
|
|||
|
ALL_STONE_BONE_2:
|
|||
|
WAITSYNCS 2
|
|||
|
LIGHTFLASH 20,SBSPEED2
|
|||
|
LIGHTFLASH 21,SBSPEED2
|
|||
|
LIGHTFLASH 22,SBSPEED2
|
|||
|
LIGHTFLASH 23,SBSPEED2
|
|||
|
LIGHTFLASH 26,SBSPEED2
|
|||
|
LIGHTFLASH 27,SBSPEED2
|
|||
|
LIGHTFLASH 28,SBSPEED2
|
|||
|
LIGHTFLASH 29,SBSPEED2
|
|||
|
LIGHTFLASH 30,SBSPEED2
|
|||
|
ADDTASK ALL_STONE_BONE_3
|
|||
|
SUICIDE
|
|||
|
|
|||
|
ALL_STONE_BONE_3:
|
|||
|
WAITSYNCS SBFASTTIME2
|
|||
|
ENDFLASH 20 ;B
|
|||
|
ENDFLASH 21 ;O
|
|||
|
ENDFLASH 22 ;N
|
|||
|
ENDFLASH 23 ;E
|
|||
|
ENDFLASH 26 ;S
|
|||
|
ENDFLASH 27 ;T
|
|||
|
ENDFLASH 28 ;O
|
|||
|
ENDFLASH 29 ;N
|
|||
|
ENDFLASH 30 ;E
|
|||
|
LIGHTOFF 20 ;B
|
|||
|
LIGHTOFF 21 ;O
|
|||
|
LIGHTOFF 22 ;N
|
|||
|
LIGHTOFF 23 ;E
|
|||
|
LIGHTOFF 26 ;S
|
|||
|
LIGHTOFF 27 ;T
|
|||
|
LIGHTOFF 28 ;O
|
|||
|
LIGHTOFF 29 ;N
|
|||
|
LIGHTOFF 30 ;E
|
|||
|
MOV SB_DISABLED,FALSE
|
|||
|
SUICIDE
|
|||
|
|
|||
|
CHECK_STONE_BONE: ;-C- IF ALL STONE BONE
|
|||
|
CMP LIGHTSTATUS[20],TRUE ;B
|
|||
|
JNE NCST
|
|||
|
CMP LIGHTSTATUS[21],TRUE ;O
|
|||
|
JNE NCST
|
|||
|
CMP LIGHTSTATUS[22],TRUE ;N
|
|||
|
JNE NCST
|
|||
|
CMP LIGHTSTATUS[23],TRUE ;E
|
|||
|
JNE NCST
|
|||
|
CMP LIGHTSTATUS[26],TRUE ;S
|
|||
|
JNE NCST
|
|||
|
CMP LIGHTSTATUS[27],TRUE ;T
|
|||
|
JNE NCST
|
|||
|
CMP LIGHTSTATUS[28],TRUE ;O
|
|||
|
JNE NCST
|
|||
|
CMP LIGHTSTATUS[29],TRUE ;N
|
|||
|
JNE NCST
|
|||
|
CMP LIGHTSTATUS[30],TRUE ;E
|
|||
|
JNE NCST
|
|||
|
STC
|
|||
|
RETN
|
|||
|
NCST: CLC
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
DO_GHOST PROC NEAR ;ENABLE GHOST IF NOT ENABLED
|
|||
|
CMP GHOST_FLASHING,TRUE
|
|||
|
JE QDG
|
|||
|
MOV GHOST_FLASHING,TRUE
|
|||
|
MOV BL,GHOSTCOUNTER
|
|||
|
MOV AL,SIZE GHOST_STRUC
|
|||
|
MUL BL
|
|||
|
MOV BX,AX
|
|||
|
MOV DL,GHOSTAREA[BX].G_LIGHTNO
|
|||
|
LIGHTFLASH DL,GHOSTSPEED
|
|||
|
LIGHTFLASH 16,TRIGHOSTSPEED
|
|||
|
QDG: RETN
|
|||
|
DO_GHOST ENDP
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;********************************** LOWER *************************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
PARTYOFFAREA: ;REAL GAME ON
|
|||
|
MOV BX,OFFSET PARTY_OFFTS
|
|||
|
CALL DO_MATRIX
|
|||
|
MOV BALLHIGH,FALSE
|
|||
|
MOV PARTYFLASH,FALSE
|
|||
|
MOV ADDPLAYERS,FALSE
|
|||
|
MOV CURRENT_PRIORITY,0
|
|||
|
PLAYJINGLE S_MAIN
|
|||
|
MOV LASTJINGLE,1
|
|||
|
MOV I_UTSKJUT,FALSE ;TILL<4C>TER INACTIVE-SLINGAN (DOTMATRIX)
|
|||
|
RETN
|
|||
|
|
|||
|
;*********************************** GAME ON **********************************
|
|||
|
CLOSE1: ;GAME ON
|
|||
|
CALL CLOSEBUMPERS
|
|||
|
MOV HOLDMULTICOUNTER,FALSE
|
|||
|
MOV SI,OFFSET BCD10000
|
|||
|
MOV DI,OFFSET SIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
MOV SI,OFFSET BCD1000
|
|||
|
MOV DI,OFFSET BONUSSIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
;***************************** BYGEL15 *******************************
|
|||
|
BYGEL15: ;IN TO TOWER
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
;***************************** BYGEL16 *******************************
|
|||
|
BYGEL16: ;UPP TILL BUMPEROMR<4D>DET
|
|||
|
PUT_GATE_NEG_LOW GATE2
|
|||
|
CALL ADDTURBO ;CP! EGENTLIGEN SKALL DENNA LIGGA I BUMPEROMR.
|
|||
|
RETN
|
|||
|
|
|||
|
OPENBUMPERS:
|
|||
|
PUT_GATE_NEG_LOW GATE2
|
|||
|
RETN
|
|||
|
|
|||
|
CLOSEBUMPERS: ;F<>R EJ CALLAS P<> MANUELLT!!!
|
|||
|
PUT_GATE_POS_LOW GATE2
|
|||
|
CMP SULP_FLASHING,TRUE
|
|||
|
JNE NOTSFL
|
|||
|
MOV SI,OFFSET BCD1000000
|
|||
|
MOV DI,OFFSET SULP_SCORE
|
|||
|
CALL ADDSCOREBCD
|
|||
|
MOV SI,OFFSET SULP_SCORE
|
|||
|
MOV DI,OFFSET SIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
EFFECT MILLIONPLUS
|
|||
|
ENDFLASH 19
|
|||
|
LIGHTOFF 19
|
|||
|
MOV SULP_FLASHING,FALSE
|
|||
|
NOTSFL:
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
;***************************** Bygel5 *******************************
|
|||
|
Bygel5: ;K
|
|||
|
CMP KEY_DISABLED,TRUE
|
|||
|
JE QB5
|
|||
|
SOUNDEFFECT SBYGEL1,0
|
|||
|
ADDSCORE BCD10060
|
|||
|
ADDBONUS BCD1010
|
|||
|
MOV LIGHTSTATUS[1],TRUE
|
|||
|
CMP SKILLKEY,1
|
|||
|
JNE NOT_SKILL_K
|
|||
|
ENDFLASH 1
|
|||
|
MOV SI,OFFSET BCD1000000
|
|||
|
MOV DI,OFFSET SKILLSCOREBCD
|
|||
|
CALL ADDSCOREBCD
|
|||
|
MOV SI,OFFSET SKILLSCOREBCD
|
|||
|
MOV DI,OFFSET SIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
EFFECT SKILLSHOT
|
|||
|
CALL VAULTADD
|
|||
|
CALL TOWERADD
|
|||
|
CALL JACKADD
|
|||
|
CALL WELLADD
|
|||
|
NOT_SKILL_K:
|
|||
|
CMP SKILLKEY,0
|
|||
|
JZ K_NO_SKILL
|
|||
|
MOV KEY_ROL_DISABLED,FALSE
|
|||
|
ENDFLASH 2
|
|||
|
ENDFLASH 3
|
|||
|
LIGHTOFF 2
|
|||
|
LIGHTOFF 3
|
|||
|
K_NO_SKILL:
|
|||
|
MOV SKILLKEY,0
|
|||
|
CALL CHECK_KEY
|
|||
|
JC ALL_KEY
|
|||
|
ADDTASK BYGEL5T
|
|||
|
LIGHTFLASH 1,SBSPEED
|
|||
|
MOV KEY_ROL_DISABLED,TRUE
|
|||
|
QB5: RETN
|
|||
|
|
|||
|
BYGEL5T:
|
|||
|
CMP KEY_DISABLED,TRUE
|
|||
|
JE QB5T
|
|||
|
WAITSYNCS SBFASTTIME
|
|||
|
ENDFLASH 1 ;K
|
|||
|
LIGHTON 1
|
|||
|
MOV KEY_ROL_DISABLED,FALSE
|
|||
|
QB5T: SUICIDE
|
|||
|
|
|||
|
|
|||
|
;***************************** Bygel6 *******************************
|
|||
|
Bygel6: ;E
|
|||
|
CMP KEY_DISABLED,TRUE
|
|||
|
JE QB6
|
|||
|
SOUNDEFFECT SBYGEL1,0
|
|||
|
ADDSCORE BCD10060
|
|||
|
ADDBONUS BCD1010
|
|||
|
MOV LIGHTSTATUS[2],TRUE
|
|||
|
CMP SKILLKEY,2
|
|||
|
JNE NOT_SKILL_E
|
|||
|
ENDFLASH 2
|
|||
|
MOV SI,OFFSET BCD1000000
|
|||
|
MOV DI,OFFSET SKILLSCOREBCD
|
|||
|
CALL ADDSCOREBCD
|
|||
|
MOV SI,OFFSET SKILLSCOREBCD
|
|||
|
MOV DI,OFFSET SIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
EFFECT SKILLSHOT
|
|||
|
CALL VAULTADD
|
|||
|
CALL TOWERADD
|
|||
|
CALL JACKADD
|
|||
|
CALL WELLADD
|
|||
|
NOT_SKILL_E:
|
|||
|
CMP SKILLKEY,0
|
|||
|
JZ E_NO_SKILL
|
|||
|
MOV KEY_ROL_DISABLED,FALSE
|
|||
|
ENDFLASH 1
|
|||
|
ENDFLASH 3
|
|||
|
LIGHTOFF 1
|
|||
|
LIGHTOFF 3
|
|||
|
E_NO_SKILL:
|
|||
|
MOV SKILLKEY,0
|
|||
|
CALL CHECK_KEY
|
|||
|
JC ALL_KEY
|
|||
|
ADDTASK BYGEL6T
|
|||
|
MOV KEY_ROL_DISABLED,TRUE
|
|||
|
LIGHTFLASH 2,SBSPEED
|
|||
|
QB6: RETN
|
|||
|
|
|||
|
BYGEL6T:
|
|||
|
CMP KEY_DISABLED,TRUE
|
|||
|
JE QB6T
|
|||
|
WAITSYNCS SBFASTTIME
|
|||
|
ENDFLASH 2 ;E
|
|||
|
LIGHTON 2
|
|||
|
MOV KEY_ROL_DISABLED,FALSE
|
|||
|
QB6T: SUICIDE
|
|||
|
|
|||
|
|
|||
|
;***************************** Bygel7 *******************************
|
|||
|
Bygel7: ;Y
|
|||
|
CMP KEY_DISABLED,TRUE
|
|||
|
JE QB7
|
|||
|
SOUNDEFFECT SBYGEL1,0
|
|||
|
ADDSCORE BCD10060
|
|||
|
ADDBONUS BCD1010
|
|||
|
MOV LIGHTSTATUS[3],TRUE
|
|||
|
CMP SKILLKEY,3
|
|||
|
JNE NOT_SKILL_Y
|
|||
|
ENDFLASH 3
|
|||
|
MOV SI,OFFSET BCD1000000
|
|||
|
MOV DI,OFFSET SKILLSCOREBCD
|
|||
|
CALL ADDSCOREBCD
|
|||
|
MOV SI,OFFSET SKILLSCOREBCD
|
|||
|
MOV DI,OFFSET SIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
EFFECT SKILLSHOT
|
|||
|
CALL VAULTADD
|
|||
|
CALL TOWERADD
|
|||
|
CALL JACKADD
|
|||
|
CALL WELLADD
|
|||
|
NOT_SKILL_Y:
|
|||
|
CMP SKILLKEY,0
|
|||
|
JZ Y_NO_SKILL
|
|||
|
MOV KEY_ROL_DISABLED,FALSE
|
|||
|
ENDFLASH 1
|
|||
|
ENDFLASH 2
|
|||
|
LIGHTOFF 1
|
|||
|
LIGHTOFF 2
|
|||
|
Y_NO_SKILL:
|
|||
|
MOV SKILLKEY,0
|
|||
|
CALL CHECK_KEY
|
|||
|
JC ALL_KEY
|
|||
|
ADDTASK BYGEL7T
|
|||
|
LIGHTFLASH 3,SBSPEED
|
|||
|
MOV KEY_ROL_DISABLED,TRUE
|
|||
|
QB7: RETN
|
|||
|
|
|||
|
BYGEL7T:
|
|||
|
CMP KEY_DISABLED,TRUE
|
|||
|
JE QB7T
|
|||
|
WAITSYNCS SBFASTTIME
|
|||
|
ENDFLASH 3 ;Y
|
|||
|
LIGHTON 3
|
|||
|
MOV KEY_ROL_DISABLED,FALSE
|
|||
|
QB7T: SUICIDE
|
|||
|
|
|||
|
|
|||
|
ALL_KEY:
|
|||
|
CALL VAULTADD
|
|||
|
CALL JACKADD
|
|||
|
MOV KEY_DISABLED,TRUE
|
|||
|
MOV KEY_ROL_DISABLED,TRUE
|
|||
|
MOV SKILLKEY,0
|
|||
|
ENDFLASH 1 ;K
|
|||
|
ENDFLASH 2 ;E
|
|||
|
ENDFLASH 3 ;Y
|
|||
|
LIGHTFLASH 1,SBSPEED2
|
|||
|
LIGHTFLASH 2,SBSPEED2
|
|||
|
LIGHTFLASH 3,SBSPEED2
|
|||
|
CMP TBNEXT,0
|
|||
|
JNE NOTTB1
|
|||
|
CMP TBMILLIONFLASHING,TRUE
|
|||
|
JE KEFFREADY
|
|||
|
SYNCEDFLASH 11,TBSPEED,TBSYNCER
|
|||
|
MOV TBMILLIONFLASHING,TRUE
|
|||
|
JMP KEFFREADY
|
|||
|
NOTTB1:
|
|||
|
CMP TBNEXT,1
|
|||
|
JE TB5
|
|||
|
CMP TBNEXT,4
|
|||
|
JB NOTTB5
|
|||
|
TB5: CMP TB5MFLASHING,TRUE
|
|||
|
JE KEFFREADY
|
|||
|
SYNCEDFLASH 12,TBSPEED,TBSYNCER
|
|||
|
MOV TB5MFLASHING,TRUE
|
|||
|
JMP KEFFREADY
|
|||
|
NOTTB5:
|
|||
|
CMP TBNEXT,2
|
|||
|
JNE NOTTBDB
|
|||
|
CMP DOUBLEBONUSFLASHING,TRUE
|
|||
|
JE KEFFREADY
|
|||
|
SYNCEDFLASH 14,TBSPEED,TBSYNCER
|
|||
|
MOV DOUBLEBONUSFLASHING,TRUE
|
|||
|
JMP KEFFREADY
|
|||
|
NOTTBDB:
|
|||
|
CMP TBNEXT,3
|
|||
|
JNE NOTTBHB
|
|||
|
CMP HOLDBONUSFLASHING,TRUE
|
|||
|
JE KEFFREADY
|
|||
|
SYNCEDFLASH 13,TBSPEED,TBSYNCER
|
|||
|
MOV HOLDBONUSFLASHING,TRUE
|
|||
|
JMP KEFFREADY
|
|||
|
NOTTBHB:
|
|||
|
KEFFREADY:
|
|||
|
INC TBNEXT
|
|||
|
ADDTASK ALL_KEY_2
|
|||
|
CMP TOWER_OPEN,TRUE
|
|||
|
JE TOWER_ALREADY_OPEN
|
|||
|
EFFECT OPENTOWER
|
|||
|
MOV TOWER_OPEN,TRUE
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTFLASH 7,TOWERSPEED
|
|||
|
TOWER_ALREADY_OPEN:
|
|||
|
PUT_GATE_NEG_LOW GATE3
|
|||
|
RETN
|
|||
|
|
|||
|
ALL_KEY_2:
|
|||
|
WAITSYNCS SBFASTTIME2
|
|||
|
ENDFLASH 1
|
|||
|
ENDFLASH 2
|
|||
|
ENDFLASH 3
|
|||
|
LIGHTOFF 1
|
|||
|
LIGHTOFF 2
|
|||
|
LIGHTOFF 3
|
|||
|
MOV KEY_DISABLED,FALSE
|
|||
|
MOV KEY_ROL_DISABLED,FALSE
|
|||
|
SUICIDE
|
|||
|
|
|||
|
|
|||
|
CHECK_KEY: ;-C- IF ALL KEY
|
|||
|
CMP LIGHTSTATUS[1],TRUE ;K
|
|||
|
JNE NCK
|
|||
|
CMP LIGHTSTATUS[2],TRUE ;E
|
|||
|
JNE NCK
|
|||
|
CMP LIGHTSTATUS[3],TRUE ;Y
|
|||
|
JNE NCK
|
|||
|
STC
|
|||
|
RETN
|
|||
|
NCK: CLC
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
;***************************** THE TOWER *******************************
|
|||
|
|
|||
|
GropA: ;TOWER SUG-H<>L
|
|||
|
SETBALLPOS TOWERX,TOWERY,0,0,TRUE
|
|||
|
MOV HOLDSTILL,TRUE
|
|||
|
MOV IN_TOWER,TRUE
|
|||
|
CALL ADDTURBO
|
|||
|
CALL JACKADD
|
|||
|
MOV INHIBIT_COUNT_DOWN,TRUE
|
|||
|
|
|||
|
MOV WAS_SPECIAL,FALSE
|
|||
|
CMP SPECIALMODE,TRUE
|
|||
|
JNE JAJA_DE_E_LUNGT
|
|||
|
MOV WAS_SPECIAL,TRUE
|
|||
|
MOVAL TURBOBACKUP,TURBOMODE
|
|||
|
JAJA_DE_E_LUNGT:
|
|||
|
|
|||
|
MOV AL,TOWERHUNTMODE
|
|||
|
MOV TOWERHUNTMODEORIG,AL
|
|||
|
PUT_GATE_POS_LOW GATE3 ;CLOSE TO THE TOWER
|
|||
|
PUT_GATE_NEG_LOW GATE2 ;OPEN TO THE BUMPERS
|
|||
|
MOV TOWER_OPEN,FALSE
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTOFF 7
|
|||
|
MOV REMAL,0
|
|||
|
|
|||
|
CMP TOWERHUNTMODE,TRUE ;TOWER HUNT?
|
|||
|
JNE NOTTHMODE
|
|||
|
CMP TOWERHUNTSTAGE,1 ;TOWER HUNT 1?
|
|||
|
JNE NOTSTAGE1
|
|||
|
EFFECT TOWERHUNT1
|
|||
|
CMP LASTJINGLE,50
|
|||
|
JE ITS50A
|
|||
|
INC LASTJINGLE
|
|||
|
ITS50A: ADD REMAL,AL
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
MOV TOWERHUNTSTAGE,2
|
|||
|
PUT_GATE_NEG_LOW GATE3
|
|||
|
CMP TOWER_OPEN,TRUE
|
|||
|
JE TOWAO
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTFLASH 7,TOWERSPEED
|
|||
|
MOV TOWER_OPEN,TRUE
|
|||
|
TOWAO: JMP THSTAGEDONE
|
|||
|
NOTSTAGE1:
|
|||
|
CMP TOWERHUNTSTAGE,2 ;TOWER HUNT 2?
|
|||
|
JNE NOTSTAGE2
|
|||
|
EFFECT TOWERHUNT2
|
|||
|
CMP LASTJINGLE,50
|
|||
|
JE ITS50B
|
|||
|
INC LASTJINGLE
|
|||
|
ITS50B: ADD REMAL,AL
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
MOV TOWERHUNTSTAGE,3
|
|||
|
PUT_GATE_NEG_LOW GATE3
|
|||
|
CMP TOWER_OPEN,TRUE
|
|||
|
JE TOWAO2
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTFLASH 7,TOWERSPEED
|
|||
|
MOV TOWER_OPEN,TRUE
|
|||
|
TOWAO2: JMP THSTAGEDONE
|
|||
|
NOTSTAGE2:
|
|||
|
CMP TOWERHUNTSTAGE,3 ;TOWER HUNT 3?
|
|||
|
JNE NOTSTAGE3
|
|||
|
EFFECT TOWERHUNT3
|
|||
|
CMP LASTJINGLE,50
|
|||
|
JE ITS50C
|
|||
|
INC LASTJINGLE
|
|||
|
ITS50C: ADD REMAL,AL
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
MOV TOWERHUNTSTAGE,0
|
|||
|
PUT_GATE_NEG_LOW GATE3
|
|||
|
CMP TOWER_OPEN,TRUE
|
|||
|
JE TOWAO3
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTFLASH 7,TOWERSPEED
|
|||
|
MOV TOWER_OPEN,TRUE
|
|||
|
TOWAO3:
|
|||
|
NOTSTAGE3:
|
|||
|
THSTAGEDONE:
|
|||
|
NOTTHMODE:
|
|||
|
|
|||
|
CMP SJACKPOTFLASHING,TRUE ;SUPER JACK?
|
|||
|
JNE NOT_T_SJ
|
|||
|
MOV SJACKPOTFLASHING,FALSE
|
|||
|
ENDFLASH 10
|
|||
|
LIGHTOFF 10
|
|||
|
EFFECTBRACK SUPERJACK
|
|||
|
ADD REMAL,AL
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
NOT_T_SJ:
|
|||
|
|
|||
|
CMP JACKPOTFLASHING,TRUE ;JACKPOT?
|
|||
|
JNE NOT_T_J
|
|||
|
MOV JACKPOTFLASHING,FALSE
|
|||
|
ENDFLASH 9
|
|||
|
LIGHTOFF 9
|
|||
|
EFFECTBRACK JACKPOT
|
|||
|
ADD REMAL,AL
|
|||
|
MOV SI,OFFSET JACKVALUE
|
|||
|
MOV DI,OFFSET SIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
MOVEBCD JACKVALUE,JACKINIT
|
|||
|
SYNCEDFLASH 10,TBSPEED,TBSYNCER
|
|||
|
MOV SJACKPOTFLASHING,TRUE
|
|||
|
CMP TOWER_OPEN,TRUE
|
|||
|
JE TALRO
|
|||
|
MOV TOWER_OPEN,TRUE
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTFLASH 7,TOWERSPEED
|
|||
|
TALRO: PUT_GATE_NEG_LOW GATE3
|
|||
|
ADDTASK SJOFF
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
NOT_T_J:
|
|||
|
|
|||
|
CMP XBALLFLASHING,TRUE ;EXTRA BALL?
|
|||
|
JNE NOT_T_XB
|
|||
|
MOV XBALLFLASHING,FALSE
|
|||
|
ENDFLASH 8
|
|||
|
LIGHTOFF 8
|
|||
|
EFFECT EXTRABALL
|
|||
|
ADD REMAL,AL
|
|||
|
INC XBALLS
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
NOT_T_XB:
|
|||
|
|
|||
|
CMP DOUBLEBONUSFLASHING,TRUE ;DOUBLE BONUS?
|
|||
|
JNE NOT_T_DB
|
|||
|
MOV DOUBLEBONUSFLASHING,FALSE
|
|||
|
ENDFLASH 14
|
|||
|
LIGHTOFF 14
|
|||
|
EFFECT DOUBLEBONUS
|
|||
|
ADD REMAL,AL
|
|||
|
MOV SI,OFFSET BONUSSIFFRORNA
|
|||
|
MOV DI,OFFSET BONUSSIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
NOT_T_DB:
|
|||
|
|
|||
|
CMP HOLDBONUSFLASHING,TRUE ;HOLD BONUS?
|
|||
|
JNE NOT_T_HB
|
|||
|
MOV HOLDBONUSFLASHING,FALSE
|
|||
|
ENDFLASH 13
|
|||
|
LIGHTOFF 13
|
|||
|
EFFECT HOLDBONUS
|
|||
|
ADD REMAL,AL
|
|||
|
MOV HOLDBONUSFLAG,TRUE
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
NOT_T_HB:
|
|||
|
|
|||
|
CMP TB5MFLASHING,TRUE ;5 MILLIONS?
|
|||
|
JNE NOT_T_5M
|
|||
|
MOV TB5MFLASHING,FALSE
|
|||
|
ENDFLASH 12
|
|||
|
LIGHTOFF 12
|
|||
|
EFFECT TMILLION5
|
|||
|
ADD REMAL,AL
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
NOT_T_5M:
|
|||
|
|
|||
|
CMP TBMILLIONFLASHING,TRUE ;MILLION ?
|
|||
|
JNE NOT_T_MILLION
|
|||
|
MOV TBMILLIONFLASHING,FALSE
|
|||
|
ENDFLASH 11
|
|||
|
LIGHTOFF 11
|
|||
|
EFFECT TMILLION
|
|||
|
ADD REMAL,AL
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
jmp notthmode2 ;ska de va s<> h<>r? (annars f<>r man
|
|||
|
; b<>de million och tower bonus (2M))
|
|||
|
NOT_T_MILLION:
|
|||
|
|
|||
|
EFFECT SCORETOWER ;TOWER BONUS ONLY!
|
|||
|
ADD REMAL,AL
|
|||
|
MOV SI,OFFSET TOWERVALUE
|
|||
|
MOV DI,OFFSET SIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
MOVEBCD TOWERVALUE,TOWERSTART
|
|||
|
CMP TOWERHUNTMODE,TRUE ;TOWER HUNT?
|
|||
|
JNE NOTTHMODE2
|
|||
|
PUT_GATE_NEG_LOW GATE3
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTFLASH 7,TOWERSPEED
|
|||
|
MOV TOWER_OPEN,TRUE
|
|||
|
NOTTHMODE2:
|
|||
|
|
|||
|
CMP REMAL,0
|
|||
|
JNE ANEFFISDONE
|
|||
|
ADDTASK TOWERENDT
|
|||
|
ANEFFISDONE:
|
|||
|
MOV INH_EFF,FALSE
|
|||
|
RETN
|
|||
|
|
|||
|
_JACKEND:
|
|||
|
PUSH BX
|
|||
|
ENDFLASH 9
|
|||
|
LIGHTOFF 9
|
|||
|
MOV JACKPOTFLASHING,FALSE
|
|||
|
ENDFLASH 10
|
|||
|
LIGHTOFF 10
|
|||
|
MOV SJACKPOTFLASHING,FALSE
|
|||
|
CMP TOWERHUNTMODEORIG,TRUE
|
|||
|
JE DONTCLOSETOWER
|
|||
|
CALL UPDATE_TOWER_GATE
|
|||
|
JC SOMETHINGFLASHING
|
|||
|
MOV TOWER_OPEN,FALSE
|
|||
|
PUT_GATE_POS_LOW GATE3 ;CLOSE TO THE TOWER
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTOFF 7
|
|||
|
DONTCLOSETOWER:
|
|||
|
SOMETHINGFLASHING:
|
|||
|
MOV SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
POP BX
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
SJOFF: WAITSYNCS SUPERJACK_TIME
|
|||
|
CMP SJACKPOTFLASHING,FALSE
|
|||
|
JE SJANF
|
|||
|
ENDFLASH 10
|
|||
|
LIGHTOFF 10
|
|||
|
MOV SJACKPOTFLASHING,FALSE
|
|||
|
PUT_GATE_NEG_LOW GATE3
|
|||
|
CALL UPDATE_TOWER_GATE
|
|||
|
SJANF: SUICIDE
|
|||
|
|
|||
|
UPDATE_TOWER_GATE: ;CLOSE TOWER IF NO TB OPTION
|
|||
|
;RET -C- IF SOMETHING IS FLASHING
|
|||
|
CMP XBALLFLASHING,TRUE
|
|||
|
JE TGOPEN
|
|||
|
CMP SJACKPOTFLASHING,TRUE
|
|||
|
JE TGOPEN
|
|||
|
CMP JACKPOTFLASHING,TRUE
|
|||
|
JE TGOPEN
|
|||
|
CMP HOLDBONUSFLASHING,TRUE
|
|||
|
JE TGOPEN
|
|||
|
CMP DOUBLEBONUSFLASHING,TRUE
|
|||
|
JE TGOPEN
|
|||
|
CMP TB5MFLASHING,TRUE
|
|||
|
JE TGOPEN
|
|||
|
CMP TBMILLIONFLASHING,TRUE
|
|||
|
JE TGOPEN
|
|||
|
MOV TOWER_OPEN,FALSE
|
|||
|
PUT_GATE_POS_LOW GATE3
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTOFF 7
|
|||
|
CLC
|
|||
|
RETN
|
|||
|
TGOPEN: STC
|
|||
|
RETN
|
|||
|
|
|||
|
GROPA_T:
|
|||
|
SETBALLPOS TOWERX,TOWERY,0,0,TRUE
|
|||
|
MOV HOLDSTILL,TRUE
|
|||
|
ADDTASK TOWERENDT
|
|||
|
RETN
|
|||
|
|
|||
|
_TOWEREND:
|
|||
|
PUSH BX
|
|||
|
ADDTASK TOWERENDT
|
|||
|
MOV SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
POP BX
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
TOWERENDT: ;<3B>TERST<53>LLAREN (ALLTS<54> INTE DEN <20>TERST<53>LLAREN!)
|
|||
|
WAITSYNCS 10
|
|||
|
MOV INHIBIT_COUNT_DOWN,FALSE
|
|||
|
CMP WAS_SPECIAL,TRUE
|
|||
|
JNE INGA_KONSTIGHETER
|
|||
|
MOV BX,OFFSET BACK_2_TURBOTS
|
|||
|
CMP TURBOBACKUP,TRUE
|
|||
|
JE TURBO_IT_WAS
|
|||
|
MOV BX,OFFSET BACK_2_OFFROADTS
|
|||
|
MOV OFFROADMODE,TRUE
|
|||
|
JMP READY_2_CALL
|
|||
|
TURBO_IT_WAS:
|
|||
|
MOV TURBOMODE,TRUE
|
|||
|
READY_2_CALL:
|
|||
|
CALL DO_MATRIX
|
|||
|
INGA_KONSTIGHETER:
|
|||
|
CALL SHOOT_AWAY
|
|||
|
SUICIDE
|
|||
|
|
|||
|
SHOOT_AWAY:
|
|||
|
SOUNDEFFECT SGROP,0
|
|||
|
MOV HOLDSTILL,FALSE
|
|||
|
SETBALLPOS TOWERX,TOWERY,TOWERXS,TOWERYS,TRUE
|
|||
|
MOV IN_TOWER,FALSE
|
|||
|
RETN
|
|||
|
|
|||
|
TOWERENDT_TILT: ;EN LITEN KNUT.
|
|||
|
CALL SHOOT_AWAY
|
|||
|
SUICIDE
|
|||
|
|
|||
|
;***************************** THE WELL *******************************
|
|||
|
GropB: ;THE WELL
|
|||
|
CMP LIGHTSTATUS[25],TRUE ;LOCKED BALL?
|
|||
|
JNE NOBALLINTHEWELL
|
|||
|
MOV HOLDSTILL,TRUE
|
|||
|
ADDTASK WELLENDT
|
|||
|
RETN ;RETN
|
|||
|
NOBALLINTHEWELL:
|
|||
|
|
|||
|
MOV HOLDSTILL,TRUE ;SCORE STANDARD SCORES!
|
|||
|
SETBALLPOS WELLX,WELLY,0,0,FALSE
|
|||
|
MOV IN_WELL,TRUE
|
|||
|
CALL ADDTURBO
|
|||
|
CALL JACKADD
|
|||
|
MOV REMAL,0
|
|||
|
MOV SI,OFFSET WELLVALUE
|
|||
|
MOV DI,OFFSET SIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
|
|||
|
CMP LOCKWELLFLASHING,TRUE ;LOCK ENABLED?
|
|||
|
JNE NOTWLOCKFLASHING
|
|||
|
MOV HOLDMULTICOUNTER,TRUE
|
|||
|
MOV CURRENT_PRIORITY,0
|
|||
|
EFFECT SHOOTTHEBALL
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
ADD REMAL,AL
|
|||
|
SETBALLPOS STARTX,STARTY,10,0,FALSE
|
|||
|
MOV HOLDSTILL,FALSE
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
MOV PARTYFLASH,TRUE
|
|||
|
MOV LASTJINGLE,0 ;0=UTSKJUT
|
|||
|
MOV LOCKWELLFLASHING,FALSE
|
|||
|
ENDFLASH 25 ;LOCK (THE WELL)
|
|||
|
LIGHTON 25
|
|||
|
NOTWLOCKFLASHING:
|
|||
|
|
|||
|
EFFECT SCOREWELL
|
|||
|
ADD REMAL,AL
|
|||
|
|
|||
|
CMP MB_FLASHING,FALSE
|
|||
|
JE NOMB
|
|||
|
MOV MB_FLASHING,FALSE
|
|||
|
ENDFLASH 24
|
|||
|
LIGHTOFF 24
|
|||
|
CMP BPOINTER,43
|
|||
|
JA NOMB
|
|||
|
CMP BONUS_X,1
|
|||
|
JNE NOTBONX1
|
|||
|
INC BONUS_X
|
|||
|
JMP SHORT BONUSXOK
|
|||
|
NOTBONX1:
|
|||
|
ADD BONUS_X,2
|
|||
|
BONUSXOK:
|
|||
|
LIGHTON BPOINTER
|
|||
|
MOV BL,BPOINTER
|
|||
|
SUB BL,39
|
|||
|
MOV AL,SIZE EFFECT_STRUC
|
|||
|
MUL BL
|
|||
|
ADD AX,OFFSET M2
|
|||
|
EFFECT AX
|
|||
|
ADD REMAL,AL
|
|||
|
INC BPOINTER
|
|||
|
NOMB:
|
|||
|
CMP REMAL,0
|
|||
|
JNZ ALL_IS_WELL_WITH_WELL
|
|||
|
ADDTASK WELLENDT
|
|||
|
ALL_IS_WELL_WITH_WELL: ;HMM... MAYBE NOT!
|
|||
|
MOV INH_EFF,FALSE
|
|||
|
MOV AL,BONUS_X
|
|||
|
ADD AL,'7'
|
|||
|
MOV BONUS_TEXT[11],AL
|
|||
|
RETN
|
|||
|
|
|||
|
_WELLEND:
|
|||
|
PUSH BX
|
|||
|
ADDTASK WELLENDT
|
|||
|
MOV SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
POP BX
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
WELLENDT_TILT:
|
|||
|
WELLENDT:
|
|||
|
WAITSYNCS 10 ;CP!
|
|||
|
SOUNDEFFECT SGROP,0
|
|||
|
MOV HOLDSTILL,FALSE
|
|||
|
SETBALLPOS WELLX,WELLY,WELLXS,WELLYS,FALSE
|
|||
|
MOV IN_WELL,FALSE
|
|||
|
SUICIDE
|
|||
|
|
|||
|
GROPB_T:
|
|||
|
MOV IN_WELL,FALSE
|
|||
|
ADDTASK WELLENDT
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Bygel19: ;V<> DRAIN <20>VRE
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
Bygel3: ;V<> FLIPPER-R<>NNA
|
|||
|
SOUNDEFFECT SBYGEL2,0
|
|||
|
ADDSCORE BCD10070
|
|||
|
ADDBONUS BCD1080
|
|||
|
RETN
|
|||
|
|
|||
|
Bygel4: ;H<> FLIPPER-R<>NNA
|
|||
|
SOUNDEFFECT SBYGEL2,0
|
|||
|
ADDSCORE BCD10070
|
|||
|
ADDBONUS BCD1080
|
|||
|
RETN
|
|||
|
|
|||
|
Bygel1: ;V<> DRAIN NEDRE
|
|||
|
SOUNDEFFECT SBYGEL1,0
|
|||
|
ADDSCORE BCD50010
|
|||
|
RETN
|
|||
|
|
|||
|
Bygel2: ;H<> DRAIN
|
|||
|
SOUNDEFFECT SBYGEL1,0
|
|||
|
ADDSCORE BCD50030
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
;***************************** THE VAULT *******************************
|
|||
|
GropC: ;THE VAULT
|
|||
|
MOV REMAL,0
|
|||
|
CMP HIGH_VAULT,TRUE ;THE KICKBACK?
|
|||
|
JE NOT_THE_KICKBACK
|
|||
|
ENDFLASH 44
|
|||
|
LIGHTOFF 44
|
|||
|
MOV KICK_BACK_FLASHING,FALSE
|
|||
|
NOT_THE_KICKBACK:
|
|||
|
|
|||
|
MOV HOLDSTILL,TRUE ;FREEZE BALL!
|
|||
|
SETBALLPOS VAULTX,VAULTY,0,0,FALSE
|
|||
|
|
|||
|
CMP TILTFLAG,TRUE ;TILT?
|
|||
|
JNE NOT_TILT_GC
|
|||
|
ADDTASK VAULTENDT
|
|||
|
RETN ;RETN
|
|||
|
NOT_TILT_GC:
|
|||
|
|
|||
|
CMP LIGHTSTATUS[15],FALSE ;BALL LOCKED IN VAULT?
|
|||
|
JE NOTLOCKEDINVAULT
|
|||
|
ADDTASK VAULTENDT
|
|||
|
RETN ;RETN
|
|||
|
NOTLOCKEDINVAULT:
|
|||
|
|
|||
|
MOV IN_VAULT,TRUE
|
|||
|
CALL JACKADD
|
|||
|
CMP LOCKVAULTFLASHING,TRUE ;LOCK BALL ENABLED?
|
|||
|
JNE NOTVFLASHING
|
|||
|
MOV HOLDMULTICOUNTER,TRUE
|
|||
|
MOV CURRENT_PRIORITY,0
|
|||
|
EFFECT SHOOTTHEBALL
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
ADD REMAL,AL
|
|||
|
MOV HOLDSTILL,FALSE
|
|||
|
SETBALLPOS STARTX,STARTY,10,0,FALSE
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
MOV PARTYFLASH,TRUE
|
|||
|
MOV LASTJINGLE,0 ;0=UTSKJUT
|
|||
|
MOV LOCKVAULTFLASHING,FALSE
|
|||
|
ENDFLASH 15 ;LOCK (THE VAULT)
|
|||
|
LIGHTON 15
|
|||
|
NOTVFLASHING:
|
|||
|
|
|||
|
CMP GHOST_FLASHING,TRUE ;GHOST FLASHING?
|
|||
|
JNE NO_GHOST
|
|||
|
MOV GHOST_FLASHING,FALSE ;GET THE GHOST!
|
|||
|
ENDFLASH 16 ;"GHOST" TRIANGLEOLIKHETEN F<>R SP<53>KM<4B>NGDEN
|
|||
|
LIGHTOFF 16
|
|||
|
MOV BL,GHOSTCOUNTER
|
|||
|
MOV AL,SIZE GHOST_STRUC
|
|||
|
MUL BL
|
|||
|
MOV BX,AX
|
|||
|
PUSH BX
|
|||
|
MOV DL,GHOSTAREA[BX].G_LIGHTNO
|
|||
|
PUSH DX
|
|||
|
ENDFLASH DL
|
|||
|
POP DX
|
|||
|
LIGHTON DL
|
|||
|
POP BX
|
|||
|
PUSH BX
|
|||
|
MOV AX,GHOSTAREA[BX].G_EFFECT
|
|||
|
|
|||
|
CMP SPECIALMODE,TRUE
|
|||
|
JNE NOSPECIALM
|
|||
|
CMP AX,OFFSET GRIMR
|
|||
|
JNE NOTVERYGRIM
|
|||
|
ADDTASK TURBOWAITING
|
|||
|
JMP EFFISDONE
|
|||
|
NOTVERYGRIM:
|
|||
|
CMP AX,OFFSET GHOSTHUNT
|
|||
|
JNE NOTMANYGHOSTS
|
|||
|
MOV FIX_TELEPORT_BUG,TRUE
|
|||
|
ADDTASK OFFROADWAITING
|
|||
|
JMP EFFISDONE
|
|||
|
NOTMANYGHOSTS:
|
|||
|
NOSPECIALM:
|
|||
|
EFFECT AX
|
|||
|
ADD REMAL,AL
|
|||
|
EFFISDONE:
|
|||
|
POP BX
|
|||
|
PUSH BX
|
|||
|
MOV AX,GHOSTAREA[BX].G_ROUTINE
|
|||
|
CALL AX
|
|||
|
POP BX
|
|||
|
INC GHOSTCOUNTER
|
|||
|
CMP GHOSTCOUNTER,8 ;TOTALT 8 SP<53>KEN!
|
|||
|
JB NOT_LAST_GHOST
|
|||
|
MOV GHOSTCOUNTER,0
|
|||
|
CALL DOLIGHTS
|
|||
|
MOV GHOST_INH_SB,TRUE
|
|||
|
LIGHTFLASH 31,BIGGHOSTSPEED
|
|||
|
LIGHTFLASH 32,BIGGHOSTSPEED
|
|||
|
LIGHTFLASH 33,BIGGHOSTSPEED
|
|||
|
LIGHTFLASH 34,BIGGHOSTSPEED
|
|||
|
LIGHTFLASH 35,BIGGHOSTSPEED
|
|||
|
LIGHTFLASH 36,BIGGHOSTSPEED
|
|||
|
LIGHTFLASH 37,BIGGHOSTSPEED
|
|||
|
LIGHTFLASH 38,BIGGHOSTSPEED
|
|||
|
ADDTASK GHOSTOFF
|
|||
|
NOT_LAST_GHOST:
|
|||
|
NO_GHOST:
|
|||
|
|
|||
|
CALL ADDTURBO ;SCORE STANDARD SCORES!
|
|||
|
MOV SI,OFFSET VAULTVALUE
|
|||
|
MOV DI,OFFSET SIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
CMP REMAL,0
|
|||
|
JE NOINHIBIT
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
NOINHIBIT:
|
|||
|
EFFECT SCOREVAULT
|
|||
|
MOV INH_EFF,FALSE
|
|||
|
ADD REMAL,AL
|
|||
|
|
|||
|
CMP REMAL,0
|
|||
|
JNZ TVINGA_MEJ_INTE
|
|||
|
ADDTASK VAULTENDT
|
|||
|
TVINGA_MEJ_INTE:
|
|||
|
RETN
|
|||
|
|
|||
|
GHOSTOFF:
|
|||
|
WAITSYNCS BIGGHOSTTIME
|
|||
|
ENDFLASH 31
|
|||
|
ENDFLASH 32
|
|||
|
ENDFLASH 33
|
|||
|
ENDFLASH 34
|
|||
|
ENDFLASH 35
|
|||
|
ENDFLASH 36
|
|||
|
ENDFLASH 37
|
|||
|
ENDFLASH 38
|
|||
|
CALL DOLIGHTS
|
|||
|
LIGHTOFF 31
|
|||
|
LIGHTOFF 32
|
|||
|
LIGHTOFF 33
|
|||
|
LIGHTOFF 34
|
|||
|
LIGHTOFF 35
|
|||
|
LIGHTOFF 36
|
|||
|
LIGHTOFF 37
|
|||
|
LIGHTOFF 38
|
|||
|
CALL DOLIGHTS
|
|||
|
MOV GHOST_INH_SB,FALSE
|
|||
|
SUICIDE
|
|||
|
|
|||
|
GRIMRUT:
|
|||
|
MOV JINGLEJUMPCNT,0
|
|||
|
CMP JACKPOTFLASHING,TRUE
|
|||
|
JE JPAF
|
|||
|
MOV JACKPOTFLASHING,TRUE
|
|||
|
SYNCEDFLASH 9,TBSPEED,TBSYNCER
|
|||
|
PUT_GATE_NEG_LOW GATE3
|
|||
|
JPAF: CMP TOWER_OPEN,TRUE
|
|||
|
JE TOWAF
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTFLASH 7,TOWERSPEED
|
|||
|
MOV TOWER_OPEN,TRUE
|
|||
|
TOWAF: RETN
|
|||
|
|
|||
|
GHOSTHUNTRUT:
|
|||
|
CMP JACKPOTFLASHING,TRUE
|
|||
|
JE JPAF2
|
|||
|
MOV JACKPOTFLASHING,TRUE
|
|||
|
SYNCEDFLASH 9,TBSPEED,TBSYNCER
|
|||
|
PUT_GATE_NEG_LOW GATE3
|
|||
|
JPAF2: CMP TOWER_OPEN,TRUE
|
|||
|
JE TOWAF2
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTFLASH 7,TOWERSPEED
|
|||
|
MOV TOWER_OPEN,TRUE
|
|||
|
TOWAF2: RETN
|
|||
|
|
|||
|
BATMANRUT:
|
|||
|
REDDEVILRUT:
|
|||
|
MUMMYHEADRUT:
|
|||
|
RETN
|
|||
|
|
|||
|
MULTIDEMONRUT:
|
|||
|
MOV MULTIDEMONMODE,TRUE
|
|||
|
MOV MULTIDEMONDOWNCOUNTER,MULTIDEMON_TIME
|
|||
|
MOV LOCKVAULTFLASHING,TRUE
|
|||
|
MOV LOCKWELLFLASHING,TRUE
|
|||
|
MOV HOLDMULTICOUNTER,FALSE
|
|||
|
ENDFLASH 15 ;LOCK (THE VAULT)
|
|||
|
ENDFLASH 25 ;LOCK (THE WELL)
|
|||
|
LIGHTFLASH 15,LOCKSPEED ;BUDGET-SYNCAD MED 25
|
|||
|
LIGHTFLASH 25,LOCKSPEED
|
|||
|
MOV DEMONFLASHING,TRUE
|
|||
|
LIGHTFLASH 18,DEMONSPEED
|
|||
|
RETN
|
|||
|
|
|||
|
SMILERRUT:
|
|||
|
CMP XBALLFLASHING,TRUE
|
|||
|
JE AXBAF2
|
|||
|
MOV XBALLFLASHING,TRUE
|
|||
|
SYNCEDFLASH 8,TBSPEED,TBSYNCER
|
|||
|
PUT_GATE_NEG_LOW GATE3
|
|||
|
MOV TOWER_OPEN,TRUE
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTFLASH 7,TOWERSPEED
|
|||
|
AXBAF2: RETN
|
|||
|
|
|||
|
TOWERHUNTRUT:
|
|||
|
PUT_GATE_NEG_LOW GATE3
|
|||
|
MOV TOWERHUNTSTAGE,1
|
|||
|
MOV TOWERHUNTMODE,TRUE
|
|||
|
MOV TOWERHUNTDOWNCOUNTER,TOWERHUNT_TIME
|
|||
|
MOV LASTLOOPVAL,0
|
|||
|
MOV LASTJINGLE,46
|
|||
|
CMP TOWER_OPEN,TRUE
|
|||
|
JE TOWAF3
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTFLASH 7,TOWERSPEED
|
|||
|
MOV TOWER_OPEN,TRUE
|
|||
|
TOWAF3: RETN
|
|||
|
|
|||
|
_GRIMOFF:
|
|||
|
PUSH BX
|
|||
|
ENDFLASH 38 ;GRIM OFF!
|
|||
|
LIGHTOFF 38
|
|||
|
MOV SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
POP BX
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
_VAULTEND:
|
|||
|
PUSH BX
|
|||
|
CMP FIX_TELEPORT_BUG,TRUE
|
|||
|
JE NOUTSKJUT
|
|||
|
ADDTASK VAULTENDT
|
|||
|
NOUTSKJUT:
|
|||
|
MOV FIX_TELEPORT_BUG,FALSE
|
|||
|
MOV SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
POP BX
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
VAULTENDT:
|
|||
|
VAULTENDT_TILT:
|
|||
|
WAITSYNCS 10 ;CP?
|
|||
|
SOUNDEFFECT SGROP,0
|
|||
|
MOV HOLDSTILL,FALSE
|
|||
|
PUT_GATE_NEG_LOW GATE5
|
|||
|
SETBALLPOS VAULTX,VAULTY,VAULTXS,VAULTYS,FALSE
|
|||
|
MOV IN_VAULT,FALSE
|
|||
|
ADDTASK VAULTENDTT
|
|||
|
SUICIDE
|
|||
|
|
|||
|
VAULTENDTT:
|
|||
|
WAITSYNCS 30 ;CP?
|
|||
|
CMP KICK_BACK_FLASHING,TRUE
|
|||
|
JE GATE_OK
|
|||
|
PUT_GATE_POS_LOW GATE5
|
|||
|
GATE_OK:
|
|||
|
MOV HIGH_VAULT,FALSE ;H<>GSP<53>NNING!
|
|||
|
SUICIDE
|
|||
|
|
|||
|
_TILTED:
|
|||
|
PUSH BX
|
|||
|
CMP IN_VAULT,TRUE
|
|||
|
JNE NOT_IN_THE_VAULT
|
|||
|
ADDTASK VAULTENDT_TILT
|
|||
|
JMP SHORT IM_SHOT
|
|||
|
NOT_IN_THE_VAULT:
|
|||
|
CMP IN_TOWER,TRUE
|
|||
|
JNE NOT_IN_THE_TOWER
|
|||
|
ADDTASK TOWERENDT_TILT
|
|||
|
JMP SHORT IM_SHOT
|
|||
|
NOT_IN_THE_TOWER:
|
|||
|
CMP IN_WELL,TRUE
|
|||
|
JNE NOT_IN_THE_WELL
|
|||
|
ADDTASK WELLENDT_TILT
|
|||
|
NOT_IN_THE_WELL:
|
|||
|
IM_SHOT:
|
|||
|
MOV SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
POP BX
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
|
|||
|
Close4: ;Close Tower
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
;******************************* SPRING VALID *********************************
|
|||
|
BYGEL28: ;SPRING VALID
|
|||
|
MOV SPRING_VALID,TRUE
|
|||
|
RETN
|
|||
|
|
|||
|
;****************************** SPRING INVALID ********************************
|
|||
|
BYGELSI: ;SPRING INVALID
|
|||
|
MOV SPRING_VALID,FALSE
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;*********************************** UPPER ************************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
;***************************** THE LOOP *******************************
|
|||
|
Bygel8: ;LOOP MIDDLE
|
|||
|
CALL ADDTURBO
|
|||
|
CALL VAULTADD
|
|||
|
CMP COMBODOWNCOUNTER,0
|
|||
|
JZ NOCOMBO3
|
|||
|
CMP COMBOSTAGE,2
|
|||
|
JNE NOCOMBO3
|
|||
|
EFFECT LOOPCOMBO
|
|||
|
NOCOMBO3:
|
|||
|
MOV COMBOSTAGE,0
|
|||
|
CMP LEFT_RAMP_DOWN_COUNTER,0
|
|||
|
MOV LEFT_RAMP_DOWN_COUNTER,LEFT_RAMP_MILLE_TIME
|
|||
|
JNE GIVE_HIM_MILLE
|
|||
|
SOUNDEFFECT SBYGEL1,0 ;BYGELSETD
|
|||
|
ADDSCORE BCD10030
|
|||
|
ADDBONUS BCD1020
|
|||
|
RETN
|
|||
|
|
|||
|
GIVE_HIM_MILLE:
|
|||
|
EFFECT MILLION
|
|||
|
RETN
|
|||
|
|
|||
|
;*********************************** RIP *************************************
|
|||
|
RIP_TOUCH MACRO LNO
|
|||
|
LOCAL QXX,XXT,QXXT
|
|||
|
CMP RIP_DISABLED,TRUE
|
|||
|
JE QXX
|
|||
|
SOUNDEFFECT SBYGEL1,0 ;BYGELSETH
|
|||
|
ADDSCORE BCD10070
|
|||
|
ADDBONUS BCD1080
|
|||
|
MOV LIGHTSTATUS[LNO],TRUE
|
|||
|
CALL CHECK_RIP
|
|||
|
JC ALL_RIP
|
|||
|
ADDTASK XXT
|
|||
|
LIGHTFLASH LNO,RIPSPEED
|
|||
|
MOV RIP_ROL_DISABLED,TRUE
|
|||
|
QXX: RETN
|
|||
|
XXT: CMP RIP_DISABLED,TRUE
|
|||
|
JE QXXT
|
|||
|
WAITSYNCS RIPFASTTIME
|
|||
|
ENDFLASH LNO
|
|||
|
LIGHTON LNO
|
|||
|
MOV RIP_ROL_DISABLED,FALSE
|
|||
|
SUICIDE
|
|||
|
QXXT: ENDFLASH LNO
|
|||
|
MOV RIP_ROL_DISABLED,FALSE
|
|||
|
SUICIDE
|
|||
|
ENDM
|
|||
|
|
|||
|
ALL_RIP:
|
|||
|
MOV RIP_DISABLED,TRUE
|
|||
|
MOV RIP_ROL_DISABLED,TRUE
|
|||
|
ENDFLASH 4 ;R
|
|||
|
ENDFLASH 5 ;I
|
|||
|
ENDFLASH 6 ;P
|
|||
|
LIGHTFLASH 4,RIPSPEED2
|
|||
|
LIGHTFLASH 5,RIPSPEED2
|
|||
|
LIGHTFLASH 6,RIPSPEED2
|
|||
|
ADDTASK ALL_RIP_2
|
|||
|
CMP KICK_BACK_FLASHING,TRUE
|
|||
|
JE ALREADY_KICK
|
|||
|
MOV KICK_BACK_FLASHING,TRUE
|
|||
|
LIGHTFLASH 44,KICKSPEED
|
|||
|
PUT_GATE_NEG_LOW GATE5
|
|||
|
ALREADY_KICK:
|
|||
|
EFFECT RIPEFF
|
|||
|
RETN
|
|||
|
|
|||
|
ALL_RIP_2:
|
|||
|
WAITSYNCS RIPFASTTIME2
|
|||
|
ENDFLASH 4
|
|||
|
ENDFLASH 5
|
|||
|
ENDFLASH 6
|
|||
|
LIGHTOFF 4
|
|||
|
LIGHTOFF 5
|
|||
|
LIGHTOFF 6
|
|||
|
MOV RIP_DISABLED,FALSE
|
|||
|
MOV RIP_ROL_DISABLED,FALSE
|
|||
|
SUICIDE
|
|||
|
|
|||
|
CHECK_RIP: ;-C- IF ALL RIP
|
|||
|
CMP LIGHTSTATUS[4],TRUE ;R
|
|||
|
JNE NCR
|
|||
|
CMP LIGHTSTATUS[5],TRUE ;I
|
|||
|
JNE NCR
|
|||
|
CMP LIGHTSTATUS[6],TRUE ;P
|
|||
|
JNE NCR
|
|||
|
STC
|
|||
|
RETN
|
|||
|
NCR: CLC
|
|||
|
RETN
|
|||
|
|
|||
|
Bygel12: ;R
|
|||
|
RIP_TOUCH 4
|
|||
|
|
|||
|
Bygel13: ;I
|
|||
|
RIP_TOUCH 5
|
|||
|
|
|||
|
Bygel14: ;P
|
|||
|
RIP_TOUCH 6
|
|||
|
|
|||
|
|
|||
|
;***************************** LOOP END *******************************
|
|||
|
Bygel8b: ;LOOP END
|
|||
|
MOV LEFT_RAMP_DOWN_COUNTER,LEFT_RAMP_MILLE_TIME
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
;***************************** SCREAM RAMP *******************************
|
|||
|
Bygel11: ;SCREAM RAMP * RIGHT RAMP *
|
|||
|
SOUNDEFFECT SBYGEL1,0
|
|||
|
ADDSCORE BCD10060
|
|||
|
ADDBONUS BCD1050
|
|||
|
CMP DEMONFLASHING,TRUE ;SCORE DEMONS?
|
|||
|
JNE NODEMONS
|
|||
|
ENDFLASH 18
|
|||
|
LIGHTOFF 18
|
|||
|
MOV MULTIDEMONDOWNCOUNTER,1
|
|||
|
MOV DEMONFLASHING,FALSE
|
|||
|
MOV AL,LIGHTSTATUS[15]
|
|||
|
MOV BL,LIGHTSTATUS[25]
|
|||
|
NIL AH
|
|||
|
NIL BH
|
|||
|
ADD AX,BX
|
|||
|
|
|||
|
CMP AX,TRUE*0 ;NO BALLS LOCKED?
|
|||
|
JNE NOT_0_LOCKED
|
|||
|
EFFECT MILLION5
|
|||
|
JMP SCORE_READY
|
|||
|
NOT_0_LOCKED:
|
|||
|
|
|||
|
CMP AX,TRUE*1 ;ONE BALL LOCKED?
|
|||
|
JNE NOT_1_LOCKED
|
|||
|
EFFECT MILLION10
|
|||
|
JMP SCORE_READY
|
|||
|
NOT_1_LOCKED:
|
|||
|
|
|||
|
CMP AX,TRUE*2 ;TWO BALLS LOCKED?
|
|||
|
JNE NOT_2_LOCKED
|
|||
|
EFFECT MILLION20
|
|||
|
NOT_2_LOCKED:
|
|||
|
SCORE_READY:
|
|||
|
LIGHTOFF 15
|
|||
|
LIGHTOFF 25
|
|||
|
MOV INH_EFF,TRUE
|
|||
|
NODEMONS:
|
|||
|
|
|||
|
CMP COMBODOWNCOUNTER,0 ;LOOP COMBO?
|
|||
|
JZ NOCOMBO2
|
|||
|
CMP COMBOSTAGE,1
|
|||
|
JNE NOCOMBO2
|
|||
|
MOV COMBOSTAGE,2
|
|||
|
JMP COMBOSTAGE2OK
|
|||
|
NOCOMBO2:
|
|||
|
MOV COMBOSTAGE,0
|
|||
|
COMBOSTAGE2OK:
|
|||
|
|
|||
|
CALL ADDTURBO
|
|||
|
CALL WELLADD
|
|||
|
intervall=10
|
|||
|
AGAIN_MILE:
|
|||
|
INC CYCLONECOUNTER
|
|||
|
MOV SI,OFFSET ETTA
|
|||
|
MOV DI,OFFSET CYCLONECOUNTERBCD
|
|||
|
CALL ADDSCOREBCD
|
|||
|
|
|||
|
CMP _2X_SCREAMS_FLASHING,FALSE
|
|||
|
JE NOT2XSF
|
|||
|
MOV _2X_SCREAMS_FLASHING,FALSE
|
|||
|
ENDFLASH 17
|
|||
|
LIGHTOFF 17
|
|||
|
ADDTASK THESECONDTIME
|
|||
|
NOT2XSF:
|
|||
|
Cmp CycloneCounter,1
|
|||
|
je Again_Mile ;Om 1 <20>ke till 2 . . .
|
|||
|
|
|||
|
mov ax,CycloneCounter
|
|||
|
mov cx,nextjump
|
|||
|
sub cx,ax
|
|||
|
jz Do_Jump ;G<>r effekten
|
|||
|
cmp cx,10
|
|||
|
; jnb No_jump ;Den <20>r inte n<>sta . . .
|
|||
|
|
|||
|
;***************************** lites the jump
|
|||
|
mov ax,nextjump ;V<>rdet . . .
|
|||
|
mov bx,offset jUMP_aT_text ;vilken text <20> stoppa in v<>rdet i
|
|||
|
CMP CYCLONECOUNTER,10
|
|||
|
JNA NOTTHE5M
|
|||
|
MOV BX,OFFSET JUMP_AT_TEXT2
|
|||
|
Call Put_In_Text
|
|||
|
MOV BX,OFFSET MILES_TEXT+4
|
|||
|
MOV AX,CYCLONECOUNTER
|
|||
|
CALL PUT_IN_TEXT
|
|||
|
EFFECT JUMP_AT2
|
|||
|
JMP HOPP
|
|||
|
NOTTHE5M:
|
|||
|
Call Put_In_Text
|
|||
|
MOV BX,OFFSET MILES_TEXT+4
|
|||
|
MOV AX,CYCLONECOUNTER
|
|||
|
CALL PUT_IN_TEXT
|
|||
|
EFFECT JUMP_AT
|
|||
|
HOPP:
|
|||
|
No_Jump:
|
|||
|
MOV INH_EFF,FALSE
|
|||
|
RETN
|
|||
|
do_Jump:
|
|||
|
CMP CYCLONECOUNTER,10
|
|||
|
JNE ITS5M
|
|||
|
CALL ENABLE_XBALL
|
|||
|
JMP EFFUTFORD
|
|||
|
ITS5M: CALL ENABLE_5M
|
|||
|
MOV BX,OFFSET MILES_TEXT+4
|
|||
|
MOV AX,CYCLONECOUNTER
|
|||
|
CALL PUT_IN_TEXT
|
|||
|
EFFECT JUMP_AT2
|
|||
|
EFFUTFORD:
|
|||
|
add nextjump,intervall
|
|||
|
MOV INH_EFF,FALSE
|
|||
|
RETN
|
|||
|
|
|||
|
THESECONDTIME: ;ONLY IF 2X SCREAMS!
|
|||
|
WAITSYNCS 2
|
|||
|
CALL BYGEL11
|
|||
|
SUICIDE
|
|||
|
|
|||
|
;*****************************
|
|||
|
;Input: Ax= NextR<74>knare Bx=offset till texten
|
|||
|
Put_In_Text:
|
|||
|
PUSH BX
|
|||
|
mov di,2
|
|||
|
mov cx,3
|
|||
|
loopen_lejf:
|
|||
|
push cx
|
|||
|
NIL DX
|
|||
|
MOV CX,10
|
|||
|
DIV CX
|
|||
|
add dx,'7'
|
|||
|
mov [bx][di],dl
|
|||
|
pop cx
|
|||
|
dec di
|
|||
|
loop loopen_lejf
|
|||
|
POP BX
|
|||
|
|
|||
|
LOOPEN_BERTIL:
|
|||
|
CMP BYTE PTR [BX],'7'
|
|||
|
JNZ AVBRYT_BRUTALT
|
|||
|
MOV BYTE PTR [BX],'*'
|
|||
|
INC BX
|
|||
|
LOOP LOOPEN_BERTIL
|
|||
|
AVBRYT_BRUTALT:
|
|||
|
RETN
|
|||
|
;*****************************
|
|||
|
|
|||
|
ENABLE_XBALL:
|
|||
|
CMP XBALLFLASHING,TRUE
|
|||
|
JE AXBAF
|
|||
|
MOV XBALLFLASHING,TRUE
|
|||
|
SYNCEDFLASH 8,TBSPEED,TBSYNCER
|
|||
|
PUT_GATE_NEG_LOW GATE3
|
|||
|
MOV TOWER_OPEN,TRUE
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTFLASH 7,TOWERSPEED
|
|||
|
EFFECT GETXBALL
|
|||
|
AXBAF: RETN
|
|||
|
|
|||
|
ENABLE_5M:
|
|||
|
CMP TB5MFLASHING,TRUE
|
|||
|
JE AF5M
|
|||
|
MOV TB5MFLASHING,TRUE
|
|||
|
SYNCEDFLASH 12,TBSPEED,TBSYNCER
|
|||
|
PUT_GATE_NEG_LOW GATE3
|
|||
|
MOV TOWER_OPEN,TRUE
|
|||
|
ENDFLASH 7
|
|||
|
LIGHTFLASH 7,TOWERSPEED
|
|||
|
EFFECT OPENTOWER
|
|||
|
AF5M: RETN
|
|||
|
|
|||
|
|
|||
|
;***************************** Bygel9 *******************************
|
|||
|
Bygel9: ;GRID-RAMP START LEFT
|
|||
|
CMP TILTFLAG,TRUE
|
|||
|
JE TILT_B9
|
|||
|
CALL ADDTURBO
|
|||
|
CALL VAULTADD
|
|||
|
SOUNDEFFECT SBYGEL1,0
|
|||
|
ADDSCORE BCD10030
|
|||
|
ADDBONUS BCD1040
|
|||
|
CMP SULP_FLASHING,TRUE
|
|||
|
JE SAF
|
|||
|
MOV SULP_FLASHING,TRUE
|
|||
|
ENDFLASH 19 IF FASTFLASH!
|
|||
|
SYNCEDFLASH 19,SULPSPEED,SULPSYNCER ;SULP
|
|||
|
SAF:
|
|||
|
CMP _2X_SCREAMS_FLASHING,TRUE
|
|||
|
JE _2AF
|
|||
|
MOV _2X_SCREAMS_FLASHING,TRUE
|
|||
|
ENDFLASH 17 ;IF FASTFLASH!
|
|||
|
SYNCEDFLASH 17,SULPSPEED,SULPSYNCER ;2XSCREAM
|
|||
|
_2AF:
|
|||
|
MOV SULPDOWNCOUNTER,SULP_TIME-SULP_FASTFLASH_TIME
|
|||
|
CMP BPOINTER,43
|
|||
|
JA MBAF
|
|||
|
CMP MB_FLASHING,TRUE
|
|||
|
JE MBAF
|
|||
|
MOV MB_FLASHING,TRUE
|
|||
|
ENDFLASH 24 ;IF FASTFLASH!
|
|||
|
SYNCEDFLASH 24,SULPSPEED,SULPSYNCER ;MB
|
|||
|
MOV MBDOWNCOUNTER,MB_TIME-MB_FASTFLASH_TIME
|
|||
|
MBAF:
|
|||
|
MOV COMBOSTAGE,1
|
|||
|
MOV COMBODOWNCOUNTER,COMBO_TIME
|
|||
|
TILT_B9:
|
|||
|
PUT_GATE_NEG_HIGH GATE4A
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;***************************** Bygel10 *******************************
|
|||
|
Bygel10: ;GRID-RAMP START RIGHT
|
|||
|
CMP TILTFLAG,TRUE
|
|||
|
JE TILT_B10
|
|||
|
CALL ADDTURBO
|
|||
|
SOUNDEFFECT SBYGEL1,0
|
|||
|
ADDSCORE BCD10020
|
|||
|
ADDBONUS BCD1010
|
|||
|
TILT_B10:
|
|||
|
PUT_GATE_POS_HIGH GATE4A
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
Open6: ;GRID-RAMP B<>J1 LEFT
|
|||
|
PUT_GATE_NEG_HIGH GATE4B
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
Close6: ;GRID-RAMP B<>J1 RIGHT
|
|||
|
PUT_GATE_POS_HIGH GATE4B
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
Open7: ;GRID-RAMP B<>J2 LEFT
|
|||
|
PUT_GATE_NEG_HIGH GATE4C
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
Close7: ;GRID-RAMP B<>J2 RIGHT
|
|||
|
PUT_GATE_POS_HIGH GATE4C
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
Bygel18: ;TO THE VAULT
|
|||
|
MOV HIGH_VAULT,TRUE
|
|||
|
CALL VAULTADD
|
|||
|
RETN
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
UPDATE_COUNTERS PROC NEAR
|
|||
|
CMP LOOSING,TRUE
|
|||
|
JE COUNTERS_INH
|
|||
|
CMP INHIBIT_COUNT_DOWN,TRUE
|
|||
|
JE COUNTERS_INH
|
|||
|
|
|||
|
CMP LEFT_RAMP_DOWN_COUNTER,0
|
|||
|
JZ NLRDC
|
|||
|
DEC LEFT_RAMP_DOWN_COUNTER
|
|||
|
NLRDC:
|
|||
|
|
|||
|
CMP HOLDMULTICOUNTER,TRUE
|
|||
|
JE GURKA2
|
|||
|
CMP MULTIDEMONDOWNCOUNTER,1 ;MULTI DEMONS
|
|||
|
JB GURKA
|
|||
|
JNE NOTLASTGURKA
|
|||
|
MOV MULTIDEMONMODE,FALSE
|
|||
|
CMP LOCKVAULTFLASHING,FALSE
|
|||
|
JE LOCKVAULTOK
|
|||
|
MOV LOCKVAULTFLASHING,FALSE
|
|||
|
ENDFLASH 15 ;LOCK (THE VAULT)
|
|||
|
LIGHTOFF 15
|
|||
|
LOCKVAULTOK:
|
|||
|
CMP LOCKWELLFLASHING,FALSE
|
|||
|
JE LOCKWELLOK
|
|||
|
MOV LOCKWELLFLASHING,FALSE
|
|||
|
ENDFLASH 25 ;LOCK (THE WELL)
|
|||
|
LIGHTOFF 25
|
|||
|
LOCKWELLOK:
|
|||
|
NOTLASTGURKA:
|
|||
|
DEC MULTIDEMONDOWNCOUNTER
|
|||
|
GURKA:
|
|||
|
GURKA2:
|
|||
|
|
|||
|
INC SULPSYNCER ;SULP SYNCER
|
|||
|
CMP SULPSYNCER,SULPSPEED*2
|
|||
|
JNE SULPSOK
|
|||
|
MOV SULPSYNCER,0
|
|||
|
SULPSOK:
|
|||
|
SYNCCOUNT TBSYNCER,TBSPEED
|
|||
|
|
|||
|
;******************** SULP, SCREAMS AND MB **********************
|
|||
|
CMP SULPDOWNCOUNTER,0
|
|||
|
JE SULPZERO
|
|||
|
DEC SULPDOWNCOUNTER
|
|||
|
JNZ NOTLASTSULP
|
|||
|
CMP SULP_FLASHING,FALSE
|
|||
|
JE NOSULPFF
|
|||
|
MOV SULP_FLASHING,FALSE
|
|||
|
ENDFLASH 19
|
|||
|
LIGHTOFF 19
|
|||
|
NOSULPFF:
|
|||
|
CMP _2X_SCREAMS_FLASHING,FALSE
|
|||
|
JE NO2XSFF
|
|||
|
MOV _2X_SCREAMS_FLASHING,FALSE
|
|||
|
ENDFLASH 17
|
|||
|
LIGHTOFF 17
|
|||
|
NO2XSFF:
|
|||
|
NOTLASTSULP:
|
|||
|
CMP SULPDOWNCOUNTER,SULP_FASTFLASH_TIME
|
|||
|
JNE NOTFASTSULP
|
|||
|
CMP SULP_FLASHING,FALSE
|
|||
|
JE NOSULPF
|
|||
|
ENDFLASH 19
|
|||
|
LIGHTFLASH 19,SULPFASTFLASHSPEED
|
|||
|
NOSULPF:CMP _2X_SCREAMS_FLASHING,FALSE
|
|||
|
JE NO2XSF
|
|||
|
ENDFLASH 17
|
|||
|
LIGHTFLASH 17,SULPFASTFLASHSPEED
|
|||
|
NO2XSF:
|
|||
|
NOTFASTSULP:
|
|||
|
SULPZERO:
|
|||
|
;**************************** MB **********************************
|
|||
|
CMP MBDOWNCOUNTER,0
|
|||
|
JE MBZERO
|
|||
|
DEC MBDOWNCOUNTER
|
|||
|
JNZ NOTLASTMB
|
|||
|
CMP MB_FLASHING,FALSE
|
|||
|
JE NOMBFF
|
|||
|
MOV MB_FLASHING,FALSE
|
|||
|
ENDFLASH 24
|
|||
|
LIGHTOFF 24
|
|||
|
NOMBFF:
|
|||
|
NOTLASTMB:
|
|||
|
CMP MBDOWNCOUNTER,MB_FASTFLASH_TIME
|
|||
|
JNE NOTFASTMB
|
|||
|
CMP MB_FLASHING,FALSE
|
|||
|
JE NOMBF
|
|||
|
ENDFLASH 24
|
|||
|
LIGHTFLASH 24,MBFASTFLASHSPEED
|
|||
|
NOMBF:
|
|||
|
NOTFASTMB:
|
|||
|
MBZERO:
|
|||
|
|
|||
|
CMP COMBODOWNCOUNTER,0 ;COMBO
|
|||
|
JZ COMBOZERO
|
|||
|
DEC COMBODOWNCOUNTER
|
|||
|
JNZ NOTLASTCOMBO
|
|||
|
MOV COMBOSTAGE,0
|
|||
|
NOTLASTCOMBO:
|
|||
|
COMBOZERO:
|
|||
|
CMP TOWERHUNTDOWNCOUNTER,0 ;TOWER HUNT
|
|||
|
JZ TOWERHUNTZERO
|
|||
|
DEC TOWERHUNTDOWNCOUNTER
|
|||
|
JNZ NOTLASTTH
|
|||
|
|
|||
|
MOV TOWERHUNTMODE,FALSE
|
|||
|
MOV TOWERHUNTSTAGE,0
|
|||
|
PLAYJINGLE SJINGLE16
|
|||
|
MOVAL LASTJINGLE,S_MAIN[0]
|
|||
|
|
|||
|
NOTLASTTH:
|
|||
|
TOWERHUNTZERO:
|
|||
|
|
|||
|
COUNTERS_INH:
|
|||
|
RETN
|
|||
|
UPDATE_COUNTERS ENDP
|
|||
|
|
|||
|
|
|||
|
|
|||
|
BUMPER_WAS_HIT_PROC PROC NEAR ;INPUT: HITPOINTER
|
|||
|
CALL ADDOFFROAD
|
|||
|
UPDAT_INFOBAR
|
|||
|
RETN
|
|||
|
BUMPER_WAS_HIT_PROC ENDP
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;********************************* DOT MATRIX CODE ****************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
_WAIT_GAME_ON:
|
|||
|
MOV DOTRUT,OFFSET GONRUT
|
|||
|
MOV SISA,44
|
|||
|
JMP NORMAL_END
|
|||
|
GONRUT:
|
|||
|
CMP ADDPLAYERS,TRUE
|
|||
|
JE INTE_SATT_IGANG
|
|||
|
MOV SI,0
|
|||
|
RETN
|
|||
|
INTE_SATT_IGANG:
|
|||
|
MOV SI,34 ;INTE 0 = INTE IG<49>NG !!
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
_JBCDZ:
|
|||
|
IFZEROBCD [BX+2]
|
|||
|
JC OVERIT_
|
|||
|
MOV BX,[BX+4]
|
|||
|
SUB BX,6
|
|||
|
OVERIT_:
|
|||
|
ADD BX,6
|
|||
|
CMP WORD PTR [BX],0
|
|||
|
JNE _NEXTp_4
|
|||
|
MOV BX,0
|
|||
|
MOV NEXT_A,BX
|
|||
|
RETN
|
|||
|
_NEXTp_4:
|
|||
|
MOV NEXT_A,BX
|
|||
|
JMP [BX]
|
|||
|
|
|||
|
_JBONUSX1:
|
|||
|
CMP BONUS_X,1
|
|||
|
JNE QJBX1
|
|||
|
ADD BX,2
|
|||
|
MOV BX,[BX]
|
|||
|
MOV NEXT_A,BX
|
|||
|
JMP [BX]
|
|||
|
QJBX1: MOV SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
_Jmp:
|
|||
|
add bx,2
|
|||
|
mov bx,[bx]
|
|||
|
MOV NEXT_A,BX
|
|||
|
JMP [BX]
|
|||
|
|
|||
|
|
|||
|
_CALC_HAPPY:
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
MOV SISA,1
|
|||
|
PUSHA
|
|||
|
MOV SI,OFFSET OR_TOTAL ;ML_TOT -> TOTAL BONUS
|
|||
|
MOV DI,OFFSET BONUSSIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
POPA
|
|||
|
ADD BX,2
|
|||
|
CMP WORD PTR [BX],0
|
|||
|
JNE _NEXTp_3E
|
|||
|
MOV BX,0
|
|||
|
_NEXTp_3E:
|
|||
|
MOV NEXT_A,BX
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
|
|||
|
_CALC_CYCLO:
|
|||
|
PUSH ES
|
|||
|
MOVE ES,DS
|
|||
|
MOV DI,OFFSET CYCLONESCOREBCD
|
|||
|
NIL AX
|
|||
|
MOV CX,12/2 ;(12/6=6!!!)
|
|||
|
REP STOSW
|
|||
|
POP ES
|
|||
|
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
MOV SISA,1
|
|||
|
MOV CX,CYCLONECOUNTER
|
|||
|
URBANLOOP:
|
|||
|
MOV SI,OFFSET HUNDRATUSEN
|
|||
|
MOV DI,OFFSET CYCLONESCOREBCD
|
|||
|
PUSH CX BX
|
|||
|
CALL ADDSCOREBCD
|
|||
|
POP BX CX
|
|||
|
LOOP URBANLOOP
|
|||
|
|
|||
|
MOV SI,OFFSET CYCLONESCOREBCD ;CYCLONES -> TOTAL BONUS
|
|||
|
MOV DI,OFFSET BONUSSIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
|
|||
|
ADD BX,2
|
|||
|
CMP WORD PTR [BX],0
|
|||
|
JNE _NEXTp_3gg
|
|||
|
MOV BX,0
|
|||
|
_NEXTp_3gg:
|
|||
|
MOV NEXT_A,BX
|
|||
|
RETN
|
|||
|
|
|||
|
READ_SPECIAL_MODE_COUNTER PROC NEAR
|
|||
|
;[SEC_ASC] PEKAR P<> MSD, (0='*') [SEC_ASC+1] PEKAR P<> LSD
|
|||
|
;L<>S AV BARA!
|
|||
|
MOVE DS,DATA
|
|||
|
cmp [sec_asc],'*'
|
|||
|
jne no_end
|
|||
|
cmp [sec_asc+1],'0'+7 ;???
|
|||
|
jne no_end
|
|||
|
cmp turbomode,true
|
|||
|
jne noturboend
|
|||
|
PLAYJINGLE_PENETRATE SJINGLE20
|
|||
|
mov lastjingle,3
|
|||
|
noturboend:
|
|||
|
cmp OffRoadmode,true
|
|||
|
jne nooffrend
|
|||
|
PLAYJINGLE_PENETRATE SJINGLE20 ;CP! SJINGLE18!!!!
|
|||
|
mov lastjingle,3
|
|||
|
nooffrend:
|
|||
|
; mov specialmode,false
|
|||
|
mov offroadmode,false
|
|||
|
mov turbomode,false ;mega cp!!
|
|||
|
mov current_priority,0
|
|||
|
mov lastjingle,3
|
|||
|
mov jinglejumpcnt,1
|
|||
|
no_end:
|
|||
|
RETN
|
|||
|
READ_SPECIAL_MODE_COUNTER ENDP
|
|||
|
|
|||
|
INIT_TOWER:
|
|||
|
MOVEBCD TOWERVALUE,TOWERSTART
|
|||
|
RETN
|
|||
|
INIT_VAULT:
|
|||
|
MOVEBCD VAULTVALUE,VAULTSTART
|
|||
|
RETN
|
|||
|
INIT_WELL:
|
|||
|
MOVEBCD WELLVALUE,WELLSTART
|
|||
|
RETN
|
|||
|
|
|||
|
TOWERADD:
|
|||
|
PUSHA
|
|||
|
MOV SI,OFFSET TOWERADDS
|
|||
|
MOV DI,OFFSET TOWERVALUE
|
|||
|
CALL ADDSCOREBCD
|
|||
|
POPA
|
|||
|
RETN
|
|||
|
VAULTADD:
|
|||
|
PUSHA
|
|||
|
MOV SI,OFFSET VAULTADDS
|
|||
|
MOV DI,OFFSET VAULTVALUE
|
|||
|
CALL ADDSCOREBCD
|
|||
|
POPA
|
|||
|
RETN
|
|||
|
WELLADD:
|
|||
|
PUSHA
|
|||
|
MOV SI,OFFSET WELLADDS
|
|||
|
MOV DI,OFFSET WELLVALUE
|
|||
|
CALL ADDSCOREBCD
|
|||
|
POPA
|
|||
|
RETN
|
|||
|
|
|||
|
JACKADD PROC NEAR ;FN: JACKVALUE += JACKRAISE
|
|||
|
PUSHA
|
|||
|
MOV SI,OFFSET JACKRAISE
|
|||
|
MOV DI,OFFSET JACKVALUE
|
|||
|
CALL ADDSCOREBCD
|
|||
|
POPA
|
|||
|
RETN
|
|||
|
JACKADD ENDP
|
|||
|
|
|||
|
ADDTURBO:
|
|||
|
CMP TURBOMODE,TRUE
|
|||
|
JNE NO_TURBO
|
|||
|
MOV SI,OFFSET BCD5000000
|
|||
|
MOV DI,OFFSET TM_TOTAL
|
|||
|
CALL ADDSCOREBCD
|
|||
|
MOV SPECIAL_SCORE_CHANGED,TRUE
|
|||
|
NO_TURBO:
|
|||
|
RETN
|
|||
|
|
|||
|
ADDOFFROAD:
|
|||
|
CMP OFFROADMODE,TRUE
|
|||
|
JNE NO_OFFROAD
|
|||
|
MOV SI,OFFSET BCD1000000
|
|||
|
MOV DI,OFFSET OR_TOTAL
|
|||
|
CALL ADDSCOREBCD
|
|||
|
MOV SPECIAL_SCORE_CHANGED,TRUE
|
|||
|
NO_OFFROAD:
|
|||
|
RETN
|
|||
|
|
|||
|
_PARTYONN:
|
|||
|
MOVE DS,DATA
|
|||
|
ASSUME DS:DATA
|
|||
|
MOV AL,PLAYER
|
|||
|
ADD AL,'A'-10
|
|||
|
MOV SHOOTTHEBALLTEXT[19],AL
|
|||
|
MOV SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
_SHOOT_AGAIN_ONN:
|
|||
|
MOVE DS,DATA
|
|||
|
ASSUME DS:DATA
|
|||
|
MOV AL,PLAYER
|
|||
|
ADD AL,'A'-10
|
|||
|
MOV SHOOT_AGAIN_TEXT[19],AL
|
|||
|
MOV SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
|
|||
|
_PARTYON: ;BX NOT USED!
|
|||
|
MOV PARTYFLASH,TRUE
|
|||
|
MOVE SISA,1 ;HUR M<>NGA
|
|||
|
MOV DOTRUT,OFFSET PARTYRUT
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
_PARTYOFF: ;TURN OFF PARTYON FLASHING (AND BRING BACK SCORE!)
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
MOV SISA,1
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
|
|||
|
TURBOWAITING: ; T.A.S.K.
|
|||
|
CMP SPECIALMODE,TRUE
|
|||
|
JE STILLTRUE1
|
|||
|
CMP LOOSING,TRUE
|
|||
|
JE KILLHIMNOW1
|
|||
|
MOV FIX_TELEPORT_BUG,TRUE
|
|||
|
EFFECT GRIMR
|
|||
|
KILLHIMNOW1:
|
|||
|
SUICIDE
|
|||
|
STILLTRUE1:
|
|||
|
RETN
|
|||
|
|
|||
|
OFFROADWAITING: ; T.A.S.K.
|
|||
|
CMP SPECIALMODE,TRUE
|
|||
|
JE STILLTRUE2
|
|||
|
CMP LOOSING,TRUE
|
|||
|
JE KILLHIMNOW2
|
|||
|
MOV FIX_TELEPORT_BUG,TRUE
|
|||
|
EFFECT GHOSTHUNT
|
|||
|
KILLHIMNOW2:
|
|||
|
SUICIDE
|
|||
|
STILLTRUE2:
|
|||
|
RETN
|
|||
|
|
|||
|
|
|||
|
_BONUS_X_CALCS: ;FN: MULTIPLIES THE BONUS
|
|||
|
;INPUT: BONUS_X, BONUSSIFFRORNA
|
|||
|
;OUTPUT: BONUSSIFFRORNA, BONUS_A_TEXT
|
|||
|
PUSH BX
|
|||
|
PUSH ES
|
|||
|
MOVEBCD TEMPBONUSBCD,BONUSSIFFRORNA
|
|||
|
MOV CL,BONUS_X
|
|||
|
DEC CL
|
|||
|
JZ NO_X_BONUS
|
|||
|
NIL CH
|
|||
|
DO_IT_AGAIN:
|
|||
|
PUSH CX
|
|||
|
MOV SI,OFFSET TEMPBONUSBCD
|
|||
|
MOV DI,OFFSET BONUSSIFFRORNA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
POP CX
|
|||
|
LOOP DO_IT_AGAIN
|
|||
|
NO_X_BONUS:
|
|||
|
MOV BONUS_X_TEXT[8],1+'7'
|
|||
|
MOV BONUS_X_TEXT[9],0+'7'
|
|||
|
MOV AL,BONUS_X
|
|||
|
ADD AL,'7'
|
|||
|
CMP AL,10+'7'
|
|||
|
JNB ITS10
|
|||
|
MOV BONUS_X_TEXT[8],AL
|
|||
|
MOV BONUS_X_TEXT[9],' '
|
|||
|
ITS10:
|
|||
|
POP ES
|
|||
|
POP BX
|
|||
|
MOV SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
|
|||
|
|
|||
|
_CALC_MEGA:
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
MOV SISA,1
|
|||
|
MOV SI,OFFSET TM_TOTAL ;ML_TOT -> TOTAL BONUS
|
|||
|
MOV DI,OFFSET BONUSSIFFRORNA
|
|||
|
PUSHA
|
|||
|
CALL ADDSCOREBCD
|
|||
|
POPA
|
|||
|
ADD BX,2
|
|||
|
CMP WORD PTR [BX],0
|
|||
|
JNE _NEXTp_3Q
|
|||
|
MOV BX,0
|
|||
|
_NEXTp_3Q:
|
|||
|
MOV NEXT_A,BX
|
|||
|
RETN
|
|||
|
|
|||
|
;SetWBPL <BPLmask> Set write BPL mask
|
|||
|
SetWBPL macro BPLnr
|
|||
|
mov dx,3c4h
|
|||
|
mov ah,BPLnr
|
|||
|
mov al,2
|
|||
|
out dx,ax
|
|||
|
endm
|
|||
|
;-)
|
|||
|
_tower:
|
|||
|
MOVE cs:stannalinne,[BX+2] ;HUR M<>NGA
|
|||
|
mov cs:linne,152
|
|||
|
MOV DOTRUT,OFFSET towerrut
|
|||
|
;galopp
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
linne dw ?
|
|||
|
stannalinne dw ?
|
|||
|
|
|||
|
towerrut:
|
|||
|
dec cs:linne ;mindre nattlinne=mer <20> se!!
|
|||
|
mov cx,cs:linne
|
|||
|
call showtower
|
|||
|
mov ax,cs:stannalinne
|
|||
|
cmp cs:linne,ax
|
|||
|
je stopit
|
|||
|
mov si,1
|
|||
|
retn
|
|||
|
stopit:
|
|||
|
mov si,0
|
|||
|
retn
|
|||
|
|
|||
|
showtower:
|
|||
|
;cx: startlinje!
|
|||
|
move es,0a000h
|
|||
|
move ds,anim08seg
|
|||
|
mov di,sw/4*2
|
|||
|
mov dx,0
|
|||
|
mov ax,320/8
|
|||
|
;cx=linje
|
|||
|
mul cx
|
|||
|
assume ds:anim08seg
|
|||
|
mov si,offset anim08
|
|||
|
assume ds:data
|
|||
|
add si,ax
|
|||
|
mov bl,10000000b
|
|||
|
mov bh,00001000b
|
|||
|
|
|||
|
mov cx,2
|
|||
|
two:
|
|||
|
push cx si di
|
|||
|
push bx
|
|||
|
shr bh,1
|
|||
|
xor bh,101b
|
|||
|
setwbpl bh
|
|||
|
pop bx
|
|||
|
mov cx,16
|
|||
|
put_kll:
|
|||
|
push cx
|
|||
|
mov cx,320/8
|
|||
|
put_bits:
|
|||
|
mov dl,[si]
|
|||
|
inc si
|
|||
|
test dl,bl
|
|||
|
je gulan
|
|||
|
|
|||
|
svartan:
|
|||
|
mov al,matrixlo
|
|||
|
stosb
|
|||
|
jmp overit_ehrm
|
|||
|
gulan:
|
|||
|
mov al,matrixhi
|
|||
|
stosb
|
|||
|
overit_ehrm:
|
|||
|
;och n<>sta . . .
|
|||
|
test dl,bh
|
|||
|
je gulan2
|
|||
|
svartan2:
|
|||
|
mov al,matrixlo
|
|||
|
stosb
|
|||
|
jmp overit_ehrm2
|
|||
|
gulan2:
|
|||
|
mov al,matrixhi
|
|||
|
stosb
|
|||
|
overit_ehrm2:
|
|||
|
loop put_bits
|
|||
|
pop cx
|
|||
|
add di,sw/4+(sw-320)/4
|
|||
|
loop put_kll
|
|||
|
pop di si cx
|
|||
|
shr bx,2
|
|||
|
loop two
|
|||
|
move ds,data
|
|||
|
retn
|
|||
|
|
|||
|
_DOBEATEN:
|
|||
|
MOVE SISA,1
|
|||
|
MOV DOTRUT,OFFSET WAITRUT
|
|||
|
INC XBALLS
|
|||
|
JMP NORMAL_END
|
|||
|
|
|||
|
|
|||
|
CODE ENDS
|
|||
|
|
|||
|
|
|||
|
;******************************************************************************
|
|||
|
;************************* O T H E R S E G M E N T S ************************
|
|||
|
;******************************************************************************
|
|||
|
|
|||
|
HIDDEN1 SEGMENT PARA PUBLIC 'DATA'
|
|||
|
UNDANSPR DB 16*16 DUP (0)
|
|||
|
HIDDA DB 576*2 DUP(0)
|
|||
|
EXTRN HID1
|
|||
|
HIDDEN1 ENDS
|
|||
|
|
|||
|
HIDDEN2 SEGMENT PARA PUBLIC 'DATA'
|
|||
|
HIDDA2 DB 576*2 DUP(0)
|
|||
|
EXTRN HID2
|
|||
|
HIDDEN2 ENDS
|
|||
|
|
|||
|
MASK1_2 SEGMENT PARA PUBLIC 'DATA'
|
|||
|
EXTRN MASK12
|
|||
|
MASK1_2 ENDS
|
|||
|
|
|||
|
MASK1_1 SEGMENT PARA PUBLIC 'DATA'
|
|||
|
EXTRN MASK11
|
|||
|
MASK1_1 ENDS
|
|||
|
|
|||
|
MASK2_2 SEGMENT PARA PUBLIC 'DATA'
|
|||
|
EXTRN MASK22
|
|||
|
MASK2_2 ENDS
|
|||
|
|
|||
|
FLIPLEFT SEGMENT PARA PUBLIC 'DATA'
|
|||
|
if create_flip_data
|
|||
|
EXTRN FLIPL
|
|||
|
else
|
|||
|
extrn flipl_1
|
|||
|
endif
|
|||
|
FLIPLEFT ENDS
|
|||
|
|
|||
|
FLIPLEFT2 SEGMENT PARA PUBLIC 'DATA'
|
|||
|
FLIPLEFT2 ENDS
|
|||
|
|
|||
|
FLIPRIGHT SEGMENT PARA PUBLIC 'DATA'
|
|||
|
if create_Flip_data
|
|||
|
EXTRN FLIPR
|
|||
|
else
|
|||
|
extrn flipr_1
|
|||
|
endif
|
|||
|
FLIPRIGHT ENDS
|
|||
|
|
|||
|
anim08seg segment para public 'data' ;Martin Berg!!
|
|||
|
extrn anim08
|
|||
|
anim08seg ends
|
|||
|
|
|||
|
LASTSEG SEGMENT
|
|||
|
LASTSEG ENDS
|
|||
|
|
|||
|
STAGE1_1 SEGMENT PARA PUBLIC 'DUMP'
|
|||
|
extrn st1
|
|||
|
STAGE1_1 ENDS
|
|||
|
|
|||
|
STAGE1_2 SEGMENT PARA PUBLIC 'DUMP'
|
|||
|
extrn st2
|
|||
|
STAGE1_2 ENDS
|
|||
|
|
|||
|
STAGE1_3 SEGMENT PARA PUBLIC 'DUMP'
|
|||
|
extrn st3
|
|||
|
STAGE1_3 ENDS
|
|||
|
|
|||
|
STAGE1_4 SEGMENT PARA PUBLIC 'DUMP'
|
|||
|
extrn st4
|
|||
|
STAGE1_4 ENDS
|
|||
|
|
|||
|
MASK1_3 SEGMENT PARA PUBLIC 'DUMP'
|
|||
|
EXTRN MASK13
|
|||
|
MASK1_3 ENDS
|
|||
|
|
|||
|
MASK2_1 SEGMENT PARA PUBLIC 'DUMP'
|
|||
|
EXTRN MASK21
|
|||
|
MASK2_1 ENDS
|
|||
|
|
|||
|
MASK2_3 SEGMENT PARA PUBLIC 'DUMP'
|
|||
|
EXTRN MASK23
|
|||
|
MASK2_3 ENDS
|
|||
|
|
|||
|
FLIPGFXSEG SEGMENT PARA PUBLIC 'DUMP'
|
|||
|
EXTRN FLIPGFX:BYTE
|
|||
|
SISTAGFX LABEL BYTE
|
|||
|
FLIPGFXSEG ENDS
|
|||
|
|
|||
|
SPRINGSEG SEGMENT PARA PUBLIC 'DUMP'
|
|||
|
EXTRN SPRING
|
|||
|
SPRINGSEG ENDS
|
|||
|
|
|||
|
|
|||
|
|