News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Testers needed: Kirby's Super Star Stacker English Patch  (Read 21301 times)

phonymike

  • Jr. Member
  • **
  • Posts: 28
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #20 on: June 30, 2019, 12:40:17 am »
Maybe I'll upgrade to bsnes plus's debugger. Key binding? I always click "step into" and then hold enter :'(

See if you can figure it out, you're getting close. It seems Geiger was just copying raw data into the buffer without decoding it, then at some point it catches and decompression goes normally. Maybe I saw an NMI in the middle of the decompression.

TheDanaAddams

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #21 on: June 30, 2019, 05:00:28 pm »
Hit a snag... on the text that extracted, it seems like what's supposed to be the Game 5 (Time Attack) difficulty select is actually Game 1 (Challenge) with the hidden difficulty level unlocked.
Which means that... the other modes have the hidden difficulty level... and I don't have all of the text pages...

Still don't know how to get that text back in, but I'm getting them all ready in case anyone can figure it out.

I've also noticed that some of the text that was stored as sprites is showing in some pages, despite being edited... implying that there are duplicates elsewhere... need to find those...

Mattiac

  • RHDN Patreon Supporter!
  • Jr. Member
  • *****
  • Posts: 51
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #22 on: June 30, 2019, 07:16:12 pm »
Very nice title screen! Exemplary work!

Hey, that's fine! Any testing helps! In fact, testing it like that is awesome, since I've kept my SNES Mini stock and wouldn't be able to know if it worked on them otherwise!
Awesome! ^^

