It really depends on the game itself and how stuff is layed out/programmed. Say with a games script you can have the script starting at 0x123456, and then you'll have a pointer table which points to all the starts of dialogs in the script, so if the pointers value is 00 0A or something the value could be 0x123460, at least this is how im going from what I've hacked around with in n64 Its really dependant on the game itself though, and how the rom is swapped, etc..
RRRRRGGGGGBBBBBA for palette colors usually.
As for the ROM, it wouldn't be 8XXXXXXX in the ROM, although of course references to RAM in the ROM would be 8XXXXXXX. ROM addresses could be either just their address, or possibly BXXXXXXX.
I've not seen any 8-bit color in my experience, they're usually 8-bit indexes to a 16-bit or 32-bit palette. Although N64 texture stuff is different for many games.
Mario Kart 64's course maps seem to use an 8-bit format. I suspect it's a palette index. I render it as 00ggbbrr (R = (X And 3) * 8, G = ((X And 12) / 4) * 8, B = ((X And 48) / 16) * 8), and everything always shows up red.
Forgive me for my intrusion here... I really don't know anything about pointers, but... if a byte contains the format 00GGBBRR, wouldn't it be more proper to use the following formula:
Visual Basic:
G = (BYTE And &HFF0000) \ 16
B = (BYTE And &HFF00) \ 8
R = (BYTE And &HFF)
C:
R = (BYTE & 0xFF0000) >> 16;
B = (BYTE & 0xFF00) >> 8;
R = (BYTE & 0xFF);
? This makes sense to me as I've done this before. Your formula... it makes no sense at all!