?login_element?

Subversion Repositories NedoOS

Rev

Rev 289 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
171 demige 1
;-------------------------------------------------------------------------------------
2
;DEFINES
3
 
4
; GAME SPECIFIC DEFINES
5
 
6
MAX_ENEMIES=7
7
        if COMPACTDATA
8
 
9
AREADATA=$
10
 
11
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
12
;init area up to $074b
13
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
14
UnusedVariable db 0
15
 
16
ObjectOffset          db 0;= $08
17
 
18
FrameCounter          db 0;= $09
19
 
20
SavedJoypadBits       ;= $06fc
21
SavedJoypad1Bits      db 0;= $06fc
22
SavedJoypad2Bits      db 0;= $06fd
23
JoypadBitMask         db 0;= $074a
24
 
25
A_B_Buttons           db 0;= $0a
26
PreviousA_B_Buttons   db 0;= $0d
27
Up_Down_Buttons       db 0;= $0b
28
Left_Right_Buttons    db 0;= $0c
29
 
30
GameEngineSubroutine  db 0;= $0e
31
 
32
ScreenRoutineTask     db 0;= $073c
33
 
34
DemoAction            db 0;= $0717
35
DemoActionTimer       db 0;= $0718
36
 
37
TimerControl          db 0;= $0747
38
 
39
;Sprite_Data           ;= $0200
40
;Sprite_Y_Position=Sprite_Data     ;db 0;= $0200
41
;Sprite_Tilenumber=Sprite_Data+1     ;db 0;= $0201
42
;Sprite_Attributes=Sprite_Data+2     ;db 0;= $0202
43
;Sprite_X_Position=Sprite_Data+3     ;db 0;= $0203
44
;256 bytes
45
 
46
ScreenEdge_PageLoc    ;= $071a
47
ScreenLeft_PageLoc    db 0;= $071a
48
ScreenRight_PageLoc   db 0;= $071b
49
ScreenEdge_X_Pos      ;= $071c
50
ScreenLeft_X_Pos      db 0;= $071c
51
ScreenRight_X_Pos     db 0;= $071d
52
 
53
PlayerFacingDir       db 0;= $33
54
DestinationPageLoc    db 0;= $34
55
VictoryWalkControl    db 0;= $35
56
PrimaryMsgCounter     db 0;= $0719
57
SecondaryMsgCounter   db 0;= $0749
58
 
59
HorizontalScroll      db 0;= $073f
60
VerticalScroll        db 0;= $0740
61
ScrollLock            db 0;= $0723
62
ScrollThirtyTwo       db 0;= $073d
63
Player_X_Scroll       db 0;= $06ff
64
 
65
AreaData              ;= $e7
66
AreaDataLow           db 0;= $e7
67
AreaDataHigh          db 0;= $e8
68
EnemyData             ;= $e9
69
EnemyDataLow          db 0;= $e9
70
EnemyDataHigh         db 0;= $ea
71
 
72
AreaParserTaskNum     db 0;= $071f
73
ColumnSets            db 0;= $071e
74
CurrentPageLoc        db 0;= $0725
75
CurrentColumnPos      db 0;= $0726
76
BackloadingFlag       db 0;= $0728
77
BehindAreaParserFlag  db 0;= $0729
78
AreaObjectPageLoc     db 0;= $072a
79
AreaObjectPageSel     db 0;= $072b
80
AreaDataOffset        db 0;= $072c
81
AreaObjOffsetBuffer   db 0;= $072d
82
AreaObjectLength      db 0;= $0730
83
StaircaseControl      db 0;= $0734
84
AreaObjectHeight      db 0;= $0735
85
MushroomLedgeHalfLen  db 0;= $0736
86
EnemyDataOffset       db 0;= $0739
87
EnemyObjectPageLoc    db 0;= $073a
88
EnemyObjectPageSel    db 0;= $073b
89
 
90
BlockBufferColumnPos  db 0;= $06a0
91
MetatileBuffer        ds 0x0d;0xd0;???;= $06a1
92
 
93
CurrentNTAddr_Low     db 0;= $0721
94
CurrentNTAddr_High    db 0;= $0720
95
AttributeBuffer       db 0;= $03f9
96
 
97
LoopCommand           db 0;= $0745
98
 
99
DigitModifier         ds 6;???;= $0134
100
 
101
VerticalFlipFlag      db 0;= $0109
102
FloateyNum_Control    ds MAX_ENEMIES;???;= $0110
103
ShellChainCounter     ds MAX_ENEMIES;???;= $0125
104
FloateyNum_Timer      ds MAX_ENEMIES;???;= $012c
105
FloateyNum_X_Pos      ds MAX_ENEMIES;???;= $0117
106
FloateyNum_Y_Pos      ds MAX_ENEMIES;???;= $011e
107
FlagpoleFNum_Y_Pos    db 0;= $010d
108
FlagpoleFNum_YMFDummy db 0;= $010e
109
FlagpoleScore         db 0;= $010f
110
FlagpoleCollisionYPos db 0;= $070f
111
StompChainCounter     db 0;= $0484
112
 
113
;VRAM_Buffer1_Offset   db 0;= $0300
114
;VRAM_Buffer1          ds 63;???;= $0301
115
;VRAM_Buffer2_Offset   db 0;= $0340
344 alone 116
;VRAM_Buffer2          ds TitleScreenDataSize-64;63;???;= $0341 ;᫥騩    $0363,  㦥   0x043a
171 demige 117
 
118
Sprite0HitDetectFlag  db 0;= $0722
119
ColorRotateOffset     db 0;= $06d4
120
 
121
TerrainControl        db 0;= $0727
122
AreaStyle             db 0;= $0733
123
ForegroundScenery     db 0;= $0741
124
BackgroundScenery     db 0;= $0742
125
CloudTypeOverride     db 0;= $0743
126
BackgroundColorCtrl   db 0;= $0744
127
 
128
PlayerEntranceCtrl    db 0;= $0710
129
GameTimerSetting      db 0;= $0715
130
WarpZoneControl       db 0;= $06d6
131
ChangeAreaTimer       db 0;= $06de
132
 
133
MultiLoopCorrectCntr  db 0;= $06d9
134
MultiLoopPassCntr     db 0;= $06da
135
 
136
SecondaryHardMode     db 0;= $06cc
137
 
138
CoinTallyFor1Ups      db 0;= $0748
139
 
140
BalPlatformAlignment  db 0;= $03a0
141
Platform_X_Scroll     db 0;= $03a1
142
PlatformCollisionFlag db 0;= $03a2
143
YPlatformTopYPos      db 0;= $0401
144
YPlatformCenterYPos   db 0;= $58
145
 
146
BrickCoinTimerFlag    db 0;= $06bc
147
StarFlagTaskControl   db 0;= $0746
148
 
