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