TheC64: Die Auslieferung beginnt

In den 1980er Jahren war er der Renner: Der Commodore 64. Er wurde auf der CES 1982 vorgestellt und Commodore knackt mit ihm den Jackpot. In nur zwei Jahren nach Markteinführung, bricht Commodore alle Rekorde mit 4 Mio. verkauften Rechner weltweit und sogar bis heute ist der C64 der bestverkaufte Heimcomputer mit über 17 Millionen Geräten. Selbst heute noch gibt es zahlreiche Entwicklungen rund um den C64 und im voll im Retro sind derzeit Neuauflagen im Mini-Format, wie das NES Mini, SNES Mini und VCS Mini.

Am 29. März 2018 erschien eine weitere (Mini-)Neuauflage unter dem Namen TheC64 mini. Entstanden war der Mini aus einer fehlgeschlagenen indiegogo Kampagne. Trotz verfehltem Finanzierungsziel veröffentlicht nun der Entwickler Retro Games – wenn auch etwas verspätet – zusammen mit dem Distributor Koch Media die kleine Konsole.

Weiter >

ATmega328P Development Board

Für kleinere Basteleien habe ich ein eigenes günstiges ATmega328P Board entwickelt. Es werden nur wenige Komponenten benötigt, so dass das Board nur ein paar Euro kostet. Die Pin-Leisten sind zwar kompatibel zum Arduino Uno, da aber kein USB-auf-Seriell Chip verwendet wird, muss der ATmega per ISP programmiert werden. Es gibt hierzu etliche günstige Programmierer zu kaufen (z.B. diesen hier bei Amazon), die von der Arduino IDE unterstützt werden (anstelle von „Hochladen“ wird „Hochladen mir Programmer“ verwendet).

Wer Interesse an dem Board hat, findet hier die Gerber-Dateien.

Z80 CPU Tester als Arduino-Shield

Vor ein paar Wochen stolperte ich über Goran Devics Website. Goran beschriebt dort eine Möglichkeit mit einem Arduino eine Z80 CPU zu steuern. Die Idee fand ich so interessant, dass ich ein Arduino-Shield für den Mega 2560 entwarf, seine Software entsprechend anpasste und um einige Funktionen erweiterte, z.B. kann die Länge des Taktzyklus eingestellt werden und vorgegebene Testprogramme können geladen werden. Damit auch ein Betrieb ohne serielle Konsole möglich ist, kann zusätzlich ein LCD Display angeschlossen werden.

Das folgende Video zeigt, wie die CPU ein kleines Programm schrittweise abarbeitet (200msec pro Taktzyklus).

Z80 CPU Tester

Das Display wird aktuell noch nicht verwendet. Anstelle eines teuren ZIF-Sockels kann auch ein Präzisionssockel verwendet werden. Die Bauteilkosten liegen jeweils bei ca. 5-6 EUR zzgl. Platine. Sofern ich noch Platinen übrig habe, gebe ich die gerne zum Selbstkostenpreis ab. Über eine Rückmeldung würde ich mich sehr freuen. Auch Verbesserungsvorschläge sind sehr willkommen.

Update 24.1.2020

Ab der Version 2.1 kann in einem simulierten Videospeicher geschrieben werden, dessen Inhalt dann auf einem LCD2004 angezeigt wird. Zusätzlich können die beiden Taster abgefragt werden.

Z80 CPU Tester mit Display

Wer den Z80 CPU Tester nachbauen möchte findet hier die Gerber-Daten und den Quellcode zum Download.

Z80 / 6502 CPU NOP-Generator zum Selberbauen

Oft steht man vor dem Problem schnell die CPU eines nicht funktionierenden Computers testen zu wollen. Zwar kann man diese auch in einen anderen Computer einbauen und so prüfen, ob dieser mit der CPU startet, aber bequem ist anders.

Z80 NOP Generator

