Author Topic: Kart Fighter - Top 8 actually real  (Read 4171 times)

adrian09_01

  • Newbie
  • *
  • Posts: 22
    • View Profile
Kart Fighter - Top 8 actually real
« on: March 20, 2016, 05:42:46 PM »
I've got the 8th place as Peach in Kart Fighter. This scoreboard isn't fake! Not only that the game is the best bootleg ever, it isn't a shoddy crapleg job - it even includes a working scoreboard!
http://imgur.com/IyfifzN here's the proof. The higher scores could be possible to achieve only with cheats or continues (there are 2 probably, I didn't count)

Edit:
The last zero is off because it's actually an "O" letter. That means that the game probably only counts the 19284 part, without the last 0 (because it never changes and they slapped it to make the scores seem higher).
Could someone disassemble this and see how the score is counted and check that the whole scoreboard is programmed?
« Last Edit: March 20, 2016, 05:47:15 PM by adrian09_01 »

KingPepe

  • Administrator
  • Sr. Member
  • *****
  • Posts: 737
    • View Profile
Kart Fighter - Top 8 actually real
« Reply #1 on: March 20, 2016, 10:42:32 PM »
Holy crap, I never knew that to be honest! I decided to mess around with the score itself:
adrian09_01
 
The last zero is off because it's actually an "O" letter. That means that the game probably only counts the 19284 part, without the last 0 (because it never changes and they slapped it to make the scores seem higher).[/quote]
Yeah, the final 0 on the HUD can't be incremented in any way so it's just there to make the score look bigger. So if the HUD displays 200 points, I actually have 20 points.
The score itself is divided among 3 different addresses:
Address 0040 - Stores every multiple of 1
Address 0041 - Stores every multiple of 256 (Value 01 = 256, Value 02 = 512, so on)
Address 0042 - Stores every multiple of 65536
(For the second player, it's addresses 0043, 0044, 0045)

The reason why it's split up like that is because the max value for any address is 255. If your score rolls over to 256 (I know in Kart Fighter that isn't possible), Address 0041 is incremented by 1 and Address 0040 rolls over to 0. The score display itself can only go up to 999999 before overflowing. (If you force it to overflow through addresses, it'll store the score just fine in the addresses but it'll not be correct on the display. If you set it to a certain score and in-game you make it go over 999999, the values in the addresses mess up.) Also, the score display only updates if someone gets hit (So if I change both 1P and 2P's score addresses and make 2P hit 1P, both score displays will update to those values plus 2P will be rewarded with whatever points he got from that attack) or if you gain points after winning the round.

As far as I can tell with the scoreboard, I'm able to get to #1 after messing around with the addresses so it seems fully functional. Funny thing is if you make the combined address values to be over 999999, the game will still put you at #1 even though your score appears lower than everyone else.
« Last Edit: March 23, 2016, 01:54:29 AM by KingPepe »

adrian09_01

  • Newbie
  • *
  • Posts: 22
    • View Profile
Kart Fighter - Top 8 actually real
« Reply #2 on: March 22, 2016, 11:19:58 AM »
Are they the valid addresses? When I change 0040 the game crashes, and 0041 and 0042 do nothing to the score.

Edit: More messing with 0040 gave me this...
http://imgur.com/iWIj0RS
probably a secret stage or sumthing...
char select music plays here. Messing with the address lets me play as two Kinopios 2P mode in the current screen I am in.

Another edit:
0040:00 - game restart
0040:01 - double Kinopio/Toad mode
0040:02 - switches to the Option menu CHR bank but doesn't work
0040:03 - switches to the Top 8 PRG on the current bank
0040:04 - crashes the video and gameplay on the "Text Kingdom" but the music plays normally
0040:05 - crashes the game on Nokonoko bank

I didn't check further addresses because I'm lazy.

Another another edit:
Can someone find the scoreboard addresses in the ROM? I want to change the scores to make them more fair and easier to get.



« Last Edit: March 22, 2016, 11:36:22 AM by adrian09_01 »

KingPepe

  • Administrator
  • Sr. Member
  • *****
  • Posts: 737
    • View Profile
Kart Fighter - Top 8 actually real
« Reply #3 on: March 22, 2016, 11:35:47 AM »
...I miswrote the addresses, whoops.

0400, 0401, 0402 for 1P
0403, 0404, 0405 for 2P

adrian09_01

  • Newbie
  • *
  • Posts: 22
    • View Profile
Kart Fighter - Top 8 actually real
« Reply #4 on: March 22, 2016, 11:37:46 AM »
Thanks KingPepe for the invalid addresses :) there were some hilarious effects out there
Can you find the scoreboard addresses? I want to hack the scoreboard to make it more fair (scores like 20000, 40000, 60000, 70000, 80000, 100000, 110000, 120000)

KingPepe

  • Administrator
  • Sr. Member
  • *****
  • Posts: 737
    • View Profile
Kart Fighter - Top 8 actually real
« Reply #5 on: March 23, 2016, 02:28:04 AM »
The default high scores start at 1E6C2. From there and three addresses over is the first high score held by Koopa (Nokonoko) as 00 01 0B EE. The first address refers to the character and the next 3 values cover the score. The format is similar to the one used for how the game stores your current score in a fight except now the first address is the one containing every multiple of 65,536 and the third address is for numbers 0-255. All the other high scores are listed right after each other.

