Tutorial für ein externes 8x Kernal-Modul für den C64

Einleitung

Es gibt mehrere Möglichkeiten, ein Kernel im Commodore C64 über den Erweiterungsport zu starten. Dabei gibt es jedoch einige kleinere Stolpersteine. Ideal wäre es natürlich, das Kernel am Erweiterungsport genauso kompatibel zu haben wie das eingebaute Kernel. Dies ist beispielsweise mit dem Easyflash 3 Modul der Fall. Thomas ‘SKOE’ Giesel hat dies in diesem Dokument ausführlich beschrieben.

Der Aufwand, dies zu realisieren, ist jedoch sehr hoch, besonders wenn normale TTL-Geräte verwendet werden sollen.

Eine andere Möglichkeit besteht darin, das Kernel im sogenannten Ultimax-Modus von einem externen Modul zu starten. Der Ultimax-Modus ist eigentlich eine Emulation des japanischen Vorgängers “MAX” des C64. Dieser hatte jedoch nur 2k RAM und kein eigenes Kernel, BASIC, etc. Alles musste von einem externen Modul geladen werden. Dieser Modus ist immer noch im C64 vorhanden und ermöglicht es, ein Kernel von einem externen Modul zu starten.

In diesem Modus ist es jedoch nicht möglich, den RAM-Bereich unterhalb des Kernels zu nutzen. Dafür wird die oben erwähnte Methode benötigt, die auch vom Easyflash 3 verwendet wird. Oder es muss eine Leitung zwischen dem Kernel-Modul und der CPU gelegt werden. Leider ist das /HIRAM-Signal am Erweiterungsport nicht verfügbar. Mit diesem Signal wäre es relativ einfach, den RAM-Bereich von $E000 bis $FFFF zu nutzen. Ohne diesen Speicherbereich gehen 8kByte verloren.

Um das Kernel beim Start oder Reset des Commodore C64 in den Speicherbereich $E000-$FFFF zu kopieren, wird ein Adressdekoder benötigt. Dafür wird ein 74LS30 verwendet, ein 8-fach NAND-Gatter.

Folgende Signale vom Erweiterungsport werden an die Eingänge des NAND-Gatters angeschlossen:

  • Phi2
  • Adressleitungen
  • A13
  • A14
  • A15
  • R/W
  • BA

Der Ausgang dieses Gatters wird an /GAME geschaltet. Das EPROM wird mit den Adressleitungen A0 bis A12 und den Datenleitungen D0 bis D7 verbunden. Die CE- und OE-Leitungen gehen zu ROMH.

So sieht der grundlegende Schaltkreis aus:

Dies wäre die Basisschaltung. Was fehlt, sind die grundlegenden Bauteile wie Blockkondensatoren, Pull-up-Widerstände etc. Diese müssen selbstverständlich in einer späteren Umsetzung berücksichtigt werden.

Damit lässt sich nun ein 8kByte Kernel am Erweiterungsport des C64 betreiben. Wenn mehrere Kernels geschaltet werden sollen, wird ein größeres EPROM oder EEPROM und eine Möglichkeit zur Auswahl der Adressleitungen benötigt.

Da inzwischen die 512kbit großen EEPROMs von Winbond (W27C512) fast verschenkt werden, war es mein Ziel, diese für mein externes Kernel-Modul zu verwenden. Dieser Speicherchip kann mit den üblichen EPROM-Programmierern wie dem beliebten TL866A problemlos beschrieben und genauso leicht gelöscht werden. Dafür wird, im Gegensatz zum EPROM, kein UV-Licht benötigt, sondern der Löschvorgang erfolgt ebenfalls über den EPROM-Programmierer, da diese Speicherchips elektrisch gelöscht werden können.

Natürlich können auch EEPROMs verwendet werden. Es muss auch kein so “großer” Speicherchip sein. Es kann auch ein 256kbit oder sogar nur ein 128kbit großer Chip verwendet werden.

Ich bleibe in meinem Beispiel jedoch bei der 512kbit-Version. Diese bietet, in Kilobyte ausgedrückt, 64kByte Speicher. Da das Kernel nur 8kByte groß ist, passen acht davon auf einen Chip. Ich gebe zu, dass dies wahrscheinlich nur in den seltensten Fällen benötigt wird. Ich selbst hatte schon Schwierigkeiten, überhaupt acht verschiedene Kernels zu finden, die sich nicht nur in Farbe und Startmeldung unterscheiden.

Je nach Größe des Speicherchips stehen bis zu drei zusätzliche Adressleitungen zur Verfügung, mit denen das entsprechende Kernel ausgewählt werden kann. Die Kernels werden nacheinander im E(E)PROM gespeichert. Es gibt also 8x 8kByte Bereiche im E(E)PROM. Zur Auswahl dieser acht einzelnen Bereiche sind drei Adressleitungen (A13 bis A15) erforderlich. Dies erfolgt durch binäre Werte.

Die 8kByte entsprechen 8192 Bytes, was im hexadezimalen Format 2000 Bytes wären. Da ab 0 gezählt wird, würde das erste Kernel von $0000 bis $1FFF reichen, das zweite Kernel von $2000 bis $3FFF und so weiter. Das oben erwähnte EEPROM von Winbond hat also Speicher von $0000 bis $FFFF.

Die logische Tabelle sieht wie folgt aus:

Nr.SpeicherbereichA13A14A15
1$0000 – $1FFFLLL
2$2000 – $3FFFHLL
3$4000 – $5FFFLHL
4$6000 – $7FFFHHL
5$8000 – $9FFFLLH
6$A000 – $BFFFHLH
7$C000 – $DFFFLHH
8$E000 – $FFFFHHH

L = LOW / H = HIGH

Die entsprechenden Leitungen werden auf 5V gelegt, je nach gewünschtem Kernel.

Es gibt jedoch einen kleinen Stolperstein zwischen den 64kb/128kb und den 256kb/512kb Geräten.

Wie im obigen Bild zu sehen, sind die Leitungen an PIN 1 und PIN 27 der 256kb und 512kb Geräte ebenfalls Adressleitungen. Diese Leitungen können bei diesen Typen nicht einfach mit 5V auf HIGH gesetzt werden. Dies muss bei einer Umschaltmöglichkeit berücksichtigt werden. Würden beide Leitungen generell auf 5V gesetzt, könnten nur die letzten beiden Kernels ausgewählt werden, wie in der Tabelle weiter oben ersichtlich.

Andererseits sollten die beiden Leitungen bei den 64kb und 128kb Speicherchips nicht auf LOW, also GND, gesetzt werden. Dies sollte bei der Umschaltung berücksichtigt werden. Am einfachsten ist dies mit einem DIP-Schalter zu realisieren.

Das Schaltbild sieht wie folgt aus:

So wurde die ganze Schaltung auf einem Breadboard getestet. Zunächst wurden zwei EPROMs bis jeweils 256kb getestet. Dann wurde festgestellt, dass die 512kb EEPROMs so günstig geworden sind, dass es eigentlich unnötig ist, zwei Steckplätze vorzusehen. Vor allem, da wahrscheinlich selten so viele Kernels benötigt werden.

Diese Steckbretter sind wirklich nicht schön, aber zum Testen fast unverzichtbar. Es sollten hochwertige Dupont-Steckverbinder verwendet werden. Die billigen aus China haben hier und da Kontaktprobleme, die einen in den Wahnsinn treiben können, weil ständig irgendwo gewackelt werden muss, damit es funktioniert. Daher sollte hier wirklich nicht am falschen Ende gespart werden.

Natürlich kann gefragt werden, warum so viele weitere Bauteile vorhanden sind als im obigen Schaltbild. Nun, nur ein EPROM an den Erweiterungsport anzuschließen, ist langweilig. Es wurden verschiedene Dinge ausprobiert, insbesondere die Umschaltung.

Nachdem die Schaltung soweit getestet wurde und alles funktionierte, wurde die Schaltung auf einer Platine aufgebaut.