149
SprShuffleAmtOffset   db 0;= $06e0
150
SprShuffleAmt         ds 3;= $06e1
151
SprDataOffset         ;= $06e4
152
Player_SprDataOffset  db 0;= $06e4
153
Enemy_SprDataOffset   ds MAX_ENEMIES;???;= $06e5
154
Block_SprDataOffset   ;= $06ec
155
Alt_SprDataOffset     ds 2;???;= $06ec
156
Bubble_SprDataOffset  ds 3;???;= $06ee
157
FBall_SprDataOffset   ds 2;???;= $06f1
158
Misc_SprDataOffset    ds 15;???;= $06f3
159
SprDataOffset_Ctrl    db 0;= $03ee
160
 
161
Player_State          db 0;= $1d ;0=ground, 1=jumping/swimming?, 2=falling, 3=climbing
162
Enemy_State           ds MAX_ENEMIES-1;???;= $1e ;-1???
163
Fireball_State        ds 2;???;= $24
164
Block_State           ds 4;???;= $26
165
Misc_State            ds 15;???;= $2a
166
 
167
Player_MovingDir      db 0;= $45
168
Enemy_MovingDir       db 0;= $46
169
 
170
SprObject_X_Speed     ;= $57
171
Player_X_Speed        db 0;= $57
172
Enemy_X_Speed         ds MAX_ENEMIES-1;???;= $58 ;-1???
173
Fireball_X_Speed      ds 2;???;= $5e
174
Block_X_Speed         ds 4;???;= $60
175
Misc_X_Speed          ds 9;???;= $64
176
 
177
Jumpspring_FixedYPos  db 0;= $58 ;=Enemy_X_Speed???
178
JumpspringAnimCtrl    db 0;= $070e
179
JumpspringForce       db 0;= $06db
180
 
181
SprObject_PageLoc     ;= $6d
182
Player_PageLoc        db 0;= $6d
183
Enemy_PageLoc         ds MAX_ENEMIES-1;???;= $6e ;-1???
184
Fireball_PageLoc      ds 2;???;= $74
185
Block_PageLoc         ds 4;???;= $76
186
Misc_PageLoc          ds 9;???;= $7a
187
Bubble_PageLoc        ds 3;???;= $83
188
 
189
SprObject_X_Position  ;= $86
190
Player_X_Position     db 0;= $86
191
Enemy_X_Position      ds MAX_ENEMIES-1;???;= $87 ;-1???
192
Fireball_X_Position   ds 2;???;= $8d
193
Block_X_Position      ds 4;???;= $8f
194
Misc_X_Position       ds 9;???;= $93
195
Bubble_X_Position     ds 3;???;= $9c
196
 
197
SprObject_Y_Speed     ;= $9f
198
Player_Y_Speed        db 0;= $9f
199
Enemy_Y_Speed         ds MAX_ENEMIES-1;???;= $a0 ;-1???
200
Fireball_Y_Speed      ds 2;???;= $a6
201
Block_Y_Speed         ds 4;???;= $a8
202
Misc_Y_Speed          ds 9;???;= $ac
203
 
204
SprObject_Y_HighPos   ;= $b5
205
Player_Y_HighPos      db 0;= $b5
206
Enemy_Y_HighPos       ds MAX_ENEMIES-1;???;= $b6 ;-1???
207
Fireball_Y_HighPos    ds 2;???;= $bc
208
Block_Y_HighPos       ds 4;???;= $be
209
Misc_Y_HighPos        ds 9;???;= $c2
210
Bubble_Y_HighPos      ds 3;???;= $cb
211
 
212
SprObject_Y_Position  ;= $ce
213
Player_Y_Position     db 0;= $ce
214
Enemy_Y_Position      ds MAX_ENEMIES-1;???;= $cf ;-1???
215
Fireball_Y_Position   ds 2;???;= $d5
216
Block_Y_Position      ds 4;???;= $d7
217
Misc_Y_Position       ds 9;???;= $db
218
Bubble_Y_Position     ds 3;???;= $e4
219
 
220
SprObject_Rel_XPos    ;= $03ad
221
Player_Rel_XPos       db 0;= $03ad
222
Enemy_Rel_XPos        db 0;= $03ae
223
Fireball_Rel_XPos     db 0;= $03af
224
Bubble_Rel_XPos       db 0;= $03b0
225
Block_Rel_XPos        ds 2;= $03b1
226
Misc_Rel_XPos         db 0;= $03b3
227
 
228
SprObject_Rel_YPos    ;= $03b8
229
Player_Rel_YPos       db 0;= $03b8
230
Enemy_Rel_YPos        db 0;= $03b9
231
Fireball_Rel_YPos     db 0;= $03ba
232
Bubble_Rel_YPos       db 0;= $03bb
233
Block_Rel_YPos        ds 2;= $03bc
234
Misc_Rel_YPos         db 0;= $03be
235
 
236
SprObject_SprAttrib   ;= $03c4
237
Player_SprAttrib      db 0;= $03c4
238
Enemy_SprAttrib       ds MAX_ENEMIES;???;= $03c5
239
 
240
SprObject_X_MoveForce db 0;= $0400
241
Enemy_X_MoveForce     ds MAX_ENEMIES;???;= $0401
242
 
243
SprObject_YMF_Dummy   ;= $0416
244
Player_YMF_Dummy      db 0;= $0416
245
Enemy_YMF_Dummy       ds MAX_ENEMIES;???;= $0417
246
Bubble_YMF_Dummy      ds 3;???;= $042c
247
 
248
SprObject_Y_MoveForce ;= $0433
249
Player_Y_MoveForce    db 0;= $0433
250
Enemy_Y_MoveForce     ds MAX_ENEMIES+1;???;= $0434 ;+1????
251
Block_Y_MoveForce     db 2*2;???;= $043c
252
 
253
DisableCollisionDet   db 0;= $0716
254
Player_CollisionBits  db 0;= $0490
255
Enemy_CollisionBits   ds MAX_ENEMIES;???;= $0491
256
 
257
SprObj_BoundBoxCtrl   ;= $0499
258
Player_BoundBoxCtrl   db 0;= $0499
259
Enemy_BoundBoxCtrl    ds MAX_ENEMIES-1;???;= $049a ;-1???
260
Fireball_BoundBoxCtrl ds 2;???;= $04a0
344 alone 261
Misc_BoundBoxCtrl     ds 9;???;= $04a2 ;稭  ꥪ #9  misc objects ( ???)
171 demige 262
 
263
EnemyFrenzyBuffer     db 0;= $06cb
264
EnemyFrenzyQueue      db 0;= $06cd
265
Enemy_Flag            ds MAX_ENEMIES;???;= $0f
266
Enemy_ID              ds MAX_ENEMIES;???;= $16
267
 
