35 Jahre IBM AT

Am 14. August 1984 wurde der IBM Personal Computer/AT (Typ 5170), kurz IBM AT (für Advanced Technology), mit integrierter Festplatte und 6-MHz CPU vorgestellt. Der IBM AT stellte die dritte PC Generation dar, nach dem IBM PC XT und IBM PC. Er verwendete die 80286 Architektur von Intel, die erstmals einen Protected-Mode zusammen mit einem neuen 16-Bit Systembus bot. Als Betriebssystem kam PC DOS 3.0, das für den AT entwickelt worden war, zum Einsatz.

Mehr über IBM und den IBM PC gibt es in diesem Beitrag.

Speichertester für DRAM Chips für Arduino Mega 2560

Nachdem mein Speichertester für SRAMs wie gewünscht funktioniert, ging es an mein zweites Arduino Shield zum Testen von DRAMs. Mit dem können die folgenden DRAMs getestet werden:

16k x 1: 4116, 2117, 6116, 8116, 416, 2116, 3716, U256
16k x 1: 2118
16k x 4: 4416, 2620
32k x 1: 3732H (4532-L4) und 3732L (4532-L3)
64k x 1: 4164, 2600, K565RU5, 8264, 3764
64k x 4: 4464, 41464, 50464
256k x 1: 41256, 53256, 81256, MT1259 883C
256k x 4: 44256, 514256
1024k x 1: 41024, 411000

Theoretisch sollten auch alle anderen DRAMs getestet werden können, die eine identische Pinbelegung besitzen. Das folgende Video zeigt die Funktionsweise des Testers mit einem fehlerhaften 4116.

Fehlgeschlagener Speichertest eines 4116

Damit auch 4116 Chips getestet werden können, besitzt das Shield eine Pfostenleiste für die Versorgungsspannungen +5V, +12V und -5V. In dem Video kommt ein umgebautes ATX-Netzteil zum Einsatz, welches diese Versorgungsspannungen stabil liefert.

Speichertester für SRAM Chips für Arduino Mega 2560

Die überarbeitete Version meines Speichertesters ist nun fertig. Getestet werden können die folgenden SRAMs:

1k x 1: 2102
1k x 4: 2114, 2148, 2149, 5114, 6514, C214, U224
1k x 4: 6550
1k x 8: 4118, 4801
2k x 8: 2016, 4016, 4802, 4812, 6116, 6512
8k x 8: 2064, 2464, 6264, 2465
32k x 8: 20256, 61256, 62256, 71256

Theoretisch sollten auch alle anderen SRAMs getestet werden können, die eine identische Pinbelegung besitzen. Das folgende Video zeigt die Funktionsweise des Testers mit einem fehlerfreien 2102.

Erfolgreicher Speichertest eines 2102

Auf den drei folgenden Videos werden 6550 getestet. Der erste Chip ist funktionsfähig, der zweite liefert beim Testvektor „0101“ (=5) den Wert „0000“ (=0) zurück und der dritte Chip liefert beim Testvektor „0000“ (=0) den Wert „0001“ (=1) zurück.

Erfolgreicher Speichertest eines 6550
Fehlgeschlagener Speichertest eines 6550 (Bit dauerhaft „0“)
Fehlgeschlagener Speichertest eines 6550 (Bit dauerhaft „1“)

Als Bonus kann über den Inhalt von EPROMs der Typen 2716, 2732, 2764, 27128, 27256 und 27512 eine CRC32 angezeigt werden. Diese kann mit einem vorliegenden ROM-Image verglichen werden, um zu sehen ob der ROM-Inhalt identisch ist.

Grundsätzlich ist der Tester schon voll funktionsfähig. Ich möchte die Versorgungsspannung jetzt noch (ab-)schaltbar machen, damit bei falscher Schalterstellung ein Chip nicht aus versehen zerstört werden kann. Der Platinenentwurf ist schon fertig, aber es wird wieder etwas dauern, bis ich die neue Version fertigen lassen werde.

Vor 35 Jahren: Die erste E-Mail wird in Deutschland empfangen

Am 3. August 1984 um 11:14 Uhr wurde die erste Internet E-Mail in Deutschland von Michael Rotert an der Universität Karlsruhe (TH) unter der Adresse „rotert@germany“ empfangen. Es handelte sich dabei um eine Grußbotschaft von Laura Breeden („breeden@scnet-sh.arpa“) aus Cambridge, Massachusetts.

„Wilkomen in CSNET! Michael, This is your official welcome to CSNET.“

Die Nachricht wurde über die US-amerikanischen Plattform CSNET, die zur elektronischen Kommunikation von Wissenschaftlern gedacht war, einen Tag zuvor, am 2. August 1984 um 12:21 Uhr, losgeschickt.

Mehr wissenswertes zur E-Mail und ihrer Geschichte gibt es in der Wikipedia.

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

Fehlender Piezo-Lautsprecher

Einen Piezo-Lautsprecher hat der Omni übrigens nicht eingebaut. Möchte man den typischen ZX Spectrum Sound genießen, muss man hier selbst einen geeigneten Piezo-Laufsprecher einbauen. Platz hierfür ist auf der Platine vorhanden. Diesen hätte man mit einem DIP Schalter schaltbar machen können, welches wesentlich flexibler gewesen wäre.

Der Omni verfügt aber nicht nur über die 128 KByte Arbeitsspeicher der „großen“ ZX Spectrums, sondern verfügt auch über mehr ROM-, genauer über EEPROM-, Speicher, die es erlauben, mehr als ein Betriebssystem unterzubringen. So ist es möglich per DIP-Schalter folgende ROMs zu aktivieren:

  • Diagnose ROM (funktioniert nicht mit divMMC)
  • Jupiter ACE Emulator (funktioniert nicht mit divMMC)
  • ZX81+ Emulator (funktioniert nicht mit divMMC)
  • 128 BASIC (1985) (divMMC in USR0 Mode) und AY-3-8912 Soundchip
  • SE Basic 3.2
  • +2e BASIC (divMMC in USR0 Mode) und AY-3-8912 Soundchip
  • 48 BASIC
  • 128 BASIC (1986) (divMMC in USR0 Mode)

Bis auf den fehlenden Piezo-Lautsprecher, hört sich das alles erst einmal gut an, aber wo viel Licht ist, da ist auch Schatten, aber dazu später mehr.

Bestellung und Lieferung

Bestellt hatte ich den Omni am 1. Februar 2019. Die Lieferung zog sich eine ganze Weile hin, denn der Omni wird per Hand in China gefertigt. Letztendlich konnte ich ihn am 25.7.2019, also nach knapp einem halben Jahr, in Händen halten. Geliefert wurde der Omni in einem gut ausgepolsterten Karton mit US-Netzteil (110-240V) mit EU-Adapter, RGB auf SCART Kabel und dem Omni. Der Monitor wurde separat verschickt und war eine Woche zuvor bereits am Ziel.

Der Omni 128HQ Laptop

Rechner und Monitor werden getrennt verschickt, um die Kosten gering zu halten. Der Zusammenbau ist einfach. Vier Schrauben müssen gelöst, dann kann das Display mit zwei Halterungen unten den Rechner geschraubt werden. Hierzu liegen vier geeignete, etwas längere Schrauben bei.

Auf der linken Seite des Omni befindet sich eine Reset-Taste, die man beim Original noch schmerzlich vermisste. Auf der rechten Seite sind die DIP-Schalter für Betriebssystemwahl, esxDOS (0.86beta4 oder 0.85) bzw. UnoDOS 3, Aktivierung des Kempston-Joysticks und des divMMC Interfaces. Weiterhin befindet sich dort der Doppelschacht für SD Cards und der NMI-Schalter zum Aufrufen von esxDOS.

0-Ohm Widerstände für R19, R20 und R21

Auf der Rückseite befindet sich der Stromanschluss, der typische ZX Spectrum Expansionsslot und die EAR/MIC-Anschlüsse. Abweichend dazu gibt es anstelle des TV-Anschlusses einen RGB Anschluss, einen derzeit nicht funktionierenden HDMI Anschluss und einen Netzschalter. Die EAR/MIC Anschlüsse sind etwas anders belegt als beim Original. Der linke Anschluss (direkt neben der HDMI Buchse) wird als EAR/MIC verwendet. Der rechte trägt ein Stereo-Audio Signal vom AY-3-8912 Soundchip.

