emulate.1 2.54 KB
.TH emulate 1P local "Silicon Graphics, Inc."
.SH NAME
emulate \- Ultra 64 system hardware emulator
.SH SYNOPSIS
\f3emulate\f1 [-clstv] [-h height] [-w width] object-file rom_image
.SH DESCRIPTION
.I emulate\^
is a procedural-level emulator for the Ultra 64 graphics display list
and system software services.
.I emulate
is an OPENGL application designed to mimic as much as
reasonably possible the execution of the actual hardware, firmware, and
software while still maintaining real-time response.
.PP
Command line options are:
.RS 5
.TP 12
.B \-c
Count various performance statistics.
.br
.sp
\f3vtx\fP = Number of vertexes.
.br
\f3poly\fP = Number of polygons.
.br
\f3mtx\fP = Number of matrices.
.br
\f3dl\fP = Number of display list called.
.br
\f3texel\fP = Number of texels loaded into the texture memory in RDP.
.br
\f3pix\fP = Number of pixels filled in the framebuffer.
.br
\f3rectfill\fP = Number of pixels filled.
.br
.sp
The rectfill performance number counts the number of pixels filled using the
RDP RECTFILL command. This command is typically used to clear color and mask buffers.
.TP
.B \-l
Disables lighting capabilities.
.TP
.B \-s
Creates a single buffered rendering window for those applications that will not
use a front and back framebuffer for animation.
.I emulate
defaults to double buffer operation.
.TP
.B \-t
Disables texture capabilities.
.TP
.B \-v
make video output by magnifying the rendered image from (320x240) to (640x480).
The magnification is bilinearly interpolated to match the hardware.
On VTX and ONYX machines, \f3vout(1v)\fP can be used to generate video output
for television monitor via the BNC composite or S-VHS output.
.TP
.B \-h <value>
Height of the viewing window.
Should leave as default.
.TP
.B \-w <value>
Width of the viewing window.
Should leave as default.
.SH NOTE
The extent that
.I emulate
is able to implement actual functionality of individual features is documented
in the manual pages of these features.
.PP
The cached, direct mapped kernel virtual address space of the CPU (KSEG0)
is implemented by the emulator as beginning at 0x20000000 and ending at
0x20200000.
(The actual KSEG0 address space ranges from 0x80000000 to 0xa0000000).
A secondary effect of this implementation is that segment number 8 should
not be specified as the segment number of a RCP segment in the ROM
specification file.
This is because symbols in segment 8 correspond to address range beginning at
0x20000000 when flattened into 32 bit values by
.IR makerom(1P).
This will cause an address overlap that will confuse
.I emulate.
.SH "SEE ALSO"
.IR makerom (1P)