Files
retroDE_ps2/docs/contracts/iop.md
T
thejayman77 ec82764bef Initial commit: retroDE_ps2 — first-of-its-kind PS2 GS FPGA core (DE25-Nano / Agilex 5)
RTL (GS rasterizer, EE core stub, platform bridge, LPDDR4B path), sim regression
(272 TBs), docs, and tooling. Copyrighted PS2 content (BIOS, game code, GS dumps,
and all dump-derived textures/traces) is excluded via .gitignore and stays local.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 20:10:50 -04:00

61 lines
1.5 KiB
Markdown

# IOP Contract
Status: `Draft`
## Purpose
Define the separate I/O Processor subsystem as an explicit peer block, not an
afterthought.
## Owns
- IOP CPU execution,
- IOP-local RAM/I/O decode,
- IOP interrupt intake,
- IOP DMAC channels and their peripheral-facing coordination points,
- BIOS-side IOP boot sequencing behavior, including `IOPBOOT`,
`IOPBTCONF`-driven module loading, and early module-init-visible progress as
seen from the IOP side.
## Inputs
- clocks/resets,
- BIOS/boot vectors,
- SIF signaling,
- IOP DMA/peripheral responses,
- interrupt sources from IOP-side peripherals.
## Outputs
- IOP memory/I/O requests,
- DMA requests,
- SIF activity,
- debug trace events.
## Questions to lock
- How early do we expect a real IOP boot path versus a stubbed acknowledgement
model?
- Which IOP peripherals must exist before the BIOS path becomes meaningful?
- Will PS1-compatibility-only behavior be ignored initially?
- Which IOP DMAC channels must exist for the first BIOS-progress milestone?
## Allowed early stubs
- minimal boot-progress IOP stub,
- fake module-load acknowledgements for ultra-early scaffolding,
- reduced DMA interaction for trace-first bring-up.
## Required debug visibility
- PC stream,
- interrupt events,
- IOP DMAC channel activity,
- SIF mailbox/flag transitions,
- module-load progress markers if detectable.
## Clarification
- BIOS/firmware storage and address visibility belong to the memory contract.
- BIOS-driven IOP boot behavior belongs here.