Verwendet man das SCART-Kabel zum Anschluss des Omni, stellt man schnell fest, dass die normalen Farben und die hellen Farben im BRIGHT 1 Modus identisch sind. Das Signal ist übersteuert. Korrigieren kann man dieses, indem man alle Farbsignale im SCART-Kabel über je einen 68 Ohm Widerstand führt. Auf der Platine sind R19, R20 und R21 mit einem NULL-Ohm Widerstand bestückt. Wer sich zutraut diese zu wechseln, kann auch hier die 68 Ohm SMD Widerstände einsetzen (das SCART-Kabel dürfte dabei die einfachere Wahl sein).

Inbetriebnahme und Funktion

Defekter DIP Schalter Nr.1

Die Inbetriebnahme war nicht so einfach. Habe ich oben schon von ein paar Schattenseiten berichtet, ging es jetzt los. Nach dem Anschließen, begrüßte mich der Omni mit „(c) 1982 Sinclair Research Ltd“. Das sah gut aus… auf dem ersten Blick. Denn der Omni sollte nach der DIP-Schalter Einstellung als ZX Spectrum 128K starten, also mit Auswahlmenü.

Ich sah mir daraufhin die DIP Schalter noch einmal genauer an. Der erste DIP-Schalter hatte eine fehlende Nase und war damit offensichtlich nicht mehr verstellbar. Der Stellung nach war er ausgeschaltet, also sollte das divMMC nicht aktiv sein. Allerdings reagierte der Omni mit einem Reset, wenn man die NMI-Taste drückte.

zufälliges Pixelchaos

Ich probierte daraufhin die weiteren Betriebssysteme aus, auf die der Omni wie folgt reagierte:

  • 111 = 48k Mode – „(c) 1982 Sinclair Research Ltd“ (1986, 128K Spectrum ROM)
  • 110 = 48k Mode – „(c) 1982 Sinclair Research Ltd“
  • 101 = +2e BASIC – „1982 Amstrad“
  • 100 = SE BASIC 3.2 – „Nine Tiles Networks Ltd.“
  • 011 = 48k Mode – „(c) 1982 Sinclair Research Ltd“ (1985, 128 K BASIC ROM)
  • 010 = zufälliges Pixelchaos (ZX81+ Emulator)
  • 001 = zufälliges Pixelchaos (Jupiter ACE Emulator)
  • 000 = zufälliges Pixelchaos (Retroleum Test-ROM)

Der Omni hatte also ein Hardwareproblem. Als ein weiteres Hardwareproblem stellte sich der Micro-SD Schacht heraus, der nicht funktionierte: Eine Micro-SD Card im SD-Adapter funktionierte im großen Schacht, dieselbe Karte wurde aber im Micro-SD Schacht nicht erkannt (auch andere Karten verschiedener Größen und von verschiedenen Herstellern nicht, die ich noch zur Hand hatte).

Nach der Konfiguration einer normalen SD Karte mit esxDOS Version 0.96 beta 4 (die finale Version 0.86 läuft nicht, aktuell auch keine neuere Version), startete divMMC zumindest wie es soll. Möchte man Spiele von „Ultimate Play the game“ starten, muss man zuvor RANDOMIZE USR 32765,48 eingeben. Mit diesem Befehl wird wird das Bank-Switching deaktiviert, ansonsten stürzen die Spiele recht schnell ab (Jetpac z.B. direkt nach Start des Spiels, wenn der erste Ton ausgegeben wird). Leider ließen sich aufgrund des Hardwareproblems noch nicht alle Features vollumfänglich testen, lediglich den Kempston-Interface kann ich noch attestieren, dass es funktioniert.

Bugfixes auf der Platine

Ein weiterer Minus-Punkt – und der wäre nun definitiv vermeidbar – ist die veraltete Platine. Der im Juli 2019 erhaltene Omni enthält eine Platine „Issue 2 Sep 2017“. Auf dieser sind sogar noch zwei Korrekturen in Form von Drähtchen vorhanden, die von der CPU (A11) zum Speicherchip (A12) und von diesem (OE/) zum divMMC Chip gehen. Das erscheint etwas wirr, insbesondere passt die Pinbelegung der Z80 CPU PLCC im Schaltplan nicht zu der realen Belegung der Z80 in PLCC Bauweise. Wie ich später noch erfahren habe, sind diese Korrekturen nicht auf jeder Platine vorhanden. Also sind die Leiterbahnunterbrechungen entweder bei der Fertigung oder beim Bestücken der Platine aufgetreten.

