Schlagwort-Archive: Commodore Plus4

Aufräumen und Archivieren

Hinter dem, in der Beitragsüberschrift genannten Titel versteckt sich meine Idee, in dem „ingmarsretro“ Blog einmal etwas Ordnung zu machen und ein wenig aufzuräumen. Mit „Aufräumen“ meine ich, die einzelnen Beiträge wieder mal auf Rechtschreibfehler zu prüfen, vielleicht auch den einen oder anderen Beitrag neu zu formatieren und ihn auch zu ergänzen. Darum wird es im Jänner 2021 auch keinen anderen Beitrag geben.

Es haben sich auch reichlich neue Beiträge angesammelt, die zwar digital auf dem Server gesichert sind, jedoch eine Papierform davon gibt es noch nicht. So will ich alle Posts, die seit der letzten Sicherung entstanden sind, wieder in Form eines Buches zu Papier bringen. Und das ist leider nicht ruck-zuck gemacht, sondern bedarf einiges an Arbeit. Der Beruf und die „Familienzeit“ mit meinem kleinen Sohn erlauben es nur, meistens nachts an den Beiträgen zu arbeiten. Und zwischen den Beiträgen bastle ich ja auch an den Projekten (Projekt’chen), über die ich dann ja schreibe. Davon habe ich auch noch viele im Kopf, die vielleicht einmal realisiert werden. Und dann gibts noch einige, an denen ich arbeite und die noch fertiggestellt, oder zumindest daran weitergearbeitet werden soll.

So bastle ich seit den letzten Monaten an einer Nixie-Uhr, die ziemlich diskret aufgebaut werden soll. Die Uhr hat mittlerweile auch einen vernünftigen Status erreicht, so dass hier Platinen vom selber geätzten Prototyp bis zum vernünftigen, industriell gefertigten Zustand, entstanden sind.

der NixieUhr Prototyp

Auch der „Röhrenradioempfänger“ mit dem ich vor einigen Jahren begonnen habe, wartet darauf, dass daran weitergebastelt wird.

Das Thema Retro Computer lässt mich natürlich auch nicht los. Hier sind ein paar Geräte noch zu restaurieren und warten darauf, wieder zum Leben erweckt zu werden. (Hier fällt mich gleich ein: ich suche eine RUN/STOP Taste für einen Commodore Plus 4 – würde mich freuen, wenn irgendein Leser da helfen könnte…)

auf der Suche nach einer RUN/STOP Taste

Das Projekt mit der MOS8501 CPU als Lattice – FPGA – Miniplatine steht auch in der „Weitermach-Warteschlange“ hier gibts noch einiges zu tun (Die Levelshifter tun noch nicht so, wie sie sollen, der VHDL Code muss noch weiter angepasst werden, die Prototypen Platinen müssen auf ein Board zusammengefasst werden und dann auch noch miniaturisiert werden…) ist also auch noch genug zu tun.

Dann gibt´s auch noch alte Geräte, die ich hier im Blog vorstellen möchte und noch etliche Reparaturen, die mir immer wieder in die Hände fallen… Auch das eine oder andere HomeMatic-Gebastel steht noch an.

Auch habe ich mit dem Gedanken gespielt, Content hier aus dem Blog in Form von Videos auf YouTube zu veröffentlichen. Aber ich kann zum einen nicht abschätzen, ob das jemanden interessiert und ob ich mir das antun möchte, meine Visage vor der Kamera zu präsentieren. Wahrscheinlich wäre es sinnvoller, es mit einem didaktisch begabteren Menschen als Protagonisten zu machen. Und das natürlich für Lau, als Spaß an der Sache. Andererseits gibt es hier ja etliche Youtuber, die hier sehr erfahren (z. Bsp.: Dave Jones mit seinem EEVblog, NoelsRetroLab, Adrians Digital Basement, GreatScott, ZeroBrain, JanBeta, etc.)  sind und das schon lange betreiben. Auch nicht zu vernachlässigen ist der immense Aufwand, solche Filmchen zu Produzieren. Wenn ich hier meine Aufbauvideos betrachte: So geht fast ein Tag für das Aufnehmen des Rohmaterials beim Zusammenlöten des jeweiligen Bausatzes drauf und zusammengerechnet fast drei Tage für den Schnitt und Nachbearbeitung. Mal sehen ob daraus einmal etwas werden kann…

 

 

 