Auf das zweite EPROM wurde verzichtet. Um die Umschaltung etwas angenehmer zu gestalten, sollte für jedes Kernel ein eigener Schalter vorhanden sein. Nicht jeder möchte die Auswahl vorher in Binär umrechnen. Sicherlich ist dies purer Luxus und nicht notwendig. Andererseits war dies kein Projekt aus Notwendigkeit, sondern eher aus Bastelfreude.

Ein Encoder (74LS148) wurde hinzugefügt, der die binären Signale aus acht Leitungen, entsprechend einem DIP-Schalter, für die acht möglichen Kernels erzeugt. Eine Tabelle dazu zeigt ein ähnliches Bild wie die weiter oben:

DIP SWS0S1S2
1HHH
2LHH
3HLH
4LLH
5HHL
6LHL
7HLL
8LLL

Bei genauer Betrachtung der Tabelle fällt jedoch auf, dass High und Low vertauscht sind. Es ist daher nicht möglich, das EPROM zu steuern oder die einzelnen Kernels auszuwählen. Um die Signale zu invertieren, wird der 74LS04 verwendet. Dieser Chip bietet sechs Treiber, deren Ausgänge ebenfalls invertiert sind. Ein High am Eingang wird zu einem Low am Ausgang und umgekehrt.

Jetzt passt es wieder. Die beiden verbleibenden DIP-Schalter dienen zur Umschaltung zwischen den 64kb/128kb und 256kb/512kb EPROM-Typen sowie einem Ein/Aus-Schalter für die Karte. So kann die Karte im Erweiterungsport bleiben, ohne dass ein Kernel der Karte verwendet wird.

An diesem Punkt wäre die Karte fertig, wenn nicht der Spieltrieb erwacht wäre.

Warum nicht ein kleines Gimmick hinzufügen? Da zufällig eine Box mit 7-Segment-Anzeigen herumlag, kam die „verrückte“ Idee auf, dass es eine großartige Idee wäre, ein solches Display zu integrieren. Das Praktische daran ist, dass es mit dem 74LS247 einen Chip gibt, der alles Notwendige enthält. Er kann ein 7-Segment-Display direkt ansteuern. Es sind also keine zusätzlichen Leistungstreiber erforderlich. Außerdem wird es binär gesteuert.

Es müssen nur die Signale für die Adressleitungen des EPROMs abgegriffen werden, und voilà, das Board ist bereit, zumindest auf einem Breadboard:

Es sieht tatsächlich recht ordentlich aus. Zugegeben, die Rückseite sieht nicht mehr so frisch aus, besonders da einige Dinge aufgrund der hinzugefügten Änderungen erneut umgestellt werden mussten. Da es jedoch nur ein Prototyp war, war eine perfekte Installation nicht das Ziel.

Da im digitalen Bereich immer bei 0 gezählt wird, ist auch das erste Kernel das 0-Kernel. Folglich wird natürlich auch eine 0 angezeigt. Das zweite Kernel entspricht der 1, das dritte der 2 und so weiter. Es wurde überlegt, ob dies entsprechend angepasst werden sollte. Dies hätte jedoch dazu geführt, dass die Schaltung noch größer geworden wäre, oder es hätte ein kleiner Mikrocontroller verwendet werden müssen. Der Aufwand schien für die Anzeige jedoch nicht gerechtfertigt.

Das Ganze sollte mehr ein kleines Spaßprojekt als eine ernsthafte Anwendung sein.

Der Prototyp wurde mit den folgenden Speichern getestet:

  • AM27C64
  • AM27C128
  • AM27C256
  • AM27C512
  • AT28C64
  • AT28C128
  • AT28C256

Es konnten keine Probleme festgestellt werden. Das Umschalten funktioniert sauber und ohne Schwierigkeiten. Langzeittests über mehrere Stunden zeigten ebenfalls keine Auffälligkeiten. Warum also nicht eine echte Platine daraus machen?

