Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Quick crashcourse on formatting:
- $## means the number "##" is in hexadecimal.
- @ prefix means this is an address. The number following maybe be suffixed with .b,.w, or .l, meaning it's a byte, 16bit word, or 32bit long integer.
- An address may be followed by [#] meaning there are # entities of the specified type located here.
- Rank numbers are specified in the most understandable way; an increase in rank (or positive value) makes the game harder, and decrease makes it easier. Do note that the actual rank value is stored in the opposite way; a decrease in the value makes the game harder. This is worth noting for the starting/minimum rank values.
- rank_start_base_mul: @$20F9CE.w
- This is depending on the button you hit to exit test mode, or the button held when the machine reboots.
- If the start button was held/hit, value is $100. Otherwise, $C0.
- This value is "sticky", in that it only needs to be done once, then the cabinet is locked to that value until next reboot.
- difficulty_dip: @$20F9FA.b
- Picked based on Difficulty DIP switches. easy,normal,hard,veryhard = 0,1,2,3
- timer_dip: @$20F9FB.b
- Picked based on Timer Rank DIP switches. low,normal,high,highest = 0,1,2,3
- course_x2: @$20E6A6.b
- Picked based on difficulty selection. training,normal,advanced,boss = 0,2,4,6
- rank_start_tbl: @$C7E.w[4] $FF,$F8,$F0,$E0
- rank_start_mul_tbl: @$C86.w[4] $100,$100,$E0,$D0
- rank_timer_start_tbl: @$C8E.w[4] $00,$04,$10,$40
- rank: @$20F9D0.l
- rank_frame: @$20F9D4.l
- rank_min: @$20F9D8.l
- rank_min = rank_start_tbl[difficulty_dip] * rank_start_base_mul * rank_start_mul_tbl[course_x2/2]
- rank_frame = rank_timer_start_tbl[timer_dip]
- Rank begins counting at the character select screen, and is set to rank_min at that point.
- Rank will never be "greater" than rank_min, and never "lower" than 0.
- Each frame, rank will be increased by rank_frame PLUS HOW MANY UNUSED CREDITS ARE IN THE MACHINE HOLY SHIT YAGAWA YOU GENIUS
- Upon continue, rank does not reset, but rank_frame DOES.
- Difficulty | Easy | Normal | Hard | VeryHard|
- -----------|---------|---------|---------|---------|
- Training | $FF0000 | $F80000 | $F00000 | $E00000 |
- Non-Start| $BF4000 | $BA0000 | $B40000 | $A80000 |
- -----------|---------|---------|---------|---------|
- Normal | $FF0000 | $F80000 | $F00000 | $E00000 |
- Non-Start| $BF4000 | $BA0000 | $B40000 | $A80000 |
- -----------|---------|---------|---------|---------|
- Advanced | $DF2000 | $D90000 | $D20000 | $C40000 |
- Non-Start| $A75800 | $A2C000 | $9D8000 | $930000 |
- -----------|---------|---------|---------|---------|
- Boss Only | $CF3000 | $C98000 | $C30000 | $B60000 |
- Non-Start| $9B6400 | $972000 | $924000 | $888000 |
- -----------|---------|---------|---------|---------|
- Frame rank used in code: @$9F2
- No rank for stage clear/boss kill
- No rank for autofire change
- Bullet seal: @$3A99E, for $800
- Exceptions:
- Boredom doesn't rank up for sealing his helis
- Others?
- Bomb: @$306BC, full bomb = 0, partial bomb = $8000
- Graze: @$9AA2, for -$80 per frame per bullet, graze animation denotes a graze
- Shot rank: @$3040C
- Rank is added for each bullet fired, not each time the ship "fires"
- All non-piercing main shots are worth 6 rank each.
- All piercing main shots are worth $28 rank each.
- For characters with mixed shots, the rank increase is as according to each bullet.
- Option rank:
- Rank is added for each bullet fired, not each time the option "fires"
- Character | Rank | Code |
- -------------|------|---------|
- D.D. | $004 | @$36868 |
- Shorty | $040 | @$37794 |
- Jyuji | $004 | @$36EA8 | Options rank per frame laser being fired.
- -------------|------|---------|
- Maria | $028 | @$36A06 |
- Golden | $004 | @$36CE0 |
- Strawman | $01C | @$370EA |
- -------------|------|---------|
- Birthday | $028 | @$372C4 |
- Tag-T | $090 | @$37794 |
- Adam | $01E | @$36B84 |
- -------------|------|---------|
- Silver Sword | $004 | @$30D62 |
- Grasshopper | $004 | @$30D62 |
- Flying Baron | $004 | @$30D62 |
- Wild Snail | $004 | @$30D62 |
- -------------|------|---------|
- Gain | $01E | @$32520 |
- Chitta | $004 | @$32DC6 |
- Miyamoto | $028 | @$331BA |
- Bornnam | $01C | @$33784 |
- Car-Pet | $028 | @$36602 |
- -------------|------|---------|
- Death: @$2FA96
- (Rest is characters alive after death)
- Rest | Value
- -----|---------
- 0 | -$400000
- 1 | -$100000
- 2 | -$040000
- 3 | -$010000
- Extend: @$3016E
- (Rest is characters alive before extend)
- Dropping has no effect
- Special Extend has same rank effect as a regular extend at same rest
- Rest | Value
- -----|--------
- 0 | $000000 // Shouldn't be possible normally
- 1 | $080000
- 2 | $100000
- 3 | $200000
- 4 | $400000
- Item:
- No extra rank for reaching "next level" of anything
- Type | Value | Code
- ---------|---------|-------
- SmShot | $000100 | @$2FCA2
- CashWad | $000400 | @$302BE
- BombFrag | $000800 | @$2FD24
- BigShot | $008000 | @$2FD94
- Option | $008000 | @$2FE72
- BigBomb | $020000 | @$2FE12
- Medal: @$30010
- Dropping has no effect
- Type | Value
- ----------|--------
- 100~900 | $000
- 1000~9000 | $100
- 10000 | $200
- Special item get:
- Type | Value | Code
- ----------|----------|--------
- ShadowOpt | Frame+=0 | @$2FF42
- BigShot | Frame+=1 | @$2FDF2
- SmShot | Frame+=1 | @$2FDF2
- Option | Frame+=1 | @$2FFC6
- WideOpt | Frame+=1 | @$2FF7A
- RollinOpt | Frame+=1 | @$2FF96
- SearchOpt | Frame+=2 | @$2FF2C
- HomingOpt | Frame+=2 | @$2FF5E
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement