More details
System overview
Ant64 is a modern, hardware-first computer inspired by the design philosophy of classic systems such as the Commodore Amiga, Atari 8‑bit line, Jaguar, and Sega Saturn—reimagined with today’s FPGA capacity, memory bandwidth, and integration techniques.
At its core, Ant64 treats advanced graphics, audio, and I/O as first‑class hardware citizens, not software libraries. The system is designed to excel at games, creative tools, and system-level experimentation.
The main custom chipset implemented in FPGA is called Razz.
Major Chips and Roles
Razz (FPGA Graphics & Audio SoC)
- Layered 2D/2.5D graphics pipeline
- Sprite, tilemap, vector, voxel, raycasting, and command-list rendering
- Hardware copper / command processors
- Audio synthesis and mixing
- Multiple video outputs
- Treated as a memory-mapped device by all CPUs
DDR3 RAM
Razz has access to either 1 or 2 Gbytes of DDR3 memory, configured as 256M x 32 or 512M x 32. At 800Mb/s per bit, this has a peak bandwidth of 3.2GB/s.
Used for:
- Large tilemaps & isometric maps
- Voxels & raycasting grids
- Command lists (ImGui / command layer)
- Streaming assets
- Cartridge / SD data
SRAM
Two independant memory busses, each having access to 4.5Mbytes of fast SRAM, configured as 1M x 36 bits. This is true random access, giving deterministic latency.
Used for:
- Active layer data
- Sprite lists
- Z‑buffer
- Copper lists
- Scanline compositing
- Text layers
Graphics Layer System
- Up to 16 layers
- Each layer independently typed
- Per‑layer:
- Scanline start
- Enable/disable
- Z‑buffer participation
- Blend mode
- Palette mode
Layer Types
Tilemap layer
- Orthogonal, isometric, or side‑view
- Optional depth extrusion (2.5D tiles)
- Hardware scrolling
- Can participate in Z‑buffer
Sprite Layer
- 4‑bit and higher color sprites
- Scaling, rotation
- Z‑aware sprites ("in" the world, not just on top)
Text Layer
- 3‑bit glyph indices
- Per‑layer color registers
- Optimized for UI and system text
Bitmap Layers
- 12‑bit 4‑4‑4 true color
- 12‑bit indexed (64 palettes × 64 colors)
Command List Layer
- Generalized GPU‑style command stream
- Compatible with ImGui low‑level rendering
- Copper can inject commands
- Future‑proof for other command formats
Vector / Vector‑Sprite Layer
- Lines, curves, polygons
- Optional instancing as sprites
Raycasting / Voxel Extensions
- Hardware ray queries
- Collision distance
- Voxel column rendering
Layer Merging and Z‑Buffering
- Per‑pixel Z‑buffer stored in SRAM
- Layers merged per scanline
- Layers may:
- Obey Z‑buffer
- Ignore Z‑buffer (classic overlay behavior)
- Enables:
- Sprites embedded in depth tilemaps
- 2.5D effects for side‑scrollers (Mario‑style depth)
- Isometric worlds with verticality
Copper and Update Units
- Copper lists tied to scanline position
- Can modify:
- Layer registers
- Palettes
- Command lists
- Update units optimized with:
- Burst updates
- Dirty‑flagging
- Cached descriptors
Audio and copper update units share the same optimizations.
Audio System
- Multi‑channel sample playback
- Hardware mixing
- DMA from SRAM or DDR3
- MIDI‑driven synthesis via Jazz
Audio System
- Analog video out - RGB 6-6-6 output, with H and V sync signals. Can be wired to SCART, VGA, etc.
- Digital video - 1080P/60 output, can be plugged into HDMI compatible TV or monitor.
- Display port - 4k/60 output, can be plugged into display port compative TV or monitor, or to HDMI via an active conversion cable.
- Features:
- Independent layer selection per output
- Line buffering and pixel repetition
- DP capable of 4K‑class output with reduced layers
SG2000 (Primary CPU SoC)
- Runs the main OS and applications
- Accesses Razz via QSPI as memory-mapped hardware
- Handles higher-level logic, filesystem, networking
- FreeRTOS with Luau scripting and ImGui interface
- Programming languages such as Assembly, BASIC (with built in macro assembler), ReAction!, Forth, Python.
DDR3 RAM
The RISC-V CPU has access to 512MBytes 16-bit wide DDR3 RAM
Jazz (RP2350 – Real‑Time I/O and MIDI)
- Traditional MIDI (DIN / DOUT/ DTHRU) and USB MIDI
- USB mouse support
- 6 analog potentiometer dials
- Round auxiliary TFT display
- SPI slave to SG2000 and DeMon
- Aggregates joypad, mouse, and control data
Sticky (AVR – 5V I/O & Joypads)
- 4 joypad ports
- Atari / C64 compatible
- Sega compatible
- Paddle support
- Electrically isolated from FPGA
- Cheap, replaceable, robust
- Talks only to Jazz
DeMon (RP2350 – Supervisor & Recovery)
- System supervisor and recovery controller
- Keyboard interface
- 4" portrait touchscreen (keypad position)
- Internet access via ESP32‑C5
- NFC reader
- Real‑time clock
- Cartridge interface
- Reprograms:
- Razz FPGA (QSPI + JTAG)
- Jazz
- Sticky
- SG2000 (bootstrap)
- ESP32‑C5
Cartridge & Personality System
- Cartridges may contain:
- FPGA images
- OS ROMs
- Game images
- CPU configuration data
Allows Ant64 to temporarily become a different classic system—often massively enhanced.