CPU NOP-Tester

Von einigen Projekten habe ich noch unbestückte Platinen vorrätig. Bei Interesse gebe ich diese gerne zum Selbstkostenpreis ab (⇒Kontaktformular).

Hinweis: Die LEDs werden mit einem 1k Ohm Vorwiderstand (als Netzwerk) betrieben. Normale rote LEDs sollten noch ausreichend hell leuchten. Es können auch Low-Current LEDs verwendet werden. Dann sollten die Vorwiderstände ca. 2k Ohm betragen.

Note: The LEDs are operated with a 1k Ohms series resistor (as a network). Normal red LEDs should still shine brightly enough. Low-current LEDs can also be used. Then the series resistors should be approx. 2k Ohms.


Z80 NOP-Generator

In einem Z80 NOP-Generator eingesetzt führt eine Z80 CPU nur NOP-Kommandos (No Operation) aus. Mit Hilfe von acht LEDs können die Adressleitungen beobachtet werden. Führt die CPU die NOPs aus, sollten die Adressen permanent hochgezählt werden. Damit ist zwar kein vollständiger Test der CPU Möglich, aber zumindest ein Quick-n-Dirty-Check.

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.

YouTube: NOP Generatoren für Z80 und 6502 Prozessoren

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

Stückliste / BOM
Ref Qnty Value Remark
C1 1 1uF
C2 1 10nF
C3 1 10uF oder 4,7uF (schnellerer Takt)
D1-D8 8 LED 5mm
J1,J2 1 USB_B 2pol. Micro-USB Buchse, z.B. AliExpress oder USB-B Buchse
R1-R5 5 10K
R6 1 1K
R7 1 3.3K
RN1 1 4,7K SIP 9
RN2 1 1K SIP 9
RV1 1 10K Potentiometer RM-065
SW1 1 RESET 6mm Push Button
U1 1 Sockel DIP40 ZIF oder Präzisionssockel
U2 1 NE555

Anstelle eines teuren ZIF-Sockels kann auch ein Präzisionssockel verwendet werden. Die Bauteilkosten liegen jeweils bei ca. 5-6 EUR zzgl. Platine. Die Platine kann wahlweise mit einer Micro-USB Buchse oder Standard USB-Buchse bestückt werden.

Der NOP-Generator ist hier in Aktion zu sehen.

Gerber-Dateien für Z80 CPU

Ein technischer Hinweis zum Z80 CPU NOP-Generator:

Ich wurde gefragt, warum nach einiger Zeit die A7-LED doppelt so schnell blinkt wie A0, A0-A6 aber normal hoch zählen. Die Antwort ist einfach: Es liegt an den Refresh-Zyklen. Die CPU macht in jedem T3/T4-Zyklus einen Refresh, indem an A0-A6 eine Adresse angelegt wird (128 Zeilen). Wird die CPU gestartet liest die CPU ein NOP von Adresse 0 und führt einen Refresh für Zeile 0 aus, danach folgt Adresse 1 und Zeile 1 usw. bis Adresse 127 und Zeile 127. Ab jetzt beginnt das doppelt so schnelle blinken der A7-LED: Die CPU liest von Adresse 128 (A0-A6=Low, A7=High), danach folgt der Refresh für Zeile 0 (A0-A6=Low, A7=Low). Damit sieht es so aus, als ob die A7-LED doppelt so schnell blinkt. Es liegt einfach daran, dass die Speicherzugriffe und das Anlegen der Refresh-Zeilen synchron laufen. Das würde sich erst nach einem Sprungbefehl ändern.

A technical note on the Z80 CPU NOP generator:

After a while the A7-LED flashes twice as fast as A0, but A0-A6 counts normally high. The answer is simple: it’s because of the refresh cycles. The CPU makes a memory refresh in every T3/T4 cycle by applying an address to A0-A6 (128 rows). When the CPU is started, the CPU reads a NOP from address 0 and does a refresh for row 0, followed by address 1 and row 1, etc. up to address 127 and row 127. From now on, the A7-LED starts to flash twice as fast: the CPU reads from address 128 (A0-A6 = Low, A7 = High), followed by the memory refresh for row 0 (A0-A6 = Low, A7 = Low). So it looks like the A7-LED is blinking twice as fast. It is simply because memory access and memory refresh run synchronously. That will only change after a jump command.


6502 NOP-Generator

In einem 6502 NOP-Generator eingesetzt führt eine 6502 CPU nur NOP-Kommandos (No Operation) aus. Mit Hilfe von acht LEDs können die Adressleitungen beobachtet werden. Führt die CPU die NOPs aus, sollten die Adressen permanent hochgezählt werden. Damit ist zwar kein vollständiger Test der CPU Möglich, aber zumindest ein Quick-n-Dirty-Check.

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.

YouTube: 6502 NOP-Generator identifiziert einen 6502C („Sally“)

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