Es muss zugegeben werden, dass es anders ist. Ursprünglich wurde nur mit der Variante ohne Display begonnen. Dann kam die Idee, ein 7-Segment-Display hinzuzufügen, auf dem das ausgewählte Kernel als Zahl angezeigt wird.

Diese Funktion hat zwar keinen größeren Nutzen, aber die Teile waren zufällig vorhanden und die Idee gefiel. Warum also nicht?

Das E(E)PROM wird mit den Adressleitungen A0 bis A12 und den Datenleitungen D0 bis D7 verbunden. Die Auswahl des Kernels erfolgt durch Bankauswahl der höheren Adressleitungen A13 bis A15.

Das Schaltbild hierfür ist recht einfach.

Dies ist ausreichend für einen einfachen Kernel-Adapter am Erweiterungsport des Commodore C64. Mit den 3 Adressleitungen können 8 Bänke ausgewählt werden, was 8 Kernels entspricht, wenn ein 64kByte E(E)PROM verwendet wird. Da hier bitweise umgeschaltet wird, muss das Binärsystem verwendet werden.

Dezimal1. Bit2. Bit3. Bit
0000
1100
2010
3110
4001
5101
6011
7111

Dies ist die Methode, um die acht verschiedenen Kernels zu setzen. Es ist einfach und funktional, aber sicherlich nicht komfortabel. Dies wurde mit der REX 9628 External Kernel-Karte eleganter gelöst. Dort wurde ein 74LS148 BCD-Encoder verwendet und ein DIP-Schalter für jedes einzelne Kernel. Dieser Encoder setzt die Bits am Ausgang entsprechend dieser Tabelle, sodass man nicht im Kopf berechnen muss, welche Position für welches Kernel verantwortlich ist.

Eine weitere Möglichkeit wäre die Verwendung eines sogenannten Drehencoders. Diese kleinen Drehschalter sind auch als BCD-Varianten erhältlich. Es gibt 8 Positionen, die die Ziffern 0 bis 7 darstellen. Am Ausgang findet man dann wieder die 3 Bits an 3 Ausgangsleitungen.

Leider war ein solcher Schalter nicht vorhanden und preislich sind sie auch teurer als die Verwendung eines Encoders und eines 8x DIP-Schalters. Die Idee ist jedoch noch nicht ganz verworfen und es wird geschaut, was unsere Freunde hinter der großen Mauer dazu sagen.

Die Leitungen müssen noch invertiert werden, weshalb ein 74LS04 verwendet wird. Dieser Chip findet sich auch auf der REX 9628 Platine. Die REX-Karte verwendet zwei EPROMs, um 8 Kernels nutzbar zu machen. Die notwendige Umschaltung wurde meiner Meinung nach recht umständlich gelöst. Dies hätte eleganter gestaltet werden können.

Der Umbau der neuen REX 9628 Karte wäre nun fertig, mit den gleichen Funktionen, aber nur einem EPROM. Der Game Stop wurde weggelassen, da er keinen praktischen Nutzen hatte.

Dann kam die Idee mit dem 7-Segment-Display. Natürlich kann man immer am DIP-Schalter ablesen, welches Kernel gesetzt ist, da es 8 Schalter gibt und jeder für ein Kernel steht. Aber es ist ein netter Gag.

Die Realisierung ist ebenfalls sehr einfach, da es mit dem 74LS247 eine Komponente gibt, die direkt an ein entsprechendes Display angeschlossen werden kann. Der 74LS247 ist ein BCD-Decoder mit Treiber für ein 7-Segment-Display mit gemeinsamer Anode. Außer den typischen Serienwiderständen werden keine Treiberstufen benötigt, da diese bereits im Chip integriert sind. Durch den Encoder werden die Bits als Dezimalzahlen angezeigt.

Dieses Display kann einfach in die Schaltung integriert werden.

Es gibt einen Schalter für die “großen” und “kleinen” EPROMs und einen allgemeinen Ein-/Ausschalter, sodass die Karte im Erweiterungsport bleiben kann, auch wenn sie nicht verwendet wird.

