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 >

Memory Tester for DRAM Chips with Arduino Mega 2560 (EN)

After my memory tester for SRAMs worked as intended, I went on with my second Arduino shield for testing DRAMs. With this shield the following DRAMs can be tested:

4k x 1: 2104A, 4015, 4027, 7027
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

Theoretically, all other DRAMs that have an identical pin assignments should also be able to be tested. The following video shows how the tester works with a faulty 4116.

Failed memory test of a 4116

To test 4116 chips, the shield has a pin header for the voltages + 5V, + 12V and -5V. In the video, a converted ATX power supply is used, which supplies these voltages stable.

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:

4k x 1: 2104A, 4015, 4027, 7027
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.

Memory Tester for SRAM Chips with Arduino Mega 2560 (EN)

The revised version of my memory tester has been finished. The following SRAMs can be tested:

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

Theoretically, all other SRAMs that have an identical pin assignments should also be able to be tested. The following video shows how the tester works with a healthy 2102.

Successful memory test of a 2102

Weiter >

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

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 >

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.