Go to ROM offset F704 and F705 and change the values to EA. Then you'll get a comma. (EA is a NOP instruction which we're using here to overwrite an AND instruction.)
What is happening with the weird character is that it's code ported over from the Japanese version that sometimes had to put those markings above the Japanese characters. There was a certain signal (via bit 7 and bit 6 of the character code to be printed) that specified whether to do this. If the right combo of bit 7 and bit 6 appeared in the character code, then the game would do its special thing, and then AND mask the character code to clear bits 6 and 7. In your case, 9C became 1C.
I figured this out when I was researching a method to add accent support to my Zelda 2 dialog editor. It came in handy after all
That's the bit of code that did the trick, indeed!
Now all commas should work properly
And with that...
This new patch should have all of the text rewritten and repointed.
And I mean ALL of it.
So this one requires quite a bit of playtesting.
From what I've played through the first minutes of the game, it all seems fine so far.
I only found one typo, which I fixed (a lady in Rauru saying "YOUNG FWLLOW" instead of "YOUNG FELLOW")
If anyone finds any other typos or perhaps something odd regarding any text, please let me know and provide an image so that I can see exactly what the error is and fix it asap.
Another thing, for the person that was asking previously about the character limit per row, it's actually 11 characters and not 10 like I thought it was.
11 is the limit before the text starts overflowing out of the text box.
ShadowOne. You are strictly in ROM territory, so you can do whatever you want with the unused space in this bank. There is no special loading process to RAM with text anyway. It's up to you to manage the unused space according to how you intend to expand on certain parts of the ROM. If you think you won't touch the data or code in a specific part, then you can insert your new data right after. But if you have any reasonable doubt, you can leave a few 10s of FF bytes of padding, just in case.
There's one nuance that doesn't appear in my disassembly docs, which I just realized while confirming what I'm writing here. There are actually two tables for dialogue pointers, one for West Hyrule towns and one for East Hyrule towns. This makes 34 (52 decimal) dialogs in West Hyrule and 2E (46 decimal) dialogs in East Hyrule. Maybe you have already figured this out. The West Hyrule pointer is EFBE, and the East Hyrule pointer is F026. These two pointers are in a table at F423.
If you intend to have more than the original 98 text strings, then your pointer tables will have to be moved, because they don't have any unused space right after. They are the elements that can't be broken in multiple parts. It's not a big deal to move them around, since you have plenty of unused space to play with. You just have to change the pointers in the table at F423 accordingly.
As for Njosro, he's right on point about accented characters. The code ported to the American version is fully functional, but the letter codes are never supposed to undergo a change of bits. Since you have no intention to add accented characters support, removing that feature is no big deal. Hats off to Njosro for finding THE byte that lets you do that.
You mean the point in which both the West Hyrule pointers end and where the East Hyrule ones begin?
If that's so, yeah I did figure it out, I simply made an hex search using the text bank just to be sure those were the correct pointers for East Hyrule.
Besides, they're right next to each other, so no loss there
Thanks for jumping in with the clarification though! Really appreciated.
Also, I changed all of the pointers already, and moved a portion of the text to the B8XX bank.
I wrote all the text right next to each other, so perhaps I should've followed your advice of leaving some bytes in between each line, but I managed to fit all that I wanted nicely
I struggled with like a couple pair of sentences, but they came up pretty good at the end.
I noticed even the pointer for the Dragon Quest reference is there, but apparently never called in-game.
Anyway, to anyone who wants to give this new test patch a try, please do so and let me know how it goes!