Stückliste / BOM
Ref Qnty Value Remark
C1 1 10nF
C2 1 10uF oder 4,7uF (schnellerer Takt)
C3 1 1uF
D1-D8 8 LED 5mm
J1,J2 1 USB_B 2pol. Micro-USB Buchse, z.B. AliExpress oder USB-B Buchse
R1 1 1K
R2 1 3.3K
R3-R17 15 10K
RN1 1 1K SIP 9
RV1 1 10K Potentiometer RM-065
SW1, SW2 2 RESET / SALLY 6mm Push Button
U1 1 NE555
U2 1 Sockel DIP40 ZIF oder Präzisionssockel
JP1, JP2 2 1×02 Pin Header

Anstelle eines teuren ZIF-Sockels kann auch ein Präzisionssockel verwendet werden. Die Bauteilkosten liegen jeweils bei ca. 5-6 EUR zzgl. Platine. Die Platine kann wahlweise mit einer Micro-USB Buchse oder Standard USB-Buchse bestückt werden.

Hinweise zu den Jumpern:

Der Prozessor ist nur über Pin 21 mit GND verbunden, Pin 1 ist offen. Das wurde gemacht, um auch einen WDC62C02 mit VPB, Vector Pull, an Pin 1 testen zu können. Mit JP1 kann Pin 1 auf Vss gelegt werden, falls dieses notwendig sein sollte.

Soll ein WDC65C02 getestet werden, muss mit JP2 der Pin 36 (BE, Bus Enable) mit 10k auf Vcc gelegt. Beim „normalen“ 6502 ist dieser Anschluss nicht belegt.

Der 6502C (ein modifizierter 6502 für Atari XE/XL Computer, Codename „Sally“) besitzt an Pin 35 ein /HALT Signal. Mit dem Taster „SALLY“ wird dieser auf Masse gezogen. Ein „Sally“ geht dann in den HALT-Zustand, d.h. alle LED sind aus.

Notes on the jumpers:

The processor is only connected to GND via pin 21, pin 1 is open. This was done in order to also be able to test a WDC62C02 with VPB, Vector Pull, on pin 1. With JP1, pin 1 can be connected to Vss, if this should be necessary.

If a WDC65C02 is to be tested, pin 36 (BE, Bus Enable) with JP2 must be connected to Vcc with 10k. With the „normal“ 6502 this connection is not used.

The 6502C (a modified 6502 for Atari XE/XL computers, code name „Sally“) has a /HALT signal on pin 35. With the button „SALLY“ this is pulled to ground. A „Sally“ then goes into the HALT state, i.e. all LEDs are off.

Der NOP-Generator ist hier in Aktion zu sehen.

Gerber-Dateien für 6502 CPU

6510 NOP-Generator

In einem 6510 NOP-Generator eingesetzt führt eine 6510 CPU nur NOP-Kommandos (No Operation) aus. Mit Hilfe von acht LEDs können die Adressleitungen beobachtet werden. Führt die CPU die NOPs aus, sollten die Adressen permanent hochgezählt werden. Damit ist zwar kein vollständiger Test der CPU Möglich, aber zumindest ein Quick-n-Dirty-Check.

Der 6510 NOP Generator liefert den Opcode 0xEA, welches einem NOP beim 6510 entspricht. Nach einem Reset beginnt der 6510 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.

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

Stückliste / BOM
Ref Qnty Value Remark
C1 1 10nF
C2 1 10uF oder 4,7uF (schnellerer Takt)
C3 1 1uF
D1-D8 8 LED 5mm
J1,J2 1 USB_B 2pol. Micro-USB Buchse, z.B. AliExpress oder USB-B Buchse
R1 1 1K
R2 1 3.3K
R3-R15 5 10K
RN1 1 1K SIP 9
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. Die Platine kann wahlweise mit einer Micro-USB Buchse oder Standard USB-Buchse bestückt werden.

Der NOP-Generator ist hier in Aktion zu sehen.

Gerber-Dateien für 6510 CPU

6800 NOP-Generator

In einem 6800 NOP-Generator eingesetzt führt eine 6800 CPU nur NOP-Kommandos (No Operation) aus. Mit Hilfe von acht LEDs können die Adressleitungen beobachtet werden. Führt die CPU die NOPs aus, sollten die Adressen permanent hochgezählt werden. Damit ist zwar kein vollständiger Test der CPU Möglich, aber zumindest ein Quick-n-Dirty-Check.

Der 6800 NOP Generator liefert den Opcode 0x12, welches einem NOP beim 6800 entspricht. Nach einem Reset beginnt der 6800 NOP-Generator ab Adresse 0x1212 zu zählen (nach einem Reset liest die CPU aus den Adressen 0xFFFE-0xFFFF die reale Startadresse ab und da diese immer 0x12 liest, ist dieses die 0x1212).

