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 >

Speichertester für SRAM Chips (Arduino Shield Prototyp)

Vor ein paar Tagen habe ich von meinem Speichertesters für SRAMs berichtet. Heute kann ich bereits einen Prototypen eines Arduino Shields zeigen.

Speichertest eines 2114
Für den im Video gezeigten Aufbau verzichte ich aus Kostengründen noch auf einem ZIF-Sockel, da die Platine noch einmal überarbeitet wird (u.a. sind die Bohrlöcher für die Mini-Switches zu klein). Ansonsten ist die Schaltung voll funktionsfähig und die Software unterstützt bereits 2102, 2114 und 6550 SRAMs. Für DRAMs ist ein weiteres Arduino Shield in Vorbereitung.

Speichertester für 2114 und 6550 SRAM Chips (Prototyp)

Da es sehr mühselig ist alte Speicherchips durch Ausprobieren zu testen (die aktuellen Programmer kennen die alten Chips meistens nicht mehr), habe ich mit einem Arduino Mega 2560 einen einfachen eigenen Tester improvisiert. Aktuell kann dieser nur SRAMs vom Typ 2114 (1k x 4), 2102 (1k x 1) und 6550 (4k x 4) testen, ich möchte aber noch weitere Chips, wie z.B. die gängigen DRAMs (41xxx und 44xxx), hinzufügen.

Speichertest eines 2114

Im Video dauert der Test noch extrem lang, da hier noch jede Aktion auf dem Display angezeigt wird. Aktuell dauert ein vollständiger Test eines 2114 SRAMs mit vier Pattern ca. 3-4 Sekunden.

Auch ein 6550 kann getestet werden, trotz einiger Besonderheiten, wie vier Chip-Selects und Taktsignal. Hier schon die optimierte (schnellere) Software.

Speichertest eines 6550
Tritt ein Fehler auf, wird dieser mit der entsprechenden Speicheradresse angezeigt. Im Bild wurde an Adresse 0 eine 0x0 erwartet, aber eine 0x3 gelesen.

Für den Speichertester ist bereits ein Arduino-Shield in Vorbereitung. Der Code muss aktuell noch speziell für den zu testenden Chip geladen werden.

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.

ZX Spectrum Nachbau: Superfo Harlequin (Rev.G)

Vor kurzem hatte ich einen ZX Spectrum Nachbau „Superfo Harlequin“ fertiggestellt. Die Platine in der Revision F wies allerdings noch ein paar kleinere Fehler auf, die leicht mit etwas Fädeldraht beseitigt werden konnten.

Auch wenn der Rechner problemlos läuft, habe ich mir die aktuelle Rev. G besorgt und den Harlequin noch einmal aufgebaut. Inzwischen sind die notwendigen Bauteile sogar relativ leicht – sogar als Kit – zu bekommen; entschließt man sich aber dazu ein Kit-Bausatz zu kaufen, sollte man einplanen ggf. noch ein paar Bauteile auszutauschen: Billige IC-Sockel mit Federkontakten sollten durch Präzisionssockel ersetzt werden und bei den Elkos sollte man auf möglichst kleine Baugrößen setzen, damit der zusammengebaute Rechner auch in ein ZX Spectrum Gehäuse passt.

Damit der ZX Harlequin auch richtig zur Geltung kommt, sollte man noch ein Replika-Gehäuse mit Tastaturmatte und Tastaturabdeckung dazukaufen. Diese gibt es von einigen Händlern in verschiedenen Farben, aber auch in den Originalfarben. Ich habe mir für den ZX Harlequin ein transparentes Gehäuse mit schwarzer Tastaturabdeckung besorgt.

ZX Spectrum Nachbau: Superfo Harlequin (Rev.F)

Es ist jetzt knapp fünf Jahre her als sich Ingo Truppel daran machte einen ZX Spectrum Nachbau, den Superfo Harlequin, aufzubauen. Als er mit dem Aufbau gerade fertig war gab es eine neue Revision der Platine (Rev.F), die einige Fehler ausmerzte. Kurzerhand startete er in seinem Sinclair Forum einen Aufruf für eine Sammelbestellung. Das Gesamtpaket umfasste nicht nur die Platine, sondern Ingo besorgte auch alle notwendigen Bauteile und verpackte diese in unzählige, sorgfältig beschriftete, Tütchen. Gut 22.000 Bauelemente kamen so zusammen, die an die ca. 100 Interessenten verschickt wurden. Zum Aufbau benötigte man nur ein Gehäuse – am besten gleich mit einer neuen Tastaturmatte.

Ich war einer der Interessenten und bekam Anfang 2014 alle notwendigen Bauteile zugeschickt. Leider hatte ich lange keine Zeit den Rechner aufzubauen und so schlummerte die Platine bis Weihnachten dieses Jahres in der Schublade. In den letzten drei Tagen habe ich den Rechner jetzt zusammengelötet.

Der Aufwand für den Aufbau war überschaubar: In nur knapp sechs Stunden war die Platine komplett bestückt. Mit eingerechnet ist auch der Aufwand einiger Korrekturen, die oben links an der Chich-Buchse und an den ICs in der zweituntersten Reihe zu sehen sind. In einer neuen Platinenrevision (Rev.G) sind diese Probleme inzwischen korrigiert worden.

Insgesamt ist der Harlequin ein genialer ZX Spectrum Nachbau, denn die fehleranfällige ULA wird nicht benötigt, da sie komplett durch TTL substituiert wurde. Dadurch sind zwar ein paar ICs mehr auf der Platine als beim Original, aber Platz ist ja genug vorhanden ;)

Update:

Ich habe den Fehler auf der Platine nachträglich noch etwas eleganter gelöst, indem einige Leiterbahnen aufgetrennt und dann die neuen Verbindungen per Fädeltechnik hergestellt wurden. Das ist zwar nicht ganz so trivial wir die Verdrahtung auf dem ersten Bild, dafür aber optisch durchaus ansprechender.