Mit einem NOP-Generator ist es möglich schnell optisch zu prüfen, ob eine CPU generell noch in der Lage ist Kommandos auszuführen. Der Generator liefert der CPU bei jedem Speicherzugriff ein NOP („No Operation“) Kommando, d.h. im Idealfall zählt die CPU einfach die Adressen hoch. Durch LEDs wird dabei der Zustand der Adressleitungen visualisiert. Zählen die Adressen binär hoch, was gut an den LEDs zu verfolgen ist, ist die CPU mit hoher Wahrscheinlichkeit in Ordnung. Leuchten nach einem Reset einige LEDs dauerhaft (oder auch gar nicht), ist die CPU sehr wahrscheinlich defekt.

Das folgende Video zeigt, wie der Test für eine funktionsfähige CPU aussieht.

Z80 CPU NOP-Generator

Weiter >

Review: Omni 128HQ Laptop

Ich habe in den letzten Jahren viele Emulatoren ausprobiert. Sicherlich sind diese gut, wenn man ein altes Spiel einmal wieder schnell spielen möchten, aber das echte Retro-Feeling kommt dabei nicht auf. Einen echten ZX Spectrum aufzubauen ist heute schon etwas aufwendiger: Der Fernseher muss das alte TV-Signal noch verstehen (oder der ZX Spectrum auf FBAS umgebaut werden, was aber heute auch nicht mehr jeder Fernseher versteht) und die Spiele mit einem Kassettenrekorder zu laden ist auch nicht trivial, müssen die Tapes noch i.O. sein und ebenso der mindestens 35 Jahre alte Rekorder.

RetroRadionics bietet seit einiger Zeit den Omni 128HQ an. Es ist im Grunde eine Weiterentwicklung des ZX Harlequin 128K (über die 48K Version des Harlequin habe ich vor ein paar Wochen geschrieben, welches von SuperFo entwickelt wurde) mit folgenden Features:

  • 128 KByte RAM
  • divMMC mir zwei integrierten SD Card Interfaces
  • zwei Joystick Ports (einmal Kempston kompatibel, einmal Sinclair kompatibel)
  • RGB Ausgang
  • Composite-Video Ausgang
  • HDMI Ausgang (derzeit nicht aktiv, soll später über eine Zusatzplatine aktivierbar sein)
  • Ein-/Ausschalter und Reset-Taster
  • Stromversorgung über Akkus möglich

Weiter >

6502 RAM/ROM Adapter für Commodore PET/CBM

Mit einem RAM/ROM Adapter kann ein Commodore PET oder CBM recht einfach mit 32 KByte RAM und Commodore BASIC 4.0 ausgestattet werden. Die alten ROMs und RAMs dürfen dabei noch auf dem Board bleiben, nur die CPU bekommt einen Zwischensockel.

Der hier vorgestellte 6502 RAM/ROM Adapter wurde inspiriert durch den Universal 6502 RAM/ROM Adapter von Nicolas Welte. Diese Variante ist mehr auf meine Bedürfnisse zugeschnitten und nicht mehr ganz so „universell“ wie die Ur-Version, hat aber auch einige Vorteile.

Die Änderungen zur Ur-Version sind recht zahlreich: Die Option-ROMs werden zusammen mit den ROMs umgeschaltet, DIL28-3 und SOIC sind für den RAM nicht mehr vorgesehen, die DIP-Schalter wurden entfernt und durch einfache Jumper ersetzt (der GAL enthält bereits Pull-ups, die in der Ur-Version mit einem Widerstandsnetzwerk auf Masse gezogen und bei Bedarf mit den Schaltern wieder hochgezogen wurden), der Bus-Transceiver 74HCT245 kann jetzt gesockelt werden und der Multiplexer 74157 wurde vollständig entfernt.

Weiterhin können anstelle eines 29C010 EEPROMS nun auch die Typen 29C020 und 29C040 eingesetzt werden (letzterer erlaubt 16(!) verschiedene ROM-Banks). Insgesamt werden mehrere Bausteine eingespart und die GAL-Logik ist einfacher.

