I've always been curious as to how the console games worked (particularly the SNES/SFC games), so I recently went deep-diving with the Mesen debugger...
Here's how rank works in SNES/SFC Gokujou Parodius (the version that can actually be All-Stages-Cleared with all 11 characters, at least on default difficulty):
Total rank:
Code: Select all
Total rank = Powerup rank + Base rank by difficulty + Survival rank + Loop rank + (8 if on Special Stage, 0 otherwise)
Capped at 0x1F (31 in decimal).
If playing on Difficulty 1, Total rank = Loop rank (all other ranks are ignored, including the Special Stage rank boost!)
Code: Select all
+1 for missile
+1 for double or laser (Mambo incurs this twice, one for each top/bottom option for each initial activation of reflect/screw)
+1 per option or grade-up, -1 per option taken away by Option Hunters, or -1 from losing a gradeup from an Option Hunter (Option Hunters can only take away one grade-up at a time)
+1 for shield/force field, -1 for losing shield/force field
+1 per blue bell in stock, -1 after using a blue bell (and its effects wear off)
+1 for white bell, -1 after the white bell wears off
+1 for green bell, -1 after green bell wears off
+1 for red bell (it's +1 regardless of how many beams the player has in stock), -1 after all red bells are used (and the last red bell beam becomes inactive)
+1 for activating Upa's Mega Crash, -1 once it wears off
Reset to 0 on death (or 1 if a shield/force field was active), selecting Oh! on the power meter, or after completing Stage 7 (the fortress/dance club stage)
Changing bell types drops the rank from the old bell type and adds in the rank for the new bell type.
Effective maximum powerup rank is:
9 (missile, double or laser, 4 options, 3 blue bells)
...or 8 for Twinbee/Pentarou (missile, double or laser equivalent, 3 options, 3 blue bells)
...or 10 for Mambo (missile, top and bottom options, 4 grade ups, 3 blue bells)
Base rank by difficulty | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Difficulty | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |||||||||||
Rank | 0 | 0 | 3 | 4 | 6 | 10 | 14 | 0x1FFF (!) |
Survival rank:
Code: Select all
Starts at 2 on game start
+1 for completing each stage (except Stage 7 and the special stage)
+1 for completing the Moai stage
-1 for each death
Effective maximum survival rank is 9 (2 starting + 6 from the first 6 stages + 1 from the Moai Battleship)
Code: Select all
Loop rank = (Loop #) * 4
Note that the loop # is 0-indexed, so Loop 1 is 0, Loop 2 is 1, ...
(No, the special stage does NOT increment the loop counter.)
Unlike Parodius Da! SFC/SNES, which recalculated the full powerup rank formula every time a powerup-related event occurred, Gokujou Parodius SFC/SNES increments or decrements the rank on powerup-related events.
This seemingly harmless change actually causes a couple of interesting bugs stemming from some unfortunate assumptions:
BUG #1 (beneficial): Giving yourself negative powerup rank to drop the total rank!
The increment/decrement powerup rank code mentioned above has one gigantic oversight - it forgets to account for the fact that selecting Oh! on the powerup bar preserves Bell stock!
(Oddly enough, it remembers to add +1 if you have a shield/force field, since Oh! actually keeps those)
This means you can give yourself some negative powerup rank - if you get any colored bell, select "Oh!", and then use the bell and wait for it to wear off, the resulting powerup rank will be -1!
Since having 3 blue bells contributes +3 to powerup rank (1 per bell):
...if you get three blue bells, select "Oh!", and then use all three blue bells, the resulting powerup rank will be -3!
For maximum silliness:
Get three blue bells.
Prepare your power meter so that "Oh" is selected, and get another blue bell to appear onscreen.
Activate a blue bell, and before its effects wear off: immediately pick up the other blue bell and activate Oh!
Once that happens, use all three blue bells.
The combined -1 from that first blue bell plus the -3 from the other blue bells = a powerup rank of -4!!!
This lasts until death, until the player selects "Oh!" again, or until the player reaches the end of the main loop - sadly, it does not carry over to the Special Stage.
Given this, this trick works best for No-Miss runs, particularly to make Stage 7 slightly less dangerous.
Theoretically, this trick *can* be activated again for the Special stage, but it will almost certainly leave you with not enough powerups to actually deal with all of the enemies...
Extra silly sidenote:
If playing on Difficulty 2, the above can cause the entire total rank to underflow (if survival rank is low enough).
This will cause the resulting value to be capped to $1F, effectively (and abruptly) putting the game at maximum rank!

BUG #2 (detrimental): Whatever you do, don't pick up a colored bell if you have a shield/force field active!
if the player has force field/shield and then picks up a colored bell, the force field's rank increase is made permanent, since the code that handles colored bell rank forgets to negate the shield/force field's +1 rank! (until the player dies or selects "Oh!" to reset powerup rank)
Beware that this can negate the effects of the negative powerup rank exploit mentioned in BUG #1, above.
---
Once again, unlike the arcade version, there is no frame rank whatsoever - survival rank based on stage completion is used instead.
This means that you can safely speed up to your heart's content

Dying on the Moai stage with Revival Off does still decrease the rank, though (-1 survival rank for dying, and no +1 survival rank for successfully finishing the Moai stage)
Yellow bell chains also do not increase rank at all, unlike the arcade version.
---
I still need to investigate how rank actually affects various things (e.g. bullet speed and enemy spawns).
I'll follow up on this thread once I find that out.
---
Appendix: Here are the Player state variables (not the full list, but enough to cover rank-related things):
Code: Select all
$9A - Player number (0 for P1, 1 for P2)
$90 - Level counter (0-6 for stages 1-7, 7 for Special Stage, 8 for Moai Stage)
$AAE - Blue or Red Bell Stock
$1B80 - Total rank
$1B8E - Powerup rank
$1DF8 - Shield/force field HP
$1E02 - Currently held bell (0 for none, 1 for blue bell, 2 for white bell, 3 for green bell, 4 for red bell)
$1E04 - Bell just obtained (cleared out after $1E02 is updated; used to compare current bell state to previous bell state)
$1FA4 - Life count from settings ($1FA4 for P1, $1FA6 for P2)
$1FA8 - Difficulty level from settings ($1FA8 for P1, 1FAA for P2)
$1FAC-$1FC1 - Other settings (Button config/autoshot/roulette)
$1FC8 - Loop counter
$1FD8, $1FDA - Survival rank per player
$1FF2 - Loop counter from settings ($1FF2 for P1, $1FD4 for P2)