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.

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 am Ende des Beitrags die Gerber-Daten zum Download. Benötigt werden nur ein paar wenige Bauteile:

Ref Qnty Value Bemerkung
C1 1 1uF
C2 1 10nF
C3 1 10uF
D1-D8 8 LED 5mm
J1 1 USB_B_Micro 2pol. USB Stecker
R1-R5 5 10K
R6 1 1K
R7 1 3.3K
RN1 1 4,7K SIP 9 oder SIP 10 (letzter Widerstand wird nicht benötigt)
RN2 1 470 SIP 9 oder SIP 10 (letzter Widerstand wird nicht benötigt)
RV1 1 10K Potentiometer RM-065
SW1 1 RESET 6mm Push Button
U1 1 Sockel DIP40 ZIF oder Präzisionssockel
U2 1 NE555

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

Wer den Z80 CPU NOP-Generator nachbauen möchte findet am Ende des Beitrags die Gerber-Daten zum Download. Benötigt werden nur ein paar wenige Bauteile:

Ref Qnty Value Bemerkung
C1 1 10nF
C2 1 10uF
C3 1 1uF
D1-D8 8 LED 5mm
J1 1 USB_B_Micro 2pol. USB Stecker
R1 1 1K
R2 1 3.3K
R3-R15 5 10K
RN1 1 470 SIP 9 oder SIP 10 (letzter Widerstand wird nicht benötigt)
RV1 1 10K Potentiometer RM-065
SW1 1 RESET 6mm Push Button
U1 1 NE555
U2 1 Sockel DIP40 ZIF oder Präzisionssockel

Anstelle eines teuren ZIF-Sockels kann auch ein Präzisionssockel verwendet werden. Die Bauteilkosten liegen jeweils bei ca. 5-6 EUR zzgl. Platine. Über eine Rückmeldung würde ich mich sehr freuen. Auch Verbesserungsvorschläge sind sehr willkommen.

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.

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.

SRAM Tester rev.3

Update 30.8.2019:

Die neue Version des DRAM und SRAM Testers ist nun fertig. Mit Hilfe eines MOSFET wird die Versorgungsspannung nur noch während des Tests eingeschaltet. Damit wird ein Chip bei falscher Schalterstellung nicht ggf. schon beim Einsetzen zerstört.