logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·01.11.26
← Back to news

RCade: The Arcade Cabinet with CI/CD Deployment, Custom Graphics Card for CRT [video]

Original article
youtube.com|30 points|7 comments|by evakhoury|Jul 29, 2026

RCade: Merging Retro Gaming with Modern DevOps

The RCade project is an ambitious intersection of nostalgic hardware and cutting-edge software engineering. Rather than simply building a standard emulation box, the creator developed a sophisticated arcade cabinet that treats its game library and configuration as code, utilizing a CI/CD (Continuous Integration/Continuous Deployment) pipeline and a bespoke hardware solution to drive a classic CRT monitor.

🕹️ The Hardware Philosophy

The heart of the RCade is the pursuit of visual authenticity. Modern LCDs cannot perfectly replicate the scanlines and phosphor glow of a Cathode Ray Tube (CRT). However, modern GPUs typically output signals at ≈31kHz\approx 31\text{kHz}≈31kHz, whereas vintage arcade monitors require a horizontal frequency of ≈15kHz\approx 15\text{kHz}≈15kHz.

To bridge this gap, the project features a custom-engineered graphics adapter. This hardware ensures the signal is down-converted correctly, preventing damage to the monitor while maintaining a crisp, authentic image.

Technical Specifications

ComponentSpecificationPurpose
DisplayVintage CRTAuthentic scanlines & zero lag
GPU AdapterCustom PCB31kHz→15kHz31\text{kHz} \rightarrow 15\text{kHz}31kHz→15kHz conversion
ComputeSingle Board ComputerEmulation & OS hosting
DeploymentGitHub Actions / GitLab CIAutomated updates
ControlsSanwa-style JoysticksArcade-grade tactile feedback

"The goal wasn't just to play old games, but to apply modern software lifecycle management to a piece of furniture."


🚀 The Software Pipeline: CI/CD for Gaming

The most innovative aspect of RCade is the removal of manual updates. In a traditional setup, adding a new ROM or changing a config file involves manually copying files via a USB stick or tedious SSH sessions.

RCade treats the cabinet as a production environment. The workflow is as follows:

  1. The user modifies a configuration file or adds a game to a git repository.
  2. A git push triggers a remote runner.
  3. The CI/CD pipeline validates the changes and deploys them directly to the cabinet.

Deployment Workflow

Example Deployment Snippet

The deployment is handled via a YAML configuration. Here is a simplified representation of the deploy.yml logic:

name: RCade Update
on:
  push:
    branches: [ main ]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Sync to Cabinet
        run: |
          rsync -avz ./roms/ rcade-user@cabinet.local:/home/rcade/roms/
          ssh rcade-user@cabinet.local 'systemctl restart emulationstation'

📐 The Mathematics of the Display

To achieve the correct timing for the CRT, the project must account for the horizontal scan rate. The relationship between the refresh rate (fvf_{v}fv​) and the horizontal frequency (fhf_{h}fh​) can be expressed as:

fh=fv×(Htotal)f_{h} = f_{v} \times (H_{total})fh​=fv​×(Htotal​)

Where HtotalH_{total}Htotal​ represents the total number of horizontal lines per frame (including the blanking interval). For a standard 15kHz signal, the timing must be precise to avoid image tearing or frequency drift.


🛠️ Project Roadmap & Status

The build process was iterative, moving from a breadboard prototype to a finished cabinet.

  • Design custom 15kHz VGA adapter
  • Fabricate arcade cabinet chassis
  • Implement git-based deployment pipeline
  • Configure RetroArch for CRT timings
  • Integrate networked leaderboard system
  • Add custom LED lighting synchronization

Summary

The RCade is more than a gaming machine; it is a demonstration of how infrastructure as code can be applied to hobbyist electronics. By combining analog hardware with automated deployment, it eliminates the friction of maintenance while preserving the soul of the 1980s arcade experience.