Umbrella makefiles for the sibling xcb-* platforms. Each child is its own git repo with a README written for someone authoring a demo on that machine.
None of these emulate a specific piece of hardware. Each one is a small, opinionated subset of graphics (and input) so you can write demos against one C API.
| Platform | You are writing… |
|---|---|
| xcb-canvas | A 2D game against canvas.h (Linux + Win32) |
| xcb-mac | QuickDraw on a 512×342 1-bit Mac (Linux + Win32) |
| xcb-pixel | Pixels + C64-style fine/coarse scroll (Linux + Win32) |
| xcb-raster | Those pixels plus copper / raster IRQs (Linux + Win32) |
| xcb-tile | A VIC/NES tile PPU, not a framebuffer (Linux + Win32) |
| xcb-sys16 | Sega System 16-B planes + sprites (Linux + Win32) |
| xcb-clock | A finished X11+GL clock demo (Linux) |
| xcb-grid | A sliding-window TSV viewer (Linux) |
| xcb-network | Peer or client/server squares over TCP (Linux) |
Clone the children next to these makefiles (same layout as this working tree).
make # Linux ELF for every project
make everything # Linux + every Windows toolchain this machine has
make w64 / mingw / msvcWin32 binaries are tagged *-mingw.exe, *-w64.exe, *-msvc.exe so they do not overwrite each other. Canvas also tags canvas-msvc.dll / bounce-mingw.dll to match.