Der Schalter für das EPROM ist an die Adressleitung A14 angeschlossen. Mit diesem Schalter kann A14 entweder auf HIGH gesetzt oder durch die DIP-Schalter geschaltet werden. Für die 8 und 16kByte EPROMs wird A14 generell auf HIGH gesetzt, und für die größeren 32 und 64kByte EPROMs wird A14 ebenfalls für die Auswahl der einzelnen Bänke benötigt.

Zusammenfassend ergibt sich folgende Schaltung.

Aus dieser Schaltung wurde die folgende Platine in KiCad entworfen. Hier zunächst das 3D-Design aus der Software.

Was in dieser Grafik nicht sichtbar ist, ist der Schalter für die EPROM-Größe. Dieser befindet sich unter dem EPROM. Einerseits passt er dort perfekt, andererseits kann dieser Schalter nicht versehentlich umgeschaltet werden. Ein Reset-Schalter hat ebenfalls seinen Platz gefunden. So entstand die “Pro”-Version der REX 9628 Karte.

Heute, nach 3 Wochen, kam die Lieferung mit den Prototyp-Platinen an.

Hier ist der Schalter unter dem EPROM zu sehen. Bitte nicht über den Namen wundern, dieser wurde inzwischen geändert, da er nicht mehr gefiel. In den aktuellen Gerber-Dateien ist dieser Name nicht mehr sichtbar.

Es sind auch die oben erwähnten Teile zu sehen.

Stückliste

Die Stückliste, außer den Schiebeschaltern, sieht bei Reichelt wie folgt aus:

Es gibt auch einen passenden Warenkorb bei Reichelt, abgesehen von den beiden Schiebeschaltern. Diese führt Reichelt leider nicht. Bei Conrad Electronic sind sie unter der Bestellnummer 1564871 erhältlich.

In der obigen Liste wurde ein 27C512 EPROM als Ersatz verwendet. Persönlich wird jedoch das bereits erwähnte M27C512 EEPROM von Winbond empfohlen. Für den Preis eines EPROMs erhält man fast 10 Stück elektrisch löschbarer EEPROMs. Dies bleibt jedoch jedem selbst überlassen.

Mit etwa 20 Euro, inklusive Platine, erhält man eine externe Kernel-Karte, die 8-fach schaltbar ist und am Erweiterungsport des Commodore C64 verwendet werden kann. Mit etwas Zeit und einer Bestellung der Teile in China können sogar noch ein paar Euro gespart werden.

Bauanleitung

Sobald alle Teile und die Platine vorhanden sind, kann mit dem Zusammenbau begonnen werden.

Wie üblich bei solchen Zusammenbauten wird von klein nach groß gearbeitet. Zuerst werden die 7x 220 Ohm Widerstände und die 5x 100nF Kondensatoren verlötet. Da hier keine Polarität zu beachten ist, ist die Einbaurichtung nicht wichtig.

Als Nächstes sollten die beiden Schiebeschalter verlötet werden. Die Einbaurichtung sollte klar sein, kann jedoch auf dem folgenden Bild nochmals überprüft werden.

Nun folgt das Widerstandsnetzwerk. Hier ist auf die Polarität zu achten. Auf der Beschriftungsseite des Widerstands befindet sich ein deutlich sichtbarer Punkt auf der linken Seite. Dieser Punkt muss sich dort befinden, wo das rechteckige Lötpad auf der Platine ist. Außerdem ist der 10k-Aufdruck an dieser Stelle auf der Platine zu finden. Leider ist der Punkt im Bild nicht zu sehen, aber er wäre nun oben in der Nähe des Schiebeschalters, wenn er sich in dieser Position befände.

Jetzt sind die IC-Sockel an der Reihe. Am besten werden sie von oben eingesetzt und dann mit etwas Gewicht auf der Platine fixiert, sodass sie wie eine Pfanne gedreht werden kann. Dann werden die beiden diagonal gegenüberliegenden Pins jedes Sockels verlötet. So sind sie fixiert und können nicht mehr herausfallen. Passform überprüfen und die restlichen Pins verlöten.

