One ROM – Praxisbeispiel: ZX81 mit 24-Pin Fire One ROM

One ROM – Praxis: ZX81 mit 24-Pin Fire One ROM

Nach den bisherigen C64-Projekten diesmal ein etwas anderes System:
Ein modifizierter ZX81 – minimalistisch, offen aufgebaut und genau deshalb perfekt für Experimente.


Der Kandidat: Ein etwas anderer ZX81

Das hier ist kein klassischer ZX81 im Originalgehäuse:

  • Gehäuse: nur obere und untere Kunststoffplatte
  • Tastatur: von einem TI/99 adaptiert
  • offener Aufbau, gut zugänglich

👉 Genau die Art System, bei der man gerne „mal eben“ etwas ausprobiert.


Das Herzstück: Z80 + externes ROM

Wie beim ZX81 üblich:

  • CPU: Z80
  • externes ROM
  • relativ einfache Logik

👉 Perfekt geeignet für ein One ROM als Ersatz.


Umbau: One ROM statt Original-ROM

Zum Einsatz kommt:
  • One ROM Fire 24 (24-Pin Version, Rev. E)
  • direkt im ROM-Sockel

👉 Damit ersetzt das One ROM das komplette Original-ROM.


Meine Konfiguration

Hier meine verwendete Device-Konfiguration:
{
  "major_version": 0,
  "minor_version": 6,
  "patch_version": 8,
  "build_number": 1,
  "commit": [
    97,
    55,
    100,
    57,
    53,
    52,
    102,
    0
  ],
  "stm_line": "Rp2350",
  "stm_storage": "Storage2MB",
  "freq": 150,
  "overclock": false,
  "swd_enabled": true,
  "preload_image_to_ram": true,
  "bootloader_capable": false,
  "status_led_enabled": true,
  "boot_logging_enabled": false,
  "mco_enabled": false,
  "rom_set_count": 1,
  "count_rom_access": true,
  "boot_config": [
    255,
    255,
    255,
    255
  ],
  "build_date": "Apr  2 2026 18:28:02",
  "hw_rev": "fire-24-e",
  "rom_sets": [
    {
      "data_ptr": 268500992,
      "size": 65536,
      "roms": [
        {
          "rom_type": "Rom2364",
          "cs1_state": "ActiveLow",
          "cs2_state": "NotUsed",
          "cs3_state": "NotUsed",
          "filename": "zx81 version 2 'improved' rom (Sinclair).rom"
        }
      ],
      "rom_count": 1,
      "serve": "AddrOnCs",
      "multi_rom_cs1_state": "NotUsed"
    }
  ],
  "pins": {
    "data_port": "Port0",
    "addr_port": "Port0",
    "cs_port": "Port0",
    "sel_port": "Port0",
    "status_port": "Port0",
    "rom_pins": 24,
    "data": [
      7,
      6,
      5,
      0,
      1,
      2,
      3,
      4
    ],
    "addr": [
      23,
      22,
      21,
      20,
      19,
      18,
      17,
      16,
      15,
      14,
      13,
      11,
      12,
      255,
      255,
      255
    ],
    "cs1": 10,
    "cs2": 12,
    "cs3": 11,
    "reserved2a": 255,
    "reserved2b": 255,
    "reserved2c": 255,
    "x1": 9,
    "x2": 8,
    "ce": 11,
    "oe": 10,
    "x_jumper_pull": 0,
    "swclk_sel": 26,
    "swdio_sel": 27,
    "sel0": 25,
    "sel1": 24,
    "sel2": 26,
    "sel3": 27,
    "sel4": 255,
    "sel5": 255,
    "sel6": 255,
    "sel_jumper_pull": 8,
    "status": 29,
    "extended": 1,
    "data2": [
      255,
      255,
      255,
      255,
      255,
      255,
      255,
      255
    ],
    "addr2": [
      255,
      255,
      255,
      255,
      255,
      255,
      255,
      255,
      255,
      255,
      255,
      255,
      255,
      255,
      255,
      255
    ]
  },
  "parse_errors": [],
  "extra_info": {
    "rtt_ptr": 537399060,
    "usb_dfu": true,
    "usb_port": "Port0",
    "vbus_pin": 28,
    "fire_pio_default": true,
    "runtime_info_ptr": 537395200
  },
  "metadata_present": true,
  "version": {
    "major": 0,
    "minor": 6,
    "patch": 8,
    "build": 1
  },
  "board": "fire-24-e",
  "model": "Fire",
  "mcu_variant": "RP2350",
  "runtime_info_ptr": 537395200
}

Warum gerade der ZX81 ideal ist

Der ZX81 ist fast schon ein „Lehrbuch-Beispiel“:

  • klar strukturierter Bus
  • wenig Timing-Tricks
  • überschaubare ROM-Größe

👉 Genau deshalb funktioniert der Einsatz hier besonders unkompliziert.


Vorteile des One ROM im ZX81

Der Umbau bringt mehrere Vorteile:

🔁 Schnelle ROM-Updates

  • kein EPROM-Brenner nötig
  • Änderungen in Sekunden über USB

🧪 Experimentieren ohne Risiko

  • verschiedene ROM-Versionen testen
  • eigene Modifikationen ausprobieren

🧩 Mehrere ROMs möglich

  • alternative ZX81-ROMs
  • eigene Erweiterungen
  • Debug-Versionen

Typischer Workflow

Der Ablauf ist wie bei den anderen Projekten:

  1. ROM-Image vorbereiten
  2. per Web oder CLI flashen
  3. USB abziehen
  4. ZX81 starten

👉 Der ZX81 läuft dann direkt mit dem neuen ROM.


Besonderheiten beim ZX81

Ein paar Dinge sollte man beachten:

⚠️ Spannungsversorgung

  • ZX81 arbeitet mit klassischen 5V
  • One ROM ist dafür ausgelegt, aber Pinout prüfen

⚠️ Timing

  • ZX81 ist relativ tolerant
  • trotzdem bei exotischen Mods im Hinterkopf behalten

⚠️ Mechanik

  • offener Aufbau → Vorsicht bei Kurzschlüssen
  • gerade bei provisorischen Gehäusen

Der Charme dieses Aufbaus

Was dieses Projekt besonders macht:

  • kein „sauberer“ Serienzustand
  • sondern ein gewachsenes Bastelprojekt
  • offen, zugänglich, veränderbar

👉 Genau dafür ist One ROM ideal.


Persönliches Fazit

Der ZX81 zeigt sehr schön:

👉 One ROM ist nicht nur für „große“ Systeme wie den C64 interessant
👉 sondern auch für einfache, klassische Rechner

Und gerade dort macht es besonders Spaß:

  • schnell testen
  • schnell ändern
  • direkt sehen, was passiert

Fazit

Mit dem One ROM wird aus dem ZX81:

  • eine flexible Entwicklungsplattform
  • ein Experimentiersystem
  • ein moderner Ersatz für alte EPROMs

👉 Und das alles ohne großen Umbau.


Ausblick

Mögliche nächste Schritte:

  • eigene ZX81-ROM-Erweiterungen
  • alternative BASIC-Versionen
  • Debug-ROMs für Hardware-Analyse

Praxisbeispiel von: ILHA, Mitglied des VzEkC e. V.

Dieser Beitrag wurde unter One ROM abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert