Files
James Dansereau d7b9371afb Docs: public copy, site presentation, release-gate review (D533, D534)
Public-copy language pass, homepage restructure and Documentation rename,
404 page, dead-anchor and permalink fixes, release-gate sign-off, and the
pre-release review fixes of the 2026-10-05 batch (probe-doc drift,
build-path hygiene, verify.sh and capture safety).

Refs: D533 D534
2026-10-06 18:35:44 -04:00

39 lines
1.7 KiB
Markdown

---
title: The software RSP
description: How the GoldenEye 007 PC port emulates the N64's Reality Signal Processor (the graphics coprocessor) in software and bypasses the RDP.
date: '2026-10-05'
modified_time: '2026-10-05'
---
## The software RSP
On the N64, the **Reality Signal Processor (RSP)** is the graphics
coprocessor. The R4300 CPU builds a list of graphics commands each frame
(the **GBI display list**); the RSP runs a "fast3d" microcode that turns
those commands into **RDP** (rasterizer) commands, which the RDP turns into
pixels.
The port does two things to that pipeline:
- **It emulates the RSP in software.** `port/fast3d/` (~7,000 lines of C++,
adapted from the Perfect Dark port) *is* the RSP: it interprets the GBI
display list the game builds and, instead of emitting RDP commands, emits
**OpenGL** calls directly.
- **It bypasses the RDP entirely** — there is no rasterizer to emulate,
because the software RSP talks straight to the GPU.
The game's own R4300 code runs natively and is unaware of the difference: it
builds display lists and "starts the RSP" exactly as it would on hardware. A
replacement scheduler (`pdsched.c`) catches the "start the RSP" call and runs
the software RSP on the render thread.
GoldenEye's custom commands are handled by the same interpreter: the packed
four-triangle `G_TRI4` command and the fade/blend **color-combiner** modes
(compiled on the fly from the N64's combiner equation to a GLSL shader by
`gfx_cc.cpp`). The N64's own RSP microcode (`rsp/graphics/gmain.s`) is not
run on PC but is the reference the software RSP's command decoding is checked
against.
*More: [internals](internals.md) §2 (the reference architecture) and §5
(GoldenEye-specific graphics work).*