-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathSTONES.ASM
5954 lines (5228 loc) · 119 KB
/
STONES.ASM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
;******************************************************************************
;** **
;** 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™K VID SUPERLŽ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 ŽR F™R FJŽ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 ;Ž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-OMRDET
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 ™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-HL
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-HL (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-HL (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 FRN 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 FRN 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 ;LS
DB 3
DB 33,58,33
DB 39,70,39
DB 52,89,52
LON16 DB 145 ;SP™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