Hannes512 - Die 512Kb Speichererweiterung für den Commodore 16

Der Commodore 64 verfügt über eine Vielzahl von Erweiterungsmöglichkeiten. Für den Commodore 16 hingegen ist die Auswahl deutlich begrenzter. Es gibt zwar Speichererweiterungen, aber die meisten erweitern den C16 "nur" auf 64 KB Speicher. Erfreulicherweise steht eine Speichererweiterung zur Verfügung, welche den Speicher des Commodore 16 um 512 KB erweitert. In dieser Anleitung widmen wir uns dem Aufbau dieser Erweiterung. Zum Zeitpunkt der Erstellung dieser Anleitung waren noch keine kompatiblen Programme verfügbar. Die Gründe für den Bau einer solchen Erweiterung werden im weiteren Verlauf erläutert.

Quellen dieser Anleitung: Hannes256 und Hannes512 von SukkoPera (License)


Bevor wir beginnen, hier einige Hinweise (Wichtig!):
  • Arbeiten an der Hardware dürfen nur im spannungslosen Zustand durchgeführt werden.
  • Es wird Erfahrung beim Löten von SMD-Komponenten vorausgesetzt.
  • Achte auf die Ausrichtung der Komponenten. Die Kerbe des IC muss mit der Kerbe auf der Platine übereinstimmen.
  • Vermeide  Kurzschlüsse beim Löten, da diese zu Schäden führen können.
  • Trage ein Antistatik-Armband, um statische Aufladung zu vermeiden.
  • Ich übernehme keine Haftung für Schäden, die direkt oder indirekt aus dieser Anleitung entstehen.

Wieso 512 Kilobyte Speicher?

Wie bereits erwähnt, ist die Anzahl kompatibler Programme für diese Erweiterung begrenzt. Tatsächlich gibt es derzeit kein einziges Programm, das mit dieser Erweiterung kompatibel ist. Alle Programme, die für die Hannes-Erweiterung entwickelt wurden, setzen lediglich 256 KB Speicher voraus. Sollte mehr Speicher zur Verfügung stehen, sind diese Programme nicht mehr lauffähig. Warum also eine Erweiterung mit 512 KB bauen? Der Aufwand für den Bau einer 512 KB Speichererweiterung ist identisch mit dem der kleineren Version mit 256 KB. Um die Kompatibilität mit den genannten Programmen sicherzustellen, kann der Speicher auf 256 KB begrenzt werden.  Sollte in Zukunft ein Programm für den C16 mit 512 KB Speicherbedarf erscheinen, sind wir darauf vorbereitet.

Die Komponenten

Für die Herstellung dieser Erweiterung werden nur eine geringe Anzahl an Bestandteilen benötigt, wobei es sich größtenteils um SMD-Komponenten handelt. Zunächst benötigen wir die unbestückte Platine, die wir unter folgender Adresse finden: pcbway.com.


Des weiteren benötigen wir folgende Komponenten:

Der ESD-Schutz für den TED-IC (U8+U9) ist zwar optional, aber auf jeden Fall zu empfehlen.

Der Aufbau

Beim Aufbau der Platine sind einige Punkte zu beachten. Zuerst sollten die SMD-Komponenten gelötet werden, gefolgt vom Sockel. Nach dem Auflöten des Sockels für den TED ist der Zugang zu den darunterliegenden ICs versperrt. Alternativ können auch Buchsen-Stiftleisten verwendet werden. Eine Übersicht über die Platzierung der Komponenten finden wir hier: Hannes512-1 BOM.


Aufgrund der nicht ganz intuitiven Kennzeichnung des Pins 1 der ICs auf der Platine kann die richtige Ausrichtung der ICs anhand des folgenden Bildes ermittelt werden.

Die roten Punkte zeigen Pin 1 der jeweiligen ICs

