PICO ist ein kleiner Z80-Computer. Er besteht aus einer CPU-Platine im Europakartenformat und einer Display/Anzeige-Platine („Terminal“). Inspiriert wurde er in Hard- und Software unter anderem vom Z80-KIT, dem Nascom 1 und dessen Monitor NAS-SYS 1.
Auf der CPU-Platine sitzen neben der Z80-CPU noch 2K EPROM, 2K RAM, ein Z80-CTC, ein 8255 mit 24 I/O-Leitungen und ein Kassetten-Interface. Vorgesehen ist auch ein Interface zum ECB-Bus, über das der PICO erweitert werden kann, allerdings funktioniert es in dieser Form nicht vollständig. Auf den bisher realisierten Platinen fehlt es daher.
In dem EPROM steckt der Monitor PICO-SYS, der es ermöglicht, Z80 Maschinenprogramme auf dem PICO zu entwickeln. PICO-SYS kümmert sich sich dabei um die Ansteuerung von Display und Tastatur, hat Befehle zur Eingabe und zum Debuggen von Maschinenprogrammen (mit Breakpoint und Single-Step) und kann die fertigen Programme auf einen Kassettenrekorder speichern und wieder einlesen.
Entwickelt habe ich den PICO von 1983 bis 1987 als Selbstbauprojekt für den Volkshochschul-Kurs, in dem ich selbst einige Jahre zuvor den ersten Kontakt mit Z80-Mikroprozessoren hatte. Der Prototyp des PICO entstand in Fädeltechnik. Um den Nachbau im Rahmen des Volkshochschul-Kurses zu erleichtern, entstand in Zusammenarbeit mit dem Kursleiter ein doppelseitiges Layout in Klebetechnik, das in kleiner Stückzahl als durchkontaktierte Platine gefertigt wurde.
PICO-SYS Quelltext für den Microsoft Z80-Assembler „Macro-80“ auf CP/M
PICO-SYS Assembler-Listing, erstellt von Macro-80
J1 | 74LS245 | 8 x Transceiver |
J2 | 74LS244 | 8 x Buffer |
J3 | 74LS244 | 8 x Buffer |
J4 | 74LS08 | 4 x AND-2 |
J5 | 74LS32 | 4 x OR-2 |
J6 | 74LS02 | 2 x NOR-4 |
J7 | 74LS244 | 8 x Buffer |
J8 | Z80-CTC | |
J9 | Z80-CPU | |
J10 | 2716 | 2k x 8 EPROM |
J11 | 74LS74 | 2 x D-FF |
J12 | 74LS90 | BCD Counter |
J13 | 74LS04 | 6 x Inverter |
J14 | 6116 | 2k x 8 RAM |
J15 | 74LS139 | 2 x 2-to-4 Decoder |
J16 | 74HC04 | 6 x Inverter |
J17 | 8255 | PIO |
J18 | 74LS139 | 2 x 2-to-4 Decoder |
R1 | 10k | |
R2 | 10k | |
R3 | 10k | |
R4 | 10k | |
R5 | 10k | |
R6 | 330R | |
R7 | 10k | |
R8 | 100k | |
R9 | 100k | |
R10 | 10k | |
R11 | 330R | |
R12 | 10k | |
R13 | 10k | |
R14 | 100R | |
D1 | LED rot 3mm | |
D2 | LED grün 3mm | |
D3 | 1N4148 | |
D4 | 1N4148 | |
SK1 | DIP-16 | |
SK2 | DIP-16 | |
SK3 | VG64 a+c | |
Q1 | 5MHz Quartz | |
C1 | 10µF 10V | |
C2 | 22pF ker. | |
C3 | 100nF ker. | |
C4 | 10nF ker. |
J1 | 75492 | 6 x LED Digit Driver |
J2 | 75492 | 6 x LED Digit Driver |
J3 | 75491 | 4 x LED Segment Driver |
J4 | 75491 | 4 x LED Segment Driver |
J5 | 74LS273 | 8 x D-FF |
J6 | 74LS273 | 8 x D-FF |
J7 | 74LS244 | 8 x Buffer |
J8 | 74LS75 | 4 x D-FF |
SK1 | DIP16 | |
RSIL1 | 10k x 8 | |
RSIL2 | 330R x 4 | |
RSIL3 | 100R x 8 | |
RSIL4 | 10k x 8 | |
Cx | 10µF 10V | |
Cy | 100nF ker. | |
Reset | Taster | |
NMI | Taster | |
28 x Taster + 1N4148 | ||
8 x 7-Seg gem. Kathode | ||
4 x LED rot |