Skip to main content

Module epsonrtc

Module epsonrtc 

Source
Expand description

The Epson RTC-4513 real-time clock — the second ASIC on the one commercial cart that pairs it with SPC7110 (Far East of Eden Zero / Tengai Makyou Zero).

Clean-room port of ares’ EpsonRTC (ISC, sfc/coprocessor/epsonrtc/): a 3-register ($4840 chip-select, $4841 data, $4842 ready-status) handshake over a 16-nibble register file (the clock fields + IRQ/mode bits). ares ticks a real wall-clock time into the register file (EpsonRTC::synchronize); this port instead seeds a fixed epoch and never advances it other than via explicit register writes — real wall-clock time would break this project’s determinism contract (same seed + ROM + input ⇒ bit-identical output, docs/adr), and no game logic here depends on the clock’s absolute value, only on the read/write handshake completing.

This project’s host-synced coprocessors (Super FX/CX4/the NEC DSP family) complete a triggered operation instantly rather than modeling ares’ wait-cycle countdown (Thread::step); the RTC follows the same convention — every write/read leaves ready set immediately, so a game’s poll-for-ready loop always succeeds on its very next check.

Structs§

EpsonRtc
The Epson RTC-4513 register file + handshake state.