Visuelle Erklärungen

Interaktive Web-Apps, die zeigen, wie Technik innen funktioniert: Byte für Byte, Schritt für Schritt, mit echten Daten und eigenem Debugger. Von der dBase-Indexseite bis zur Attention eines GPT.

50 Projekte 11 Themenfelder Next.js · TypeScript · Docker alle Zahlen live berechnet

Datenbanken

Von der Sprache SQL bis zur Seite im B-Baum

VisualSql

SQL · relationales Modell

SQL datenbankunabhängig: Normalformen, JOINs als Zeilenpaarung, NULL-Logik, GROUP BY, Window Functions, Transaktionen und Indizes. Abfragen laufen in einer echten SQL-Engine im Browser, ein Debugger zeigt die Ausführungsreihenfolge, 24 Übungen prüfen sich selbst.

FROM → JOIN → WHERE → GROUP BY → HAVING → SELECT → ORDER BY
JOINsWindow FunctionsÜbungen
visualsql.fusenigk.de

VisualSqlTipps

SQL-Praxis · fünf Dialekte

35 praxisnahe SQL-Tipps zum Ausprobieren: Upserts ohne Race Condition, Historie per Trigger, Audit-Log, Duplikate sauber entfernen, Gaps & Islands, Keyset-Paginierung. Jeder Tipp läuft editierbar in SQLite und meist auch in echtem PostgreSQL 18 im Browser, mit fünf Dialekten nebeneinander.

INSERT … ON CONFLICT (artikel_nr) DO UPDATE SET preis = excluded.preis
Upsert & MERGETrigger & HistorieDuplikate
visualsqltipps.fusenigk.de

VisualDatabase

dBase · DBF · NDX

Die interne Funktionsweise einer dBase-Datenbank: Dateikopf, Feld-Deskriptoren und Datensätze fester Breite, die passenden C-Strukturen und ein B-Tree-Index mit animiertem SELECT, auch Schritt für Schritt.

ADDRESS.DBF · ADDRESS.NDX → Indexseite → Datensatz
B-BaumC-StructsFull-Scan-Vergleich
visualdatabase.fusenigk.de

VisualMariaDb

InnoDB · MVCC · EXPLAIN

MariaDB von innen: Handshake, Optimizer, InnoDB-B+-Baum mit Seitensplits, Buffer Pool, Redo/Undo mit simuliertem Stromausfall, MVCC, Gap- und Next-Key-Locks, EXPLAIN mit Leftmost-Prefix, Replikation und Galera.

ERROR 1020 (HY000): Record has changed since last read
B+-BaumSperrenReplikation
visualmariadb.fusenigk.de

VisualSqLite

Dateiformat · VDBE · WAL

SQLite von innen: das Dateiformat Byte für Byte im Hex-Explorer, B-Baum-Seiten, Records und Varints, das echte EXPLAIN-Programm der VDBE Schritt für Schritt sowie Rollback-Journal und WAL als Zeitleiste.

53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00
Hex-ExplorerVarintWAL
visualsqlite.fusenigk.de

Daten & Dateiformate

Wie Grafik-, PDF-, Word- und Excel-Dateien aufgebaut sind

VisualImages

PNG · JPEG · GIF

Der Dateiaufbau von PNG, JPEG und GIF: Signaturen, Chunks und Marker als Byte-Layout, dazu LZW, CRC32, ZIP/Deflate und die DCT-Pipeline, jeweils mit einfachem C-Code.

89 50 4E 47 0D 0A 1A 0A │ IHDR │ IDAT │ IEND
Byte-LayoutsKompressionPrüfsummen
visualimages.fusenigk.de

VisualPdf

Dateiformat · ISO 32000

Das PDF-Format Byte für Byte an einer echten Hello-World-PDF mit 690 Bytes: Header, Objekte, xref-Tabelle und Trailer mit berechneten Offsets. Dazu ein Objekt-Parser, der Dokumentenbaum und ein Content-Stream-Debugger mit Live-Vorschau.

0000000015 00000 n → 1 0 obj bei Byte 15 · startxref 475
PDF-AufbauISO 32000Byte-Explorer
visualpdf.fusenigk.de

VisualWord

Dateiformate · .doc und .docx