Cute cover! I've mocked up a replacement title screen, as a target to aim for, but I haven't yet found the tiles for that.
(Anyone identified the compression format and the title screen address for Lunar Compress? If it's supported. That would help a heap!)
While I'm making a new post, here's the most current build - Kirby's Super Star Stacker Beta3.
Not a big change from the previous - just some little tweaks, like the alignment of character names for Player 2 in VS mode, but hey; an improvement is an improvement.

Reld

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #23 on: July 01, 2019, 12:49:22 am »
I finally got it working!



Here's an IPS patch for the completed title screen: Link

The solution was frustratingly simple considering all the sifting through dissassembled code I did. My tile map was 14 bytes smaller than the original when compressed. I used the extra space at the end to manually add instructions for extra runs of blank tiles. Just kept adding and testing until the timing was right. A nice side effect is that it even loads properly in Geiger's SNES9X now. I also tested on real hardware using my SD2SNES, so it should be all good.

I also did a bunch of cleanup on the graphics. I think the title screen is officially done. Big thanks to phonymike for helping me work through it, and obviously all credit goes to Dana for the original design. Still have to work up something for the blimp logo.

phonymike

  • Jr. Member
  • **
  • Posts: 28
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #24 on: July 01, 2019, 01:41:12 am »
Hey TheDanaAddams I don't follow, you can't find all of the script (the extra parts)? How did you translate so far, just screen by screen? Maybe a code could unlock the extra script easier.

Yeah Reld that looks awesome. I wouldn't have thought that the data wasn't finished properly. Maybe there's a size value somewhere. I tried bsnes-plus debugger and I like it, thanks for mentioning it.

Reld

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #25 on: July 01, 2019, 01:59:13 am »
It's not really that the data wasn't finished properly. What was supposed to happen is this:
  • Logo tile map decompressed to RAM
  • VBlank happens, decompressed tile map gets copied to map 1 in VRAM
  • Stars background tile map decompressed to RAM
  • VBlank happens, decompressed tile map gets copied to map 2 in VRAM

This is what was happening instead:
  • Logo tile map decompressed to RAM
  • Stars background tile map (partially) decompressed to RAM, overwriting part of logo tile map
  • VBlank happens, decompressed tile map gets copied to map 1 in VRAM
  • Stars background tile map continues being decompressed to RAM
  • VBlank happens, decompressed tile map gets copied to map 2 in VRAM

The code was relying entirely on coincidental VBlank timing. The garbage that was showing up was the next tile map being decompressed too soon. Adding extra runs of blank tiles to the end of my tile map (they really are "extra", my tile map is now technically way bigger than the original in terms of number of tiles) just serves to sort of run out the clock.

TheDanaAddams

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #26 on: July 01, 2019, 10:42:34 am »
@Reld: Awesome job! Applied to my edited version of the ROM without a problem! Looks fantastic!

@phonymike: The tools by Guest (here) extract the text from the ROM to .txt files that look like this:
Code: [Select]
[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[04] 1[04] 1[08] 1[28]ふ1[28]ふ2[28]つ1[28]つ2[28]う1[28]う2[28] 1[28] 1[28] 1[28] 1[20] 1[20] 1[00] 1[00] 1[00] 1[00] 1[20] 1[20] 1
[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[04] 1[04] 1[08] 1[28]ふ3[28]ふ4[28]つ3[28]つ4[28]う3[28]う4[28] 1[28] 1[28] 1[28] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[00] 1[00] 1
[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[20] 1[20] 1[20] 1[20] 1[20] 1[20] 1[20] 1[20] 1[20] 1[20] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[00] 1[00] 1
[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[04] 1[04] 1[08] 1[28]た1[28]た2[28]い1[28]い2[28]へ1[28]へ2[28]ん1[28]ん2[28] 1[28] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[00] 1[00] 1
[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[04] 1[04] 1[08] 1[28]た3[28]た4[28]い3[28]い4[28]へ3[28]へ4[28]ん3[28]ん4[28] 1[28] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[00] 1[00] 1
[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[04] 1[04] 1[08] 1[28] 1[28] 1[28] 1[28] 1[28] 1[28] 1[28] 1[28] 1[28] 1[28] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[00] 1[00] 1
[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[04] 1[04] 1[08] 1[28]す1[28]す2[28]ご1[28]ご2[28]い1[28]い2[28] 1[28] 1[28] 1[28] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1
[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[04] 1[04] 1[08] 1[28]す3[28]す4[28]ご3[28]ご4[28]い3[28]い4[28] 1[28] 1[28] 1[28] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[00] 1[00] 1

Tells it what tiles to display, basically... so I translate it and replace it with correct formatting like so:
Code: [Select]
[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[28]n1[28]n2[28]o1[28]o2[28]r1[28]r2[28]m1[28]m2[28]a1[28]a2[28]l1[28]l2[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1
[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[28]n3[28]n4[28]o3[28]o4[28]r3[28]r4[28]m3[28]m4[28]a3[28]a4[28]l3[28]l4[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1
[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[20] 1[20] 1[20] 1[20] 1[20] 1[20] 1[20] 1[20] 1[20] 1[20] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[00] 1[00] 1
[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[28]h1[28]h2[28]a1[28]a2[28]r1[28]r2[28]d1[28]d2[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1
[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[28]h3[28]h4[28]a3[28]a4[28]r3[28]r4[28]d3[28]d4[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1
[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[04] 1[04] 1[08] 1[28] 1[28] 1[28] 1[28] 1[28] 1[28] 1[28] 1[28] 1[28] 1[28] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[00] 1[00] 1
[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[28]v1[28]v2[28]。1[28]。2[28]h1[28]h2[28]a1[28]a2[28]r1[28]r2[28]d1[28]d2[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1
[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[28]v3[28]v4[28]。3[28]。4[28]h3[28]h4[28]a3[28]a4[28]r3[28]r4[28]d3[28]d4[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1
[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[00] 1[08] 1[08] 1[08] 1[08] 1[08] 1[08] 1[00] 1[00] 1

The main script files insert back in flawlessly, but these menu files are incomplete and the tools fail to reinsert them.
It definitely extracts the text, since it extracts the translated stuff - so it's not just pre-ripped.
I'm just not code savvy enough to figure out what's going on.

alexmont82

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #27 on: July 01, 2019, 01:02:17 pm »
Just tested, great work. No issues on Snes9x 1.60

There are untranslated text on screenshots :)

Spoiler:









TheDanaAddams

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #28 on: July 02, 2019, 10:25:09 pm »
Spoiler:





Thanks for the help! Much appreciated!

Hopefully this update should fix the issue with these story sequence frames, but they will need to be tested, obviously.
Beta4 patch includes the amazing title screen work by Reld.
Download here.

Reld

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #29 on: July 02, 2019, 11:48:29 pm »
Got the blimp logo done!



Here's another IPS patch: Link
The patch contains the title screen again as well because I made one more tiny adjustment to it. It shouldn't matter whether you've applied the previous title patch or not.

Doing this one was kind of interesting because it actually used two tile maps. One was the compressed one that phonymike found the address for a while back. The other was an uncompressed tile map for the back half of the blimp that gets loaded when about half of the blimp is on screen. I assume it's uncompressed because it needs to be loaded quickly on the fly instead of during a screen transition.

Dana: Now that I'm done with the graphics stuff I can try taking a look at some of the text issues you were talking about. Is there anything specific I should look at to start with? Like a specific line of text, or a specific address in the ROM?

TheDanaAddams

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #30 on: July 03, 2019, 01:03:29 am »
Is there anything specific I should look at to start with? Like a specific line of text, or a specific address in the ROM?
First thing to look at, I think, would be the easiest to check - one of the difficulty selection screens; let's say Challenge Mode.
Here's the file extracted by the tools, edited with the translated formatting: game1_difficulty_bg3_nt.txt
If you can figure out how to get this back into the ROM the same way it extracts, we're in business!

Reld

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #31 on: July 03, 2019, 01:55:59 am »
Oh boy what a convoluted process. It does seem to work though.



This is how I got it to work:
  • Run "decode BINARY.bat", which creates a bunch of .bin files in a folder called "binary" (except it didn't for me at first because the batch file left out the instruction to create the directory)
  • Run "dump TILEMAP.bat", which creates a bunch of text files in the text directory that correspond to the previously mentioned .bin files
  • Make your edits to the text files (this, is where I believe you're currently at)
  • Run "replace TILEMAP.bat" (I think this turns the text files back into .bin files)
  • Run "encode BINARY.bat" (this is probably where the compression is applied?)
  • Run "insert BINARY.bat" (this actually inserts the modified data back into the ROM)

It doesn't actually say this anywhere, but the "insert BINARY.bat" file expects a different ROM name ("NP Kirby no Kirakira Kids (J).SFC") from the decoding tools ("Copy of NP Kirby no Kirakira Kids (J).SFC"), and if the file doesn't already exist it'll create one, but the file it creates won't contain the data for the whole game so it won't actually run.

TheDanaAddams

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #32 on: July 03, 2019, 10:13:13 am »
AH! BRILLIANT!! Weird that it's replacing the full stop with a Kirby face... but no matter! You've solved it!! Awesome job! <3

I'll get to work on those and see how things go!

Have to add those difficulty text background boxes to the list of things that probably need more advanced hacking...
Given your knack for finding wayward sprites, maybe you could find the text sprites that are hiding?

Spoiler:



The foreground button text, there, is unedited, despite identical text being changed in all the extracted binaries I have...

Reld

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #33 on: July 03, 2019, 01:20:27 pm »
The compressed graphics for the sprite text in that screenshot are at $157B8C in the ROM. You can use that address to extract them with exhal, or you can add this line to both "decode_binary.txt" and "encode_binary.txt" in the "file" directory:

Code: [Select]
aafb8c game1_rankings_sprites.bin
I don't think it actually matters where you put the line, but I put it under "Game 1 - Star" after the lines for the other game 1 files. You could also use a different file name for the .bin file if you want, just make sure it's the same in both text files. After that you should be able to use the tools the same way you did for all of the other graphics. The next time you run the tools to extract the binaries they'll extract a new file called "game1_rankings_sprites.bin" which contains those sprite graphics. I tested the extraction, so I know at least that much works. I haven't tested the insertion, but I think it should be fine.

If you can put together a list of all the sprite text you can't find (even better if you can include screenshots) I can try to find them all and put together versions of those text files that include them to make things easier.

TheDanaAddams

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #34 on: July 03, 2019, 02:11:06 pm »
Hm... for some reason, I can't get them to extract with exhal; obviously doing something wrong... but the decode/encode addition worked - problem is, it needs a line to tell it to insert, and I don't want to mess it up with a guess - insert_binary.txt in the asm folder.

I'm assuming it's something like
Code: [Select]
%INSERT_BINARY($aafb8c, insert/game1_rankings_sprites.bin, ~end address here~)

Reld

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #35 on: July 03, 2019, 02:20:31 pm »
Ah I totally missed that. Try this:
Code: [Select]
%INSERT_BINARY($aafb8c, insert/game1_rankings_sprites.bin, $aafff5)
As far as exhal goes, I know it took me a while to figure out that it wanted me to put "0x" in front of the hex address. Could that be it?

TheDanaAddams

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #36 on: July 03, 2019, 02:36:32 pm »
Ah, yes, that'd be it.
My bad!

That line worked like a charm, though; sprites inserted back in, and the Japanese text on the Challenge Mode rankings screen buttons is now fixed. I'll go through and finish up all the remaining text pages, and see what's left over after that!



Edit: Alright, so that's everything I can do at the moment... There's an issue with editing the text on the tabs in the scores page; the Japanese text that appears in the extracted txt files corresponding to the location of each tab does not reflect the actual text shown there. It's just gibberish like "papipupepo". Editing it anyway causes the pages to glitch out in weird ways:


As predicted, the Time Attack difficulty select does not have any translation, as the file that *should* have corresponded to the Time Attack difficulty select is actually Challenge Mode with the hidden difficulty unlocked - I'm frankly just not good enough at the game to unlock the Insane difficulty, so if any brave soul can test unlocking that difficulty in Challenge and seeing if the hidden difficulty appears and everything is still translated, that would be awesome.


While I was able to change the Japanese "Guest" to "None" for playing without a registered name on the Name Select page, it still shows Guest as the player name on the VS setup screen, and I'm pretty sure it'll save any high scores with that name too. So it will definitely need some deeper hacking to replace the Japanese default text.


The Records screen also wasn't displaying the translated text - I think this may be another case of multiple versions of the page existing, and I suspect that if you took a new 1st place score, the translated version would appear.


A cosmetic thing that would be nice, is if the notches on the score screen tabs that surround the big mode name could be moved, as the english text exceeds the width of the original Japanese. It probably wouldn't be too difficult to move the background tiles around... if I actually knew how to mess with existing tile mapping like that.


Here's the new patch; includes both title logos, and all the new translated stuff.
Kirby's Super Star Stacker Beta5
If anyone can find anything that's been missed, this is where it gets tricky.
« Last Edit: July 03, 2019, 05:51:50 pm by TheDanaAddams »

Reld

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #37 on: July 05, 2019, 10:42:26 pm »
What do you think of this for the scores screen?






Here's an IPS patch: Link

The text on those tabs isn't really text at all. They don't use the normal 8x8 alphabet. They use tiles set aside just for them. That's why they were coming up as nonsense in the text files.

I moved those little round pip thingies that surround the mode names. I also managed to extend that little sprite box on the tabs so it will fit around the longer text.

I'm not sure if you noticed or not, but there was some corrupt graphical garbage on some of your screens. Check the bottom of your last scores page screenshot for an example. I fixed that on the scores page, and there was some on the naming screen too that I got rid of. My best guess is that some of your tile maps were ending up too big after being recompressed, and the insertion tools were just cropping the data to whatever would fit, which meant the byte that's supposed to tell the decompression routine to stop was missing and it would continue reading whatever the next chunk of data was. I was able to get the tile maps to compress down smaller than the originals and that seems to have fixed it.

svenge

  • Jr. Member
  • **
  • Posts: 83
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #38 on: July 05, 2019, 11:11:54 pm »
Wow, this patch keeps on getting better and better!  One very minor thing I noticed is that on the "scores" page under "players", the first tab reads "[NAME]s Scores" instead of "[NAME]'s Scores".  It would read much better with an apostrophe.


TheDanaAddams

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re: Testers needed: Kirby's Super Star Stacker English Patch
« Reply #39 on: July 06, 2019, 12:23:29 am »
Stuff.

Once again, you've gone above and beyond what I could have hoped! Absolutely fantastic!
I had noticed the corruption, but it didn't seem to happen all the time, so I just wrote it off as emulator weirdness; glad you've been able to fix that!

It would read much better with an apostrophe.
I actually tried to include an apostrophe, but there's just nothing in the 8x8 alphabet of the game that even looks like one. Editing an existing sprite wouldn't be difficult, but I worry about that bugging something else out...



Edit 2: Also as predicted, getting the #1 score does show the translated Records page. I should update that to say "New Record!" but that still leaves the standard records pages to find...





Edit: Found some more text; in this case, it corresponds to the progress of Story Mode, as shown in the Scores page. Unfortunately, I found the text in the VRAM, while poking at it with debug tools, and just can't figure out how to get from tilemaps and sprite data in the bsnes plus debugger back to any kind of location in the ROM, but here at least is the sprite text as it appears in the VRAM and edited with the appropriate translated text.

« Last Edit: July 06, 2019, 08:23:23 pm by TheDanaAddams »