268
PlayerGfxOffset       db 0;= $06d5
269
Player_XSpeedAbsolute db 0;= $0700
270
FrictionAdderHigh     db 0;= $0701
271
FrictionAdderLow      db 0;= $0702
272
RunningSpeed          db 0;= $0703
273
SwimmingFlag          db 0;= $0704
274
Player_X_MoveForce    db 0;= $0705
275
DiffToHaltJump        db 0;= $0706
276
JumpOrigin_Y_HighPos  db 0;= $0707
277
JumpOrigin_Y_Position db 0;= $0708
278
VerticalForce         db 0;= $0709
279
VerticalForceDown     db 0;= $070a
280
PlayerChangeSizeFlag  db 0;= $070b
281
PlayerAnimTimerSet    db 0;= $070c
282
PlayerAnimCtrl        db 0;= $070d
283
DeathMusicLoaded      db 0;= $0712
284
FlagpoleSoundQueue    db 0;= $0713
285
CrouchingFlag         db 0;= $0714
286
MaximumLeftSpeed      db 0;= $0450
287
MaximumRightSpeed     db 0;= $0456
288
 
289
SprObject_OffscrBits  ;= $03d0
290
Player_OffscreenBits  db 0;= $03d0
291
Enemy_OffscreenBits   db 0;= $03d1
292
FBall_OffscreenBits   db 0;= $03d2
293
Bubble_OffscreenBits  db 0;= $03d3
294
Block_OffscreenBits   db 0;= $03d4
295
Misc_OffscreenBits    db 0;= $03d6
296
EnemyOffscrBitsMasked ds MAX_ENEMIES;???;= $03d8
297
 
298
Cannon_Offset         db 0;= $046a
299
Cannon_PageLoc        ds 6;???;= $046b
300
Cannon_X_Position     ds 6;???;= $0471
301
Cannon_Y_Position     ds 6;???;= $0477
302
Cannon_Timer          ds 6;???;= $047d
303
 
304
Whirlpool_Offset      =Cannon_Offset;= $046a
305
Whirlpool_PageLoc     =Cannon_PageLoc;= $046b
306
Whirlpool_LeftExtent  =Cannon_X_Position;= $0471
307
Whirlpool_Length      =Cannon_Y_Position;= $0477
308
Whirlpool_Flag        =Cannon_Timer;= $047d
309
 
310
VineFlagOffset        db 0;= $0398
311
VineHeight            db 0;= $0399
312
VineObjOffset         ds 3;???;= $039a
313
VineStart_Y_Position  db 0;= $039d
314
 
315
Block_Orig_YPos       ds 2;???;= $03e4
316
Block_BBuf_Low        ds 2;???;= $03e6
317
Block_Metatile        ds 2;???;= $03e8
318
Block_PageLoc2        ds 2;???;= $03ea
319
Block_RepFlag         ds 2;???;= $03ec
320
Block_ResidualCounter db 0;= $03f0
321
Block_Orig_XPos       ds 2;???;= $03f1
322
 
323
BoundingBox_UL_Corner ;= $04ac
324
BoundingBox_UL_XPos   db 0;= $04ac
325
BoundingBox_UL_YPos   db 0;= $04ad
326
BoundingBox_LR_Corner ;= $04ae
327
BoundingBox_DR_XPos   db 0;= $04ae
328
BoundingBox_DR_YPos   db 0;= $04af
329
EnemyBoundingBoxCoord ds 4*MAX_ENEMIES;???;= $04b0
330
 
331
PowerUpType           db 0;= $39
332
 
333
FireballBouncingFlag  ds MAX_ENEMIES;???;= $3a
334
FireballCounter       db 0;= $06ce
335
FireballThrowingTimer db 0;= $0711
336
 
337
HammerEnemyOffset     ds MAX_ENEMIES;???;= $06ae
338
JumpCoinMiscOffset    db 0;= $06b7
339
 
344 alone 340
        align 16;256 ; 
341
Block_Buffer_1        ds 0xd0;= $0500 ;at least +$b4 ;13 ப  16 
171 demige 342
Block_Buffer_2        ds 0xd0;= $05d0
343
 
344
HammerThrowingTimer   ds MAX_ENEMIES;???;= $03a2
345
HammerBroJumpTimer    ds MAX_ENEMIES;???;= $3c
346
Misc_Collision_Flag   ds MAX_ENEMIES;???;= $06be
347
 
348
RedPTroopaOrigXPos    ds MAX_ENEMIES;???;= $0401
349
RedPTroopaCenterYPos  ds MAX_ENEMIES;???;= $58
350
 
351
XMovePrimaryCounter   ds MAX_ENEMIES;???;= $a0
352
XMoveSecondaryCounter ds MAX_ENEMIES;???;= $58
353
 
354
CheepCheepMoveMFlag   ds MAX_ENEMIES;???;= $58
355
CheepCheepOrigYPos    ds MAX_ENEMIES;???;= $0434
356
BitMFilter            db 0;= $06dd
357
 
358
LakituReappearTimer   db 0;= $06d1
359
LakituMoveSpeed       ds MAX_ENEMIES;???;= $58
360
LakituMoveDirection   ds MAX_ENEMIES;???;= $a0
361
 
362
FirebarSpinState_Low  ds MAX_ENEMIES;???;= $58
363
FirebarSpinState_High ds MAX_ENEMIES;???;= $a0
364
FirebarSpinSpeed      ds MAX_ENEMIES;???;= $0388
365
FirebarSpinDirection  ds MAX_ENEMIES;???;= $34
366
 
367
DuplicateObj_Offset   db 0;= $06cf
368
NumberofGroupEnemies  db 0;= $06d3
369
 
370
BlooperMoveCounter    ds MAX_ENEMIES;???;= $a0
371
BlooperMoveSpeed      ds MAX_ENEMIES;???;= $58
372
 
373
BowserBodyControls    db 0;= $0363
374
BowserFeetCounter     db 0;= $0364
375
BowserMovementSpeed   db 0;= $0365
376
BowserOrigXPos        db 0;= $0366
377
BowserFlameTimerCtrl  db 0;= $0367
378
BowserFront_Offset    db 0;= $0368
379
BridgeCollapseOffset  db 0;= $0369
380
BowserGfxFlag         db 0;= $036a
381
BowserHitPoints       db 0;= $0483
382
MaxRangeFromOrigin    db 0;= $06dc
383
 
384
BowserFlamePRandomOfs ds MAX_ENEMIES;???;= $0417
385
 
386
PiranhaPlantUpYPos    ds MAX_ENEMIES;???;= $0417
387
PiranhaPlantDownYPos  ds MAX_ENEMIES;???;= $0434
388
PiranhaPlant_Y_Speed  ds MAX_ENEMIES;???;= $58
389
PiranhaPlant_MoveFlag ds MAX_ENEMIES;???;= $a0
390
 
391
FireworksCounter      db 0;= $06d7
392
ExplosionGfxCounter   ds MAX_ENEMIES;???;= $58
393
ExplosionTimerCounter ds MAX_ENEMIES;???;= $a0
394
 
395
;sound related defines
396
NoteLenLookupTblOfs   db 0;= $f0
397
 
