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
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.
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
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
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.
6502 RAM/ROM Adapter für Commodore PET/CBM
Mit einem RAM/ROM Adapter kann ein Commodore PET oder CBM recht einfach mit 32 KByte RAM und Commodore BASIC 4.0 ausgestattet werden. Die alten ROMs und RAMs dürfen dabei noch auf dem Board bleiben, nur die CPU bekommt einen Zwischensockel.
Der hier vorgestellte 6502 RAM/ROM Adapter wurde inspiriert durch den Universal 6502 RAM/ROM Adapter von Nicolas Welte. Diese Variante ist mehr auf meine Bedürfnisse zugeschnitten und nicht mehr ganz so „universell“ wie die Ur-Version, hat aber auch einige Vorteile.
Die Änderungen zur Ur-Version sind recht zahlreich: Die Option-ROMs werden zusammen mit den ROMs umgeschaltet, DIL28-3 und SOIC sind für den RAM nicht mehr vorgesehen, die DIP-Schalter wurden entfernt und durch einfache Jumper ersetzt (der GAL enthält bereits Pull-ups, die in der Ur-Version mit einem Widerstandsnetzwerk auf Masse gezogen und bei Bedarf mit den Schaltern wieder hochgezogen wurden), der Bus-Transceiver 74HCT245 kann jetzt gesockelt werden und der Multiplexer 74157 wurde vollständig entfernt.
Weiterhin können anstelle eines 29C010 EEPROMS nun auch die Typen 29C020 und 29C040 eingesetzt werden (letzterer erlaubt 16(!) verschiedene ROM-Banks). Insgesamt werden mehrere Bausteine eingespart und die GAL-Logik ist einfacher.
TheC64: Neuauflage des C64 erscheint im Dezember
Nachdem am 29. März 2018 die (Mini-)Neuauflage unter dem Namen TheC64 mini erschien, soll im Dezember endlich die große Variante mit funktionaler Tastatur erscheinen. Entstanden war der Mini aus einer fehlgeschlagenen indiegogo Kampagne. Trotz verfehltem Finanzierungsziel veröffentlichte der Entwickler Retro Games – wenn auch etwas verspätet – zusammen mit dem Distributor Koch Media die kleine Konsole.
Versprochen wurde, dass derjenige, der bei der ursprünglichen Kampagne dabei war oder den TheC64 vor dem 28.9.2017 vorbestellt hatte, sich gleich über zwei TheC64 freuen soll, einmal den TheC64 mini und einen TheC64 in einem „großen“ Gehäuse mit funktionaler Tastatur. Mal sehen, ob sich der Hersteller an dieses Versprechen noch erinnern kann.
Der TheC64 kann nicht nur einen C64 emulieren, sondern auch einen VC20. Weiterhin sollen dieselben Spiele fest eingebaut sein, die auch schon beim TheC64 Mini mit dabei waren.
Bild: Retrogames Ltd.