For the character values on the high score screen:
00 - Koopa (Nokonoko)
01 - Luigi
02 - Toad (Kinopio)
03 - Yoshi (Yossy)
04 - Mario (Mari)
05 - Donkey Kong Jr. (Donkey)
06 - Peach
07 - Bowser (Koopa)

...oddly enough, these values refer to which character is highlighted on the character select, not which characters appear during the middle of a match.
« Last Edit: March 23, 2016, 02:31:22 AM by KingPepe »

adrian09_01

  • Newbie
  • *
  • Posts: 22
    • View Profile
Kart Fighter - Top 8 actually real
« Reply #6 on: March 23, 2016, 06:29:57 AM »
How high should the scores be in my scoreboard for them to be fair? Are 20000, 40000, 60000, 70000, 80000, 100000, 110000, 120000 ok?

KingPepe

  • Administrator
  • Sr. Member
  • *****
  • Posts: 737
    • View Profile
Kart Fighter - Top 8 actually real
« Reply #7 on: March 23, 2016, 11:11:23 AM »
Those seem a bit more fair. (I'm assuming you're factoring in the fake zero in those scores)

adrian09_01

  • Newbie
  • *
  • Posts: 22
    • View Profile
Kart Fighter - Top 8 actually real
« Reply #8 on: March 23, 2016, 11:37:34 AM »
KingPepe, do you know enough ASM to add in 1/2 player selector on main menu instead of 2P Start button to trigger it?
I have some ideas how to make Kart Fighter better, but I don't know ASM.
1. 1/2 player on main menu
2. Randomized fighters infinite mode.

The second isn't possible, but the first should be.
« Last Edit: March 23, 2016, 11:38:46 AM by adrian09_01 »

KingPepe

  • Administrator
  • Sr. Member
  • *****
  • Posts: 737
    • View Profile
Kart Fighter - Top 8 actually real
« Reply #9 on: March 23, 2016, 12:24:03 PM »
Nah, I don't know any ASM to be honest. I just know how to use a hex editor and mess around with the addresses.  :pandaaway:

adrian09_01

  • Newbie
  • *
  • Posts: 22
    • View Profile
Kart Fighter - Top 8 actually real
« Reply #10 on: March 23, 2016, 12:25:30 PM »
D8 C7 C1 D9 - "GOLD" on the title screen. D8 and D9 are G and D tiles made for the hack. http://imgur.com/haf6k6r it looks like that. It will say "Gold edition by PGC 2015"
oh sorry 2016
the v1.0 is a remnant from the DvD names patch.
http://imgur.com/eJY9v7F WAS A 2P MODE SUPPOSED TO BE ON TITLE SCREEN?! They scrapped it.
http://imgur.com/j3kvcnm. D8 C7 C1 D9 DA DB D9 C9 C8 C9 C7 CA DA C0 D8 DD DA C6 C7 DE DF in PPU at 002383 any idea how to insert this in ROM forever?
http://imgur.com/G6MjYxW the fixed scoreboard. more fair scores than ever!
SET DEMO FLAG AND COMPUTER FIGHTER...;        ld˙˙  ....01..;        sta     demo_fg..;        lda     demo_ptr..;        and     #$07..;        tay..;        lda     d_fighter,y..;        sta     _Na˙˙......     lda     d_fighter+1,y..;        sta     _Name+1         ;;; set computer player...;        inc     demo_ptr..;        rts..;d_fighter:..;  ˙˙  ....      $83,$82,$84,$85,$86,$87,$88,$85,$81......        COMMENT       ^..rank4         ;;;     FADE OUT AND TO TITLE...        FADE_OUT..        ˙˙a ....hűĐM..        sta     sub_flow..        lda     #$00..        sta     main_flow       ;;; to end test...        sta     _Mselect..        stĄűĐM.._M....ct+1      ;;; clear title selection...        rts..                ^....   lda     #$80. Hummer left comments in the rom?
« Last Edit: March 23, 2016, 12:41:10 PM by adrian09_01 »

KingPepe

  • Administrator
  • Sr. Member
  • *****
  • Posts: 737
    • View Profile
Kart Fighter - Top 8 actually real
« Reply #11 on: March 23, 2016, 12:43:08 PM »
adrian09_01
Mar 23 2016, 12:25:30 PM
WAS A 2P MODE SUPPOSED TO BE ON TITLE SCREEN?! They scrapped it.[/quote]Yeah, that definitely looks like "1 PLAYER"/"2 PLAYER" options. I guess they planned to do it like Master Fighter VI' and Street Fighter IV but they scrapped it.

adrian09_01

  • Newbie
  • *
  • Posts: 22
    • View Profile
Kart Fighter - Top 8 actually real
« Reply #12 on: March 23, 2016, 12:45:11 PM »
I can understand this, but why there is a lot of uncompiled code and comments in my copy of KF?
Almost the whole rom is commented and there's a lot of code (not single ASCIIs, but whole ASM mnemonics) in hexadecimals like I posted above.
So let's replace the pointless "Option" defaulting it to level 5 and replace with the 2P mode, it's the best thing to do.
« Last Edit: March 23, 2016, 12:50:20 PM by adrian09_01 »