News: 11 March 2016 - Forum Rules

Author Topic: Help with GameCube Windwaker Start.dol  (Read 156 times)

Seijuurou Hiko

  • Jr. Member
  • **
  • Posts: 2
    • View Profile
Help with GameCube Windwaker Start.dol
« on: May 16, 2022, 01:35:22 pm »
I'm trying to translate the GameCube WindWaker, and I found that some words are in the Start.dol.
The specif part I'm trying to change the pointers is this:


I simply can't find the pointer to this text block. I found the pointers for another block, but for this I'm completely clueless.
Can somebody help me?

abridgewater

  • Jr. Member
  • **
  • Posts: 3
    • View Profile
Re: Help with GameCube Windwaker Start.dol
« Reply #1 on: May 17, 2022, 10:40:28 am »
This looks like a read-only data segment or the contents of an initialized data segment produced by a C compiler. Inbound pointers are probably either stored in two parts (a high part and a low part) in nearby (not necessarily adjacent) instructions, or as an offset from some other pointer.

I'd recommend either using a debugger breakpoint in an emulator to try and track backwards to find where the pointers are stored (you'll see a variation on this trick used for the GameBoy in the recent "RomHacking 202" document), or using a "smart" disassembler or reverse-engineering tool such as IDA Pro or Ghidra to see if it detects references to these strings.

There are further techniques that might work using a "dumb" disassembler, or operating purely in terms of a hex viewer, but they amount to working out what the possible instructions might be for loading part of the pointer and searching for those instructions. Basically trading off more knowledge and effort on your part for being able to use simpler tools.