Schlagwort-Archive: C16

FPGA CPU für Commodore 16

Meine erste Begegnung mit Computern hatte ich in den frühen 80iger Jahren, als meine Kollegen im Gymnasium ihren ersten VC20 und C64 von Commodore bekamen. Das war damals eine völlig neue Welt für mich – ein Computer – ein Gerät mit Tasten, wie bei einer Schreibmaschine, das man am Fernsehgerät anschließt. Und man kann in einer Sprache, die sich „Basic“ diesem Computer Befehle erteilen, die er dann ausführt.  Man konnte sogar ganze Programme schreiben und diese dann mit dem Befehl „RUN“ starten. Und dieser Computer arbeitete diese Programme dann ab. Das war faszinierend und eröffnete uns damals neue Welten. Erst recht als ich Kassetten bekam, die wie Musikkassetten aussahen, jedoch für den Computer gedacht waren. Darauf befand sich, spielte man sie in einem Kassettenspieler ab, ein Gepiepe, das man später von Faxgeräten oder der Einwahlsequenz von Modems kannte.

Stöpselte man den Kassettenplayer jedoch mit einem Klinkenkabel in den Computer und gab dort den Befehl „LOAD“ ein, so wurde aus dem Gepiepe ein Spiel oder ein Musikprogramm, oder was auch immer auf der Kassette gespeichert war. Jedenfalls war das das Tollste was man als Kind besitzen konnte. Und den jugendlichen Adrenalinschub bekam ich, als unter dem Weihnachtsbaum mein eigener Commodore C16 mit zugehöriger Datasette und der Spielekassette BigMac lag. Der Commodore C16 war also mein erster richtiger Computer. Es dauerte nicht lange, da waren die 16kB (KiloByte) Ram, die der C16 hatte zu wenig für die selbst gebastelten Basic Programme. Und was noch schlimmer war, es gab auch tolle Spiele, die mit 16k nicht liefen. Dazu gehörte der Kampfflugsimulator „ACE“ und das Vector-Grafikgame „MERCENARY“. Also musste der Computer aufgerüstet werden. Das war aus heutiger Sicht sehr einfach – es mussten lediglich zwei DRram Bausteine ausgelötet und gegen andere ersetzt werden. Damals jedoch, im Alter von – ich denke 11-12 Jahren, war das mangels geeignetem Lötwerkzeug und Erfahrung eine Herausforderunge. Doch irgendwie hat es geklappt und der C16 meldete sich mit folgender Statuszeile:

COMMODORE BASIC V3.5 60671 BYTES FREE

READY

Das war im Vergleich zum originalen Speicher, von dem für den Basic Interpreter gerade einmal 12277 Byte frei verfügbar waren, ein Paradies an neuen Möglichkeiten. Leider war die Lebensdauer des Commodore 16 im Dauerbetrieb nicht sehr lange. Ich denke, es hat nicht mal ein Jahr gedauert, da zeigte der Rechner erste Probleme. Entweder reagierte der Cursor nicht mehr, es kamen wirre Zeichen am Bildschirm, oder er startete erst nach häufigem Aus- und wieder Einschalten. Irgendwann blieb der Bildschirm dann ganz schwarz.  Schuld daran war, zumindest vermute ich das heute, der Hitze Tod der CPU und/oder des TED IC´s. Damals konnte man diese Chips in den einschlägigen Elektronikläden noch für kleines Geld bestellen. Heute sieht das aber anders aus. Eine MOS7501 oder MOS8501 CPU findet man, wenn überhaupt, dann nur bei eBay und co und das für Preise von 50 Euro und mehr für gebrauchte Chips.

MOS7501 (MOS8501) CPU der Commodore 264er Reihe

In meiner Sammlung besitze ich einige wenige Exemplare der 264er Serie von Commodore, die mehr oder weniger alle in einem originalen, einwandfreiem Zustand sind (C16, C116, Plus4). Aber eben nicht alle. So habe ich mir in den Kopf gesetzt, die 8501 CPU in einen FPGA zu implementieren, eine kleine Platine zu entwerfen, die die Größe eines DIL40 IC´s hat und direkt in den CPU-Sockel des C16 bzw. Plus4 passt. Es existieren ja bereits einige erfolgreiche Projekte, die sich mit der Implementierung eines 8Bit CPU Core in einen modernen FPGA befassen.  Hier die Links:

Sellmy Retro: https://www.sellmyretro.com/offer/details/mos–7501~~8501-cpu-replacement-for-c16~~116~~%2B4-30475

