Internal mask ROM is built into the commercial version of 64DD. Included in this mask ROM, called DDROM, are font and wave data and the IPL. (DDROM is not built into drives made for development purposes. For more information, see Chapter 5).
The addresses of DDROM differ from those of the mask ROM used for Game Pak ROM. Game Pak ROM begins with the physical address 0x1000_0000, while DDROM begins with 0x0600_0000. Developers can access DDROM without considering the address differences between the two types by using the EPI functions(See "Chapter 27, EPI Functions and Extended Devices," in the N64 Online Programing Manual).
The most important point to remember when accessing DDROM is that it must not be accessed while the disk is being accessed. This also is true when Game Pak ROM is accessed.
A simple means of preventing ROM access during disk access is by controlling disk and ROM access with a single thread. With this, each completion of a disk or ROM access is confirmed with a receive message, and the next access is begun.
A map of the entire DDROM area looks like that shown below. The contents of DDROM will be discussed individually in subsequent sections.
The starting address for font data, 0x00A_0000, is defined in leo.h as DDROM_FONT_START, and the starting address for sound data, 0x0014_0000, is defined in the same header file as DDROM_WAVETABLE_START.
4.2 Font Data
4.3 Wave Data