Lxdream Status

Being a short list of what's supposed to be functional in lxdream, and what needs work.

General issues

 * No I/O timing whatsoever except for video events. (ie DMA, rendering, GD-Rom operations should take time to run, but currently complete immediately)

SH4 Core

 * Base instruction set - complete
 * Dynamic translator - complete
 * No FPU exceptions
 * Not remotely cycle-correct timing (currently we just assume each instruction takes 2 clocks, which seems to average out ok for most cases).

SH4 On-chip peripherals

 * BSC - Not implemented except for PCTRA/PDTRA, and that part is quite dodgy.
 * CPG - Complete?
 * DMAC - Partial, non-ASIC transfers not supported currently
 * INTC - Complete
 * MMU - Partial (cache operations not supported)
 * RTC - Missing (doesn't really seem to be used in DC software)
 * SCI - Missing (not even hooked up in the hardware?)
 * SCIF - Complete? (moderately untested)
 * TMU - Complete?
 * UBC - Missing

PVR2 GPU

 * CRTC - Not tested on all modes, but near complete.
 * TA - Believed functionally complete. Not fully bug-compatible. No timing/fifo. Needs optimizing
 * YUV - Functionally complete? No timing
 * ISP/TSP - Partial. Missing accumulation buffer, bump mapping, and accurate translucent auto-sort. Also slow and buggy.

AICA SPU

 * ARM core - Base instruction set only. Also no cycle timing.
 * Basic sound generation works OK
 * Envelope + LFO support missing
 * Many registers not fully understood

GD-Rom Drive

 * IDE interface - Near complete (not verified command-for-command against hw)
 * DMA - complete
 * GD-Rom interface - Partial - supports Test ready, Ident, Read TOC, Read Session info, Sense request, and Read CD (Mode 1 + Mode 2/1) commands only.
 * No timing

Maple

 * Statically mostly complete
 * No timing data

Network Adapter

 * Not supported