What's new

Tryning again... hopesomeone can help me

ashade

New member
Ok. Hello everybody! I am a newbye on this forum. I'm trying to make my own n64 emulator, it doesn't have a name yet. I am having some newbye doubts. This is the first one:
- I noticed that some roms (like mario 64) need to be byteswapped to read his header information (like the name, CRC1 and 2, country code, etc.). My question is: to read the opcodes in this kind of rom I need to byteswap it or not?

- My second question is: in the address 0x0008 of any n64 rom we have a information about the Program Counter. What is this information used for?

- My third question is: when I want to start the emulation of a rom, in what address should it start? should it be on the beginning of the boot code or of the game code?

- The last question: where can I find good information about N64 RDP?

These are my questions. If you can answer at least one of these to me, thank you so much!
 

Doomulation

?????????????????????????
- I noticed that some roms (like mario 64) need to be byteswapped to read his header information (like the name, CRC1 and 2, country code, etc.). My question is: to read the opcodes in this kind of rom I need to byteswap it or not?
Yes, the rom always needs to be in "proper" order.
 

Malcolm

Not a Moderator
actually i've been dealing with byte swaped roms for a day or 2 now and here is what i've found:
non byte-swaped order:
1 2 3 4 5 6 7 8 9 10
byte-swaped order
2 1 4 3 6 5 8 7 10 9

in a hex editor you can find the valuse for the name crcs and such, below are the hex place values:

Crc1: 16 -> 19
Crc2: 20 -> 23
Name: 33 -> 55
Manfacturer: 60
Cart ID: 61 -> 62
Country: 63
Release#: 64

And to AFAIK the first 15 (1 -> 15) hex values are not used for identing ROMs.

Anyways, if anyone finds this info to be incorrect (which is quite likely) please feel free to correct me :)
 

Top