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.
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…)
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…
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 Herausforderung. 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.
In meiner Sammlung besitze ich einige wenige Exemplare der 264er Serie von Commodore, die mehr oder weniger alle in einem originalen, einwandfreien 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:
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.
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 Außenwelt. 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…
Ein neues Exemplar aus der 8 – Bit Computer Ära hat Einzug in meine kleine Sammlung gehalten. Ein Timex Sinclair 1000 – ein 8Bit Heimcomputer der 80er Jahre auf Basis des Sinclair ZX81. An dieser Stelle möchte ich mich bei Herrn Roland Pufitsch recht herzlich bedanken. Er hat mir den Timex 1000 als Spende zur Verfügung gestellt – Vielen Dank.
Der Timex Sinclair 1000 oder auch TS1000 ist das Ergebnis eines Joint Ventures des Herstellers Sinclair Research Ltd. und der Amerikanischen Timex Corporation. Das Gerät basiert auf dem Sinclair ZX81 und ist auch vollkommen kompatibel zum Z81 und gilt als die nordamerikanische Version des ZX81. Auch die technischen Daten unterscheiden sich kaum. Lediglich der Speicher wurde mit 2kB doppelt so groß ausgeführt wie beim ZX81.
Veröffentlicht und verkauft wurde der TS1000 im Juli 1982 zu einem Preis von unter 100$. Er galt damals als der günstigste Heimcomputer. 1983 wurde die Produktion dieses Modells dann wiedereingestellt. Die technischen Daten gleichen denen des ZX81.
CPU: Zilog Z80 mit 3.25 MHz Taktfrequenz
Speicher: 2kB, erweiterbar auf max. 64kB
Anschlüsse: Audio In, Audio Out für den Datenrecorder
Memoryslot für die Speichererweiterung
RF-Modulator Ausgang (Kanal VHF 2 oder 3)
Auflösung: 22 x 32 Zeichen
Ton: nicht vorhanden
Betriebssystem: BASIC Interpreter im ROM
Auf dem Mainboard sind gerade einmal vier ICs verbaut, ein HF-Modulator und die Peripherie für die Spannungsstabilisierung und -versorgung, sowie die IO – Anschlüsse für den Datenrecorder und die Federleisten für die Folientastatur. Die verbauten IC´s sind folgende:
CPU: der Zylog Z80 Prozessor (in vielen Modellen ein NEC Z80 mit der Bezeichnung D780C-1 im 40Pin Plastik DIP – Gehäuse
ULA: ein Custom IC mit der Bezeichnung ULA 2C21 0E. Dieser Chip ist die ULA des ZX81 und Timex1000 (Uncommited Logic Array). Dieser IC generiert den 6,5 MHz Takt von dem eine 3.25 MHz Clock für den Prozessor geteilt wird. Er managet die Audi IN und Audio OUT Datensignale zum Datenrecorder. Er generiert den Synchrontakt für die Videoausgabe. Er handelt die Tastaturmatrix und steuert den ROM und RAM Zugriff. Dieser Customchip ist heute in einer FPGA, oder CPLD Nachbildung erhältlich, bzw. wird der VHDL Code dafür in entsprechenden Foren veröffentlicht und kann selber synthetisiert werden.
ROM: der Chip mit der Bezeichnung ZCM38818 ist der ROM Baustein der den Basic Interpreter beherbergt. Alternativ kann hier auch ein 2364 8kbit Prom verwendet werden.
RAM: als Ram ist hier entweder ein 2kB DRam Chip oder ein 1kB DRam verbaut (Mostek MK4801/MK4118)
Bei dem hier vorliegenden Modell stand nun eine erste Inspektion an. Dabei ist mir gleich eine DB9 Male – Buchse aufgefallen, die nachträglich eingebaut wurde. Nach dem Öffnen des Gehäuses ist mir schnell aufgefallen, dass das Flex Kabel der 5poligen Tastaturfolie vollständig abgebrochen ist. Und genau diese fünf Pins der Federleiste, in die das Flex Kabel gesteckt ist, sind mit der DB9 Buchse verbunden. Es hat hier anscheinend eine externe Reparaturlösung für das defekte Keyboard gegeben. Die DB9 Buchse könnte aber auch eine Nachrüst-Joystick Lösung gewesen sein, denn auch eine +5V Leitung war zur Buchse geführt. In diesem Fall egal. Ich wollte das Gerät in einen annähernd originalen Zustand versetzen. Dazu musste erst einmal die 9polige Sub-D Buchse heraus.
Die Buchse war schnell ausgebaut und die Drähte entfernt. Jetzt ging es daran, das Flex Kabel zu retten. Die einfachste Möglichkeit wäre natürlich, eine neue Folientastatur zu erwerben, und diese dann einzubauen. Aber hier ist das Kabel knapp ober dem Stecker gebrochen und ich dachte mir, es wäre einen Versuch wert, einfach mit der verbleibenden Länge des Flex Kabels auszukommen. Dazu habe ich das Kabel am gebrochenen Ende einfach wieder gerade geschnitten, mit ein wenig Captan-Tape verstärkt und wieder in die Federklemmleiste eingesteckt. Die auf den Kunststoffträger aufgebrachten Leiterbahnen sind sehr dünn und empfindlich. Man sollte hier auch nicht versuchen zu Löten und die Leitungen mit einer Lötverbindung zusammenzufügen.
Nachdem die Tastatur nun wieder funktionieren sollte, wurden auf dem Mainboard die obligatorischen Arbeiten, wie Elkotausch und Prüfen der Spannungsversorgung durchgeführt. Eine kleine Änderung, die sich funktionell vom Originalzustand unterscheidet, ist der Umbau des Antennenausgangs auf einen Videoausgang. Hierzu wird der HF-Modulator lahmgelegt. Das bedeutet, die +5V Versorgung zum Modulator wird getrennt, die Leitung zum Signalpin der HF-OUT Buchse getrennt und ebenso die vom Mainboard kommende VBS-Leitung (also das Videosignal). Die nun offene Videoleitung wird über einen 100µF Elko zur ehemaligen HF-Out Buchse geführt und ist somit DC-mäßig entkoppelt.
Danach folgte eine erste Inbetriebnahme. Das Videosignal wurde an einen Multinormen-Monitor angeschlossen und das vorher überprüfte 9V Netzteil an die Buchse für die Spannungsversorgung.
Das Ergebnis war äußerst positiv. Das Einschaltbild erschien sauber auf dem Bildschirm. Die Tastatur funktionierte ebenfalls einwandfrei. Jetzt bleibt nur noch, die Bohrlöcher und Öffnungen der SUB-D Buchse sauber zu verschließen und dann kann das Gerät wieder zusammengebaut und in die Vitrine gestellt werden…
Am 23.April 1982 ist der Sinclair ZX Spectrum von der Firma Sinclair Research auf den Markt gebracht worden. [Quelle: Wikipedia] Er wurde damals zu einem Preis von umgerechnet 140 Euro bzw. 194 Euro verkauft. Die zwei Preise beziehen sich auf die 16kByte Version bzw. auf die 48kByte Version. 16kByte und 48kByte sind die Größen des RAM-Speichers mit der die Rechner ausgestattet wurden. Der ZX-Spectrum ist der Nachfolger der Sinclair ZX81 und der Vorgänger des ZX-Spectrum Plus und Sinclair QL.
Der kleine Rechner (die Abmessungen betragen gerade einmal 23.5cm *14.5cm*3cm) wird von einer Z80A CPU angetrieben, die mit 3.5MHz Taktfrequenz arbeitet. Die ULA (Uncommitted Logic Array) ist der größte Chip auf dem ZX-Mainboard. Sie ist verantwortlich für die Grafik, die Audio IO´s (für das Laden und Speichern der Programme auf Kassette) und für die Keyboardeingaben. Dann befinden sich, je nach Ausführung noch die DRAM-Chips (Upper und Lower RAM) auf dem Board und noch ein ROM – IC, der den BASIC Interpreter beherbergt. So schafft es der kleine Rechner bunte Grafiken auf den Bildschirm zu zeichnen und das mit einer Auflösung von 256 x192 Pixeln bei 15 Farben. Die Bildausgabe wird über einen eingebauten RF-Modulator an den Antenneneingang eines Fernsehers gesendet. Mit Bildausgabe meine ich aber wirklich nur das „Bild“, denn für den Ton wird nicht der Audiokanal der TV-Gerätes benutzt. Dafür gibt es am Mainboard einen kleinen Lautsprecher, der die Geräusche des Rechners ausgibt. Die wiederum werden nicht wie etwa beim C64 in einem eigenen Chip (SID-Chip) erzeugt und das noch in mehreren Stimmen – nein dafür wird der MIC/TAPE Pin der ULA verwendet, der den Lautsprecher einfach über einen Transistor an 5V schaltet. Damit können dann einfache „Beep-Geräusche“ erzeugt werden. Aus heutiger Sicht betrachtet, ist das natürlich gar nichts Besonderes, aber für all jene, die damit in Ihrer Kindheit konfrontiert waren, sind bestimmt auch einige Erinnerungen damit verbunden. So eben auch für mich. Ich hatte damals zumindest die Möglichkeit, zusammen mit meinem Bruder ein solches Gerät von einem Freund ausleihen zu dürfen. Darauf wurde dann natürlich – wie kann es anders sein – gespielt. Titel wie „Manic-Miner“, „Ant-Attack“ oder Flight-Simulator, gehörten zu den am häufigsten geladenen Kassetten. Ja – Kassetten. Zu der Zeit war es üblich, die Programme auf einer Audiokassette zu kaufen. An den ZX-Spectrum wurde ein einfacher Kassettenrecorder über die Kopfhörerbuchse angeschlossen und über die Gummitasten des ZX der Befehl LOAD „“ eingegeben. Dann musste man am Kassettenrecorder nur mehr Play drücken und es konnte losgehen. Voraussetzung war natürlich, dass die Bandgeschwindigkeit und der eingestellte Lautstärkepegel passten. Nur dann war das Laden des Programmes erfolgreich und das Spiel startete. Die Ladezeiten betrugen je nach Programm von zwei bis oft über zehn Minuten.
In meiner 8Bit – Retrorechner Sammlung fehlte bis jetzt die komplette Serie der Sinclair Rechner, doch endlich konnte ich ein Schnäppchen machen und ein ganzes Set mit ZX-Spectrum, Joystickmodul, einem Datenrecorder und vielen originalen Spielekassetten erwerben. Die Aufbereitung und Restauration des ZX möchte ich hier kurz beschreiben. Wenn man einen Rechner mit unbekannter Vorgeschichte, der sicherlich die letzten 30 Jahre in irgendeinem Keller herumgelegen hat, in die Hände bekommt, so sollte man keinesfalls versuchen, ihn direkt in Betrieb zu nehmen. Falls er es nicht ohnehin schon ist, könnte das dann sein Tod sein. Denn wie immer gibt es darin einige Teile, die altern und ihre Parameter ändern können. Es könnte auch jemand vorher darin herumgebastelt haben um etwas zu reparieren oder umzurüsten. In diesem Fall war das Gehäuse zwar staubig und schmutzig, aber es gab keine fehlenden Schrauben, Dellen oder von außen ersichtliche Nachrüstungen, wie Taster oder Stecker. Also konnte ich die Gehäuseschrauben lösen.
Die Tastaturfolie war schnell aus den Klemmbuchsen gezogen und der Deckel mit den Gummitasten entfernt. Jetzt offenbarte sich das Innenleben des Spectrum – und was soll ich sagen – 1A. Alles im Originalzustand. An dem Gerät wurden noch keine Reparaturen oder Basteleien durchgeführt. So begann ich zuerst mit der Reinigung der Gehäuseteile. Die Tastatur ist einfach zu zerlegen. Bei dieser Revision des Spektrums (ISSUE 4A) ist das Blech, das die Gummimatte im Gehäuse hält, mit vier „Messing Biegenasen“ befestigt. Diese lassen sich leicht zurückbiegen und das Blech entfernen.
Die Gehäuseteile waren jetzt ganz einfach zu reinigen. Ich habe sie mit Seife unter lauwarmem Wasser gespült. Auch die Rückstände zwischen den Tasten der Gummimatte ließen sich so leicht entfernen. Während die Teile jetzt zum Trocknen beiseitegelegt wurden, widmete ich mich dem Mainboard.
Hier waren alle Lötstellen sauber, keine Spuren von Fremdeingriffen und alle Teile noch im Originalzustand. Also konnte ich direkt mit den ersten Prüfungen beginnen. Mit einem Ohmmeter wurde zunächst auf Kurzschlüsse im Bereich der Spannungsversorgungen geprüft. Wenn man sich die Schaltpläne des Spektrums ansieht, so kann man schnell erkennen, dass der Rechner mit einer Eingangsspannung von DC9V versorgt wird. Wobei hier die Belegung der Netzteilbuchse zu beachten ist. Hier ist der Plus-Pol nicht der innere Stift, sondern der äußere Ring des Steckers. Dies ist besonders wichtig, wenn das originale Netzteil nicht mehr vorhanden ist und man einen Ersatz nimmt. Der weitere Aufbau des Versorgungskonzeptes ist wie folgt: Aus den 9VDC wird über einen Linearregler 7805 die +5V Versorgung gemacht. Über eine DC/DC- Converter Schaltung bestehend im Wesentlichen aus den Komponenten TR4 und TR5 und einem kleinen Transformator (Zylinderspule mit zwei Wicklungen), werden eine 12VDC und weiters eine -5VDC Spannungsversorgung generiert. Diesem Bereich gilt eine besondere Aufmerksamkeit, denn hier kann eine falsche oder fehlende Spannungsversorgung weitere Bauteile (insbesondere die DRAM-ICs) beschädigen. Dazu sind mit einem Dioden Tester die Transistoren auf ihr Durchlass- und Sperrverhalten der PN-Übergänge zu prüfen. Den kleinen Übertrager testet man am einfachsten mit dem Ohmmeter auf niederohmiges Verhalten der jeweiligen Wicklung und auf ein hochohmiges Verhalten zwischen Primär- und Sekundärwicklung. Ist hier alles in Ordnung testet man noch den Ausgang jeder der drei Spannungsquellen gegenüber dem Masse 0V Potential. Hier sind folgende Richtwerte zu messen:
Eingang des Linearreglers (9V) gegen GND -> ca. 100k-150k
Ausgang des Linearregler (+5V) gegen GND oder an Pin9 des RAM ICs -> ca. 300 – 500 Ohm
Pin1 des RAM ICs (-5V) gegen GND -> ca. 300 Ohm (im 400Ohm Messbereich)
Pin8 des RAM ICs (12V) gegen GND -> ca. 2.6k bis 2.8kOhm
Im nächsten Schritt werden die über 30 Jahre alten axialen Elektrolytkondensatoren getauscht. Dies ist eine reine Vorsichtsmaßnahme, denn wie allseits bekannt, ändern diese Teile gerne ihre Werte mit der zunehmenden Alterung oder laufen aus. Und was ausgelaufene Elektrolyten so alles anrichten können, habe ich ja schon in älteren Beiträgen gezeigt. Um dem ZX also wieder ein längeres Überleben zu ermöglichen, werden alle Elkos getauscht.
Sind diese Arbeiten erledigt, dann beginnt jetzt der spannende Teil. Die Spannungsversorgung wird eingeschaltet. Am besten man versorgt den ZX über ein Labornetzteil mit einstellbarer Strombegrenzung. Er darf nach dem Einschalten nicht mehr als 750mA bei 9VDC nehmen. Passt auch das, können die Spannungen (am besten an einem der Lower RAM-ICs gemessen werden). Hierbei sollte an PIN1 -5V, an PIN9 +5V und an PIN8 12V gemessen werden.
Um den ZX-Spectrum auch an ein Sichtgerät anschließen zu können, gibt es den RF-Modulator, der das intern generierte Composite-Videosignal auf einen UHF – Kanalträger moduliert, um damit einen klassischen analogen TV zu bedienen. Da Fernsehempfänger mit analogem Tuner mittlerweile kaum mehr vorhanden sind, aber viele TV zumindest einen SCART oder Videoeingang besitzen, wird der RF-Modulator des ZX-deaktiviert. Die ehemalige Antennenbuchse wird zu einem Videoausgang umfunktioniert. Zuerst werden die beiden Drähte, die aus dem Modulator herauskommen vom Mainboard abgelötet. (Dies sind +5V und CVBS). Dann wird innen im Modulator der Pin des Widerstandes vom Innenleiter der Antennenbuchse abgelötet und weggebogen. Somit ist der Modulator von der Schaltung komplett getrennt. Jetzt muss nur mehr der CVBS Ausgang vom Mainboard über einen Kondensator an den inneren Stift der Buchse gelötet werden. Der Kondensator sollte dabei um die 100uF haben. Er dient als DC-Entkopplung des Signals.
Wenn das alles erledigt ist, dann kann jetzt angeschlossen und eingeschaltet werden. In meinem Fall war es ein voller Erfolg. Der Sinclair meldete sich sofort mit seinem grau hinterlegten Einschaltbild „(c) 1982 Sinclair Research Ltd„
Als nächstes versuchte ich ein altes Originalspiel (Backgammon) über den Kassettenrecorder (Datarecorder) in den ZX zu laden. Das klappte vorerst nicht. Manchmal wurde ein Teil geladen, dann wieder nicht und es kam zu „Tape Error“ Meldungen. Also wurde der Kassettenrecorder auch noch schnell überholt. Ein neuer Riemen sorgte für einen besseren Gleichlauf des Bandes und eine Kopfreinigung für schönere Pegel des Ausgangssignals. Doch auch jetzt klappte das Laden noch nicht. (das erinnerte mich doch stark an die damalige Zeit, wo oft sehr lange versucht wurde ein Spiel zu laden) Also sah ich mir mit dem Oszi das Ausgangssignal an und vor allem die Periodendauer des Initalsignals (der erste Pfeifton am Band 🙂 )
Hier war es, das Problem. Die Frequenz des Initalsignals lag bei ca. 890-910Hz. Das bedeutet das Band läuft viel zu schnell. Das Problem ist schnell behoben. Fast jedes Kassettenlaufwerk hat ein kleines Poti mit dem man die Bandgeschwindigkeit des Servoantriebes einstellen kann. Auch so in diesem Fall. Die Frequenz sollte so um die 800Hz liegen. Das Ergebnis war dann folgendes:
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.
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.
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.
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.
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 🙂
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 😀