[Technical][FDS] Fix Yes/No mojibake in Ultraman Club FDS (suspected hard-coded)

BlackPaladin

New member
Joined
Dec 14, 2023
Messages
11
Voe3yIv.png


This is an issue with the game that I don't know how to fix. The text that's supposed to display "Yes/No" is in mojibake at the moment, and I think this is hard-coded. (I suspect that the area in which displays the hard-coded "Yes/No" text is located at around 0x87DF (RAM BD2A). This will appear when you're on the base and press the start button to save your game.)


I'm also including a link to download a Mesen2 save state for anyone who'd want it. (If you prefer one made in FCEUX, I can provide one later if needed.) Also, I'll provide my work-in-progress translation patch to anyone who can help with this issue. Feel free to contact me by replying here, via DMs or on Discord. Thank you for your time.
 
If you look in the Debugger code window, do you see this?:

Code:
BD29  A9 CA     LDA #$CA
BD2B  8D 8A 06  STA $068A
BD2E  A9 B2     LDA #$B2
BD30  8D 8B 06  STA $068B
BD33  8D B2 06  STA $06B2
BD36  8D B3 06  STA $06B3
BD39  A9 B4     LDA #$B4
BD3B  8D B4 06  STA $06B4

Does that give you any ideas?

It looks like there's enough room to modify this code to load up to four unique letters... So there's room for "Y" and "N"... Or for "Ok" and "No"...
 
If you look in the Debugger code window, do you see this?:

Code:
BD29  A9 CA     LDA #$CA
BD2B  8D 8A 06  STA $068A
BD2E  A9 B2     LDA #$B2
BD30  8D 8B 06  STA $068B
BD33  8D B2 06  STA $06B2
BD36  8D B3 06  STA $06B3
BD39  A9 B4     LDA #$B4
BD3B  8D B4 06  STA $06B4

Does that give you any ideas?

It looks like there's enough room to modify this code to load up to four unique letters... So there's room for "Y" and "N"... Or for "Ok" and "No"...

Yes, that's exactly what I'm seeing here. "CA" is "z", "B2" is "b", and "B4" is "d".

So it looks like four letters could be loaded to display "Ok/No" here.

But I also have an idea as well. From a past script insertion process I managed to get 26 bytes free in RAM B4CC-B4E5. Maybe... I could hard-code a "Y", an "e" and an "s" for "Yes", and afterwards add a JMP command to B4CC and proceed to hard-code an "N" with an "o" for "No", followed with another JMP command to RAM BD3B. Maybe that can also work. (I'll have to try that later today to see if my hunch is correct.)

If that doesn't work, I'll go with "Ok/No".

Thanks, Bavi_H. Looks like you spelled it out for me. :)
 
abLzmYb.png


SUCCESS!!!

I managed to get "Yes/No" to display in the save menu instead of that accursed mojibake!

This is the code I had used...

Code:
LDA #$98    A9 98
STA #068A    8D 8A 06
LDA #$B5    A9 B5
STA #068B    8D 8B 06
LDA #$C3    A9 C3
STA #068C    8D 8C 06
JUMP $B4CC    4C CC B4
NOP
NOP
NOP


This code entered in RAM BD29. As for what's inputted in RAM B4CC...


Code:
LDA #$8D    A9 8D
STA $06B2    8D B2 06
LDA #$BF    A9 BF
STA $06B3    8D B3 06
JMP $BD3E    4C 3E BD

A previous script insertion process left a decent amount of free space available. I used that extra space to input the hard-coded "No". Of course, this will need testing to make sure no bugs are introduced in the process.

Bavi_H, thank you so much for helping me out here! I couldn't have fixed this issue if you hadn't pointed stuff out! :)
 
Last edited:
I may have spoken too soon. I tested out that newly inserted code to make the apparently hard-coded Yes/No to display caused a bug. (This only been tested with Ultraman Taro.) When I attacked random kaiju with Ultraman Taro's Ultra Freezer, it caused no damage and the kaiju is not frozen in place. However, when I tested it a previous revision of the altered ROM with the mojibake still in place, attacking with Ultraman Taro's Ultra Freezer -DOES- do damage and freeze the targeted kaiju.

I can only assume that code I had added caused the bug to occur. I'm gonna see if I can make it display just "Ok/No" and see if this bug will occur as well. (Maybe test this out with other Ultra Brothers as well as if this is isolated to Ultraman Taro only.)
 
As luck would have it, the modifications made to the Yes/No selection had nothing to do with the annoying bug I had discovered with Ultraman Taro and the Glacier stage. This bug will occur even in the unedited FDS ROM. When I thought I saw the Ultra Freezer go off normally with dealing damage and freezing kaiju, I can only assume this happened on a stage that was NOT the Glacier stage. Go figure.
 
Back
Top