398
Square1SoundBuffer    db 0;= $f1
399
Square2SoundBuffer    db 0;= $f2
400
NoiseSoundBuffer      db 0;= $f3
401
AreaMusicBuffer       db 0;= $f4
402
MusicData             db 0;= $f5
403
MusicDataLow          db 0;= $f5
404
MusicDataHigh         db 0;= $f6
405
MusicOffset_Square2   db 0;= $f7
406
MusicOffset_Square1   db 0;= $f8
407
MusicOffset_Triangle  db 0;= $f9
408
 
409
PauseSoundQueue       db 0;= $fa
410
AreaMusicQueue        db 0;= $fb
411
EventMusicQueue       db 0;= $fc
412
NoiseSoundQueue       db 0;= $fd
413
Square2SoundQueue     db 0;= $fe
414
Square1SoundQueue     db 0;= $ff
415
 
416
AREADATA_end=$
417
 
418
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
419
;init game up to $076f
420
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
421
AreaType              db 0;= $074e
422
AreaAddrsLOffset      db 0;= $074f
423
AreaPointer           db 0;= $0750
424
 
425
FetchNewGameTimerFlag db 0;= $0757
426
GameTimerExpiredFlag  db 0;= $0759
427
 
428
JoypadOverride        db 0;= $0758
429
 
430
EntrancePage          db 0;= $0751
431
AltEntranceControl    db 0;= $0752
432
 
433
CurrentPlayer         db 0;= $0753
434
PlayerSize            db 0;= $0754
435
PlayerStatus          db 0;= $0756
436
 
437
Player_Pos_ForScroll  db 0;= $0755
438
ScrollAmount          db 0;= $0775
439
 
440
OnscreenPlayerInfo    ;= $075a
441
NumberofLives         db 0;= $075a ;used by current player
442
HalfwayPage           db 0;= $075b
443
LevelNumber           db 0;= $075c ;the actual dash number
444
Hidden1UpFlag         db 0;= $075d
445
CoinTally             db 0;= $075e
446
WorldNumber           db 0;= $075f
447
AreaNumber            db 0;= $0760 ;internal number used to find areas
448
 
449
OffscreenPlayerInfo   ;= $0761
450
OffScr_NumberofLives  db 0;= $0761 ;used by offscreen player
451
OffScr_HalfwayPage    db 0;= $0762
452
OffScr_LevelNumber    db 0;= $0763
453
OffScr_Hidden1UpFlag  db 0;= $0764
454
OffScr_CoinTally      db 0;= $0765
455
OffScr_WorldNumber    db 0;= $0766
456
OffScr_AreaNumber     db 0;= $0767
457
 
458
ScrollFractional      db 0;= $0768
459
DisableIntermediate   db 0;= $0769
460
PrimaryHardMode       db 0;= $076a ;secondaryhardmode is below and cleared every time!!!
461
WorldSelectNumber     db 0;= $076b
462
 
463
GAMEDATA_end=$
464
 
465
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
466
;reinit mem up to $07d6 ;don't clear topscore, continueworld, worldselectenebleflag
467
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
468
OperMode              db 0;= $0770
469
OperMode_Task         db 0;= $0772
470
VRAM_Buffer_AddrCtrl  db 0;= $0773
471
DisableScreenFlag     db 0;= $0774
472
GamePauseStatus       db 0;= $0776
473
GamePauseTimer        db 0;= $0777
474
 
475
Mirror_PPU_CTRL_REG1  db 0;= $0778
476
Mirror_PPU_CTRL_REG2  db 0;= $0779
477
 
478
NumberOfPlayers       db 0;= $077a
479
 
480
IntervalTimerControl  db 0;= $077f
481
 
482
Timers                ;= $0780
483
SelectTimer           db 0;= $0780
484
PlayerAnimTimer       db 0;= $0781
485
JumpSwimTimer         db 0;= $0782
486
RunningTimer          db 0;= $0783
487
BlockBounceTimer      db 0;= $0784
488
SideCollisionTimer    db 0;= $0785
489
JumpspringTimer       db 0;= $0786
490
GameTimerCtrlTimer    db 0;= $0787
491
                ds 1
492
ClimbSideTimer        db 0;= $0789
493
EnemyFrameTimer       db 0;= $078a
494
                ds 4
495
FrenzyEnemyTimer      db 0;= $078f
496
BowserFireBreathTimer db 0;= $0790
497
StompTimer            db 0;= $0791
498
AirBubbleTimer        db 0;= $0792
499
                ds 2
500
ScrollIntervalTimer   db 0;= $0795
501
EnemyIntervalTimer    db 0;= $0796
502
                ds 6
503
BrickCoinTimer        db 0;= $079d
504
InjuryTimer           db 0;= $079e
505
StarInvincibleTimer   db 0;= $079f
506
ScreenTimer           db 0;= $07a0
507
WorldEndTimer         db 0;= $07a1
508
DemoTimer             db 0;= $07a2
509
        ;ds Timers+0x24-$
510
                ds 4
511
 
512
PseudoRandomBitReg    db 0;= $07a7
289 dimkam 513
        ;display "PseudoRandomBitReg-Timers=",PseudoRandomBitReg-Timers
171 demige 514
 
515
;sound related defines
516
MusicOffset_Noise     db 0;= $07b0
517
EventMusicBuffer      db 0;= $07b1
518
PauseSoundBuffer      db 0;= $07b2
519
 
520
Squ2_NoteLenBuffer    db 0;= $07b3
521
Squ2_NoteLenCounter   db 0;= $07b4
522
Squ2_EnvelopeDataCtrl db 0;= $07b5
523
Squ1_NoteLenCounter   db 0;= $07b6
524
Squ1_EnvelopeDataCtrl db 0;= $07b7
525
Tri_NoteLenBuffer     db 0;= $07b8
526
Tri_NoteLenCounter    db 0;= $07b9
527
Noise_BeatLenCounter  db 0;= $07ba
528
Squ1_SfxLenCounter    db 0;= $07bb
529
Squ2_SfxLenCounter    db 0;= $07bd
530
Sfx_SecondaryCounter  db 0;= $07be
531
Noise_SfxLenCounter   db 0;= $07bf
532
 
533
DAC_Counter           db 0;= $07c0
534
NoiseDataLoopbackOfs  db 0;= $07c1
535
NoteLengthTblAdder    db 0;= $07c4
536
AreaMusicBuffer_Alt   db 0;= $07c5
537
PauseModeFlag         db 0;= $07c6
538
GroundMusicHeaderOfs  db 0;= $07c7
539
AltRegContentFlag     db 0;= $07ca
540
 
541
WARMMEMDATA_end=$
542
 
543
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
544
;init mem up to $07fe
545
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
546
DisplayDigits         ;= $07d7
547
TopScoreDisplay       ds 6;= $07d7
548
ScoreAndCoinDisplay   ;= $07dd
344 alone 549
PlayerScoreDisplay    ds 6;= $07dd ;祬 ?    DisplayDigits
550
        ds DisplayDigits+($07f8-$07d7)-$ ;TODO 
551
GameTimerDisplay      ds 6;???;= $07f8 ;祬 ?    DisplayDigits
171 demige 552
 
