ATmega328P Development Board

Für kleinere Basteleien habe ich ein eigenes günstiges ATmega328P Board entwickelt. Es werden nur wenige Komponenten benötigt, so dass das Board nur ein paar Euro kostet. Die Pin-Leisten sind zwar kompatibel zum Arduino Uno, da aber kein USB-auf-Seriell Chip verwendet wird, muss der ATmega per ISP programmiert werden. Es gibt hierzu etliche günstige Programmierer zu kaufen (z.B. diesen hier bei Amazon), die von der Arduino IDE unterstützt werden (anstelle von „Hochladen“ wird „Hochladen mir Programmer“ verwendet).

Wer Interesse an dem Board hat, findet hier die Gerber-Dateien.

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.

Update 24.1.2020

Ab der Version 2.1 kann in einem simulierten Videospeicher geschrieben werden, dessen Inhalt dann auf einem LCD2004 angezeigt wird. Zusätzlich können die beiden Taster abgefragt werden.

Z80 CPU Tester mit Display

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

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 >