Zuletzt werden der DIP-Schalter, der Taster und das 7-Segment-Display verlötet. Damit sind die Lötarbeiten abgeschlossen. Nun werden die ICs eingesetzt und die Platine ist betriebsbereit.

EPROM brennen

Was jetzt noch fehlt, ist ein EPROM oder EEPROM mit den entsprechenden Kernels. Das Kernel des Commodore ist 8kByte groß, was 8192 Byte entspricht. Im Internet findet man viele Kernels, die 2 Byte größer sind, also insgesamt 8294 Byte.

Dies liegt daran, dass diese Dateien mit der Ladeadresse versehen wurden. Dies war früher notwendig, als EPROMs mit dem Commodore C64 gebrannt wurden. Wenn die Dateien jedoch auf einem PC gebrannt werden, würden diese zwei Byte stören. Die Software für die Commodore EPROM-Brenner schrieb diese zwei Byte nicht auf das EPROM. Heutige PC-Programme würden dies jedoch tun. Durch die zwei Byte am Anfang verschiebt sich alles und das gebrannte EPROM funktioniert nicht.

Wenn eine passende Datei mit 8192 Byte vorliegt, kann der nächste Abschnitt übersprungen werden.

Korrekte Kernel-Datei

Der einfachste Weg, die zwei Byte aus der Datei zu entfernen, ist die Verwendung eines HEX-Editors. Empfohlen wird die kostenlose Software HxD – Freeware Hex-Editor und Disk-Editor. Dort öffnet man die Kernel-Datei, löscht die ersten zwei Byte und speichert die Datei erneut.

Hier wäre beispielsweise eine solche Datei. Wenn man die Eigenschaften im Explorer betrachtet, sieht man, dass sie nicht die erwarteten 8192 Byte, sondern 8194 Byte hat.

Nachdem der Hex-Editor installiert und geöffnet wurde, öffnet man die Datei.

Nun markiert man die ersten zwei Byte mit der Maus.

Mit der Entfernen-Taste werden die zwei Byte gelöscht. Die Warnmeldung wird bestätigt.

Nun sind die störenden Byte entfernt. Die Datei muss jetzt gespeichert werden. Dafür klickt man auf „Speichern“, vergibt einen neuen Dateinamen und speichert die Datei.

Wenn man nun im Explorer unter Eigenschaften nachsieht, hat die Datei die richtige Größe.

Diese Datei kann nun in ein EPROM oder EEPROM geschrieben werden.

Datei mit mehreren Kernels erstellen

Es ist unwahrscheinlich, dass nur ein Kernel mit einer solchen Karte verwendet werden möchte. Je nach Speichergröße können 1, 2, 4 oder 8 Kernels verwendet werden. Bei einem 512kBit EEPROM wären das insgesamt 8 verschiedene Kernels.

Um die Kernels in das EPROM zu schreiben, müssen die einzelnen Dateien zu einer einzigen großen Datei kombiniert werden.

Am einfachsten ist es, die 8 Dateien in ein Verzeichnis zu kopieren. Nun gibt es zwei Möglichkeiten, diese Dateien zu einer einzigen Datei zusammenzufügen.

EPROM-Datei mit HEX-Editor erstellen

Wenn der oben genannte Hex-Editor installiert ist, kann dieser verwendet werden.

Unter „Extras“ gibt es den Punkt „Dateien zusammenfügen“.

Mit „Dateien hinzufügen“ werden die 8 Dateien hinzugefügt. Für mein Beispiel wurden die Dateien einfach nummeriert, um die Übersicht zu bewahren. Dies sollte jedoch nicht gemacht werden, da man nicht weiß, welches Kernel hinter welcher Datei steckt. Mit den grünen Pfeiltasten kann die Reihenfolge angepasst werden. Nun gibt man den Dateinamen zum Speichern unter „Ausgabedateiname:“ ein und bestätigt mit „OK“. Als Endung wird „.BIN“ oder „.ROM“ empfohlen.