Der NOP-Generator erzeugt hier kein perfektes Taktsignal sondern invertiert Phi2 einfach. Für den Generator reicht das aus. Es darf nur einer der ICs bestückt werden, entweder der 4093 oder der 40106.

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

Stückliste / BOM
Ref Qnty Value Remark
C1 1 1uF
C2 1 10nF
C3 1 2.2uF
D1-D8 8 LED 5mm
J1, J2 1 USB_B 2pol. Micro-USB Buchse, z.B. AliExpress oder USB-B Buchse
R1-R14 14 10K
R15 1 1K
R16 1 3.3K
RN1 1 1K SIP 9
RV1 1 10K Potentiometer RM-065
SW1 1 RESET 6mm Push Button
U1 1 Sockel DIP40 ZIF oder Präzisionssockel
U2 1 NE555
U3/U4 1 4093/40106 4093 (4x NAND) oder 40106 (6x Inverter)

Anstelle eines teuren ZIF-Sockels kann auch ein Präzisionssockel verwendet werden. Die Bauteilkosten liegen jeweils bei ca. 5-6 EUR zzgl. Platine. Die Platine kann wahlweise mit einer Micro-USB Buchse oder Standard USB-Buchse bestückt werden.

Gerber-Dateien für 6800 CPU

6801/6803 NOP-Generator

In einem 6801/6803 NOP-Generator eingesetzt führt eine 6801/6803 CPU nur NOP-Kommandos (No Operation) aus. Mit Hilfe von acht LEDs können die Adressleitungen beobachtet werden. Führt die CPU die NOPs aus, sollten die Adressen permanent hochgezählt werden. Damit ist zwar kein vollständiger Test der CPU Möglich, aber zumindest ein Quick-n-Dirty-Check.

Der 6801/6803 NOP Generator liefert den Opcode 0x12, welches einem NOP beim 6801/6803 entspricht. Nach einem Reset beginnt der 6801/6803 NOP-Generator ab Adresse 0x1212 zu zählen (nach einem Reset liest die CPU aus den Adressen 0xFFFE-0xFFFF die reale Startadresse ab und da diese immer 0x12 liest, ist dieses die 0x1212).

Die 6801/6803 CPU besitzt zwei Besonderheiten, die beachtet werden müssen: 1. Der Adress- und Datenbus ist gemultiplext und 2. die CPU besitzt mehrere Betriebsmodi. Der NOP Tester schaltet die CPU in den Mode 3. Wird eine CPU in den Tester eingesetzt, können 2-3 Reset-Zyklen stattfinden, ehe die CPU anfängt die Adressen hochzuzählen.

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

Stückliste / BOM
Ref Qnty Value Remark
C1 1 1uF
C2 1 10nF
C3 1 2.2uF
D1-D8 8 LED 5mm
J1,J2 1 USB_B 2pol. Micro-USB Buchse, z.B. AliExpress oder USB-B Buchse
R1-R13 13 10K
R14 1 1K
R15 1 3.3K
RN1 1 1K SIP 9
RV1 1 10K Potentiometer RM-065
SW1 1 RESET 6mm Push Button
U1 1 Sockel DIP40 ZIF oder Präzisionssockel
U2 1 74LS373
U3 1 NE555

Anstelle eines teuren ZIF-Sockels kann auch ein Präzisionssockel verwendet werden. Die Bauteilkosten liegen jeweils bei ca. 5-6 EUR zzgl. Platine. Die Platine kann wahlweise mit einer Micro-USB Buchse oder Standard USB-Buchse bestückt werden.

Gerber-Dateien für 6801/6803 CPU

6802/6808 NOP-Generator

In einem 6802/6808 NOP-Generator eingesetzt führt eine 6802/6808 CPU nur NOP-Kommandos (No Operation) aus. Mit Hilfe von acht LEDs können die Adressleitungen beobachtet werden. Führt die CPU die NOPs aus, sollten die Adressen permanent hochgezählt werden. Damit ist zwar kein vollständiger Test der CPU Möglich, aber zumindest ein Quick-n-Dirty-Check.

Der 6802/6808 NOP Generator liefert den Opcode 0x12, welches einem NOP beim 6802/6808 entspricht. Nach einem Reset beginnt der 6802/6808 NOP-Generator ab Adresse 0x1212 zu zählen (nach einem Reset liest die CPU aus den Adressen 0xFFFE-0xFFFF die reale Startadresse ab und da diese immer 0x12 liest, ist dieses die 0x1212).

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

Stückliste / BOM
Ref Qnty Value Remark
C1 1 1uF
C2 1 10nF
C3 1 2.2uF
D1-D8 8 LED 5mm
J1,J2 1 USB_B 2pol. Micro-USB Buchse, z.B. AliExpress oder USB-B Buchse
R1-R13 13 10K
R14 1 1K
R15 1 3.3K
RN1 1 1K SIP 9
RV1 1 10K Potentiometer RM-065
SW1 1 RESET 6mm Push Button
U1 1 Sockel DIP40 ZIF oder Präzisionssockel
U2 1 NE555

