Alle auf dieser Seite veröffentlichten Gerber-Dateien sind nur für den privaten Gebrauch gedacht. Eine kommerzielle Verwendung ist ohne vorherige Zustimmung nicht zulässig.
Von einigen Projekten habe ich unbestückte Platinen vorrätig. Bei Interesse gebe ich diese gerne zum Selbstkostenpreis ab (⇒Kontaktformular).
All Gerber files published on this page are only intended for private use. Commercial use is not permitted without prior consent.
I have unpopulated circuit boards from some projects in stock. If you are interested, I will be happy to sell these at cost price (⇒contact form).
Attention: There are dubious dealers on eBay who offer these boards without consent and sometimes at overpriced prices. The boards can be purchased directly from me (using the contact form) or the following dealer: pcb4diy (eBay).
CPU NOP-Tester
Inhalt
ToggleDie Funktionsweise des Testers ist sehr einfach: Die Datenleitungen werden einfach durch 10k Pull-Down bzw. Pull-Up Widerstände derart auf Masse bzw. Vcc gezogen, dass die CPU bei einem lesenden Speicherzugriff ein NOP liest. Bei einigen CPUs, die über einen gemultiplexten (geteilten) Daten-/Adressbus verfügen ist zusätzlicher Bustreiber notwendig.
Mit einem NOP-Tester ist zwar kein vollständiger Test der CPU möglich, man kann aber zumindest schnell prĂĽfen, ob eine CPU noch „anspringt“. Aufgrund der Komplexität einer CPU kann diese natĂĽrlich trotzdem defekt sein. AuĂźerdem wird die CPU sehr langsam getaktet – weit auĂźerhalb der Spezifikation – und so ist es durchaus möglich, dass auch eine eigentlich funktionsfähige CPU mit dem NOP-Tester nicht funktioniert.
Alle NOP-Tester wurden ausgiebig getestet. Es wurden aber natürlich nicht alle Varianten einer CPU geprüft, so dass nicht auszuschließen ist, dass hier unterschiedliche Verhalten auftreten können.
Ăśbersicht ĂĽber die NOP.Kommandos:
CPU | NOP | Bemerkung |
Z80 | 0x00 | siehe Text |
8085 | 0x00 | |
R6501 | 0xEA | |
6501 | 0xEA | |
6502 | 0xEA | testet auch WDC65C02 und 6502C („Sally“) |
6503 / 6505 / 6506 | 0xEA | |
6504 / 6507 | 0xEA | |
6510 | 0xEA | |
6510T | 0xEA | |
6512 | 0xEA | |
6513 / 6515 | 0xEA | |
7501/8501 | 0xEA | |
8502 | 0xEA | |
6800 | 0x01 | |
6801 / 6803 | 0x01 | |
6803 | 0x01 | |
6802 / 6808 | 0x01 | |
6809 / 6309 | 0x12 | |
6809E / 6309E | 0x12 |
Hinweis: Die LEDs werden mit einem 470 Ohm Vorwiderstand (als Netzwerk) betrieben. Es können auch Low-Current LEDs verwendet werden. Dann sollten die Vorwiderstände ca. 2k Ohm betragen.
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.
Note: The LEDs are operated with a 470 Ohms series resistor (as a network). Low-current LEDs can also be used. Then the series resistors should be approx. 2k Ohms.
A precision socket can also be used instead of an expensive ZIF socket. The component costs are approx. 5-6 EUR plus circuit board. The circuit board can be equipped with either a micro USB socket or a standard USB socket.
Z80
Ein technischer Hinweis zum Z80 CPU NOP-Tester
Nach einiger Zeit blinkt die A7-LED doppelt so schnell wie A0, A0-A6 zählen aber normal hoch. 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 Tester
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.
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 oder USB-B Buchse |
R1-R5 | 5 | 10K | |
R6 | 1 | 1K | |
R7 | 1 | 3.3K | |
RN1 | 1 | 4,7K | SIP 9 |
RN2 | 1 | 470 | 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 |
YouTube: NOP Tester fĂĽr Z80 und 6502 Prozessoren
8085
Nach einem Reset beginnt der 8085 NOP-Tester ab Adresse 0x0000 zu zählen
Ref | Qnty | Value | Remark |
C1 | 1 | 1uF | |
C2 | 1 | 10nF | |
C3 | 1 | 2.2uF | |
D1-D8 | 8 | LED 5mm | |
J5,J6 | 1 | USB_B | 2pol. Micro-USB Buchse oder USB-B Buchse |
R1-R17 | 17 | 10K | |
R18-R25 | 8 | 470 | |
R26 | 1 | 1K | |
R27 | 1 | 3.3K | |
RV1 | 1 | 10K | Potentiometer RM-065 |
SW1 | 1 | RESET | 6mm Push Button |
U1 | 1 | 74LS373 | |
U2 | 1 | Sockel DIP40 | ZIF oder Präzisionssockel |
U3 | 1 | NE555 |
R6501
Nach einem Reset beginnt der R6501 NOP-Tester 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.
Ref | Qnty | Value | Remark |
C1 | 1 | 10nF | |
C2 | 1 | 4.7uF | |
C3 | 1 | 1uF | |
D1-D8 | 8 | LED 5mm | |
J1,J2 | 1 | USB_B | 2pol. Micro-USB Buchse oder USB-B Buchse |
R1 | 1 | 1K | |
R2 | 1 | 3.3K | |
R3-R12 | 10 | 10K | |
R13-R20 | 8 | 470 | |
RV1 | 1 | 10K | Potentiometer RM-065 |
SW1 | 1 | RESET | 6mm Push Button |
U1 | 1 | NE555 | |
U2 | 1 | Sockel QUIP-64 | Präzisionssockel oder Selbstbausockel mit Sockelleisten |
6501
Nach einem Reset beginnt der 6501 NOP-Tester 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.
Es darf nur einer der ICs bestĂĽckt werden, entweder der 4093 oder der 40106.
Dieser NOP-Tester wurde noch nicht getestet. Bitte RĂĽckmeldung geben.
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 oder USB-B Buchse |
R3-R15 | 13 | 10K | |
R1 | 1 | 1K | |
R2 | 1 | 3.3K | |
R16-R23 | 8 | 470 | |
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) or 40106 (6x Inverter) |
6502
Nach einem Reset beginnt der 6502 NOP-Tester 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.
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.
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 oder USB-B Buchse |
R1 | 1 | 1K | |
R2 | 1 | 3.3K | |
R3-R17 | 15 | 10K | |
RN1 | 1 | 470 | 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 |
YouTube: 6502 NOP-Tester identifiziert einen 6502C („Sally“)
6503 / 6505 / 6506
Nach einem Reset beginnt der NOP-Tester ab Adresse 0xXXEA 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.
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 oder USB-B Buchse |
R1 | 1 | 1K | |
R2 | 1 | 3.3K | |
R3-R13 | 13 | 10K | |
RN1 | 1 | 470 | SIP 9 |
RV1 | 1 | 10K | Potentiometer RM-065 |
SW1 | 1 | RESET | 6mm Push Button |
U1 | 1 | NE555 | |
U2 | 1 | Sockel DIP28 (oder DIP40) | ZIF oder Präzisionssockel |
6504 / 6507
Nach einem Reset beginnt der NOP-Tester ab Adresse 0xXXEA 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.
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 oder USB-B Buchse |
R1 | 1 | 1K | |
R2 | 1 | 3.3K | |
R3-R12 | 13 | 10K | |
RN1 | 1 | 470 | SIP 9 |
RV1 | 1 | 10K | Potentiometer RM-065 |
SW1 | 1 | RESET | 6mm Push Button |
U1 | 1 | NE555 | |
U2 | 1 | Sockel DIP28 (oder DIP40) | ZIF oder Präzisionssockel |
6510
Nach einem Reset beginnt der 6510 NOP-Tester 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.
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 oder USB-B Buchse |
R1 | 1 | 1K | |
R2 | 1 | 3.3K | |
R3-R15 | 13 | 10K | |
RN1 | 1 | 470 | 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 |
6510T
Nach einem Reset beginnt der 6510T NOP-Tester 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.
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 oder USB-B Buchse |
R1 | 1 | 1K | |
R2 | 1 | 3.3K | |
R3-R13 | 11 | 10K | |
R14-R21 | 8 | 470 | |
RV1 | 1 | 10K | Potentiometer RM-065 |
SW1 | 1 | RESET | 6mm Push Button |
U1 | 1 | NE555 | |
U2 | 1 | Sockel DIP40 | ZIF oder Präzisionssockel |
6512
Nach einem Reset beginnt der NOP-Tester ab Adresse 0xXXEA 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.
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 oder USB-B Buchse |
R1-R19 | 19 | 470 | |
R20 | 1 | 1K | |
R21 | 1 | 3.3K | |
RV1 | 1 | 10K | Potentiometer RM-065 |
SW1 | 1 | RESET | 6mm Push Button |
U1 | 1 | Sockel DIP40 | ZIF oder Präzisionssockel |
U2 | 1 | 72LS00 | |
U3 | 1 | NE555 |
6513 / 6515
Nach einem Reset beginnt der NOP-Tester ab Adresse 0xXXEA 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.
Mit den beiden Jumpern wird gewählt, ob es sich um eine 6513 oder 6515 CPU handelt.
Dieser NOP-Tester wurde noch nicht getestet. Bitte RĂĽckmeldung geben.
Ref | Qnty | Value | Remark |
C1 | 1 | 10nF | |
C2 | 1 | 1uF | |
C3 | 1 | 10uF | oder 4,7uF (schnellerer Takt) |
D1-D8 | 8 | LED 5mm | |
J1,J2 | 1 | USB_B | 2pol. Micro-USB Buchse oder USB-B Buchse |
J7,J8 | 2 | 1×02 | Pin Header |
R1-R19 | 19 | 470 | |
R20 | 1 | 1K | |
R21 | 1 | 3.3K | |
RV1 | 1 | 10K | Potentiometer RM-065 |
SW1 | 1 | RESET | 6mm Push Button |
U1 | 1 | NE555 | |
U2 | 1 | Sockel DIP28 (oder DIP40) | ZIF oder Präzisionssockel |
7501 / 8501
Nach einem Reset beginnt der 7501/8501 NOP-Tester 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.
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 oder USB-B Buchse |
R1 | 1 | 1K | |
R2 | 1 | 3.3K | |
R3-R15 | 13 | 10K | |
R16-R23 | 8 | 470 | |
RV1 | 1 | 10K | Potentiometer RM-065 |
SW1 | 1 | RESET | 6mm Push Button |
U1 | 1 | NE555 | |
U2 | 1 | Sockel DIP40 | ZIF oder Präzisionssockel |
8502
Nach einem Reset beginnt der 8502 NOP-Tester 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.
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 oder USB-B Buchse |
R1 | 1 | 1K | |
R2 | 1 | 3.3K | |
R3-R15 | 13 | 10K | |
R16-R23 | 8 | 470 | |
RV1 | 1 | 10K | Potentiometer RM-065 |
SW1 | 1 | RESET | 6mm Push Button |
U1 | 1 | NE555 | |
U2 | 1 | Sockel DIP40 | ZIF oder Präzisionssockel |
6800
Nach einem Reset beginnt der 6800 NOP-Tester ab Adresse 0x0101 zu zählen (nach einem Reset liest die CPU aus den Adressen 0xFFFE-0xFFFF die reale Startadresse ab und da diese immer 0x01 liest, ist dieses die 0x0101).
Es darf nur einer der ICs bestĂĽckt werden, entweder der 4093 oder der 40106.
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 oder USB-B Buchse |
R1-R14 | 14 | 10K | |
R15 | 1 | 1K | |
R16 | 1 | 3.3K | |
RN1 | 1 | 470 | 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) |
6801 / 6803
Nach einem Reset beginnt der 6801/6803 NOP-Tester ab Adresse 0x0101 zu zählen (nach einem Reset liest die CPU aus den Adressen 0xFFFE-0xFFFF die reale Startadresse ab und da diese immer 0x01 liest, ist dieses die 0x0101).
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.
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 oder USB-B Buchse |
R1-R13 | 13 | 10K | |
R14 | 1 | 1K | |
R15 | 1 | 3.3K | |
RN1 | 1 | 470 | 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 |
6803E
Nach einem Reset beginnt der 6801/6803 NOP-Tester ab Adresse 0x0101 zu zählen (nach einem Reset liest die CPU aus den Adressen 0xFFFE-0xFFFF die reale Startadresse ab und da diese immer 0x01 liest, ist dieses die 0x0101).
Die 6803E CPU besitzt drei Besonderheiten, die beachtet werden müssen: 1. Der Adress- und Datenbus ist gemultiplext, 2. die CPU besitzt mehrere Betriebsmodi und 3. der Address-Strobe (AS) muss über den Takt selbst erzeugt werden. 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.
Ref | Qnty | Value | Remark |
C1 | 1 | 1uF | |
C2 | 1 | 10nF | |
C3 | 1 | 1uF | |
D1-D8 | 8 | LED 5mm | |
J1,J2 | 1 | USB_B | 2pol. Micro-USB Buchse oder USB-B Buchse |
R1-R13, R16, R17 | 15 | 10K | |
R14 | 1 | 1K | |
R15 | 1 | 3.3K | |
RN1 | 1 | 470 | 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 | |
U4 | 1 | 74LS08 | |
U5 | 1 | 74LS175 |
6802 / 6808
Nach einem Reset beginnt der 6802/6808 NOP-Tester ab Adresse 0x0101 zu zählen (nach einem Reset liest die CPU aus den Adressen 0xFFFE-0xFFFF die reale Startadresse ab und da diese immer 0x01 liest, ist dieses die 0x0101).
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 oder USB-B Buchse |
R1-R13 | 13 | 10K | |
R14 | 1 | 1K | |
R15 | 1 | 3.3K | |
RN1 | 1 | 470 | 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 |
6809 / 6309
Nach einem Reset beginnt der 6809 NOP-Tester 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).
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 oder USB-B Buchse |
R1 | 1 | 1K | |
R2 | 1 | 3.3K | |
R3-R17 | 15 | 10K | |
RN1 | 1 | 470 | 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 |
YouTube: NOP Testeren fĂĽr 6809 und 6809E Prozessoren
6809E / 6309E
Nach einem Reset beginnt der 6809E NOP-Tester 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-Tester erzeugt in der Rev.1 kein perfektes Taktsignal sondern verzögert E einfach ein paar Nanosekunden. Für den Tester reicht das aus. Es darf nur einer der ICs bestückt werden, entweder der 4093 oder der 40106.
Die Rev.2 erzeugt einen perfekten Quadraturphasentakt, benötigt dafür aber einen 74LS74 oder 74LS76.
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 oder USB-B Buchse |
R1 | 1 | 1K | |
R2 | 1 | 3.3K | |
R3-R15 | 13 | 10K | |
RN1 | 1 | 470 | SIP 9 |
RV1 | 1 | 10K | Potentiometer RM-065 |
SW1 | 1 | RESET | 6mm Push Button |
U1 | 1 | Sockel DIP40 | ZIF oder Präzisionssockel |
U2,U3 (Rev.1) | 1 | 4093/40106 | 4093 (4x NAND) oder 40106 (6x Inverter) |
U2,U3 (Rev.2) | 1 | 74LS74/74LS76 | 74LS74 oder 74LS76 |
U4 | 1 | NE555 |
Hello,
first of all, thanks for this awesome project. I’ve been looking at the gerbers for 6502 rev5. I’m wondering if the discharge pin 7 of the 555 is connected correctly. It seems to join /NMI of the CPU to the R1 1k resistor and seems to be missing the connection to the capacitor for discharging.
Shouldn’t /NMI connect to R8 10k and R2 to R1?
Kind regards
Joachim
Hi,
maybe you have checked the wrong Gerbers?
555 Pin 7 is connected to R1. Z80 Pin 6 (NMI) is connected to R8 (10k pullup).
Ich kann leider keine passende 2pol. Micro-USB Buchse fĂĽr die 6502 NOP Platine finden. Gibt es eine Quelle fĂĽr diese Buchse?
Am einfachsten bekommt man diese hier:
https://www.aliexpress.com/w/wholesale-2-pin-micro-usb-connector.html
Hi
Are the Gerber files available somewhere else? I cannot get past the reCAPTCHA „I am not a robot“ to actually download them. It seems permanently stuck on the „blue wheel“
I am interested in the 6809 and 6809E V2 NOP tester PCB Gerber files. Maybe you could email them to me?
Thanks!
Hi,
I am sorry. Please ensure that you have not blocked Google. You can also try to use a different browser.
Stephan
Hi Stephen. I thought you might be interested that I’ve finally built your 6502 version NOP Tester (following my earlier builds and feedback on the Motorola testers).
I’ve posted a blog entry & YouTube video covering the build, and then using the NOP Tester to test some good & bad MOS 6502 chips from AliExpress (and also test a brand new WDC W65C02S).
You can find my build here: https://digicoolthings.com/building-a-6502-and-w65c02-nop-tester/
Thanks again for your really useful NOP testers.
Kind Regards
Greg
Hi Greg,
thanks for the great blog entry. This will certainly help users understand what is possible with a simple NOP Tester.
Stephan
Hello dear,
very interesting and important for me this card. I wanted to build my own board to test the Z80 and MOS6502 microprocessor, please could you share the schematic or a source where I can get it?
Thanks a lot
Hi,
the Gerbers can be downloaded above, so you can order a PCB from a manufacturer of your choice.
Hi, I’ve built your 6809 NOP testers. They proved very useful for quick testing of my CPU’s. Thanks.
However, there are a couple of 6809 tester specific feedback points I thought I’d raise.
Firstly, the original Motorola MC6809 chips are HMOS devices, and are therefore fundamentally dynamic parts. Their datasheet specifies a minimum operating frequency of 0.4Mhz. i.e. Significantly higher than the 10Hz or so that the NOP tester runs the 6809 CPU at.
Secondly, the Address Bus pins of the Motorola HMOS MC6809 are rated to sink a maximum of 1.6ma and source a maximum of 0.4ma. The equivalent of driving up to four LS TTL loads.
The NOP tester uses the CPU’s Address Bus pins to directly drive the LEDs, via 470 ohm resistors. So, allowing for the forward voltage of a Red LED we are sourcing approximately 6ma from each address line pin to drive the LEDs. This is clearly significantly exceeding the CPU’s electrical ratings. Â
Although we could also use low current LEDs and higher resistor values, I’d much rather have see a 244 octal buffer between the CPU and the LEDs.
Otherwise, great job. I plan to also build several other of your NOP testers. :)
Hi, thanks for the feedback. You are absolutely correct.
The outputs of the 6809 are designed to drive an LS TTL load, so a driver would be required for a perfect design. Nevertheless, the device is designed to test a CPU quickly (and build cheaply) so that the load is only present for a very short time. I let the CPU run continuously for a few days and after that the CPU was not broken. For a few seconds (or minutes) that load will certainly not demage the device.
Regarding slow clocking: the same problem exists with Z80 CPUs (CMOS vs. HMOS). However, the CPUs only execute NOP commands and therefore (with my 6809 CPUs) the slower clock also works. When required, the clock can be significantly increased by choosing a suitable capacitor/resistor. Note that a NOP tester will only give a very rough result if a CPU is working. For the purpose of whether a CPU is still starting up, this is usually sufficient.
Kommentar zum 6809E-Tester:
Einen Datenblatt-konformen Zweiphasentakt kann man einfach mit einem einzelnen 74LS74 erzeugen wie hier ersichtlich: https://github.com/jbevren/6809v2/blob/master/kicad/6809v2/schematic.pdf
Das wäre schön, wenn eine neue Platinenversion darüber den Takt erzeugen würde.
Wenn man die einstellbare Blinkgeschwindigkeit nicht braucht oder keinen Poti zur ‚Hand hat, ergibt C2 = 4,7 µF und RV1 = 1k eine gute Paarung.
Hallo,
vielen Dank fĂĽr den Hinweis. Ich habe mich beim Entwurf absichtlich dagegen entschieden, weil ein D-Type FF nicht jeder in der Bastelschublade hat, ein 4-fach NAND aber schon eher. Aber ein Update werde ich beizeiten anbieten ;)
Update: Inzwischen wurde die Platine aktualisiert.