One of the most useful constraints in RetroBridge turned out to be the screen itself.
The project uses a 3.5-inch touchscreen with a 480×320 display. That is tiny compared with what most modern Linux applications and emulators expect.
I did not want RetroBridge to feel like a normal desktop where emulator windows happened to be running. The goal was for every historical environment to fit the appliance cleanly and feel intentional.
That meant solving the display problem differently for each system.
TRS-80 Model I
The TRS-80 environment runs inside a deliberately sized terminal so the 64-column experience fits comfortably on the small screen.
IBM PC
DOSBox uses appliance-specific settings:
fullscreen=true
fullresolution=desktop
output=openglnb
aspect=true
scaler=none
Those settings produced a usable full-screen DOS environment on the 480×320 panel.
Commodore 64
VICE runs with doubled rendering disabled so the display stays within the physical screen.
Apple-1 and Apple II
These were the interesting ones.
EWM creates the Apple-1 and Apple II SDL windows at approximately 3× logical scale by default. On a 480×320 display, that is much too large.
Rather than maintaining a modified fork of EWM, RetroBridge supplies two very small patch files that change only the relevant window and logical dimensions from 3× to 1×.
After rebuilding EWM, both Apple environments fit the RetroBridge display correctly.
That approach also keeps the public project clean:
- RetroBridge distributes the patch
- EWM remains an independent upstream project
- no third-party emulator source tree or binary is redistributed
The small screen forced RetroBridge to become more than a launcher. Every environment had to be adapted to the same physical appliance.
In the end, the limitation helped define the project.
John Chirillo
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.