Die alte .doc als binäres Mini-Dateisystem (OLE2/CFB) mit Header, FAT-Ketten, FIB und Piece Table im Hex-Visualisierer. Die moderne .docx als ZIP-Paket mit Office Open XML: Paket-Explorer und Absatz-Editor erzeugen live WordprocessingML und eine echte .docx.

D0 CF 11 E0 A1 B1 1A E1 → wIdent 0xA5EC → <w:p><w:r><w:t>
OLE2/CFBOffice Open XMLWordprocessingML
visualword.fusenigk.de

VisualExcel

Dateiformate · alt und neu

Vom binären BIFF8 im Compound File mit Record-Stream-Debugger und RK-Zahlen über das ZIP-Paket der .xlsx mit Live-Generator für sheet1.xml bis zu .xlsb, CSV-Fallen und Datums-Seriennummern samt Phantomtag 29.02.1900.

09 08 10 00 00 06 05 00 → BOF 0x0809 · BIFF8
BIFF8/.xlsSpreadsheetML.xlsb & CSV
visualexcel.fusenigk.de

KI & Agenten

Modelle beim Rechnen beobachten und Agenten beim Werkzeuggebrauch

VisualLLM-cpp

llama.cpp · ggml · GGUF

Vom Öffnen der GGUF-Datei bis zum gezogenen Token: ein echter, sehr kleiner LLaMA-Transformer mit visuellem Debugger, Tokenizer, ggml-Graph, Quantisierung und Rechnern für Speicher und Tempo.

n_layer 4 · n_embd 32 · n_head 4 · Q8_0 / Q4_0 / Q4_K
KV-CacheRoPESampling
visualllm-cpp.fusenigk.de

VisualMicroGPT

Karpathys microgpt

Ein ganzes GPT in 200 Zeilen, Zeile für Zeile vor und zurück: Tokenizer, Autograd, Attention, Training mit Adam und Inferenz. Im Trainingslabor lernt das Modell live im Browser Namen zu erfinden.

num docs: 32033 · vocab size: 27 · emma → [26, 4, 12, 12, 0, 26]
AttentionAdamWeb Worker
visualmicrogpt.fusenigk.de

VisualPyTorch

Tensoren · Autograd · Training

PyTorch wie in einem Debugger: Haltepunkte setzen, Variablen beobachten und zusehen, wie Tensoren entstehen, wie der Rechengraph Gradienten zurückgibt und wie ein Modell Epoche für Epoche lernt.

nn.Linear(1, 1) · MSELoss · SGD(lr=0.05) · 500 Epochen
RechengraphBroadcastingSpielwiese
visualpytorch.fusenigk.de

VisualCoreMl

Core ML · coremltools · Swift

Ein PyTorch-Modell mit coremltools in ein ML Program (.mlpackage) konvertieren – als Debugger in 11 Schritten mit PyTorch-Ops neben MIL-Ops. Dazu Optimierung mit FP16, Int8/Int4, Palettisierung und Pruning, der Import in Xcode und die Nutzung in Swift mit MLModel, Vision und SwiftUI; alle Graphen aus einer echten Konvertierung.

linear_0_cast_fp16 = linear(bias = m_fc1_bias_to_fp16, weight = m_fc1_weight_to_fp16, x = pixels_to_fp16)
Core MLcoremltoolsNeural Engine
visualcoreml.fusenigk.de

VisualMCPAgent

Model Context Protocol · JSON-RPC

Wie KI-Agenten Werkzeuge nutzen: Host, Client und Server, JSON-RPC 2.0 und der Lebenszyklus als klickbare Zustandsmaschine. Ein Nachrichten-Debugger spielt einen Aufruf mit dem offiziellen Referenzserver mcp-fetch durch, ein Baukasten prüft Argumente gegen JSON Schema.

tools/call → fetch {"url":"https://docs.example.org/…","max_length":5000}
ToolsResourcesAjv
visualmcpagent.fusenigk.de

VisualWebMCP

document.modelContext · Chrome

Webseiten stellen KI-Agenten eigene Tools bereit, per JavaScript oder als HTML-Formular. Die Live-Demo registriert echte Tools, ein Simulator hilft Browsern ohne WebMCP, und eine Anleitung zeigt das Testen in Chrome.

document.modelContext.registerTool({ name: "warenkorb_aendern", … }, { signal })
Live-DemoOrigin TrialSimulator
visualwebmcp.fusenigk.de

