Over three weeks of intensive development, we went through several architectural iterations trying to combine the original 16 MHz system with modern HDMI:
Problems with the Dual-Domain Approach (16 MHz CPU + 27 MHz HDMI):
- Mismatched timing parameters (31.8 µs vs 32 µs line duration)
- Buffering requirements due to frame rate discrepancies
- Scandoubler complexity and increased latency
- Inability to perfectly align all graphics modes (512x212, 640x200, etc.)
- Timing closure challenges between clock domains
The Fundamental New Solution:
Transition to a **unified 27 MHz clock domain** with controlled CPU pausing.
Key Advantages:
- Perfect temporal accuracy of original platform emulation
- Guaranteed CPU cycle alignment per line/frame
- Simplified implementation and reliable timing closure
- "Turbo mode" capability when pausing is disabled
- Unified architecture for all graphics modes
The Essence: Instead of fighting frequency mismatches - controlled CPU throttling to maintain original timing while delivering modern HDMI output.
This represents an architecturally clean solution that separates "simulation time" from "display real-time."*I recommend this approach for any retro platform projects facing similar timing challenges between legacy systems and modern video interfaces.
h2w
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.