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.

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

35 Jahre Sinclair ZX Spectrum+

Am 2. Oktober 1984 erscheint der ZX Spectrum+, der über eine verbesserte Tastatur verfügt. Zwar sind jetzt die Tasten aus Plastik und es gibt zusätzliche Funktionstasten, aber unter dieser Tastatur findet man immer noch die gewohnte Tastaturfolie des Spectrum. Bis auf eine überarbeitete Platine ist er mit seinem Vorgänger technisch identisch. Erst im Februar 1985 erscheint mit dem ZX Spectrum 128 ein überarbeiteter ZX Spectrum.

Mehr zum ZX Spectrum gibt es in diesem Beitrag.

Vor 40 Jahren: Activision wird gegründet

1979 verließen Larry Kaplan, Alan Miller, Bob Whitehead und David Crane wegen der fehlenden Anerkennung, die Atari seinen Programmautoren zollte, das Unternehmen. Die Gruppe schloss einen Vertrag mit Jim Levy, einem früheren Geschäftsführer aus der Musikbranche. Mit einem Businessplan bewaffnet, der ein explosives Wachstum des Markts für Videospiele voraussagte, gründeten die vier Entwickler und Levy am 1. Oktober 1979 den ersten Dritthersteller für Videospiele.

Levy schlug den Firmennamen Activision vor, eine Kombination aus “Active Television”, das Regenbogenlogo und das einzigartige Verpackungsdesign. Mit an Bord war der Risikokapitalgeber Richard Muchmore. Mit knapp einer Million US-Dollar Risikokapital nahm das Startup in Mountain View, Kalifornien, seine Arbeit auf.

Mehr über Activision gibt es in diesem Beitrag.

Bild: Activision Logo, (r) Activision

Vor 25 Jahren: Microsoft stellt seine erste Homepage online

25 Jahre ist es jetzt her, da stellte Microsoft 1994 seine erste Homepage online. In dieser Zeit gab es nur wenige Webseiten und die wenigen Personen, die Zugang zum Internet hatten – hauptsächlich Angehörige von Hochschulen und Forschungseinrichtungen – wählten sich meistens per Modem ein (1994 mit Geschwindigkeiten von 9600 bis maximal 28800 bps).

Die erste Microsoft Website setzte auf pures HTML. Ein einziges Bild, für damalige Verhältnisse regelrecht futuristisch, zierte die Hauptseite. Aufgrund der langsamen Datenverbindungen konnte die Website auch als reine Textseite betrachtet werden. Auch wenn dieses aus heutiger Sicht mehr als antiquiert wirkt, damals war es etwas besonderes überhaupt über eine Website zu verfügen.

Bilder: Microsoft.com

35 Jahre Commodore C16

Vor genau 35 Jahren, am 13. September 1984, war der Verkaufsstart des Commodore 16. Der C16 und C116 gehörten zur selben Computerfamilie wie der Plus/4, wobei der Plus/4 über zusätzliche bereits eingebaute Anwenderprogramme verfügte. Software konnte prinzipiell zwischen den Rechnern ausgetauscht werden, jedoch hatte der C16 weniger Arbeitsspeicher zur Verfügung. Der C16 war ein Flop auf dem amerikanischen Markt und auch in Europa verkaufte er sich nur in einigen wenigen Ländern einigermaßen.

Über diesen und weitere Commodore Computer gibt es natürlich einen Eintrag im 8Bit-Museum.de.

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

Der hier vorgestellte NOP-Generator funktioniert nur mit Z80 CPUs. Da die CPU sehr langsam getaktet wird, weit außerhalb der Spezifikation, ist es durchaus möglich, dass auch eine eigentlich funktionsfähige CPU nicht mit dem NOP-Generator funktioniert. Die Funktionsweise ist sehr einfach: Die Datenleitungen werden durch Pull-Down-Widerstände auf Masse gezogen, so dass die CPU bei einem lesenden Speicherzugriff ein NOP (Opcode 0x00) liest. Nach einem Reset fängt die CPU an diese Kommandos ab Adresse 0 auszuführen.

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

6502 NOP Generator

Eine ähnliche Platine habe ich auch für die 6502 CPU vorbereitet. Der 6502 NOP Generator liefert den Opcode 0xEA, welches einem NOP beim 6502 entspricht. Nach einem Reset beginnt der 6502 NOP-Generator ab Adresse 0xEAEA zu zählen (nach einem Reset liest die CPU aus den Adressen 0xFFFC-0xFFFD die reale Startadresse ab und da diese immer 0xEA liest, ist dieses die 0xEAEA). Die LEDs sollten somit bei 11101010‬ beginnen zu zählen.

Das folgende Video zeigt, wie der Test für eine funktionsfähige CPU aussieht. Sehr schön zu sehen ist, wie nach dem Reset zuerst auf die Adressen 0xFFFC und 0xFFFD zugegriffen wird (davor noch ein wenig Initialisierung der CPU), um danach ab 0xEAEA zu zählen (LEDs: FC, FD, E9, E7, EA, E9, FD, [FF]FC, [FF]FD, [EA]EA, EB, EC, ED, EE, EF, F0, F1…, in eckigen Klammern die oberen 8 Bits zum Verständnis ergänzt).

6502 CPU NOP-Generator

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.

Wer den 6502 CPU NOP-Generator nachbauen möchte findet hier die Gerber-Daten und den Quellcode zum Download.

Vor 40 Jahren: Die ersten Atari 400/800 werden ausgeliefert

Als Reaktion auf den Apple II begann der Atari, bis dahin Marktführer bei Videospielen und Arcade-Automaten, mit der Entwicklung eines Heimcomputers. Es wurden im Januar 1979 zwei Geräte vorgestellt, der Atari 400 mit Folientastatur und anfangs nur 8 KByte Arbeitsspeicher und der Atari 800 mit Schreibmaschinentastatur und 48 KByte Arbeitsspeicher. Beide Geräte waren ansonsten technisch identisch und verwendeten einen 6502 Mikroprozessor. Im Gegensatz zum Apple II, in dem hauptsächlich Standardelemente eingesetzt wurden, setzte Atari auf Spezialbausteine, wie dem ANTIC, CTIA bzw. GTIA und POKEY.

Am 29. August 1979 wurden die ersten Atari 400 und Atari 800 ausgeliefert. Ab Dezember 1979 gingen die Geräte in Serienproduktion.

Mehr zu Atari und den Heimcomputern Atari 400 bzw. Atari 800 gibt es in diesem Beitrag.

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.