Netzwerk & Infrastruktur

Adressen, Container, Tunnel, getrennte Netze, Verzeichnisdienste und Monitoring

VisualIPv4

Netzwerk · 32 Bit

Bits einer IPv4-Adresse umschalten, Subnetze mit animiertem bitweisem AND berechnen, VLSM planen und Routen zusammenfassen. Der Header mit Einerkomplement-Prüfsumme Schritt für Schritt, dazu eine Paketreise mit ARP, Longest Prefix Match und NAT sowie DHCP und traceroute.

203.0.113.77/26 → Netz .64 · Broadcast .127 · 62 Hosts
SubnettingCIDR & NATIPv4-Header
visualipv4.fusenigk.de

VisualIPv6

Netzwerk · 128 Bit

IPv6-Adressen nach RFC 5952 kürzen und expandieren, Präfixe von /48 bis /64 planen, Adresstypen bestimmen und per EUI-64 aus einer MAC eine Interface-ID bilden. NDP, SLAAC mit DAD, DHCPv6, Prefix Delegation und NAT64 laufen als animierte Abläufe.

2001:db8:0:0:1:0:0:1 → 2001:db8::1:0:0:1
RFC 5952NDP & SLAACEUI-64
visualipv6.fusenigk.de

VisualDocker

Images · Container · Compose

Docker zum Durchklicken: docker run als Debugger in 17 Schritten, von Registry und OverlayFS bis Namespaces, cgroups und iptables. Dazu ein Build-Cache-Labor und ein Compose-Visualizer mit Startreihenfolge und Fehlerprüfung.

-p 8080:80 → DNAT --to-destination 172.17.0.2:80
LayerNamespacesCompose
visualdocker.fusenigk.de

VisualRSync

rsync · rclone · Backup

rsync und rclone zum Ausprobieren: ein Delta-Labor rechnet die rollende Prüfsumme live, Debugger zeigen eine rsync-Sitzung über SSH und rclone sync, ein Filter-Tester ist gegen echtes rsync geprüft. Dazu Snapshots mit --link-dest, Crypt und fertige Praxis-Befehle.

sent 437 bytes received 249 bytes … speedup is 29.47
Delta-TransferFilterCloud-Sync
visualrsync.fusenigk.de

VisualCron

crontab · systemd-Timer

cron zum Ausprobieren: Syntax mit ODER-Regel, ein Editor mit deutscher Erklärung und nächsten Läufen in jeder Zeitzone, ein crond-Debugger Minute für Minute, die Sommerzeit-Falle und ein Umrechner nach systemd OnCalendar.

30 4 1,15 * 5 → 04:30 am 1./15. ODER freitags
ZeitzonenSommerzeitOnCalendar
visualcron.fusenigk.de

VisualWireGuard

WireGuard · Tailscale · DERP

Curve25519-Schlüssel entstehen im Browser, ein Generator schreibt die wg0.conf. Cryptokey Routing zum Ausprobieren, der Noise_IKpsk2-Handshake als Debugger und eine NAT-Simulation zeigen, wann Tailscale direkt verbindet und wann ein Relay einspringt.

Handshake 148 B → ← 92 B · MTU 1500 − 80 = 1420
VPNKryptografieNAT
visualwireguard.fusenigk.de

VisualVLan

802.1Q · UniFi · Firewall

VLANs vom Tag im Ethernet-Frame bis zur Firewall-Ausnahme, am Beispiel der UniFi Network Application 9.x. Ein Frame-Debugger zeigt Tagging, Routing und Firewall, der Regel-Planer beantwortet „Darf X Y auf Port Z erreichen?“.

81 00 00 14 → VLAN 20 · Frame 64 → 68 Byte
TrunkZone-BasedmDNS
visualvlan.fusenigk.de

VisualLDAP

LDAP · OpenLDAP · Schemata

LDAP zum Durchklicken: Verzeichnisbaum, DN-Zerleger, das Protokoll als Sequenzdiagramm mit echten BER-Bytes und ein Filter-Labor mit dreiwertiger Auswertung. Für OpenLDAP gibt es cn=config, einen ACL-Auswerter, syncrepl, einen Browser über 211 Schema-Definitionen und einen Assistenten für eigene Schemata – abgeglichen mit einem echten slapd.