Um den TED-IC zu installieren, heben wir ihn vorsichtig aus dem Sockel des C16. Stecke ihn anschließend in den Sockel der Hannes-Erweiterung. Achte darauf, die Beinchen des ICs nicht zu biegen. Stelle sicher, dass die Kerbe des TED-IC mit der Kerbe auf der Platine übereinstimmt. Der SRAM-IC kann ebenfalls auf die Platine gesteckt werden.

Die Firmware

Um die Erweiterung nutzen zu können, muss die Firmware auf den GAL kopiert werden.  Dafür stehen verschiedene Versionen zur Verfügung. Die Releases finden wir unter SukkoPera/Hannes512/releases.
  • Hannes512_GAL20.jed = 512 KB Variante für GAL20
  • Hannes512_GAL22.jed = 512 KB Variante für GAL22
  • Hanns512_G20256.jed = 256 KB Variante für GAL20
  • Hanns512_G22256.jed = 256 KB Variante für GAL22
  • Hanns512_G20H37.jed = Entwicklerversion für GAL20
  • Hanns512_G22H37.jed = Entwicklerversion für GAL22
Die benötigte Version hängt von der Verwendung des GAL (GAL20 oder GAL22) und den Speicheranforderungen ab. Derzeit gibt es noch keine Programme, die 512 KB Speicher benötigen. Um den gesamten Speicher zu überprüfen, empfiehlt sich die Datei „Hannes512_GAL2X.jed“.  Für 256 KB Speicherbedarf ist „Hanns512_G2X256.jed“ die sinnvollste Version. In diesem Beispiel wird die Firmware „Hanns512_G20256.jed“ mit einem TL866cs auf einem GAL20 geflasht. Starte das Flashtool und wähle die GAL-Variante aus der IC-Datenbank aus.


Lade die gewünschte Firmware-Datei herunter. Stecke den GAL2X korrekt ausgerichtet in den EPROMer. Starte den Flashvorgang mit einem Klick auf den Button „P“. Das Lock-Bit muss nicht gesetzt werden. Stecke den GAL nach Abschluss des Flashvorgangs richtig ausgerichtet in den Sockel des Hannes512.

Der Einbau

Wir können nun mit der Installation der Hannes-Erweiterung fortfahren. Stecke die Erweiterung zunächst in den Sockel des TEDs. Anschließend müssen noch einige Drahtbrücken angebracht werden. Verbinde diese wie folgt:
  • CS_OUT -> Pin 10 von U11
  • CS_IN -> Nach außen gebogener Pin 16 von U16.
  • RESET -> Pin 2 von U9 oder Pin 40 von U2

Biege den Pin des ICs U16 nur so weit nach außen, wie es für die Anbringung der Drahtbrücke erforderlich ist. Ein übermäßiges Biegen des Pins kann dazu führen, dass er abbricht.


Im letzten Schritt wird der Jumper auf den Header J1 gesetzt und auf 512 KB eingestellt. Dadurch können wir jederzeit zu den original verbauten 16 KB Speicher zurückkehren.

Der Funktionstest

Im nächsten Schritt führen wir den ersten Funktionstest durch. Dafür nutzen wir das Tool memory_test.prg, das zur Diagnose des gesamten Speichers im C16 dient. Das Programm zeigt den erweiterten Speicher an und führt anschließend eine Prüfung durch. Die Dauer der Prüfung hängt von der geflashten Firmware ab, also ob es sich um 256 KB oder 512 KB handelt. Häkchen zeigen an, dass der geprüfte Speicher in Ordnung ist.  Es ist jedoch nicht ungewöhnlich, dass einige Bereiche mit „*“ und „-„ markiert sind.


Nach erfolgreichem Abschluss der Prüfung können wir Programme ausführen, die die Speichererweiterung unterstützen. Dafür muss sich die 256 KB Firmware auf dem GAL befinden. Eine Liste der verfügbaren Programme finden wir unter plus4world.powweb.com. Beachte jedoch, dass viele dieser Programme nicht mit der SD2IEC kompatibel sind und einige sogar ein 1551-Laufwerk voraussetzen.