9.10 Physical Memory Allocation

The Nintendo 64 hardware contains four megabytes of "nine bit" DRAMS. The normally hidden ninth bit is used for anti-aliasing 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 is directly placed at map address, 0x80000400(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() 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

UP