Anstelle eines teuren ZIF-Sockels kann auch ein Präzisionssockel verwendet werden. Die Bauteilkosten liegen jeweils bei ca. 5-6 EUR zzgl. Platine. Die Platine kann wahlweise mit einer Micro-USB Buchse oder Standard USB-Buchse bestückt werden.

Gerber-Dateien für 6802/6808 CPU

6809 NOP-Generator

In einem 6809 NOP-Generator eingesetzt führt eine 6809 CPU nur NOP-Kommandos (No Operation) aus. Mit Hilfe von acht LEDs können die Adressleitungen beobachtet werden. Führt die CPU die NOPs aus, sollten die Adressen permanent hochgezählt werden. Damit ist zwar kein vollständiger Test der CPU Möglich, aber zumindest ein Quick-n-Dirty-Check.

Der 6809 NOP Generator liefert den Opcode 0x12, welches einem NOP beim 6809 entspricht. Nach einem Reset beginnt der 6809 NOP-Generator ab Adresse 0x1212 zu zählen (nach einem Reset liest die CPU aus den Adressen 0xFFFE-0xFFFF die reale Startadresse ab und da diese immer 0x12 liest, ist dieses die 0x1212).

YouTube: NOP Generatoren für 6809 und 6809E Prozessoren

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

Stückliste / BOM
Ref Qnty Value Remark
C1 1 10nF
C2 1 2.2uF
C3 1 1uF
D1-D8 8 LED 5mm
J1,J2 1 USB_B 2pol. Micro-USB Buchse, z.B. AliExpress oder USB-B Buchse
R1 1 1K
R2 1 3.3K
R3-R17 15 10K
RN1 1 1K SIP 9
RV1 1 10K Potentiometer RM-065
SW1 1 RESET 6mm Push Button
U1 1 Sockel DIP40 ZIF oder Präzisionssockel
U2 1 NE555

Anstelle eines teuren ZIF-Sockels kann auch ein Präzisionssockel verwendet werden. Die Bauteilkosten liegen jeweils bei ca. 5-6 EUR zzgl. Platine. Die Platine kann wahlweise mit einer Micro-USB Buchse oder Standard USB-Buchse bestückt werden.

Gerber-Dateien für 6809 CPU

6809E NOP-Generator

In einem 6809E NOP-Generator eingesetzt führt eine 6809E CPU nur NOP-Kommandos (No Operation) aus. Mit Hilfe von acht LEDs können die Adressleitungen beobachtet werden. Führt die CPU die NOPs aus, sollten die Adressen permanent hochgezählt werden. Damit ist zwar kein vollständiger Test der CPU Möglich, aber zumindest ein Quick-n-Dirty-Check.

Der 6809E NOP Generator liefert den Opcode 0x12, welches einem NOP beim 6809E entspricht. Nach einem Reset beginnt der 6809E NOP-Generator ab Adresse 0x1212 zu zählen (nach einem Reset liest die CPU aus den Adressen 0xFFFE-0xFFFF die reale Startadresse ab und da diese immer 0x12 liest, ist dieses die 0x1212).

Der 6809E verwendet ein Quadraturphasentakt bei dem E einen halben Takt versetzt zu Q erwartet wird. Der NOP-Generator erzeugt hier kein perfektes Taktsignal sondern verzögert E einfach ein paar Nanosekunden. Für den Generator reicht das aus. Es darf nur einer der ICs bestückt werden, entweder der 4093 oder der 40106.

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

Stückliste / BOM
Ref Qnty Value Remark
C1 1 10nF
C2 1 10uF oder 4,7uF (schnellerer Takt)
C3 1 1uF
D1-D8 8 LED 5mm
J1,J2 1 USB_B 2pol. Micro-USB Buchse, z.B. AliExpress oder USB-B Buchse
R1 1 1K
R2 1 3.3K
R3-R15 13 10K
RN1 1 1K SIP 9
RV1 1 10K Potentiometer RM-065
SW1 1 RESET 6mm Push Button
U1 1 Sockel DIP40 ZIF oder Präzisionssockel
U2,U2 1 4093/40106 4093 (4x NAND) oder 40106 (6x Inverter)
U4 1 NE555

Anstelle eines teuren ZIF-Sockels kann auch ein Präzisionssockel verwendet werden. Die Bauteilkosten liegen jeweils bei ca. 5-6 EUR zzgl. Platine. Die Platine kann wahlweise mit einer Micro-USB Buchse oder Standard USB-Buchse bestückt werden.

Gerber-Dateien für 6809E CPU

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.