Endianness¶
The emulator handles file endianness1 by replicating the Nintendo 64's behaviour.
As such, all inputs and outputs should be big-endian, while the runtime will convert to the running platform's settings.
Not only is it more accurate to follow this rule, but it also ensures all files input and output will be compatible across platforms.
ROM images¶
These are cartridge images. Ensure the file you input is big-endian by checking its header: the first word should usually read 0x80371240
.
ROM formats lists common file extensions used, as well as how data is laid out.
Nintendo themselves used .n64
for generating big-endian ROM images, and is supposed to be the official file extension.
However, many unofficial users of this extension swapped the endianness to match what x86 emulators expected2.