Vedendo sul web alcuni progetti basati sullo Z80 m’era venuta voglia di rinfrescare i vecchi studi anni ’80 relativi allo Z80 che, grazie allo Spectrum Sinclair, mi aveva dato tante soddisfazioni, introducendomi alla passione per l’elettronica digitale e l’informatica.
Così mi sono messo a progettare il cuore di quello che diverrà EAZ80, ovvero un minicomputer basato sul mitico processore Z80, con 16K di ROM e 48K di RAM, funzionante a 4Mhz (ma la versione del processore adottato può arrivare a 20Mhz).
In breve è saltato fuori un “pargolo”dalle dimensioni molto contenute. Il backplane, ovvero la basetta dotata di connettori e regolatore di tensione che acoglierà tutte le altre schede è di dimensioni 9x9Cm circa. Con le schede si eleva di 5Cm quindi alla fine si otterrà un ingombro di 9x9x5, buon risultato.
EAZ80 sarà dotato di una scheda CPU, contenente lo Z80; una scheda ROM che ospiterà anche il generatore di clock a 4Mhz e a 1Hz, selezionabili; Una scheda RAM da 48K; una scheda display esadecimale, che indicherà indirizzi e dati, utile durante il funzionamento ad 1Hz; una I/O parallela con seriale in componentistica TTL e, in un futuro prossimo, anche una semplice scheda video.
La scelta della RAM è finita sull’integrato W24512AK, una RAM statica abbastanza economica da 64K di cui verranno utilizzati solo 48K.

La CPU è una Z84C0020 in grado di arrivare a 20Mhz, contenente tutto il set dell vecchio Z80

La ROM è una 27C128 che nel prototipo è sostituita da una EEPROM per velocizzare il debug del firmware e montata su uno zoccolo ZIF

La scheda I/O seriale consentirà di avere 8 linee di output ed 1 di input per ricevere i dati seriali.

Infine il backplane comprendente il regolatore di tensione 7805 con raffredamento sul PCB

Il primo test ha dato risultati positivi, confermando la corretta progettazione sia delle varie schede che dell’assemblaggio. Qui un video dimostrativo.
Nei prossimi articoli vedremo lo schema elettrico dei singoli stadi.
Qui il listato dell’assembler realtivo al programmino di test della RAM:
;----------------------------------------------------
; Project: outserial.zdsp
; Main File: outserial.asm
; Date: 08/03/2017 22.49.06
;
; Created with zDevStudio - Z80 Development Studio.
;
;----------------------------------------------------
.Z80
RAM EQU 16384
ORG 0
JP $200
ORG $200
Start:
LD HL, RAM
RamLoop:
LD A, 10101010b
LD (HL), A
LD C, (HL)
XOR C
JR NZ, Errn
INC HL
LD A, H
OR L
JR NZ, RamLoop
JR Ok
Errn:
LD BC, $FFFF
loop:
LD A,0
OUT (C),A
NOP
LD A,1
OUT (C),A
JR loop
Ok:
LD BC, $FFFF
LD HL, 100
loopOk:
XOR A
OUT (C),A
NOP
LD A,1
OUT (C),A
DEC HL
LD A,H
OR L
JR NZ,loopOk
JR Start
Potrebbe completarlo con tastierino e 6 display? Inoltre potrebbe correggere un listato ASM per un eprom 2716 ?
La board con 6 display è già pronta.
http://elparadise.altervista.org/eaz80-minicomputer-modulare-hex-display/
Il listato non ha bisogno di correzioni, in quanto sta tranquillamente dentro una 2716, però è necesasrio modificare l’hardware per renderla compatibile col uC. Il progetto è comunque in “divenire” ed in evoluzione.
La tastiera la avete realizzata?
Per ora comunica via seriale.