CHIPcade

Crates.ioCHIPcade
lib.rsCHIPcade
version0.1.0
created_at2026-01-23 02:31:16.221973+00
updated_at2026-01-23 02:31:16.221973+00
description6502 Fantasy Console
homepage
repositoryhttps://github.com/markusmoenig/CHIPcade
max_upload_size
id2063207
size1,021,798
Markus Moenig (markusmoenig)

documentation

README

CHIPcade

Screenshot

CHIPcade — 6502 Fantasy Console
Inspired by the C64 era. Built for fun, not quirks.

CHIPcade is a fantasy console built around a clean, approachable 6502-based virtual machine.
It captures the feel of early home computers without inheriting their historical baggage.

CHIPcade is about making games and demos, not fighting hardware edge cases.


What is CHIPcade?

CHIPcade is a deliberately simple virtual machine with:

  • A 6502 CPU at a fixed, predictable speed
  • A 256×192 bitmap display
  • A fixed-size 16-color global palette (user-editable)
  • Up to 64 hardware-style sprites (8×8 or 16×16, 3 colors + transparency)
  • A simple, documented memory map
  • A deterministic 64 KB system image

Everything is memory-mapped.
There are no APIs, no draw calls, no hidden state.

If you can write to memory, you can control the machine.


What CHIPcade is

  • A fantasy console, not an emulator
  • A 6502-based programming environment
  • A platform for small games, demos, and experiments
  • Hardware-minded, but intentionally simplified
  • Deterministic and reproducible
  • Tooling-first, with a modern editor and CLI
  • Cross-platform by design

What CHIPcade is not

  • Not a Commodore 64 emulator
  • Not cycle-exact or raster-accurate
  • No badlines, VIC-II quirks, or undocumented behavior
  • No reliance on timing hacks
  • No attempt at full historical compatibility

If you want exact C64 behavior, excellent tools already exist.
CHIPcade deliberately takes a different path.


Graphics & palette

CHIPcade uses a single global palette of 16 colors.

  • The palette size is fixed
  • The palette contents are fully editable
  • Colors are stored in memory and can be changed at runtime

This allows palette animation, fades, and color cycling while keeping assets consistent and simple.


How programs run

A CHIPcade program is a single 64 KB binary image containing:

  • Zero page
  • Stack
  • RAM
  • VRAM
  • Palette
  • Sprite RAM
  • I/O registers
  • ROM (code + assets)

When the machine starts:

  • Init runs once
  • Update runs once per frame
  • Everything else is just memory changing over time

Tooling

CHIPcade projects are managed through a command-line tool that handles file creation, building, and running projects.
Source files are plain text and can be edited in any editor, or opened in the integrated editor with a visual debugger, memory inspectors, and frame-by-frame execution.
The workflow stays simple: edit files, build a 64 KB image, run it — locally, in the editor, or in the browser via WASM.


Status

CHIPcade is under active development.


In one sentence

CHIPcade is the joy of 8-bit development, without the pain of real hardware quirks.

Commit count: 29

cargo fmt