UNO Z80 VERSIONE 2006
di Pietro De Luca
L'idea era quella di creare un computer z80 simile a quello della Nuova Elettronica.
Certo l'impiego dell'hardware in tale progetto (vedi tastiera esadecimale e display) è a mio avviso esagerato.
Con una maggiore attenzione nella creazione del software di gestione l'hardware è stato
completamente eliminato.
Il sistema è stato ridotto all'osso pur conservando le funzionalità originali, che seppur minime consentono di scrivere e verificare programmi in linguaggio macchina.
L'Hardware scelto è un piccolo sistema z80 proposto dal sito
www.z80.info (vedi Borad di Mario Prato).
Lo schema elettrico è modificato poichè è stata cambiata la mappa di memoria
del sistema:
la porta i/o va da 08h a 0fh
la memoria rom da 0000h a 1FFFh
la memoria ram da 8000h a ffffh
La funzione impiegata dal CPM che usa la memoria in pagina 0 con un opportuno circuito di swap è stata disabilitata (il criterio usato per questo progetto è il massimo risparmio hardware).
Il multiplex dei display memorizza A0-A1-A2 quando scrive nelle locazioni da 08h a 0fH dello spazio risvervato all'I/O.
Il progetto prevede l'input dei dati mediante dip switch o tramite tastiera esadecimale più un pulsante.
Di seguito le due configurazioni:
SWITCH
INPUT
d0 d1 d2 d3 d4 d5 d6 d7
s0 s1 s2 s3 s4 gnd gnd stb
su ogni ingresso vi è chiaramente una resistennza di pull up
OUTPUT
d7 d6 d5 d4 d3 d2 d1 d0 multiplexati come indicato nel testo
p g f e d c b a
0 = ON
1 = OFF
a
* ***** *
* *
f * * b
* *
* g *
*****
* *
e * * c
* *
* *
* ***** *
d ** p
**
TASTIERA
INPUT
uscita decoder mux display
3 2 1 0
3 2 1 0 d0
7 6 5 4 d1
B A 9 8 d2
F E D C d3
d4 usato da tasto funzione
Il settaggio nell'una o nell'altra modalità avviene in fase di compilazione del software e più precisamente all'etichetta K80aah inserendo come indicato nel sorgente di commentare (tastiera) o decommentare (switch) tale linea.
Le funzioni così come dichiarate nei testi di N.E. non hanno più gli stessi indirizzi:
si lascia allo sperimentatore la facoltà di ricavare i nuovi indirizzi dall'assemblato o di utilizzare questo progetto come base per altri utilizzando un comune assembler.
Le funzionalità implementate sono le seguenti:
ENTER | CTRL-0 |
digita indirizzo | CTRL-1 |
visualizza registri | CTRL-2 |
RUN | CTRL-4 |
(vedi gli articoli di N.E.)
I caratteri sono gli stessi usati nel progetto originale.
Per maggiori infomazioni guardate il sorgente.
Inoltre è stata aggiunta una UART software a 9600 bps su d6, e sono stati rispettati i tempi delle routine di ritardo.
La lista dei componenti:
u1 7805
u2 7404
u3 74244
u4 74374
u5 74ls139
u6 cpu Z80
u7 2764
u8 62256
u9 74175
u10 7442
r4=r5 = 1200 ohm
c6= 1nf
c7= 100pf
le capacità di disaccoppiamento sono da 100nf
x1 = 4 mhz
Files scaricabili:
Alcune foto:
Il sistema |
La CPU |
Il display |
Gli switch |
Tastiera e display |
Dopo il reset |
Inserisco l'indirizzo
|
Contenuto memoria |
Modifico il registro A |
Modifico il PC |
Dopo il RUN |
Per qualsiasi informazione scrivete a: pcesco@tim.it