(&(objectClass=inetOrgPerson)(|(ou=Vertrieb)(mail=*@example.org)))
OpenLDAPcn=configSchemata
visualldap.fusenigk.de

VisualSNMPD

SNMP · SNMPv3 · Net-SNMP

SNMP und der Agent snmpd zum Durchklicken: OID-Baum, ein PDU-Debugger, der jedes BER-Byte einer GetRequest zeigt, und eine Walk-Simulation mit GetNext gegen GetBulk. SNMPv3 wird im Browser nachgerechnet – Password-to-Key mit den RFC-3414-Testvektoren, Discovery und VACM – dazu ein snmpd.conf-Konfigurator.

30 26 02 01 01 04 06 70 75 62 6c 69 63 a0 19 … → GetRequest sysDescr.0
SNMPv3Net-SNMPMIB/OID
visualsnmpd.fusenigk.de

Sicherheit & Abläufe

Einmalcodes, Passwort-Tresore und Workflow-Engines

VisualSsl

TLS 1.3 · Key Exchange · PKI

Schlüsselaustausch zum Nachrechnen: Diffie-Hellman, X25519 live und ein TLS-1.3-Handshake-Debugger, der das offizielle RFC-8448-Beispiel bitgenau nachrechnet. Dazu Zertifikatsketten, Let's Encrypt/ACME, ein PEM-Decoder und nginx-Praxis.

17 03 03 02 a2 → mit abgeleitetem Schlüssel entschlüsselt
HandshakeHKDFX.509
visualssl.fusenigk.de

VisualTOTP

RFC 6238 · HMAC

Wie aus einem Secret und der Uhrzeit ein sechsstelliger Code wird: Counter, Nachricht, HMAC, Truncation und Modulo als farbige Schritte, mit Byte-Grid, Countdown und den offiziellen Testvektoren.

T = ⌊unix / 30⌋ → HMAC-SHA1 → offset → code mod 10⁶
2FASHA-1/256/512läuft lokal
visualtotp.fusenigk.de

VisualKeePassDatabase

KDBX 4 · Argon2 · ChaCha20

Eine KeePass-Datenbank Byte für Byte im Hex-Viewer: Signaturen, Header, KDF-Parameter, HMAC-Blöcke und XML. Ein Debugger rechnet das Öffnen in 20 Schritten live nach, vom Passwort über Argon2 bis zum entschleierten Eintrag. Mit Demo-Datenbanken, Passwort „demo“.

K_H = SHA-512(FF…FF ‖ SHA-512(MasterSeed ‖ T ‖ 0x01))
Hex-ViewerHeader-HMACDemo-DB
visualkeepassdatabase.fusenigk.de

VisualWorkflow

XState v5 · BullMQ v5

Zwei Open-Source-Workflow-Engines im Vergleich: XState als deklarative State Machine und BullMQ als verteilte Redis-Job-Queue, beide live mit React Flow visualisiert, inklusive Fehlern, Retry und Kompensation.

validate → reserve_stock → charge_payment → … → completed
State MachineJob-QueueMySQL · Redis
visualworkflow.fusenigk.de

Programmiersprachen

Von JavaScript über Typen bis zum Bytecode im Browser

Web & Werkzeuge

APIs, 3D im Browser, Versionsverwaltung und der Editor für die Finger

VisualOpenApi

OpenAPI 3.1/3.2 · Swagger

Aufbau einer OpenAPI-Datei als Baum, $ref-Auflösung Schritt für Schritt und ein Editor mit Live-Dokumentation und deutscher Validierung. Ein Request-Debugger prüft HTTP-Anfragen gegen die Spezifikation, dazu Codegenerierung und Security-Schemes.

$ref: '#/components/schemas/Book' → export type Book = …
REST-APIJSON SchemaCodegen
visualopenapi.fusenigk.de

Visual3DWeb

WebGL · three.js · glTF

Wie ein 3D-Modell in den Browser kommt: Pipeline, Matrizen, Licht, rohes WebGL, three.js in 11 Lektionen mit Live-Code und glTF Byte für Byte. Am Ende steht die Ferienwohnung drehbar im Browser.

67 6C 54 46 02 00 00 00 → „glTF“ v2 · 16.076 Dreiecke
three.jsWebGPUFerienwohnung
visual3dweb.fusenigk.de

