Hi, I’m building CyberVGA, a custom 32-bit DOS 3D engine written in C89 and NASM.
It’s built around VGA Mode X, fixed-point math, software rendering, and custom DOS-native tooling rather than modern graphics APIs. The aim is not to fake retro styling. I’m trying to build a real engine and workflow that feels consistent with the hardware limits and rendering logic of the era.
Right now the project includes:
- VGA Mode X 320x240 software rendering
- Q16.16 fixed-point pipeline
- cell-and-portal spaces
- point lights
- palette-based shading and dithering
- a custom CMS mesh format
- CyberEdit, a built-in editor for authoring and previewing worlds
One of the biggest recent milestones has been getting CyberEdit into usable shape. It now supports multi-viewport editing with a live 3D view, world authoring, and light placement directly inside the engine workflow.
I also made a short video showing the editor and the engine in motion:
Project page:
https://expfunction.itch.io/cybervga
Latest devlog:
https://expfunction.itch.io/cybervga/devlog/1464794/spring-2026-engine-update
Latest Screenshots:



I’ll keep updating this thread as the project develops.


