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.