Leider sind alle Chips fest verlötet. Zumindest die EEPROMs mit den Betriebssystemen sollten gesockelt sein, damit diese in einem Programmer bei einem Fehler leicht neu programmiert werden können. Für einen reinen Anwender wäre das sicherlich verschmerzbar, aber da die Zielgruppe wohl doch eher Bastler sind, die auch einmal ein anderes Betriebssystem (auch für das divMMC) brennen möchten, wären gesockelte Chips sicherlich zweckmäßiger. Es gibt einige (ältere(?)) Platinen mit derselben Versionsnummer bei der die EEPROMs und die Z80 CPU gesockelt sind, die Angabe der Issue ist damit nicht sehr aussagekräftig.

Die Ladeelektronik für die Akkus ist ein weiterer Schwachpunkt. Der Omni kann mit Akkus betrieben werden. Hierzu muss aber nachträglich auf einem Spannungsregler eine Lötbrücke gesetzt werden. Fehlt diese läuft der Omni zwar auf Akkus, diese werden aber nicht geladen. Hier stellte sich ein weiter Defekt heraus. Der Omni sollte eigentlich immer mit Netzteil arbeiten, unabhängig davon, ob diese Lötbrücke gesetzt ist. Das vorliegende Gerät startete aber nicht bis die Brücke wieder entfernt wurde. Die Ladeelektronik war also ebenfalls fehlerhaft.

Insgesamt lässt die Verarbeitungsqualität sehr zu wünschen übrig (auch für ein in China gefertigtes Produkt). Das Gehäuse ist teilweise schief und nicht besonders ansehnlich ausgesägt worden, um die zusätzlichen Elemente unterzubringen. Die Montage der DIP-Schalter (die sehr billig wirken und vermutlich nicht viele Schaltvorgänge verkraften werden) ist sehr abenteuerlich damit diese 90 Grad gekippt bedient werden können. Anstelle von stabilen DSUB 9 Buchsen aus Metall mit 90 Grad Anschlüssen wurden billige Kunstoffbuchsen mit geraden Anschlüssen verwendet, die oben und unten auf der Platine verlötet wurden. Das Display lässt sich nicht vollständig zuklappen und steht zudem ein paar Millimeter über, wobei sich letzteres aufgrund des verwendeten (günstigen) Standarddisplay verschmerzen lässt. Alles in allem ist da aber noch deutlich Luft nach oben.

Die Ladeelektronik konnte ich zwei Tage später selbst leicht reparieren. Als Regler wird ein TP5100 Modul verwendet, welches in chinesischen Internetshops für 50 Cents zu finden ist, und mit vier Steckleisten auf der Platine verlötet ist. Diese habe ich nur nachgelötet und jetzt reagiert der Lader (hoffentlich auch auf Dauer) so, wie er soll.

Service

defekter DIP Schalter

Der Service ist für ein so kleines Projekt recht gut. Schon kurze Zeit nach dem ersten Fehlerreport meldete sich Relja Mirkovic und nannte mir ein „EU RMA & Service Centre“ in Kroatien (es gibt noch ein weiteres Center in Großbritannien, welches aber nur für Deutschland nicht zuständig ist). Die Fehlerbeschreibung mit Bildern und einem Video schickte ich dem Betreiber Zoran Bosković. Nach etwas über eine Woche meldete sich Zoran mit dem Vorschlag den Omni zur Reparatur einzusenden.

Inzwischen hatte ich mir das Board aber noch einmal genauer angesehen und bemerkt, dass hier versucht wurde den defekten DIP-Schalter derart zu reparieren, indem der erste DIP-Schalter dauerhaft gebrückt wurde (siehe Bild). Ich ersetzte den gesamten Schalter durch einen qualitativ besseren Schalter. Da ich keinen Schalter in „Piano“-Form vorrätig hatte, verwendete ich dieselbe abenteuerliche Konstruktion. Hier wäre es definitiv besser gewesen DIP-Schalter in Piano-Bauweise zu verwenden. Diese gibt es auch in einem sehr flachen Gehäuse, so dass sie in das Gehäuse des ZX Spectrums gut passen.

