A downloadable tool for Windows

 ██████╗██╗   ██╗██████╗ ███████╗██████╗ ██╗ ██╗ ██████╗  █████╗ 
██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗██║ ██║██╔════╝ ██╔══██╗
██║      ╚████╔╝ ██████╔╝█████╗  ██████╔╝██║ ██║██║  ███╗███████║
██║       ╚██╔╝  ██╔══██╗██╔══╝  ██╔══██╗██║ ██║██║   ██║██╔══██║
╚██████╗   ██║   ██████╔╝███████╗██║  ██║╚████╔╝╚██████╔╝██║  ██║
 ╚═════╝   ╚═╝   ╚═════╝ ╚══════╝╚═╝  ╚═╝ ╚═══╝  ╚═════╝ ╚═╝  ╚═╝
                       ENGINE OF THE PAST
                 32-BIT MS-DOS // VGA MODE X PIPELINE

A software 3D engine built for MS-DOS constraints

Software-rendered.
Fixed-point math.
VGA Mode X.
Now available as a standalone SDK.


What CyberVGA is

CyberVGA is a from-scratch 32-bit engine built around late MS-DOS hardware limits.

No GPU pipeline. No modern graphics APIs. Fixed-point arithmetic in performance-critical paths.

Rendering is CPU-side, with:

  • VGA Mode X (320×240 planar memory)
  • Q16.16 fixed-point math
  • C + NASM software raster path
  • Brush-to-octree static world rendering

This is not a retro look filter. It is a constraint-driven engine.


Included in this release

  • Win64 SDK — pre-compiled static library, headers, editor, viewer, Blender exporters, and build script
  • DOS SDK — ready-to-run DOSBox-X package with the engine, editor, and toolchain
  • CyberEdit (CEDIT) world editor
  • Complete reference docs
  • Asset pipeline tools (CMS/CAN exporters)
  • Demo content and world data

CyberEdit runs in the same rendering environment as the runtime, so what you author is what you see.


Core features

Rendering

  • Software raster pipeline in C + NASM
  • Mode X planar rendering with page-flip workflow
  • Dynamic sky / time-of-day system (sun/moon + stars + gradient)
  • Distance fog via lookup/shade tables
  • Static world rendered through brush-to-octree baking
  • Dithered terrain layer blending
  • Cached lighting on baked geometry

World and entities

  • CWR world format with octree sidecar support
  • Brush authoring and triangle baking
  • World meshes, billboards, particle emitters, sound sources
  • Entity authoring and runtime pools
  • Component-style entity flags (mesh / sound / light / physics / gravity / think / etc.)
  • Sphere collision

Audio and tools

  • Sound Blaster spatial mixing path
  • In-engine editor with Play Mode
  • Undo/redo, snap grid, debug overlays
  • Full engine and editor reference manuals included

Technical snapshot

  • Language: C (DJGPP / MSVC) + NASM
  • Runtime model: 32-bit protected mode on DOS (DPMI)
  • Renderer: software (CPU only)
  • Math: Q16.16 fixed-point in critical runtime paths
  • Target class: 486 / early Pentium era constraints (or modern emulation / DPMI hosts)

Most hard limits are compile-time constants documented in the included engine reference.


Reference docs

  • CVGA-API-REF.TXT — API reference for engine.
  • CEDIT-MANUAL.TXT — Editor controls, workflows, key bindings, object editing, play mode, save/load/bake flow

These are the same docs used during development.


Design approach

CyberVGA treats hardware limits as design inputs, not nostalgia props.

  • Explicit memory budgets
  • Explicit arithmetic costs
  • Minimal abstraction over core systems
  • Visible, inspectable behavior from tools through runtime

Goal: not to imitate the past visually, but to work honestly inside its technical envelope.


Licensing

This itch.io release is proprietary.
Source and assets are not included here unless explicitly stated for a given release.


Follow development

If you’re into software rasterization, fixed-point engines, DOS-era rendering, or low-level graphics engineering, follow the project and check the devlogs for updates.

Still C + NASM. Still software render-first. Still built around real constraints.

Updated 22 days ago
StatusReleased
CategoryTool
PlatformsWindows
Release date Aug 22, 2025
AuthorNovus Idea
Tags3D, fixed-point, Game engine, Level Editor, mode-x, MS-DOS, software, vga
Average sessionAbout a half-hour
LanguagesEnglish
InputsKeyboard, Mouse
ContentNo generative AI was used

Download

Download
CVGA_SDK_DOS.7z 36 MB
Download
CVGA_SDK_WIN64.7z 20 MB

Install instructions

DOS Package (DOSBox-X)

  1. Download the CVGA_SDK_DOS.7z archive
  2. Extract the contents
  3. Run:
    1. Run bin\VIEWER.EXE — start the runtime + demo for world.cwr
    2. Run bin\CEDIT.EXE — start the world editor

DOSBox-X is included. No extra configuration is required.

Win64 Package

  1. Download the CVGA_SDK_WIN64.7z archive
  2. Extract the contents
  3. Run:
    1. Run bin\VIEWER_WIN64.EXE — start the runtime + demo for world.cwr
    2. Run bin\CEDIT_WIN64.EXE — start the world editor

SDK Packages

For writing your own games:

  • Win64 SDK — contains the static library, headers, editor, Blender exporters, and JackInWIN64.bat build script. Open an x64 Native Tools Command Prompt and run the build script on your .c file.
  • DOS SDK — ready-to-run DOSBox-X environment with the engine and DJGPP toolchain already set up.

Here's a short video about how to compile and run classical Pong, source provided in both packages:




Development log