One ROM – Praxis: Vom Kernal-Turm zum sauberen Bank-Switching im C64
Manchmal stolpert man über alte Projekte und denkt sich:
👉 „Das war damals eine gute Idee… aber heute würde ich das anders machen.“
Genau so ging es mir mit meinem allerersten Commodore 64.
Der Ausgangszustand: „So hat man das damals gemacht“
Verbaut sind:
- Reset-Taster
- 2 Schalter für Reset-Routing:
- nur Floppy
- nur C64
- beide
- keiner
- 4-fach Drehschalter für bis zu 4 Kernals
- zweifarbige LED zur Statusanzeige
👉 Ja, genau so hat man das damals gemacht.
Innenleben: Der berüchtigte „Kernal-Turm“
- mehrere EPROMs übereinander
- viel Verdrahtung
- unterschiedliche CS-Leitungen
- mechanisch… sagen wir: herausfordernd
👉 Und natürlich:
Eine Litze hat sich mal wieder gelöst 🙄
Ziel: Weniger Chaos, gleiche Funktion
Was wollte ich erreichen?
- mehrere Kernals behalten
- weniger Verdrahtung
- stabilerer Aufbau
- einfachere Umschaltung
👉 Und natürlich:
Ein guter Grund, One ROM einzusetzen 😄
Lösung: One ROM + Dynamic Bank Switching
- One ROM 24 als Ersatz für mehrere ROMs
- Dynamic Bank Switching für mehrere Kernals
- Umschaltung über nur zwei Leitungen (X1, X2)
👉 Ergebnis:
- deutlich weniger Kabel
- keine gestapelten EPROMs mehr
- sauberer und robuster Aufbau
Der große Unterschied zur alten Lösung
Früher:
- 3× CS-Leitungen hin
- 1× CS zurück
- +5V und GND separat
- komplexe Verdrahtung
Heute:
- +5V
- GND
- X1
- X2
👉 Fertig.
Nebenbei optimiert: LED-Ansteuerung
Ein netter Nebeneffekt:
- die 5V-Leitung konnte ich gleich für die Dual-LED nutzen
- weniger zusätzliche Verdrahtung nötig
👉 Die „gefährlichen“ Header-Pins für 5V/GND sind hier tatsächlich sinnvoll eingesetzt
Dynamic Bank Switching – unterschätzt, aber genial
Was mich überrascht hat:
👉 Ich habe kaum Beispiele dafür im Web oder Studio gefunden
Dabei ist das extrem praktisch:
- mehrere ROMs gleichzeitig verfügbar
- Umschaltung ohne Reflash
- keine Neustart-Prozedur nötig
👉 Perfekt für:
- verschiedene Kernals
- SpeedDOS / FastDOS
- Tests und Experimente
Meine Konfiguration
Hier meine verwendete Device-Konfiguration:
{
"$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": "banked",
"description": "Multiple C64 ROMs",
"roms": [
{
"file": "http://www.zimmers.net/anonftp/pub/cbm/firmware/computers/c64/kernal.901227-03.bin",
"description": "C64 Kernal ROM, 901227-03",
"type": "2364",
"cs1": "active_low"
},
{
"description": "Speed Dos",
"file": "C:/Xgpro/UserData/c64_speed_dos.bin",
"type": "2364",
"cs1": "active_low"
},
{
"description": "Fast Dos",
"file": "C:/Xgpro/UserData/c64_fast_dos.bin",
"type": "2364",
"cs1": "active_low"
}
]
}
]
}
👉 Damit habe ich aktuell drei Kernals zur Auswahl.
Noch nicht perfekt (ehrlich bleiben 😄)
Ein paar Dinge würde ich beim nächsten Mal besser machen:
- sauberere Farbkodierung (rot/schwarz wäre schöner)
- weniger „fliegende“ Verdrahtung
- stabilere Steckverbindungen
👉 Aber hey – es funktioniert 👍
Fazit
Der Umbau hat sich absolut gelohnt:
- deutlich weniger Chaos
- stabilerer Aufbau
- flexiblere Nutzung
- weniger Leitungen
👉 Und vor allem:
Kein EPROM-Turm mehr 😄
Persönliches Fazit
Ja, man kann sowas auch ohne One ROM bauen.
Aber:
👉 Mit One ROM macht es einfach mehr Spaß.
Und genau darum geht’s bei solchen Projekten.
Ausblick
Mögliche nächste Schritte:
- mehr als 3 Kernals
- externe Umschalter
- bessere mechanische Integration
Autor: obbi, Mitglied des VzEkC e. V.


