Been digging through the memory to figure out what the game uses to determine ranking. It checks the total weight of your five largest catches (memory 0147-014B). This determines your ranking, mixed with some frame-based RNG.
Lake Amada (Class C)
Target Bass Weight: 2.1lbs - 4.0lbs (small solid shadow).
17lbs total of top five fish is your ideal goal.
0.1-0.2lbs less can still win but odds are worse the lower you go.
Largest Fish Size doesn't matter.
You'll need an average weight of 3.4lbs for your top five bass to cement a promotion with 17lbs total.
Lake Japan (Class B)
Target Bass Weight: 4.1lbs - 8lbs (2nd to largest shadow with "holes" in fins)
34lbs total of top five fish is your ideal goal.
Again a bit less can still win but odds improve to lose as you go lower.
You'll need an average of 6.8lbs per fish for your top five bass to ensure you advance to Class A.
Lake More (Class A)
Bass Weight 8.1lbs - 16lbs (Largest shadow)
62lbs total of top five fish is your ideal goal.
It was possible to win as low as 60lbs, seemed close to a 50% chance.
You'll need an average of 12.4lbs per fish for your top five bass. If you're above 12lbs average and feeling lucky you do have a chance to win with that.
It's interesting, but I originally thought it tracked your top 10 fish, but I found soon as I entered ANY value in 014C I was always in the top rank for the class. Even if I had caught zero fish.
I couldn't find the exact place in memory where it basically rolls the other competitors' weight totals to compare yours against, but it seems like a static number modified slightly by what frame you confirm to end a day on.
I got the above by initially setting all the fish to 75% max weight catchable for the lake and incrementing the weight of one fish .1lbs at a time (not going over the max for the lake). I found that I /could/ start winning at about 16lbs/32.5lbs/60.5lbs total for each respective class, but odds were a coin toss as best. Anything lower and I wasn't finding any frame windows I won or got promoted.
The above total weights I was not finding any frame windows where I didn't win or get promoted. going .1lbs total below there started being a small window where I wouldn't get 1st or promoted.
I have a feeling the game checks the ROM for the other fishers' base weigh-ins and does a little RNG dance to add to their totals. It does all this without showing it so it's a lot harder to figure out, but it's how the other hot-b fishing games work and they do show it there (EG: Super Black Bass).
Some new insight from Peco's run last night and I had a similar happening this morning: we both had well over 62lbs total for top five Bass but still ended up 2nd place. I know I was only 54th going into Class A/Lake More and I suspect that had a role to play with only getting 2nd place.
So, my numbers seem to only work if you get rank 101 and rank 51 for your promotions to Class B and A respectively, or at least that's the environment I was testing the numbers.
B7F3 INY A:02 X:00 Y:02 P:05 SP:F6
B7F4 CPY #$03 A:02 X:00 Y:03 P:05 SP:F6
B7F6 BCC $B7E5 = $B9 A:02 X:00 Y:03 P:07 SP:F6
B7F8 INX A:02 X:00 Y:03 P:07 SP:F6
B7F9 CPX #$03 A:02 X:01 Y:03 P:05 SP:F6
B7FB BCC $B7E3 = $A0 A:02 X:01 Y:03 P:84 SP:F6
B7E3 LDY #$00 A:02 X:01 Y:03 P:84 SP:F6
B7E5 LDA $0150,Y @ $0150 = $A0 A:02 X:01 Y:00 P:06 SP:F6
B7E8 CMP $0147,X @ $0148 = $90 A:A0 X:01 Y:00 P:84 SP:F6
B7EB BCS $B7F3 = $C8 A:A0 X:01 Y:00 P:05 SP:F6
B7F3 INY A:A0 X:01 Y:00 P:05 SP:F6
B7F4 CPY #$03 A:A0 X:01 Y:01 P:05 SP:F6
B7F6 BCC $B7E5 = $B9 A:A0 X:01 Y:01 P:84 SP:F6
B7E5 LDA $0150,Y @ $0151 = $A0 A:A0 X:01 Y:01 P:84 SP:F6
B7E8 CMP $0147,X @ $0148 = $90 A:A0 X:01 Y:01 P:84 SP:F6
B7EB BCS $B7F3 = $C8 A:A0 X:01 Y:01 P:05 SP:F6
B7F3 INY A:A0 X:01 Y:01 P:05 SP:F6
B7F4 CPY #$03 A:A0 X:01 Y:02 P:05 SP:F6
B7F6 BCC $B7E5 = $B9 A:A0 X:01 Y:02 P:84 SP:F6
B7E5 LDA $0150,Y @ $0152 = $A0 A:A0 X:01 Y:02 P:84 SP:F6
B7E8 CMP $0147,X @ $0148 = $90 A:A0 X:01 Y:02 P:84 SP:F6
B7EB BCS $B7F3 = $C8 A:A0 X:01 Y:02 P:05 SP:F6
B7F3 INY A:A0 X:01 Y:02 P:05 SP:F6
B7F4 CPY #$03 A:A0 X:01 Y:03 P:05 SP:F6
B7F6 BCC $B7E5 = $B9 A:A0 X:01 Y:03 P:07 SP:F6
B7F8 INX A:A0 X:01 Y:03 P:07 SP:F6
B7F9 CPX #$03 A:A0 X:02 Y:03 P:05 SP:F6
B7FB BCC $B7E3 = $A0 A:A0 X:02 Y:03 P:84 SP:F6
B7E3 LDY #$00 A:A0 X:02 Y:03 P:84 SP:F6
B7E5 LDA $0150,Y @ $0150 = $A0 A:A0 X:02 Y:00 P:06 SP:F6
B7E8 CMP $0147,X @ $0149 = $8F A:A0 X:02 Y:00 P:84 SP:F6
B7EB BCS $B7F3 = $C8 A:A0 X:02 Y:00 P:05 SP:F6
B7F3 INY A:A0 X:02 Y:00 P:05 SP:F6
B7F4 CPY #$03 A:A0 X:02 Y:01 P:05 SP:F6
B7F6 BCC $B7E5 = $B9 A:A0 X:02 Y:01 P:84 SP:F6
B7E5 LDA $0150,Y @ $0151 = $A0 A:A0 X:02 Y:01 P:84 SP:F6
B7E8 CMP $0147,X @ $0149 = $8F A:A0 X:02 Y:01 P:84 SP:F6
B7EB BCS $B7F3 = $C8 A:A0 X:02 Y:01 P:05 SP:F6
B7F3 INY A:A0 X:02 Y:01 P:05 SP:F6
B7F4 CPY #$03 A:A0 X:02 Y:02 P:05 SP:F6
B7F6 BCC $B7E5 = $B9 A:A0 X:02 Y:02 P:84 SP:F6
B7E5 LDA $0150,Y @ $0152 = $A0 A:A0 X:02 Y:02 P:84 SP:F6
B7E8 CMP $0147,X @ $0149 = $8F A:A0 X:02 Y:02 P:84 SP:F6
B7EB BCS $B7F3 = $C8 A:A0 X:02 Y:02 P:05 SP:F6
B7F3 INY A:A0 X:02 Y:02 P:05 SP:F6
B7F4 CPY #$03 A:A0 X:02 Y:03 P:05 SP:F6
B7F6 BCC $B7E5 = $B9 A:A0 X:02 Y:03 P:07 SP:F6
B7F8 INX A:A0 X:02 Y:03 P:07 SP:F6
B7F9 CPX #$03 A:A0 X:03 Y:03 P:05 SP:F6
B7FB BCC $B7E3 = $A0 A:A0 X:03 Y:03 P:07 SP:F6
B7FD RTS A:A0 X:03 Y:03 P:07 SP:F6
B7E0 RTS A:A0 X:03 Y:03 P:07 SP:F8
So here's an update:
Top 5 Bass are all that's counted still. The game sums the total weight and stores it.
Start out rank C8 (200). When you choose to end the day it sets your rank to 65 (101st).
From there it takes the total weight of your five largest Bass and stores it @ 014E. After that it randomly generates five fish and stores that weight at 014C. [Highest I've seen for this was A9 or 16.9lbs] If your total > random total, you'll get rank 101.
It also/then compares your largest bass to three randomly generated weights. So, your 1,2,3 v. A,B,C. Here's the general loop:
1A, 1B, 1C
2A, 2B, 2C
3A, 3B, 3C
Each of these loops can lower your rank a few spots. So if by weight you're say rank 120, if you're largest fishes are bigger than those random fishes you'll likely get enough bonus points to get rank 101 still. It's pretty convoluted and I haven't had the time to force a total weight low enough to really sort out how much of an impact this can have. I'll get to that later and report back.
Obviously also need to figure out how large that 014C value can get in Class B and Class A.
Though, with just this, I can hopefully safefully extrapolate that with three big bois and a couple less than ideal ones it's possible to still end the day with the best rank if your total is below what'd give you 100% win rate.









