Nintendo Ultra64 Programmer's Manual page 146

Rsp
Table of Contents

Advertisement

Advanced Information
1
One obvious improvement would be to use the binary host I/O interface, rather than the ASCII
rmonPrintf().
146
guDumpGbiDL() This library function can be called directly from the
game to dump the necessary pieces back out to the Indy. It
uses the rmonPrintf() and creates a (potentially very
large) ASCII file that can be read by gbi2mem.
guDumpGbiDL() works by saving the OSTask structure,
the microcode, the display list, and traversing the display
list following any data (textures, matrices, vertices, etc.)
pointers to save that data also. This results in the minimum
amount of data to transfer back to the Indy in order to
simulate the RSP task.
This tool takes the file dumped by guDumpGbiDL() and
gbi2mem
creates the .mem and .tsk files, containing the DRAM
image and OSTask structure, respectively.
gbi2mem works by reading the ASCII file and creating a
binary DRAM image, with all objects located at the proper
address.
Since rmonPrintf() writes to the terminal, the proper invocation is to pipe
the output of gload to gbi2mem:
% gload | gbi2mem -o <filename>
This method of dumping data from the hardware back to the Indy is not
terribly efficient; it works best if the display list is as minimal as possible
1
.

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents