The Ant64S — Starter Edition

FPGA graphics. RISC-V power. No black boxes.

Ant64S is a modern home computer built the way classic machines were — with a fast CPU, custom graphics hardware, and direct access to the metal.

It combines a RISC-V processor with FPGA-based graphics and audio, using deterministic, memory-mapped hardware instead of drivers and shaders. The result is a system ideal for games, demos, tools, and creative software — including hardware-accelerated ImGui — and scales cleanly to the more powerful Ant64.


Core Philosophy

The Ant64S is built around four core ideas:

  • Deterministic hardware — graphics and audio are implemented in FPGA logic, not drivers or shaders. Software writes to memory-mapped hardware and gets predictable, cycle-stable behaviour.
  • Modern CPU, classic programming model — the SG2002 RISC-V CPU is fast and cached, but interacts with hardware using classic memory-mapped I/O and command lists — closer to an Amiga or Atari ST than a PC GPU.
  • Low-overhead graphics — a layer-based system with tilemaps, sprites, vector primitives, and a command list layer capable of rendering ImGui draw lists directly.
  • Creative-first design — like the C64, Atari ST, and Amiga before it, the Ant64S is designed to be programmed directly, explored by demo coders, and used by musicians and artists, not just gamers.

CPU and Supervisor

Main CPU — SG2002 (RISC-V)

  • 256MB RAM
  • Runs the OS, applications, simulation CPU cores, and tools
  • Treats the FPGA as a memory-mapped device over a QSPI bus

Supervisor MCU — RP2350

Handles all "messy" external I/O — keyboard, mouse, USB MIDI, USB joypads/controllers — and presents clean, OS-friendly input data to the SG2002. Offloads USB and real-time I/O complexity from the main CPU.

This mirrors classic designs where a main CPU was supported by intelligent peripherals.


FPGA

The Ant64S FPGA is from the same family as the full Ant64's — smaller, but fully compatible at the software level.

Graphics Subsystem

Each active layer has a type, memory pointer, format, and configuration:

Layer Type Description
Bitmap / colour 32-bit friendly colour layers
Tilemap Traditional 2D tile-based backgrounds
Sprite Hardware sprites with attributes
Command list ImGui and vector-style drawing via compact command stream

The command list layer executes a stream of compact 32-bit commands describing what to draw rather than raw pixels — very similar in spirit to Amiga copper lists or early display lists.

Memory Model

  • Uses 32-bit memory widths (embedded PSRAM in the FPGA)
  • No 36-bit memory on Ant64S
  • All Ant64S layer formats and command structures are defined to also work on Ant64

Anything not supported by the Ant64S is explicitly marked in documentation as: Reserved, must be zero


Graphics Command Layer (Key Feature)

The command list layer is one of the most important features of the Ant64S:

  • Direct rendering of ImGui draw lists
  • Hardware scissoring (clip rects)
  • Texture binding
  • Indexed triangle drawing
  • State persistence between commands

This makes it possible to build modern UIs, debug overlays, editors, and tools without needing a full GPU or driver stack.

The command layer is a strict subset of the main Ant64 command layer — software written for Ant64S runs unchanged on all other Ant64 family members.


Software Model

From the SG2002's point of view:

FPGA appears as memory-mapped device
    |
    ├── Graphics registers — direct access
    ├── Audio registers — direct access
    ├── Control registers — direct access
    └── Command lists — written to memory, executed by hardware

No kernel drivers required for basic graphics output. Low latency. Encourages experimentation.


What the Ant64S Is Not

  • Not a PC
  • Not a console
  • Not a Linux SBC with a GPU
  • Not just an emulator box

A modern "home computer" architecture, designed for creativity, hacking, and exploration — using today's silicon but yesterday's clarity.


Relationship to the Ant64 Family

Feature Ant64S Ant64 / Ant64C
CPU family SG2002 SG2000
RAM 256MB 512MB
FPGA GoWin 60k GoWin 138k
FPGA memory 8MB embedded PSRAM SRAM A+B (36-bit) + DDR3
Instruction width 32-bit 36-bit
Command list layer (subset) (full)
Layer formats Compatible Superset
Code compatibility Runs on all family members

Code written for Ant64S is designed to scale naturally to the other Ant64 family members — more layers, more memory types, higher colour precision, and more advanced audio/graphics features await on the larger models.

Important: The Ant64 family of home computers are at early design/prototype stage, everything you see here is subject to change.