553
WorldSelectEnableFlag db 0;= $07fc
554
ContinueWorld         db 0;= $07fd
555
WarmBootValidation    db 0;= $07ff
556
 
557
MEMDATA_end=$
558
 
559
        else
560
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;        
561
AREADATA=0x100
562
AREADATA_end    = $074b
563
GAMEDATA_end    = $076f
564
WARMMEMDATA_end        = $07d6;WarmBootOffset
565
MEMDATA_end        = $07fe;ColdBootOffset
289 dimkam 566
        ;display "MEMDATA_end=",MEMDATA_end
567
        ;display "AREADATA=",AREADATA
568
        ;display "MEMDATA_end-AREADATA=",MEMDATA_end-AREADATA
171 demige 569
 
570
ObjectOffset          = SCRATCHPAD+$08
571
 
572
FrameCounter          = SCRATCHPAD+$09
573
 
574
SavedJoypadBits       = $06fc
575
SavedJoypad1Bits      = $06fc
576
SavedJoypad2Bits      = $06fd
577
JoypadBitMask         = $074a
578
JoypadOverride        = $0758
579
 
580
A_B_Buttons           = SCRATCHPAD+$0a
581
PreviousA_B_Buttons   = SCRATCHPAD+$0d
582
Up_Down_Buttons       = SCRATCHPAD+$0b
583
Left_Right_Buttons    = SCRATCHPAD+$0c
584
 
585
GameEngineSubroutine  = SCRATCHPAD+$0e
586
 
587
Mirror_PPU_CTRL_REG1  = $0778
588
Mirror_PPU_CTRL_REG2  = $0779
589
 
590
OperMode              = $0770
591
OperMode_Task         = $0772
592
ScreenRoutineTask     = $073c
593
 
594
GamePauseStatus       = $0776
595
GamePauseTimer        = $0777
596
 
597
DemoAction            = $0717
598
DemoActionTimer       = $0718
599
 
600
TimerControl          = $0747
601
IntervalTimerControl  = $077f
602
 
603
Timers                = $0780
604
SelectTimer           = $0780
605
PlayerAnimTimer       = $0781
606
JumpSwimTimer         = $0782
607
RunningTimer          = $0783
608
BlockBounceTimer      = $0784
609
SideCollisionTimer    = $0785
610
JumpspringTimer       = $0786
611
GameTimerCtrlTimer    = $0787
612
ClimbSideTimer        = $0789
613
EnemyFrameTimer       = $078a
614
FrenzyEnemyTimer      = $078f
615
BowserFireBreathTimer = $0790
616
StompTimer            = $0791
617
AirBubbleTimer        = $0792
344 alone 618
 ;᫥騥 ⠩ 㬥 ⮫쪮 ࠧ  21 ३
171 demige 619
ScrollIntervalTimer   = $0795
620
EnemyIntervalTimer    = $0796
621
BrickCoinTimer        = $079d
622
InjuryTimer           = $079e
623
StarInvincibleTimer   = $079f
624
ScreenTimer           = $07a0
625
WorldEndTimer         = $07a1
626
DemoTimer             = $07a2
627
 
628
Sprite_Data           = $0200
629
 
630
Sprite_Y_Position     = $0200
631
Sprite_Tilenumber     = $0201
632
Sprite_Attributes     = $0202
633
Sprite_X_Position     = $0203
634
 
635
ScreenEdge_PageLoc    = $071a
636
ScreenEdge_X_Pos      = $071c
637
ScreenLeft_PageLoc    = $071a
638
ScreenRight_PageLoc   = $071b
639
ScreenLeft_X_Pos      = $071c
640
ScreenRight_X_Pos     = $071d
641
 
642
PlayerFacingDir       = SCRATCHPAD+$33
643
DestinationPageLoc    = SCRATCHPAD+$34
644
VictoryWalkControl    = SCRATCHPAD+$35
645
ScrollFractional      = $0768
646
PrimaryMsgCounter     = $0719
647
SecondaryMsgCounter   = $0749
648
 
649
HorizontalScroll      = $073f
650
VerticalScroll        = $0740
651
ScrollLock            = $0723
652
ScrollThirtyTwo       = $073d
653
Player_X_Scroll       = $06ff
654
Player_Pos_ForScroll  = $0755
655
ScrollAmount          = $0775
656
 
657
AreaData              = SCRATCHPAD+$e7
658
AreaDataLow           = SCRATCHPAD+$e7
659
AreaDataHigh          = SCRATCHPAD+$e8
660
EnemyData             = SCRATCHPAD+$e9
661
EnemyDataLow          = SCRATCHPAD+$e9
662
EnemyDataHigh         = SCRATCHPAD+$ea
663
 
664
AreaParserTaskNum     = $071f
665
ColumnSets            = $071e
666
CurrentPageLoc        = $0725
667
CurrentColumnPos      = $0726
668
BackloadingFlag       = $0728
669
BehindAreaParserFlag  = $0729
670
AreaObjectPageLoc     = $072a
671
AreaObjectPageSel     = $072b
672
AreaDataOffset        = $072c
673
AreaObjOffsetBuffer   = $072d
674
AreaObjectLength      = $0730
675
StaircaseControl      = $0734
676
AreaObjectHeight      = $0735
677
MushroomLedgeHalfLen  = $0736
678
EnemyDataOffset       = $0739
679
EnemyObjectPageLoc    = $073a
680
EnemyObjectPageSel    = $073b
681
MetatileBuffer        = $06a1
682
BlockBufferColumnPos  = $06a0
683
CurrentNTAddr_Low     = $0721
684
CurrentNTAddr_High    = $0720
685
AttributeBuffer       = $03f9
686
 
687
LoopCommand           = $0745
688
 
689
DisplayDigits         = $07d7
690
TopScoreDisplay       = $07d7
691
ScoreAndCoinDisplay   = $07dd
692
PlayerScoreDisplay    = $07dd
693
GameTimerDisplay      = $07f8
694
DigitModifier         = SCRATCHPAD2+$0134
695
 
696
VerticalFlipFlag      = SCRATCHPAD2+$0109
697
FloateyNum_Control    = SCRATCHPAD2+$0110
698
ShellChainCounter     = SCRATCHPAD2+$0125
699
FloateyNum_Timer      = SCRATCHPAD2+$012c
700
FloateyNum_X_Pos      = SCRATCHPAD2+$0117
701
FloateyNum_Y_Pos      = SCRATCHPAD2+$011e
702
FlagpoleFNum_Y_Pos    = SCRATCHPAD2+$010d
703
FlagpoleFNum_YMFDummy = SCRATCHPAD2+$010e
704
FlagpoleScore         = SCRATCHPAD2+$010f
705
FlagpoleCollisionYPos = $070f
706
StompChainCounter     = $0484
707
 
708
VRAM_Buffer1_Offset   = $0300
709
VRAM_Buffer1          = $0301
710
VRAM_Buffer2_Offset   = $0340
711
VRAM_Buffer2          = $0341
712
VRAM_Buffer_AddrCtrl  = $0773
713
Sprite0HitDetectFlag  = $0722
714
DisableScreenFlag     = $0774
715
DisableIntermediate   = $0769
716
ColorRotateOffset     = $06d4
717
 
