One ROM – Praxisbeispiel: Junior Computer

One ROM – Praxis: Junior Computer mit RAM- und ROM-Erweiterung

Dieses Praxisbeispiel stammt von einem Forumsmitglied („obbi“) und geht deutlich über einen einfachen ROM-Ersatz hinaus:

👉 Ziel war es, einen Elektor Junior Computer gleichzeitig mit zusätzlichem RAM und einem One ROM aufzurüsten.


Ausgangssituation: Erweiterung wie in den 80ern

Der Junior Computer war von Anfang an modular gedacht:

  • Erweiterungen über Systembus
  • RAM- und ROM-Karten optional
  • Aufrüstung oft schrittweise (Kosten!)

Damals üblich:

  • kleine SRAM-Bausteine (z. B. 6116 → 2 kB)
  • EPROMs der 27xx-Serie

👉 Große Speicher waren schlicht teuer.


Der erste Ansatz

Bereits vor dem One ROM hatte obbi sein System erweitert:

  • Einsatz eines 62256 (32 kB SRAM)
  • Zusammenlegen von TM + PM in ein einzelnes EPROM

👉 Dadurch wurde ein Sockel frei.

Die Idee:

  • diesen Sockel mit One ROM nutzen
  • zusätzlich RAM bereitstellen

Problem: RAM und ROM gleichzeitig

Hier kam die erste wichtige Erkenntnis:

👉 (Aktuell) kann One ROM nicht gleichzeitig RAM und ROM in beliebiger Kombination bereitstellen

Zusätzlich:

  • nur begrenzte SRAM-Emulation möglich
  • nicht ausreichend für das gewünschte Setup

Neue Strategie

Statt alles über One ROM zu lösen:

Plan:

  1. 32 kB SRAM (62256) separat
  2. One ROM für TM + PM + weiteres ROM

Adressbereiche:

  • RAM: 0x2000 – 0x9FFF
  • ROM: 0xA000 – 0xDFFF

👉 Klassische Speicheraufteilung


Die eigentliche Herausforderung: Adressdekodierung

Hier wird es spannend – und lehrreich.

Ausgangspunkt:

Adressleitungen:

  • A15, A14, A13

Ziel:

  • Auswahl von:
    • Board
    • RAM
    • ROM

Wahrheitstabelle

Die ursprüngliche Tabelle beschreibt, welcher Bereich wann aktiv ist.

Das Problem:

👉 Die direkte Umsetzung ist komplex
→ viele Gatter nötig


Vereinfachung durch Kompromisse

Um die Logik handhabbar zu machen, wurden bewusst Vereinfachungen akzeptiert:

  • Reset-Vektor nicht zwingend im Original-ROM
  • etwas „Verschnitt“ im RAM
  • Spiegelungen im Adressraum erlaubt
  • weniger parallele ROMs

👉 Klassischer Trade-off:
einfachere Hardware vs. perfekte Speicheraufteilung


Ergebnis: Stark vereinfachte Logik

Mit Hilfe eines Minimierungstools ergab sich:

👉 nur noch notwendig:

  • 3 Inverter
  • 1 AND
  • 1 OR

Trick: Alles mit NAND-Gattern

Da:

👉 NAND = universelles Gatter

kann man das OR ersetzen durch:

  • Kombination aus NAND

Ergebnis:

👉 ca. 6 NAND-Gatter (≈ 1,5× 7400) reichen aus


Alternative Lösung

Später fiel auf:

👉 Ein 74145 wäre ebenfalls geeignet gewesen
(Open Collector!)

👉 aber:
Die diskrete Lösung wurde trotzdem umgesetzt


Umsetzung

Ergebnis:
  • zusätzliche Logik auf kleiner Zusatzplatine
  • Kombination aus SRAM + One ROM
  • saubere Integration ins System

Besonderheit: 27xx vs. 23xx ROM-Typen

Ein weiteres Problem:

  • Junior erwartet 27xx EPROMs
  • One ROM Multi-Sets → 23xx Typen

👉 Lösung:

  • Sockel per Drahtbrücken angepasst
  • vollständig rückbaubar

Konfiguration (One ROM)

{
    "$schema": "https://images.onerom.org/configs/schema.json",
    "version": 1,
    "description": "Mandatory description about this config",
    "detail": "Extra detail about ths configuration",
    "notes": "Notes that appear after the list of sets",
    "rom_sets": 
    [
        {
            "type": "multi",
            "description": "Junior TMPM",
            "roms": [
			{   	   "file": "C:/Users/oblaenan/Desktop/Junior/Software/junior monitor roms/pmtmx2.BIN",
              			   "description": "TM, PM und PME",
                  		   "type": "2364",
          		           "cs1": "active_low"
			},
			{          "file": "C:/Users/oblaenan/Desktop/Junior/Software/junior monitor roms/Elektor_Junior_ROMx8.bin",
		     		   "description": "Aux + Vektors",
		     		   "type": "2364",
		     		   "cs1": "active_low"
			}
                  ]
        }
    ]
}

👉 aktuell:

  • 2× TM/PM
  • 8× Monitor-ROM

Ergebnis

👉 Mission accomplished

Das System läuft:

  • One ROM liefert TM/PM + Zusatz-ROM
  • 32 kB SRAM verfügbar
  • stabile Adressdekodierung

Fazit

Dieses Projekt zeigt sehr schön:

👉 One ROM ist nicht nur „EPROM ersetzen“

sondern kann Teil eines größeren Systems sein:

  • in Kombination mit SRAM
  • mit eigener Adresslogik
  • mit durchdachten Kompromissen

Persönlicher Kommentar

Ein besonders schöner Aspekt:

Der Junior lädt zum Experimentieren ein

Und genau das zeigt dieses Projekt:

  • ausprobieren
  • vereinfachen
  • neu denken
  • verstehen

👉 Genau im Sinne des Originals.
PS: Hier der Link zum Original-Thread.


Ausblick

Mögliche Erweiterungen:

  • komplexere Speicheraufteilung
  • alternative Dekoder (74138/74145)
  • größere ROM-Sets
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