oder ein universel configurierbarer CPU – FPGA Ersatz: https://hackaday.io/project/165624-mocka65xx-universal-650285xx-cpu-replacement

Ich habe mich aus Kostengründen und auf Empfehlung entschlossen, mit einem Lattice MACHXO FPGA zu arbeiten. Ein Evaluation Board ist für unter 30 Euro zu bekommen und für die Entwicklungsumgebung bekommt man bei Lattice eine gratis Lizenz. Einziger Nachteil – ich hatte bis dato keine Erfahrung mit Lattice Produkten. In meinen beruflichen Projekten wird hauptsächlich mit XILINX gearbeitet. Aber nach der Installation der Lattice-Software und ein bisschen Übung war schnell klar, damit sollte ich zurechtkommen.

LATTICE MACH XO Evaluationboard

 

Ich habe mir also vorgenommen, diesen Beitrag als dynamischen Beitrag zu gestalten und immer wieder zu erweitern. Da meine letzten FPGA Projekte wieder einige Zeit zurückliegen und ich mich auch wieder in die FPGA-Welt eingewöhnen muss, wird es wohl einige Zeit dauern bis (falls) ein brauchbares Ergebnis zustande kommt. Zu Beginn steht die Analyse des Datenblattes des MOS8501 IC und dessen Pins zur Aussenwelt. Der 8501 ist eine abgeänderte Version des 6502 (die CPU aus dem Jahr 1975 die in vielen Rechnern eingesetzt wurde). Dazu zählen unter anderem der VC20, der Atari800, auch der APPLE 1 usw. arbeiteten mit dem 6502 Prozessor. Der 6502 ist auch schon als Verilog und VHDL Modell verfügbar… Diese Cores mit den Anpassungen für den 8501 will ich in den MachXO reinquetschen und mit entsprechender Anpassung der Signallevels direkt statt dem originalen MOS-Chip in das C16 Mainboard stecken…

 

 

 

 

 

 

 

Retrocomputer in eigener Sache

Amiga500+ Mainboard

Hallo liebe Leser des Blogs,

ich bin in letzter Zeit eifrig am Restaurieren und wieder Instandsetzen alter 8-Bit Homecomputer von Commodore und Co. Leider habe immer öfter Probleme, Ersatzteile zu finden. Meist sind sie vereinzelt über ebay-Verkäufer zu beziehen, jedoch dann zu horrenden Preisen, und auch ohne Funktionsgarantien. Darum habe ich mir gedacht, einmal hier einen Aufruf zu starten. Vielleicht hat der eine oder andere Leser noch einen alten 8Bit’er oder Teile davon im Keller, den er nicht mehr benötigt und kann ihn spenden oder günstig abgeben… Falls mir hier jemand helfen kann – bitte in den Kommentaren benachrichtigen.

 

Zurzeit bin ich auf der Suche nach folgenden Teilen:

  • MOS CPU 7501R1 oder 8501R1 (CPU von C116,C16,Plus4 Commodore Rechnern)
  • Denise(Superdenise) Grafikchip 8372R3 (Commodore Amiga 500+)
  • Commodore VIC20
  • Sinclair ZX-Spektrum
  • Sincalir ZX81
8501 MOS CPU

Retrocomputer: Floppyadapter für Amiga die Zweite

Im Blogeintrag „Eine alte Freundin braucht Pflege – Amiga Floppyumbau“ habe ich gezeigt, wie man ein defektes Amiga – Diskettenlaufwerk gegen ein umgebautes PC-Laufwerk tauschen kann. Hierzu war nicht nur eine kleine Modifikation im Laufwerk selbst notwendig, sondern es musste auch ein Steckeradapter vom 34poligen Floppyanschluss zum 26poligen Controller (eines externen Amigafloppy-Gehäuses) gebaut werden. Diesen habe ich quick und dirty auf einer Lochrasterplatine aufgebaut – nicht schön, aber funktionell. Aber ein Layout war flott gezeichnet und mittlerweile hatte ich die Gelegenheit, die kleine Platine im Rahmen eines anderen Projektes zu fertigen.

Die Platine ist klein und handlich, ohne viel Drahtwerk 🙂

Ausser Buchsenleisten sind hier keine weiteren Bauteile notwendig.

So ist sie schnell bestückt und kann gleich ihren Dienst antreten.

Hier der Vergleich: Die „redneck“ Variante links und rechts im Bild die Kompakte Version.

Passt wunderbar auf das Laufwerk und funktioniert.