718
TerrainControl        = $0727
719
AreaStyle             = $0733
720
ForegroundScenery     = $0741
721
BackgroundScenery     = $0742
722
CloudTypeOverride     = $0743
723
BackgroundColorCtrl   = $0744
724
AreaType              = $074e
725
AreaAddrsLOffset      = $074f
726
AreaPointer           = $0750
727
 
728
PlayerEntranceCtrl    = $0710
729
GameTimerSetting      = $0715
730
AltEntranceControl    = $0752
731
EntrancePage          = $0751
732
NumberOfPlayers       = $077a
733
WarpZoneControl       = $06d6
734
ChangeAreaTimer       = $06de
735
 
736
MultiLoopCorrectCntr  = $06d9
737
MultiLoopPassCntr     = $06da
738
 
739
FetchNewGameTimerFlag = $0757
740
GameTimerExpiredFlag  = $0759
741
 
742
PrimaryHardMode       = $076a
743
SecondaryHardMode     = $06cc
744
WorldSelectNumber     = $076b
745
WorldSelectEnableFlag = $07fc
746
ContinueWorld         = $07fd
747
 
748
CurrentPlayer         = $0753
749
PlayerSize            = $0754
750
PlayerStatus          = $0756
751
 
752
OnscreenPlayerInfo    = $075a
753
NumberofLives         = $075a ;used by current player
754
HalfwayPage           = $075b
755
LevelNumber           = $075c ;the actual dash number
756
Hidden1UpFlag         = $075d
757
CoinTally             = $075e
758
WorldNumber           = $075f
759
AreaNumber            = $0760 ;internal number used to find areas
760
 
761
CoinTallyFor1Ups      = $0748
762
 
763
OffscreenPlayerInfo   = $0761
764
OffScr_NumberofLives  = $0761 ;used by offscreen player
765
OffScr_HalfwayPage    = $0762
766
OffScr_LevelNumber    = $0763
767
OffScr_Hidden1UpFlag  = $0764
768
OffScr_CoinTally      = $0765
769
OffScr_WorldNumber    = $0766
770
OffScr_AreaNumber     = $0767
771
 
772
BalPlatformAlignment  = $03a0
773
Platform_X_Scroll     = $03a1
774
PlatformCollisionFlag = $03a2
775
YPlatformTopYPos      = $0401
776
YPlatformCenterYPos   = SCRATCHPAD+$58
777
 
778
BrickCoinTimerFlag    = $06bc
779
StarFlagTaskControl   = $0746
780
 
781
PseudoRandomBitReg    = $07a7
782
WarmBootValidation    = $07ff
783
 
784
SprShuffleAmtOffset   = $06e0
785
SprShuffleAmt         = $06e1
786
SprDataOffset         = $06e4
787
Player_SprDataOffset  = $06e4
788
Enemy_SprDataOffset   = $06e5
789
Block_SprDataOffset   = $06ec
790
Alt_SprDataOffset     = $06ec
791
Bubble_SprDataOffset  = $06ee
792
FBall_SprDataOffset   = $06f1
793
Misc_SprDataOffset    = $06f3
794
SprDataOffset_Ctrl    = $03ee
795
 
796
Player_State          = SCRATCHPAD+$1d
797
Enemy_State           = SCRATCHPAD+$1e
798
Fireball_State        = SCRATCHPAD+$24
799
Block_State           = SCRATCHPAD+$26
800
Misc_State            = SCRATCHPAD+$2a
801
 
802
Player_MovingDir      = SCRATCHPAD+$45
803
Enemy_MovingDir       = SCRATCHPAD+$46
804
 
805
SprObject_X_Speed     = SCRATCHPAD+$57
806
Player_X_Speed        = SCRATCHPAD+$57
807
Enemy_X_Speed         = SCRATCHPAD+$58
808
Fireball_X_Speed      = SCRATCHPAD+$5e
809
Block_X_Speed         = SCRATCHPAD+$60
810
Misc_X_Speed          = SCRATCHPAD+$64
811
 
812
Jumpspring_FixedYPos  = SCRATCHPAD+$58
813
JumpspringAnimCtrl    = $070e
814
JumpspringForce       = $06db
815
 
816
SprObject_PageLoc     = SCRATCHPAD+$6d
817
Player_PageLoc        = SCRATCHPAD+$6d
818
Enemy_PageLoc         = SCRATCHPAD+$6e
819
Fireball_PageLoc      = SCRATCHPAD+$74
820
Block_PageLoc         = SCRATCHPAD+$76
821
Misc_PageLoc          = SCRATCHPAD+$7a
822
Bubble_PageLoc        = SCRATCHPAD+$83
823
 
824
SprObject_X_Position  = SCRATCHPAD+$86
825
Player_X_Position     = SCRATCHPAD+$86
826
Enemy_X_Position      = SCRATCHPAD+$87
827
Fireball_X_Position   = SCRATCHPAD+$8d
828
Block_X_Position      = SCRATCHPAD+$8f
829
Misc_X_Position       = SCRATCHPAD+$93
830
Bubble_X_Position     = SCRATCHPAD+$9c
831
 
832
SprObject_Y_Speed     = SCRATCHPAD+$9f
833
Player_Y_Speed        = SCRATCHPAD+$9f
834
Enemy_Y_Speed         = SCRATCHPAD+$a0
835
Fireball_Y_Speed      = SCRATCHPAD+$a6
836
Block_Y_Speed         = SCRATCHPAD+$a8
837
Misc_Y_Speed          = SCRATCHPAD+$ac
838
 
839
SprObject_Y_HighPos   = SCRATCHPAD+$b5
840
Player_Y_HighPos      = SCRATCHPAD+$b5
841
Enemy_Y_HighPos       = SCRATCHPAD+$b6
842
Fireball_Y_HighPos    = SCRATCHPAD+$bc
843
Block_Y_HighPos       = SCRATCHPAD+$be
844
Misc_Y_HighPos        = SCRATCHPAD+$c2
845
Bubble_Y_HighPos      = SCRATCHPAD+$cb
846
 
847
SprObject_Y_Position  = SCRATCHPAD+$ce
848
Player_Y_Position     = SCRATCHPAD+$ce
849
Enemy_Y_Position      = SCRATCHPAD+$cf
850
Fireball_Y_Position   = SCRATCHPAD+$d5
851
Block_Y_Position      = SCRATCHPAD+$d7
852
Misc_Y_Position       = SCRATCHPAD+$db
853
Bubble_Y_Position     = SCRATCHPAD+$e4
854
 
855
SprObject_Rel_XPos    = $03ad
856
Player_Rel_XPos       = $03ad
857
Enemy_Rel_XPos        = $03ae
858
Fireball_Rel_XPos     = $03af
859
Bubble_Rel_XPos       = $03b0
860
Block_Rel_XPos        = $03b1
861
Misc_Rel_XPos         = $03b3
862
 