VisualGit

Objekte · Branches · Rebase

Git von innen und in der Anwendung: Objekte mit echten SHA-1-Hashes im Browser, Arbeitsverzeichnis, Index und Repository zum Anklicken und ein eigener Git-Simulator mit animiertem Commit-Graphen und 10 Übungsaufgaben. Dazu Merge gegen Rebase, Konflikte, reflog, stash und bisect.

printf 'hello\n' | git hash-object --stdin → ce01362…
SimulatorMergeRebase
visualgit.fusenigk.de

VisualVim

Vim · LazyVim · QWERTZ

Die Modi als Zustandsdiagramm, das live dem Tippen folgt, die Grammatik aus Operator, Anzahl und Bewegung zum Zusammenklicken und eine farbige Tastatur mit LazyVim-Leader-Ebene. Geübt wird in einem eigenen Vim-Emulator mit 33 Vim-Golf-Aufgaben.

ci" → change inner quotes · :%s/foo/qux/g⏎
Vim-GolfTextobjekteSpickzettel
visualvim.fusenigk.de

Hardware & Bussysteme

Grafikkarten programmieren, Fahrzeuge auslesen, Scanner ansteuern und den Fernseher per Skript steuern

VisualGPU

CUDA · NVIDIA · WebGPU

GPU-Programmierung mit CUDA: Streaming Multiprocessor, Warps, Occupancy, Coalescing und Bank-Konflikte bis zum eigenen Kernel. Ein Debugger rechnet Reduktion und Matrixmultiplikation mit und ohne Tiling nach, ein WebGPU-Shader misst live im Browser.

int i = blockIdx.x * blockDim.x + threadIdx.x;
WarpsShared MemoryTiling
visualgpu.fusenigk.de

VisualObd

OBD-II · CAN-Bus · ISO-TP

OBD-II und CAN-Bus Schritt für Schritt: CAN-Frame mit echter CRC-15 und Bit-Stuffing, Arbitrierung, Diagnose über ISO-TP, PID- und Fehlercode-Decoder, ELM327-Terminal und eine simulierte Fahrt mit Live-Diagrammen.

01 0C → 41 0C 1A F8 = 1726 1/min
CRC-15PIDsFehlercodes
visualobd.fusenigk.de

VisualScan

Scanner · SANE-Projekt

Wie Programme unter Linux einen Scanner ansteuern: von scanimage über libsane und das dll-Meta-Backend bis zu USB oder Netzwerk. Ein API-Debugger geht sane_init bis sane_exit durch, ein simulierter Scanner rechnet Pixel, Bytes pro Zeile und Dateigröße nach.

A4 · 300 dpi → 2480 × 3508 px · 7440 Bytes/Zeile
SANEscanimageeSCL/AirScan
visualscan.fusenigk.de

VisualAndroidTV

Entwicklermodus · ADB · Steuerskripte

Android TV und Google TV von innen: Entwicklermodus im klickbaren Einstellungs-Simulator freischalten, das ADB-Protokoll Schritt für Schritt durchklicken und den eigenen Fernseher per Bash-Skript steuern. Eine virtuelle Fernbedienung zeigt zu jedem Klick den input-keyevent-Befehl, ein Generator baut Aufräum-Skripte gegen Werbung und Tracking – immer mit Rückgängig-Skript. Dazu Sprache per Skript setzen und zwölf kommentierte Skripte zum Herunterladen.

adb -s 192.0.2.50:5555 shell input keyevent KEYCODE_HOME # 3
Android TVADBBash
visualandroidtv.fusenigk.de

Smart Home

Hausautomation mit Home Assistant, ioBroker und HomeMatic – bis in Apple HomeKit

VisualHomeAssistant

Event Bus · Entitäten · Automationen

Home Assistant von innen: Event Bus, State Machine und Actions, Entitäten mit last_changed und last_updated, ein Ereignisfluss-Debugger vom Tastendruck bis zum Licht, Automationen mit allen vier Modi, ein Template-Tester und ein Simulator für das Musterhaus.

{{ states('sensor.wohnzimmer_temperatur') | float(0) > 20 }}
AutomationenTemplatesWebSocket-API
visualhomeassistant.fusenigk.de

VisualIoBroker

Adapter · States · Blockly

