No description
  • JavaScript 31.7%
  • Svelte 31.2%
  • CSS 16.4%
  • Go 11.8%
  • HTML 8%
  • Other 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-28 22:21:42 +02:00
docs/wiki Add Release-und-Deployment documentation 2026-09-02 19:45:37 +02:00
frontend Add Assembler Studio tab and Assembler-to-BASIC Decompiler integration 2026-09-28 22:20:18 +02:00
pkg Add Load/Save/SaveAs/Rename in BasicStudio and macOS ARM64 support 2026-09-03 07:13:39 +02:00
scripts Update README and release script with Assembler Studio features 2026-09-28 22:21:42 +02:00
web Add PWA support, fix WebAudio click unlock, fix 32x32 matrix offset, and add Ping-Pong preset 2026-09-02 18:38:00 +02:00
.gitignore Clean up git tree: Move standalone binaries to official Forgejo Releases 2026-09-02 19:41:15 +02:00
go.mod Integrate complete Arduino Mega hardware loader & flasher with port auto-discovery, Web Serial API, and interactive Svelte 5 modal 2026-09-02 18:46:56 +02:00
go.sum Integrate complete Arduino Mega hardware loader & flasher with port auto-discovery, Web Serial API, and interactive Svelte 5 modal 2026-09-02 18:46:56 +02:00
main.go Add Assembler Studio tab and Assembler-to-BASIC Decompiler integration 2026-09-28 22:20:18 +02:00
README.md Update README and release script with Assembler Studio features 2026-09-28 22:21:42 +02:00

⚡ CLACK-STUDIO

16-Bit Relay Computer Visual Hardware Lab & Emulator (Svelte 5 + Go)

clack-studio ist ein eigenständiger visueller Hardware-Simulator und Debugger für den 16-Bit Relaisrechner mit modernem Svelte 5 + Vite Web-Frontend, CodeMirror 6 BASIC IDE, 64×64 / 32×32 LED Dot-Matrix Display, Frontpanel-LEDs, Logic Analyzer und Relais-Akustik.


✨ Features

  1. Modernes Svelte 5 + Vite Frontend:

    • Zero Virtual DOM Overhead: Native Reaktivität mit Svelte 5 $state Runes für flüssige 60 FPS LED- und Matrix-Animationen.
    • Dummy-Resistente Single-Binary: Das gesamte Frontend ist per //go:embed fest in der Go-Binary verankert. Kein Node.js oder npm für den Anwender erforderlich!
    • PWA Support: Installierbar als eigenständige Desktop-/Tablet-App mit 100% Offline-Fähigkeit via Service Worker.
  2. CodeMirror 6 Clack-BASIC & Assembler IDE:

    • BASIC Studio: Vollständige IDE mit Syntax-Highlighting (LET, IF, FOR..NEXT, PSET, CLS, DATA/READ), Vorlagen (🏓 Ping-Pong, 🎨 4-Display Demo, 🔢 Mathe & Logik) und Dateiverwaltung (Neu, Öffnen, Speichern, Speichern unter, Umbenennen).
    • Assembler Studio: Eigener Tab für 16-Bit Relais-Assembler (LDA, LDAM, STAM, ADD, BA, BZ, CALL, RET, etc.) mit Syntax-Highlighting, Labels und Direkt-Simulation.
    • Zwei-Wege-Decompiler (Roundtrip): 1-Klick-Konvertierung von Maschinencode/Assembler \leftrightarrow Clack-BASIC!
    • 1-Klick Kompilieren & Sofortausführung (⚡ In Simulator laden & Reset) in <0.1\text{ ms}.
    • USB-Flasher: Direktes Flashen auf den Arduino Mega Speicher-Controller aus dem Browser heraus.
  3. 64×64 & 32×32 LED Dot-Matrix Display:

    • 32×32 (4x Hardware Matrix): Memory-Mapped ab 0x03C0 (960..1023).
    • 64×64 (Full Framebuffer): Memory-Mapped ab 0x0300 (768..1023).
    • Einstellbarer Phosphor-/LED-Glow mit 4 Farbthemen: Amber (Bernstein), Phosphor Grün, Cyber Cyan, Rubin Rot.
  4. Echtes Hardware-Frontpanel:

    • ACCU, IR, DATENBUS, ADRESSBUS, PC, STACK: 16-Bit und 10-Bit LED-Leisten mit 4er-Nibble-Gruppierung.
    • Statuslampen: READ, WRITE, C (Carry), Z (Zero), N (Negative), E (Even).
  5. Akustik-Synthesizer (WebAudio):

    • Authentischer zweistufiger mechanischer Relais-Klack (Anker-Impuls + Spulenresonanz) mit automatischer Browser-Freischaltung.
  6. 1024-Wort RAM Heatmap & Logic Analyzer:

    • Interaktive Speichermatrix mit Direkt-Editierung und Hover-Inspektor.
    • Zyklusgenaue Trace-Tabelle mit CSV-Export.

🚀 Starten

cd /home/veitscherbub/work/relay-computing/clack-studio

# Starten (Standard: Port 8080)
./bin/clack-studio

# Oder mit Go direkt:
go run . -port 8080

Öffne anschließend einfach http://localhost:8080 im Browser!


🛠️ Für Entwickler (Frontend anpassen)

cd /home/veitscherbub/work/relay-computing/clack-studio/frontend

# Dev-Server mit Hot-Module-Reloading (HMR):
npm run dev

# Frontend neu bauen (wird in main.go eingebettet):
npm run build