863
SprObject_Rel_YPos    = $03b8
864
Player_Rel_YPos       = $03b8
865
Enemy_Rel_YPos        = $03b9
866
Fireball_Rel_YPos     = $03ba
867
Bubble_Rel_YPos       = $03bb
868
Block_Rel_YPos        = $03bc
869
Misc_Rel_YPos         = $03be
870
 
871
SprObject_SprAttrib   = $03c4
872
Player_SprAttrib      = $03c4
873
Enemy_SprAttrib       = $03c5
874
 
875
SprObject_X_MoveForce = $0400
876
Enemy_X_MoveForce     = $0401
877
 
878
SprObject_YMF_Dummy   = $0416
879
Player_YMF_Dummy      = $0416
880
Enemy_YMF_Dummy       = $0417
881
Bubble_YMF_Dummy      = $042c
882
 
883
SprObject_Y_MoveForce = $0433
884
Player_Y_MoveForce    = $0433
885
Enemy_Y_MoveForce     = $0434
886
Block_Y_MoveForce     = $043c
887
 
888
DisableCollisionDet   = $0716
889
Player_CollisionBits  = $0490
890
Enemy_CollisionBits   = $0491
891
 
892
SprObj_BoundBoxCtrl   = $0499
893
Player_BoundBoxCtrl   = $0499
894
Enemy_BoundBoxCtrl    = $049a
895
Fireball_BoundBoxCtrl = $04a0
896
Misc_BoundBoxCtrl     = $04a2
897
 
898
EnemyFrenzyBuffer     = $06cb
899
EnemyFrenzyQueue      = $06cd
900
Enemy_Flag            = SCRATCHPAD+$0f
901
Enemy_ID              = SCRATCHPAD+$16
902
 
903
PlayerGfxOffset       = $06d5
904
Player_XSpeedAbsolute = $0700
905
FrictionAdderHigh     = $0701
906
FrictionAdderLow      = $0702
907
RunningSpeed          = $0703
908
SwimmingFlag          = $0704
909
Player_X_MoveForce    = $0705
910
DiffToHaltJump        = $0706
911
JumpOrigin_Y_HighPos  = $0707
912
JumpOrigin_Y_Position = $0708
913
VerticalForce         = $0709
914
VerticalForceDown     = $070a
915
PlayerChangeSizeFlag  = $070b
916
PlayerAnimTimerSet    = $070c
917
PlayerAnimCtrl        = $070d
918
DeathMusicLoaded      = $0712
919
FlagpoleSoundQueue    = $0713
920
CrouchingFlag         = $0714
921
MaximumLeftSpeed      = $0450
922
MaximumRightSpeed     = $0456
923
 
924
SprObject_OffscrBits  = $03d0
925
Player_OffscreenBits  = $03d0
926
Enemy_OffscreenBits   = $03d1
927
FBall_OffscreenBits   = $03d2
928
Bubble_OffscreenBits  = $03d3
929
Block_OffscreenBits   = $03d4
930
Misc_OffscreenBits    = $03d6
931
EnemyOffscrBitsMasked = $03d8
932
 
933
Cannon_Offset         = $046a
934
Cannon_PageLoc        = $046b
935
Cannon_X_Position     = $0471
936
Cannon_Y_Position     = $0477
937
Cannon_Timer          = $047d
938
 
939
Whirlpool_Offset      = $046a
940
Whirlpool_PageLoc     = $046b
941
Whirlpool_LeftExtent  = $0471
942
Whirlpool_Length      = $0477
943
Whirlpool_Flag        = $047d
944
 
945
VineFlagOffset        = $0398
946
VineHeight            = $0399
947
VineObjOffset         = $039a
948
VineStart_Y_Position  = $039d
949
 
950
Block_Orig_YPos       = $03e4
951
Block_BBuf_Low        = $03e6
952
Block_Metatile        = $03e8
953
Block_PageLoc2        = $03ea
954
Block_RepFlag         = $03ec
955
Block_ResidualCounter = $03f0
956
Block_Orig_XPos       = $03f1
957
 
958
BoundingBox_UL_XPos   = $04ac
959
BoundingBox_UL_YPos   = $04ad
960
BoundingBox_DR_XPos   = $04ae
961
BoundingBox_DR_YPos   = $04af
962
BoundingBox_UL_Corner = $04ac
963
BoundingBox_LR_Corner = $04ae
964
EnemyBoundingBoxCoord = $04b0
965
 
966
PowerUpType           = SCRATCHPAD+$39
967
 
968
FireballBouncingFlag  = SCRATCHPAD+$3a
969
FireballCounter       = $06ce
970
FireballThrowingTimer = $0711
971
 
972
HammerEnemyOffset     = $06ae
973
JumpCoinMiscOffset    = $06b7
974
 
975
Block_Buffer_1        = $0500
976
Block_Buffer_2        = $05d0
977
 
978
HammerThrowingTimer   = $03a2
979
HammerBroJumpTimer    = SCRATCHPAD+$3c
980
Misc_Collision_Flag   = $06be
981
 
982
RedPTroopaOrigXPos    = $0401
983
RedPTroopaCenterYPos  = SCRATCHPAD+$58
984
 
985
XMovePrimaryCounter   = SCRATCHPAD+$a0
986
XMoveSecondaryCounter = SCRATCHPAD+$58
987
 
988
CheepCheepMoveMFlag   = SCRATCHPAD+$58
989
CheepCheepOrigYPos    = $0434
990
BitMFilter            = $06dd
991
 
992
LakituReappearTimer   = $06d1
993
LakituMoveSpeed       = SCRATCHPAD+$58
994
LakituMoveDirection   = SCRATCHPAD+$a0
995
 
996
FirebarSpinState_Low  = SCRATCHPAD+$58
997
FirebarSpinState_High = SCRATCHPAD+$a0
998
FirebarSpinSpeed      = $0388
999
FirebarSpinDirection  = SCRATCHPAD+$34
1000
 
1001
DuplicateObj_Offset   = $06cf
1002
NumberofGroupEnemies  = $06d3
1003
 
1004
BlooperMoveCounter    = SCRATCHPAD+$a0
1005
BlooperMoveSpeed      = SCRATCHPAD+$58
1006
 
1007
BowserBodyControls    = $0363
1008
BowserFeetCounter     = $0364
1009
BowserMovementSpeed   = $0365
1010
BowserOrigXPos        = $0366
1011
BowserFlameTimerCtrl  = $0367
1012
BowserFront_Offset    = $0368
1013
BridgeCollapseOffset  = $0369
1014
BowserGfxFlag         = $036a
1015
BowserHitPoints       = $0483
1016
MaxRangeFromOrigin    = $06dc
1017
 
1018
BowserFlamePRandomOfs = $0417
1019
 