ZX Omni, neuer DIP SchalterNach dem Austausch lässt sich das divMMC ausschalten und somit können jetzt auch die anderen Betriebssysteme ohne Absturz ausgewählt werden.

Von Relja erfuhr ich, dass durch die hohe Nachfrage der Monteur (alle Boards sind handgefertigt), wohl selbst versucht hatte eine schnelle Lösung zu finden, welches hier zu Lasten der Qualität ging. Dieses soll in Zukunft nicht mehr vorkommen. Relja stellte mir zudem ein neues Board in der Revision 3 in Aussicht. Hier sieht man, dass die Personen hinter dem Omni wirklich versuchen aus den Fehlern zu lernen und Vorschläge von Anwendern versuchen umzusetzen.

Fazit

Der Omni könnte ein schöner Rechner für ZX Spectrum Fans sein, besitzt aber noch einige Schwachstellen und Fehler, über die man sich im Klaren sein sollte. Hauptkritikpunkt sind die Qualität einiger Bauteile, die fehlende bzw. fehlerhaft umgesetzte Funktion (HDMI bzw. fehlende Widerstände bei der SCART-Ausgabe) und Probleme bei der Fertigung.

Nachdem die gravierendsten Fehler in Eigenregie gelöst werden konnten (kalte Lötstelle an der Ladeelektronik, „SET“ Brücke nicht gesetzt und der defekte DIP-Schalter), funktioniert der Omni. Es bleibt ein defekter Mikro SD Schacht, der aber aufgrund der doppelten Auslegung zu verschmerzen ist.

In der Übersicht sehen die Vor- und Nachteile wie folgt aus:

Vorteile Nachteile
  • eingebautes divMMC mit zwei SD Kartenslots
  • zwei Joystick Ports (Kempston und Sinclair kompatibel)
  • RGB-Ausgang
  • Ein-/Ausschalter und Reset-Taster
  • Akkubetrieb möglich
  • 9″ Display anschraubbar
  • mitgeliefertes SCART-Kabel
  • HDMI-Ausgang vorhanden aber nicht funktionsfähig
  • Akkubetrieb nur mit nachträgliche Lötarbeiten möglich
  • Bildqualität mangelhaft (nachträgliche Lötarbeiten erforderlich)
  • kein Piezo-Lautsprecher vorhanden
  • Passform des Displays nicht optimal
  • alle ICs verlötet, auch die EEPROMs
  • schlechte Qualität der DIP Schalter
  • schlechte Verarbeitung der Joystick Ports (Kunststoffgehäuse und Lötverbindung)
  • sehr lange Lieferzeit

In dem vorliegenden Testgerät

  • defekter DIP-Schalter wurde fehlerhaft repariert (Austausch erforderlich)
  • kalte Lötstelle am Laderegler
  • Micro SD Slot defekt

Für den Preis von US$ 150 ist der Omni 128HQ kein Schnapper, insbesondere verspricht er aktuell mehr, als er tatsächlich halten kann. Derzeit ist er für einen Bastler mit Löterfahrung auf jeden Fall ein nettes Spielzeug. Wer aber sowieso mit einem Lötkolben umzugehen weiß, der sollte überlegen ggf. einen Harlequin 128k Bausatz zu erwerben (oder etwas teurer auch fertig aufgebaut). Zusammen mit einem divMMC Interface und einem LCD-Monitor (ca. 30-40 EUR) liegt man dann noch unter den 176 USD, die ein Omni kostet.

Sollte RetroRadionics die oben beschriebenen Probleme mit einem neuen Board in den Griff bekommen, dann ist er aber auf jeden Fall eine Überlegung wert und wäre auch einem reinen Anwender zu empfehlen., denn ein eingebautes divMMC und die Möglichkeit den Omni mit Akkus zu betreiben sind schon nette Features.

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.

Tipp: Der große Videospiele-Crash

Stage 3 Level 5Kommerzielle Videospiele gibt es nun seit über 12 Jahren und während dieses wie eine wunderbar lange Zeit aussieht, ist es eine unglaublich kurze Zeit für eine Industrie, die erst entstanden ist und schließlich den Markt auf dem Unterhaltungssektor komplett dominiert. Aber wenn man jetzt denkt, der Aufstieg verlief schnell, bis zum kompletten Untergang brauchte es nur 6 Monate.

Zum Artikel: Heimvideospiele – Der große Videospiele-Crash!