Wenn man die neu erstellte Datei im Explorer betrachtet, hat sie nun 65536 Byte. Genau diese Größe muss die Datei haben.

EPROM-Datei mit dem COPY-Befehl erstellen

Die zweite Möglichkeit, eine Datei zum Schreiben zu erstellen, ist der COPY-Befehl von Windows. Dafür wird eine Eingabeaufforderung benötigt.

Mit dem bekannten DOS-Befehl „copy“ können mehrere Dateien zu einer einzigen zusammenkopiert werden. Dabei werden die einzelnen Dateien mit einem „+“-Zeichen verbunden.

Wichtig ist der Parameter „/b“. So weiß der Copy-Befehl, dass es sich um Binärdateien handelt. Wenn dieser Parameter nicht gesetzt wird, funktioniert die erstellte Datei nicht.

Der Befehl sieht so aus:

copy /b KERNAL-1.BIN + KERNAL-2.BIN EPROM.BIN

Die ersten beiden Dateien werden zusammengefügt und in der Datei EPROM.BIN gespeichert. Durch den Parameter /b weiß Copy, dass die Datei als Binärdatei behandelt werden muss. Dies kann nicht nur mit zwei Dateien, sondern auch mit 8 oder mehr durchgeführt werden.

Auch hier muss die erstellte Datei „eprom.bin“ genau 65536 Byte haben.

Hinweise zu den Dateigrößen

Wie bereits erwähnt, muss das Kernel genau 8192 Byte groß sein. Viele Werkzeuge zeigen den Wert oft in kByte an, was 8kByte entsprechen würde. Windows rundet jedoch gerne auf. So werden 8190 Byte oder 8194 Byte immer noch als 8kByte angezeigt. Daher kann man sich auf diese Anzeige nicht verlassen. Immer die Byte-Größe anzeigen, um sicherzustellen, dass die Datei die richtige Größe hat.

Die EPROMs und EEPROMS sind in 8, 16, 32 und 64kByte Größen verwendbar. Die folgende Tabelle zeigt die entsprechenden Werte.

EPROM-TypGröße in kbitGröße in kByteGröße in Byte
27C646488192
27C1281281616384
27C2562563232768
27C5125126465536

Natürlich gilt dies auch für EEPROMs.

Handhabung

Bevor das EPROM eingesetzt wird, muss der Schalter entsprechend der Größe eingestellt werden. Für 8 und 16k Typen wird der Schalter in die untere Position, in Richtung des Erweiterungsports, gestellt. Bei 32 und 64k EPROMs wird er nach oben, in Richtung des 7-Segment-Displays, geschaltet.

Nun kann das E(E)PROM eingesetzt werden.

Oben links auf der Karte befindet sich ein weiterer kleiner Schalter. Dieser dient zum Ein- und Ausschalten der Karte. So kann die Karte im Erweiterungsport verbleiben und nach dem Ausschalten der Karte wird das interne Kernel des Computers verwendet.

Die DIP-Schalter dienen zur Auswahl des Kernels. Durch einfaches Setzen eines Schalters auf die Position „ON“ wird dieses Kernel ausgewählt. Wenn versehentlich zwei Schalter auf „ON“ gesetzt werden, zählt immer der Schalter mit dem höheren Wert. Beispielsweise wird bei gesetztem Schalter Nr. 3 und Schalter Nr. 6 das 6. Kernel ausgewählt.

Die jeweilige Nummer wird auf dem 7-Segment-Display angezeigt. Es wird von 0 bis 7 gezählt. Das 1. Kernel hat also die Nummer 0 und das 8. Kernel die Nummer 7.

Download

Für dieses kleine Gimmick wurde kein zusätzliches GitHub-Repository erstellt, sondern die Dateien direkt hier zum Download bereitgestellt:

Falls dieses Thema interessant war, könnte auch diese Anleitung zum nachbauen spannend sein.

0 Comments
Älteste
Neueste
Inline-Feedbacks
Alle Kommentare anzeigen
Nach oben scrollen