1020
PiranhaPlantUpYPos    = $0417
1021
PiranhaPlantDownYPos  = $0434
1022
PiranhaPlant_Y_Speed  = SCRATCHPAD+$58
1023
PiranhaPlant_MoveFlag = SCRATCHPAD+$a0
1024
 
1025
FireworksCounter      = $06d7
1026
ExplosionGfxCounter   = SCRATCHPAD+$58
1027
ExplosionTimerCounter = SCRATCHPAD+$a0
1028
 
1029
;sound related defines
1030
Squ2_NoteLenBuffer    = $07b3
1031
Squ2_NoteLenCounter   = $07b4
1032
Squ2_EnvelopeDataCtrl = $07b5
1033
Squ1_NoteLenCounter   = $07b6
1034
Squ1_EnvelopeDataCtrl = $07b7
1035
Tri_NoteLenBuffer     = $07b8
1036
Tri_NoteLenCounter    = $07b9
1037
Noise_BeatLenCounter  = $07ba
1038
Squ1_SfxLenCounter    = $07bb
1039
Squ2_SfxLenCounter    = $07bd
1040
Sfx_SecondaryCounter  = $07be
1041
Noise_SfxLenCounter   = $07bf
1042
 
1043
PauseSoundQueue       = SCRATCHPAD+$fa
1044
Square1SoundQueue     = SCRATCHPAD+$ff
1045
Square2SoundQueue     = SCRATCHPAD+$fe
1046
NoiseSoundQueue       = SCRATCHPAD+$fd
1047
AreaMusicQueue        = SCRATCHPAD+$fb
1048
EventMusicQueue       = SCRATCHPAD+$fc
1049
 
1050
Square1SoundBuffer    = SCRATCHPAD+$f1
1051
Square2SoundBuffer    = SCRATCHPAD+$f2
1052
NoiseSoundBuffer      = SCRATCHPAD+$f3
1053
AreaMusicBuffer       = SCRATCHPAD+$f4
1054
EventMusicBuffer      = $07b1
1055
PauseSoundBuffer      = $07b2
1056
 
1057
MusicData             = SCRATCHPAD+$f5
1058
MusicDataLow          = SCRATCHPAD+$f5
1059
MusicDataHigh         = SCRATCHPAD+$f6
1060
MusicOffset_Square2   = SCRATCHPAD+$f7
1061
MusicOffset_Square1   = SCRATCHPAD+$f8
1062
MusicOffset_Triangle  = SCRATCHPAD+$f9
1063
MusicOffset_Noise     = $07b0
1064
 
1065
NoteLenLookupTblOfs   = SCRATCHPAD+$f0
1066
DAC_Counter           = $07c0
1067
NoiseDataLoopbackOfs  = $07c1
1068
NoteLengthTblAdder    = $07c4
1069
AreaMusicBuffer_Alt   = $07c5
1070
PauseModeFlag         = $07c6
1071
GroundMusicHeaderOfs  = $07c7
1072
AltRegContentFlag     = $07ca
1073
 
1074
UnusedVariable = $06c9
1075
        endif
1076
 
1077
;-------------------------------------------------------------------------------------
1078
;CONSTANTS
1079
 
1080
;sound effects constants
1081
Sfx_SmallJump         = %10000000
1082
Sfx_Flagpole          = %01000000
1083
Sfx_Fireball          = %00100000
1084
Sfx_PipeDown_Injury   = %00010000
1085
Sfx_EnemySmack        = %00001000
1086
Sfx_EnemyStomp        = %00000100
1087
Sfx_Bump              = %00000010
1088
Sfx_BigJump           = %00000001
1089
 
1090
Sfx_BowserFall        = %10000000
1091
Sfx_ExtraLife         = %01000000
1092
Sfx_PowerUpGrab       = %00100000
1093
Sfx_TimerTick         = %00010000
1094
Sfx_Blast             = %00001000
1095
Sfx_GrowVine          = %00000100
1096
Sfx_GrowPowerUp       = %00000010
1097
Sfx_CoinGrab          = %00000001
1098
 
1099
Sfx_BowserFlame       = %00000010
1100
Sfx_BrickShatter      = %00000001
1101
 
1102
;music constants
1103
Silence               = %10000000
1104
 
1105
StarPowerMusic        = %01000000
1106
PipeIntroMusic        = %00100000
1107
CloudMusic            = %00010000
1108
CastleMusic           = %00001000
1109
UndergroundMusic      = %00000100
1110
WaterMusic            = %00000010
1111
GroundMusic           = %00000001
1112
 
1113
TimeRunningOutMusic   = %01000000
1114
EndOfLevelMusic       = %00100000
1115
AltGameOverMusic      = %00010000
1116
EndOfCastleMusic      = %00001000
1117
VictoryMusic          = %00000100
1118
GameOverMusic         = %00000010
1119
DeathMusic            = %00000001
1120
 
1121
;enemy object constants 
1122
GreenKoopa            = $00
1123
BuzzyBeetle           = $02
1124
RedKoopa              = $03
1125
HammerBro             = $05
1126
Goomba                = $06
1127
Bloober               = $07
1128
BulletBill_FrenzyVar  = $08
1129
GreyCheepCheep        = $0a
1130
RedCheepCheep         = $0b
1131
Podoboo               = $0c
1132
PiranhaPlant          = $0d
1133
GreenParatroopaJump   = $0e
1134
RedParatroopa         = $0f
1135
GreenParatroopaFly    = $10
1136
Lakitu                = $11
1137
Spiny                 = $12
1138
FlyCheepCheepFrenzy   = $14
1139
FlyingCheepCheep      = $14
1140
BowserFlame           = $15
1141
Fireworks             = $16
1142
BBill_CCheep_Frenzy   = $17
1143
Stop_Frenzy           = $18
1144
Bowser                = $2d
1145
PowerUpObject         = $2e
1146
VineObject            = $2f
1147
FlagpoleFlagObject    = $30
1148
StarFlagObject        = $31
1149
JumpspringObject      = $32
1150
BulletBill_CannonVar  = $33
1151
RetainerObject        = $35
1152
TallEnemy             = $09
1153
 
1154
;other constants
1155
World1 = 0
1156
World2 = 1
1157
World3 = 2
1158
World4 = 3
1159
World5 = 4
1160
World6 = 5
1161
World7 = 6
1162
World8 = 7
1163
Level1 = 0
1164
Level2 = 1
1165
Level3 = 2
1166
Level4 = 3
1167
 
1168
TitleScreenDataOffset = $1ec0 ;in chr ROM
1169
TitleScreenDataSize = 0x140
1170
SoundMemory           = $07b0
1171
 
1172
A_Button              = %10000000
1173
B_Button              = %01000000
1174
Select_Button         = %00100000
1175
Start_Button          = %00010000
1176
Up_Dir                = %00001000
1177
Down_Dir              = %00000100
1178
Left_Dir              = %00000010
1179
Right_Dir             = %00000001
1180
 
1181
TitleScreenModeValue  = 0
1182
GameModeValue         = 1
1183
VictoryModeValue      = 2
1184
GameOverModeValue     = 3
1185