Retrocomputer in neuer Technik: MIST FPGA

 

Commodore C16 am MIST FPGA

In den Sommermonaten und vor allem mit meinem kleinen Sohn, ist die Zeit, hinter dem Rechner zu sitzen und über die „Projekt’chen“ zu schreiben, doch sehr dünn gesät. Schon etwas länger beschäftige ich mit den Retrocomputern, wie den Commodore C16, C64, Amiga etc. Mittlerweile ist auch schon eine kleine Sammlung an originaler Hardware zusammengetragen. Um die alten Customchips in den „Brotkisten“ zu schonen, ist es interessant auf alternative Hardware auszuweichen. Für jeden modernen Rechner und auch die kleinen Computer der Raspberry-Foundation ist es kein Problem, einen C64 oder Amiga zu emulierten. Dafür gibt es viel Software (Vice, Yape, Mame, ePSXe, Stella, etc.), die auch ausgezeichnet funktioniert. Bei den Emulatoren wird die Funktionalität der alten Maschinen per Software nachgebildet. Programme und Spiele, die früher per Datasette oder Floppydisk geladen wurden, werden beim Emulator einfach als „Imagedatei“ geladen und gestartet. Das klappt zum größten Teil. Es gibt aber auch Spiele, die so trickreich programmiert worden sind, dass sie das Maximum aus der Hardware herausholen und dafür beispielsweise Bereiche im Speicher für Gamecode verwenden, der für ganz andere Dinge vorgehen war… In solchen Fällen kann es dann vorkommen, dass der Emulator hier versagt.

Noch viel exklusiver und weniger umständlich in Betrieb zu nehmen, um schnell mal einen alten „Rambo“ zu spielen, ist ein Retrocomputer in einem FPGA. Den Elektronikern unter den Lesern ist FPGA sicher ein Begriff. FPGA bedeutet Field-Programmable-Gate-Array. Das Wiederum bedeutet, man hat hier einen Chip, dessen Logikgatter per Softwarebeschreibung erstellt werden. Man stelle sich zum Beispiel einen TTL Baustein 7408 vor. Er beinhaltet vier unabhängige UND-Gatter mit je zwei Eingängen und einem Ausgang. Solche einfachen und viel komplexere Bausteine bilden von der Funktionalität her, die Basis jeden Computers. Solche „Bausteine“ lassen sich auch in einem FPGA erstellen. Man „beschreibt“ quasi mit einer Hochsprache die Funktion, synthetisiert diese und erstellt einen Programmingcode, der im FPGA dann die Gates zu den gewünschten Gattern zusammenschaltet.

HDL nennt man diese „Hochsprache“ (Hardware Description Language). Ein solch ein FPGA enthält nun wirklich sehr, sehr viele GateArrays, die alle zu einer gewünschten Funktion geschaltet werden können. Man baut sich quasi seinen eigenen Chip. Der große Vorteil ist natürlich, dass alle Schaltvorgänge in Echtzeit und je nach Beschattung parallel ausgeführt werden. FPGAs von den Herstellern Altera oder XILINX sind mittlerweile in der Lage im Highspeed Bereich zu operieren mit zig Megagates, IO-Buffers für Singleended- und LVDS Signalen geliefert zu werden.

