Skip to content

Minimal Blink Machine

Przemyslaw Rachwlal edited this page May 4, 2026 · 1 revision

Minimal Blink Machine

Overview

The Minimal Blink machine (minimal-blink) is an experimental dynamic hardware platform. Unlike Apple-1 and KIM-1 which are fixed-configuration machines, Minimal Blink builds hardware on demand based on program solution manifests.

Purpose

  • Demonstrate the Hardware Solution Profile concept
  • Allow running individual programs (blink, UART hello, LCD hello, I2C scan) without a full machine configuration
  • Test device emulations in isolation
  • Provide a playground for developing new devices

Current Configuration

The session currently builds a fixed set of devices:

  • MOS 6502 CPU @ 1 MHz
  • 32 KB RAM (0x0000–0x7FFF)
  • LED at 0xFF00
  • LCD HD44780 at 0xFE00
  • I2C controller at 0xFE30
  • UART at 0xFE40
  • PCF8574 LCD backpack (I2C address 0x27)

Planned Evolution

  1. Parse SolutionDefinition from the loaded program manifest
  2. Build only the devices specified in the manifest
  3. Configure UI panels based on manifest layout
  4. Allow runtime reconfiguration

UI Layout

Area Content
Left CPU registers
Center Code viewer / memory viewer
Right Hardware-specific panels (LED, LCD, UART output)

Modules

Namespace Key Types
Cpu/ CPU state view
Hardware/ Device status panels
Memory/ Memory viewer and editor
Programs/ Program loader and selector
Views/ Main workspace views

See Also

Clone this wiki locally