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:
- 32 kB SRAM (62256) separat
- 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
👉 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
- 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



