I'm going to try touching N64 emulation again.

start your startwatches, lets see how long it'll be until I'm replying to this with "N64 IS THE WORST CONSOLE EVER AND CANNOT BE EMULATED"

well, gopher64 is a blurry mess
okay, bizhawk's mupen64 isn't blurry on the text, so this is... doable.
no ASCII or similar in the RAM dump, because why would anything be easy?
found shifted text in the ROM!
00=a
01=b
etc
and I have text injection
oh god, they don't support uppercase: instead there's a "shift to uppercase" character, and a "shift to lowercase" character.

so the word "When" is encoded as :
81 16 82 07 04 0D 7F

[uppercase][w][lowercase][h][e][n][space]

so I made a TAS movie that plays the game to the first textbox, and it works fne unless I modify any bytes in the ROM.

As soon as any bytes are modified, it'll run and only display a black screen.

Something fucky is going on

ugh, it's probably bizhawk's gamedb not hashmatching it properly

wait my other hacked file still loads fine, and it's similarly not in the gamedb.

am I fucking up the file when I frobnicate it?

NOPE. file is unfucked.

and it's not the gamedb either: I manually added the sha1sum of my hacked file, so it gets recognized properly, but there's still only a black screen

okay so editing the initial dialogue causes a black screen, but editing the text the abbot gives you when you talk to him after the initial dialogue... does not.

why? FUCK IF I KNOW

ugh. manually hacking the file works
automatically hacking the file doesn't

something fucky is going on

when automatically injecting binary data into a ROM it helps to get the fucking address right

00D32AB8 and
00032AB8 are very different

okay now I've injected all possible bytes
the letters are
0-0x1C, then ' and both left and right double quotes “ ”.

and then 0x1D-0x7E are blank.
0x7F is space

0x80 - 0x9A switch to different subfonts.

0xA0 - 0xA3 are different colors. A0 is the default, A1 is red, A2 is blue, A3 is white.
0xE0 is newline

So next I need to re-extract every separate subfont, so like, 0x80 <every byte>, 0x81 <every byte>, etc
if I did the math right, this is going to take 18 hours

@foone I physically leaned forward in my chair to get closer to the screen to even see the typo.

I think it might be time for me to go get some glasses.

@foone lowercase hex ftw 😬