it might be full-width latin characters. possibly encoded in shift-jis.
sadly ghidra doesn't know how to find that
Turns out the text IS in ascii, it's just in a datafile and not the executable.
so that doesn't help me
it was a good idea of them to put all the strings in a datafile instead of the executable! really handy for localization.
oh, this game was only ever released in japan? huh
why the heck does the PS1 have a "NoFunction" syscall?
I know about NOPs, by why a NOP syscall?
ahh, fucking MIPS.
How do you get a full 32bit address into a register?
MOV EAX,800771DC ?
NO GET THAT X86 BULLSHIT OUT OF HERE.
lui v0,0x8007
addiu v0,v0,0x6e50
addiu v0,v0,0x404
that's an address encoding that'll put some hair on your chest!
or... every callback is registered in pairs, and the second callback is at the same number as the first, +16, and in all cases, it's set to NULL?
WHAT EVEN IS THIS
its a good tradeoff.
full address literals are rare
there's usually a register pointing at some globals area - allowing quick access with 16bit offsets - and if real 32bit addresses were critical you could store them as constants there to load
most addresses that programs deal with are offsets from struct pointers, array offsets etc
RISC is designed to be easier for compilers to deal with.
I did enjoy writing 68000 CISC ASM on the amiga but the focus changes over time
@foone one idea did occur to me after - if they wanted to be able to patch offsets afterwards, it'd make sense to divide up the initial load from the adding of an offset
but that's all i've got
@foone joke:
is this a denuvo on switch reference
@endrift @foone oh okay i figured it out. It’s a bug in nixpkgs. It links mgba with lua 5.4 and with vlc (which links with lua 5.2) and while initializing vlc (which it does for some reason?) vlc crashes due to the version mismatch
Not sure why selecting an existing save file inits vlc tbh, that could be a bug on its own
@foone Tired: Crashing an emulator by overpowering it
Wired: Crashing an emulator like you crash a party