Pointers are a special type of value that are used when running a program or in this case, a N64 game.

Unlike values that save a certain number, pointers are used to redirect the program to code or values that lie someplace else in memory.

 Pointers are like links to other webpages.

You can think of normal values as the text on this page. You can look at and read the text on this screen directly. However, a pointer would be like a link to another page with text on it. You can't see the text until you follow the link. If you were to change the link a little, it would either take you to a different page, or more likely screw up and give you a "page not found" warning.

You use pointers to get to data that is otherwise tricky to get to. Goldeneye can place the same data at different places in memory, so the easiest way to get to that data is to use a pointer. That way, the program only needs to read the pointer to know where the data is, instead of trying to find it painfully. Likewise, if you change a pointer, that changes the address you are looking up. As a result you can either get different data. You must be careful though. Just like with webpage adresses, if you give it an invalid pointer you may cause the game to crash.

Goldeneye uses two kinds of pointers, normal pointers to data - more properly called rdram pointers - and TLB pointers.

Normal (RDRAM) Pointers Edit

These are the most common pointers, and they all fall in the range of 80000000 to 80800000. They point to values already written someplace in memory.

TLB (Table Lookaside Buffer) Pointers Edit

These are a special pointer type. Unlike normal pointers that point to data already in memory, TLB pointers are used to recall data from ROM. The data they recall could be anywhere in the normal RDRAM range, but the pointers themselves are always the same. These values range from 7F000000 to 7F21C000. In NGEE roms, 7F000000 corresponds to the ROM address 0x34B30. That means the total range of ROM addresses the N64 can recover in the USA version of the game is from 0x34B30 to 0x250B30.