Reparatur alter Computer

In den letzten Wochen habe ich einige Ausstellungsstücke wieder in Betrieb genommen, nachdem sie teilweise 15-20 Jahre gut gelagert waren. Dabei sind wieder typische Alterungsfehler aufgetreten, die ich hier einmal vorstellen möchte.

Apple II und Apple Macintosh LC Netzteile

Die Folienkondensatoren der Schaltnetzteile neigen dazu regelrecht zu „explodieren“ und auch die Hochspannungs-Elektrolytkondensatoren (200-400V) sind meistens defekt (oft zu erkennen, dass diese sich aufgebläht haben oder ausgelaufen sind). Die Kondensatoren können recht einfach gegen neue ausgetauscht werden.

Das Bild zeigt einen Entstörkondensator, den es regelrecht zerrissen hat.

Ein Beispiel für einen defekten Elektrolytkondensator ist auf diesem Bild zu sehen. Normalerweise haben Elkos an der Oberseite Sollbruchstellen, diesen hier hat es aber unten aus den Gehäuse getrieben.
Am besten werden gleich alle Elkos und Folienkondensatoren ausgetauscht (auch als „recapping“ im Elektronikbereich bezeichnet).

Das Bild rechts zeigt das Netzteil eines Basis 108, einem Apple II Clone, dessen Kondensatoren komplett erneuert wurden und so wieder zum Laufen gebracht wurde.

 

Weiter >

ZX-Spectrum ROM Adapter für EPROM 27128

Leider kann das ROM des ZX Spectrum nicht direkt durch ein 27128 EPROM ersetzt werden. Zwar sind 613128 (Mask-ROM) und 27128 (EPROM) (fast) Pin-kompatibel, aber aufgrund der etwas unglücklichen Schaltung im ZX Spectrum können diese nicht einfach ausgetauscht werden. Das Mask-ROM verfügt über ein zusätzliches /OE1 (Pin 27) Signal, das EPROM dafür über Vpp (Pin 1) und /PGM (Pin 27). /OE0, /OE1 und /CS sind jeweils mit /RD, /ROMCS und /MEMRQ verbunden. Um nun ein EPROM zu verwenden, müssen zwei Signale UND-verknüpft werden, in diesem Fall /MEMREQ (Pin 20) und /ROMCS (Pin 27) und als /CE dem EPROM zugeführt werden. Das Bild zweigt den Prototypen, der mit Hilfe von zwei IC-Sockeln aufgebaut wurde.

Theoretisch könnte ein 7432 Gatter dafür verwendet werden, es reichen aber zwei schnelle Dioden aus (idealerweise Schottky-Dioden, zwei 1N4148 tun es aber auch). Die von mir auf Basis des Prototypen erstellte Platine verwendet zwei Dioden und zwei Widerstände. Da der Platz in einem ZX Spectrum sehr knapp ist, wird das EPROM kopfüber eingebaut. Sobald ich die Platinen vom Fertiger erhalten habe und diese passen, werde ich die Gerber-Daten hier zum Download anbieten. Wer dann Interesse an einer Platine hat, kann sich dann auch gerne an mich wenden.

Die Platine erlaubt auch den Einsatz eines 27256. In diesem Fall kann mit einem Jumper zwischen zwei Banks umgeschaltet werden.

Update vom 21.05.2019:

Nach knapp 10 Tagen sind die fertigen Platinen jetzt da. Der Adapter funktioniert perfekt. Leider geht es in einem ZX Spectrum mit Gummi-Tastatur sehr eng zu, so dass der Adapter nur dann passt, wenn die CPU nicht gesockelt ist und die Anschlussleisten kurz gehalten werden (ggf. muss das EPROM auch auf dem Adapter eingelötet werden). In einem 128er-Gehäuse passt die Platine so gerade eben auch bei einer gesockelten CPU. Zur Fehlersuche mit einem Test-ROM in einem 27128 oder 27256 EPROM ist sie aber auf jeden Fall bestens geeignet.