MIPS Assembly programming for the N64

The N64 was Nintendo's first steps into 3D... Built from the technology from the SGI workstations, the N64 gave home users some of the first 3D graphics.

While limited compared to modern systems, the N64 was revolutionary for it's day, and gives us an capable system for learning MIPS!
Cpu 93.75mh NEC VR4300 MIPS III
Ram 4MB Rambus RDRAM
(8mb upgradable)
Video SGI RCP  (Reality Co-Processor)
Resolution 320x240 / 640x480


Memory Map

KUSEG KSEG0
(Cached)
KSEG1
(Uncached)
KSSEG
(TLB-mapped)
Size Purpose
0x00000000  
0x80000000  
0xA0000000  
0xC0000000 2048K RDRAM 0
0x00200000 0x80200000 0xA0200000 0xC0200000 2048K RDRAM 1
0x00400000 0x80400000 0xA0400000 0xC0400000 2048K DisKDrive RDRAM 2
0x00600000 0x80600000 0xA0600000 0xC0600000 2048K DisKDrive RDRAM 3
0x00800000 0x80800000 0xA0800000 0xC0800000 55MB Reserved
0x03F00000 0x83F00000 0xA3F00000 0xC3F00000 1024K RDRAM regs
0x04000000 0x84000000 0xA4000000 0xC4000000 16MB RCP
0x05000000 0x85000000 0xA5000000 0xC5000000 48MB DiskDrive
0x08000000 0x88000000 0xA8000000 0xC8000000 128MB Reserved
0x10000000 0x90000000 0xB0000000 0xD0000000 253MB N64 Cartridge


Screen Memory

Each pixel is represented by one BIG ENDIAN word, in the format %RRRRRGGGGGBBBBBB-

Endian

The N64 is BIG ENDIAN
the PSX is LITTLE ENDIAN