Mit solchen FPGAs ist es natürlich auch gar kein Problem einen alten 8 oder 16Bit Computer aus den 80igern nachzubilden. Und zwar in Hardware – das bedeutet die Funktion aller Chips die auf einem C64 Board montiert waren (CPU, RAM, PLA, ROM, SID, VIC, CIA ) wird per VHDL beschrieben und  die Gates des FPGA dann so zusammenschaltet, dass er dann sozusagen ein C64 Chip ist, der alles kann was ein echter C64 kann.    

Altera Cyclon III FPGA
Microcontroller Atmel

Ein solches Projekt wurde im Rahmen des MIST (aMIga atariST) realisiert. Die MIST Community hat hier ein Board entwickelt, dessen Kern ein ALTERA Cyclon III ist.  Ein SD-Kartenslot dient als Datenquelle. Über die SD-Karte wird zum einen das FPGA bin-file (also der Core, der den FPGA zum Computer macht) und zum anderen die Daten für den entsprechenden nachgebildeten Computer, wie Spieleimages. Das Management und übernimmt ein kleiner Atmel-Microcontroller. Die Community hat mittlerweile eine ganze Reihe von Rechnerkernen (Cores) gebastelt, die Rechner wie Atari XL, ZX81, ZX Spectrum, C64, Atari VCS, Atari 5200, Apple II, Sega Master System, NES, Odyssey2 und viele mehr nachbilden.

MIST Board Vorderseite

Das Mist-Board bringt eine Reihe von Schnittstellen mit. Eine MicroUSB-Buchse dient als Eingang für die Energieversorgung. Der MIST kann mit einem normalen USB-Handy Steckernetzteil versorgt werden.

MIST Board Rückseite

Zwei 9 polige SUB-D Male-Buchsen ermöglichen das Anschließen der originalen Retro-Joysticks, wie Quickshot etc.  Vier USB-Hostbuchsen, nehmen Datenträger wie USB-Sticks und auch HIDs wie Maus, Keyboard oder auch Game Controller auf. Eine Klinkenbuchse gibt den Ton der Rechner aus und das Bild kommt über eine VGA-Buchse. Hier liegt auch ein kleiner Haken. Denn das Videosignal kommt mit der Frequenz aus der Buchse, mit der auch der originale Rechner gelaufen ist. Wenn ein C64 PAL also mit 50Hz Bildwechselfrequenz arbeitet gibt die Buchse das V-Sync auch mit 50Hz aus. Bei NTSC wären es dann 60 Hz usw. Und das ist schon das Problem. Die meisten neuen LCD Monitore können mit einem 50Hz Signal nicht umgehen. Hier kommt meist eine Meldung wie: „Signal out of range“ Ich habe nur einen alten HP1955 und einen noch älteren IBM Bildschirm zum Laufen gebracht.

MIST – MIDI Buchsen

Wer sich mit Retro Computern und Musik, vor allem mit MIDI beschäftigt, der kann auch mit dem MIST und den Atari ST Sequenzern arbeiten. Das Board hat auch zwei Midi DIN Buchsen.

Wenn man seine SD-Karte nun vorbereitet, also ein Core von GitHub geladen, als core.rbf umbenannt hat, dann gehts auch schon los. Ich habe als Beispiel einen Commodore C16 Core gewählt und als Spiel das Jump an Run Spiel „Big Mac“ als .prg Datei auf die SD-Karte gelegt. Wenn´s auch viele nicht kennen, mein Bruder dürfte sich daran erinnern, falls er sich in den Blog hierher verirrt 🙂 

Commodore C16 BASIC Einschaltbildschirm

Nach dem Startbildschirm des C16, kann mit einem angeschlossenen Keyboard mit F12 per Image Injection das File in den C16-Speicher kopiert werden. Das geht so schnell, dass man nicht merkt, ob zwischen der Enter Taste und dem Ready am Commodore Basic Bildschirm, etwas passiert ist. Mit RUN startet man das Spiel und es kann losgehen 😀

C16/Plus4 Game: BigMac