ioBroker an einem erfundenen Musterhaus: js-controller, Adapter und Instanzen, Objektbaum und Datenpunkte, das ack-Konzept als Debugger, Blockly mit Übersetzung nach JavaScript und ein Simulator mit Triggern und Timern.

on({ id: '…MOTION', change: 'ne' }, …) → setState(id, true)
ObjektbaumackSimulator
visualiobroker.fusenigk.de

VisualHomematic

HomeMatic IP · Funk · XML-RPC

HomeMatic und Homematic IP: Zentralen, Funk auf 868 MHz mit Duty-Cycle-Simulator, Direktverknüpfung gegen Zentralenprogramm, Geräte-Datenmodell, XML-RPC Schritt für Schritt und ein Programm-Simulator für ein Beispielhaus.

setValue("…:3", "STATE", true) · 1 % = 36 s pro Stunde
Duty CycleCCUProgramme
visualhomematic.fusenigk.de

VisualHomeMaticHomeKit

hap-homematic · HomeKit · CCU-Addon

Das CCU-Addon hap-homematic bringt HomeMatic- und Homematic-IP-Geräte einer CCU3 oder RaspberryMatic ohne Homebridge und ohne Zusatzhardware in Apple HomeKit. Aufbau, Installation und Konfiguration Schritt für Schritt, dazu ein Ereignis-Debugger von der Home-App bis zum Aktor und zurück, ein Mapping-Labor und ein Port-/Bridge-Planer. Mit klarem Hinweis: Das Projekt ist seit 29.05.2026 archiviert, belegte Alternativen werden genannt.

object o = dom.GetObject('BidCos-RF.XYZ0000001:1.LEVEL');if (o){o.State(0.6);}
HomeKitCCU-AddonHAP-Bridge
visualhomematichomekit.fusenigk.de

Finanzen

Kredite, Buchungen und E-Rechnungen verstehen

Retro-Computing

Mailbox-Software und Heimcomputer-Klassiker, aus den echten Dateien rekonstruiert

VisualZ80

Z80-Assembler · CPC 6128 Firmware

Alle 245 Firmware-Einsprünge des Amstrad/Schneider CPC 6128 mit Registern, Beschreibung und einem lauffähigen Beispielprogramm je Routine. Dazu ein Z80-Emulator, ein Zweipass-Assembler, eine Firmware-Nachbildung und ein Schritt-Debugger mit „Schritt zurück“ – alles im Browser.

CALL &BB5A ; TXT OUTPUT – A = Zeichen, alle Register bleiben erhalten
Z80-AssemblerCPC-FirmwareEmulator & Debugger
visualz80.fusenigk.de

VisualCPCSprite

Software-Sprites · CPC 464/664/6128

Der klassische CPC hat keine Hardware-Sprites – jede Figur schreibt der Z80 selbst in den Bildschirmspeicher. Pixelkodierung der Modi 0/1/2, ein Sprite-Editor mit Export als db oder BASIC-DATA und sechs Zeichenroutinen im Z80-Emulator mit gemessenen µs; dazu flimmerfreie Animation und die 16 Hardware-Sprites des CPC Plus.

ld a,(de) : and (hl) : inc hl : or (hl) : ld (de),a → 1 511 µs
SpritesZ80-AssemblerCPC Plus
visualcpcsprite.fusenigk.de

VisualCrossPoint

FreeXP · .DB1 · .IX1

Die Datenbank des Mailbox-Programms CrossPoint/FreeXP von innen: .DB1-Dateistrukturen, der zugehörige C-Code und der .IX1-B-Tree-Index mit animiertem, schrittweisem Zugriff.

MSGS.DB1 · MSGS.IX1 · Indexseite → Schlüssel → Datensatz
Mailbox-ÄraIndex-SucheC-Code
visualcrosspoint.fusenigk.de

VisualBoulderDash

Amstrad CPC · 1984 · Z80

Boulder Dash auf dem Amstrad CPC, ausgehend vom echten Disk-Image: Sprites aus dem Z80-Binary dekodiert, Mode-0-Grafik, Schwerkraft-Regeln und Speicherkarte. Dazu eine spielbare Portierung in TypeScript.

Mode 0 · 1 Byte = 2 Pixel · 16×16-Sprites · 3 Höhlen
AMSDOSBlitterspielbar
visualboulderdash.fusenigk.de