Physical Memory Allocation

The Nintendo 64 hardware contains four megabytes of “nine bit” DRAMS. The normally hidden ninth bit is used for antialiasing and z-buffering hardware. It is recommended that the framebuffer and z-buffer reside on different megabyte banks to take advantage of caching in the DRAM circuitry.

By default, the boot location resides at directed mapped address 0x80000400. (or physical address 0x400). The first 1024 (0x400) bytes of physical memory are reserved for exception vectors and configuration parameters. This boot location can be changed by simply inserting an address statement in the boot segment of the makerom (1P) specification file. For example, the following code specifies the boot location to be at 0x80200000, which is the beginning of the third megabyte of memory.

beginseg
        name “code”
        flags BOOT OBJECT
        entry boot
        address 0x80200000
        stack bootStack + STACKSIZE
        include “codesegment.o”
        include “$(ROOT)/usr/lib/PR/rspboot.o”
        include “$(ROOT)/usr/lib/PR/gspFast3D.o”
        include “$(ROOT)/usr/lib/PR/gspFast3D.dram.o”
        include “$(ROOT)/usr/lib/PR/aspMain.o”
endseg
The boot process of the Nintendo 64 will copy one megabyte of data beginning with the boot segment specified in the specification file to the boot location.

Copyright © 1999
Nintendo of America Inc. All Rights Reserved
Nintendo and N64 are registered trademarks of Nintendo
Last Updated January, 1999