# Peripheral Contract Status: `Draft` ## Purpose Group the console-completeness devices that are neither CPU cores nor the main graphics/audio engines. ## In scope - CDVD - SIO2 - memory cards - controller-facing console semantics - DEV9 - USB - FireWire ## Owns - register-visible behavior for these devices, - media/card/controller presence semantics, - protocol translation where the retroDE platform provides host assistance. ## Questions to lock - Which peripherals are required for the first three milestones? - Which peripherals will be HPS-assisted versus locally modeled? - Is controller input presented first through a simplified abstraction or through SIO2-faithful transactions? ## Allowed early stubs - device-present/device-absent reporting only, - fixed media status responses, - controller event injection through simplified paths, - memory card placeholder presence with no persistence. ## Likely implementation order 1. SIO2/controller minimum 2. memory card minimum 3. CDVD minimum 4. DEV9/USB/FireWire as later completeness work