Spiacente, questo articolo non è disponibile in inglese. United-Kingdom-flag-icon-26
Please ask, if you wish an english translation added

 

 

Z80NE

 

 

 

 

 

 

 


Tips & Tricks
o
Come faccio ?

Tips and Tricks

 

 Mini howtos e soluzioni a problemi comuni

 

 

 

 

 

Requisiti Software

Perchè tutto funzioni a dovere è necessario che sul vostro PC (Linux) sia installato un insieme minimale di software: Sistema di sviluppo C/C++, git, cmake, zxcc, mzt.

 

Sistema di sviluppo C/C++
openSUSE $ sudo zypper install -t pattern devel_C_C++
RedHat/Fedora based $ sudo yum group install 'Development Tools'
Debian/Ubuntu based $ sudo apt-get update && apt-get install build-essential
 
git
openSUSE $ sudo zypper install git
RedHat/Fedora based $ sudo yum -y install git
Debian/Ubuntu based $ sudo apt-get update && apt-get install git
 
cmake
openSUSE $ sudo zypper install cmake
RedHat/Fedora based $ sudo yum -y install cmake
Debian/Ubuntu based $ sudo apt-get update && apt-get install cmake

 mzt

mzt, o my z80 tools, è un completo cross-development kit per lo Z80 che comprende assembler, linker e smart disassembler. Si può scaricare da qui: https://www.z80cpu.eu/projects/78-data-articles/projects/76-mdz80 al fondo pagina, che include anche altre infomazioni utili. Il mio consiglio è di leggere.

Quindi:

$ tar zxvf mzt-1.0.0.tar.gz
$ cd mzt-1.0.0
$ make
$ sudo make install

 Se non ci sono errori il tutto verrà installato sotto /usr/local. Fate riferimento alla pagina di download per altre informazioni.

zxcc

ZXCC è un emulatore CP/M 2/3 bidirezionale che consente:

  • di utilizzare Hi-Tech C per CP/M come cross-compilatore sotto Unix.
  • usare gli strumenti di sviluppo  CP/M (MAC, RMAC, GENCOM, LINK) sotto DOS o Unix.

ZXCC è incluso nel repository ZDS per comodità, volendo può essere scaricato da qui, ma per semplicità si fa riferimento alla versione inclusa nel nostro repo git.

Per prima cosa scaricate il repository software, seguendo le istruzioni.

A questo punto eseguite (dalla directory ZDS):

$ cd support/zxcc
$ tar zxvf zxcc-0.5.7.tar.gz && cd zxcc-0.5.7
$ ./configure
$ make && sudo make install

A questo punto zxcc è installato, ma alcune utility (zxc, zxas, zxlibr) necessitano di una installazione particolare di HiTech C che è inclusa nella stessa directory support/zxcc. Fate così (da ZDS/support/zxcc):

$ tar zxvf cpm.tar.gz
$ sudo mv cpm /usr/local/lib    # se non avete spcificato una diversa directory di base tramite configure

oppure in /usr/local/lib64 se il vostro sistema è a 64 bit (non è sempre così, nel dubbio effettuate delle prove).

sdcc

Il sdcc è un cross compilatore C. Alcune utility sono sviluppate in questo linguaggio. Quindi:

openSUSE $ sudo zypper install sdcc
RedHat/Fedora based $ sudo yum -y install sdcc
Debian/Ubuntu based $ sudo apt-get update && apt-get install sdcc
 

That's all.

 

Download e Update

Il software sviluppato per lo Z80NE fa capo ad un unico repository globale su github. Anche se nelle pagine dei singoli progetti si fa riferimento a numeri di versione specifici per il singolo progetto il download è comunque unico e sempre riferito a github.

Perche questo?

Per due buone ragioni; la prima è che parte del software è dislocata su più subdirectory e spesso comune a più moduli, la seconda è che l'update del repository è il metodo migliore per seguire gli aggiornamenti senza il rischio di perdere nulla.

Come faccio a scaricare il repository?

Il repository si trova a questo indirizzo https://github.com/pbetti/ZDS ed è consultabile tramite browser. La copia locale cioè il download del repository, la prima volta, si ottiene così:

 $ git clone https://github.com/pbetti/ZDS

Otterrete una directory "ZDS" contenente tutto il possibile e anche l'impossibile ????. Seguite le istruzioni nei vari progetti per accedere al software specifico.

Come aggiorno il repository all'ultima versione?

Niente di più semplice, per le volte successive. Entrate nella directory ZDS e quindi eseguite

 $ git pull origin master

Ogni volta che eseguite questa operazione la vostra copia in locale del repository è completamente aggiornata.

Importante: Se eseguite delle modifiche in locale, si potrebbe verificare il caso in cui git non esegue l'aggiornamento perchè, appunto, la vostra copia del repository presenta dei cambiamenti per i quali non è stata eseguita una commit e relativo push sul branch origin master (per fare una push occorre avere i privilegi in scrittura a github). Per questo e per semplicità consiglio di duplicare sempre la directory ZDS e quindi lavorare sulla copia. Naturalmente ci sono metodi più sofisticati per risolvere i conflitti di merge tra versioni diverse del software. Se vi sentite abbastanza confidenti o se non è tutto chiaro, potete consultare il manuale di git.

 

Spiacente, questo articolo non è disponibile in inglese. United-Kingdom-flag-icon-26
This email address is being protected from spambots. You need JavaScript enabled to view it.

 

 

Real Time Clock e nuovo Buzzer per lo Z80  by Pino Giaquinto

 
Quello che cercherò di descrivervi stavolta è frutto del mio amico Piergiorgio: l’implementazione (dal punto di vista HW, ma anche SW) di un modulo RTC basato sul diffusissimo chip DS1302 (con tanto di batteria tampone) ed ‘integrato’ nel nostro sistema Z80 sfruttando le possibilità di espansione offerte dal connettore C della scheda video-grafica LX.529.
Fatta questa premessa, che ritenevo assolutamente doverosa da parte mia, rimbocchiamoci le maniche e passiamo agli schemi elettrici del nostro computer Z80. Come è possibile dedurre studiando attentamente lo schema della video-grafica, i progettisti hanno lasciato ‘liberi’ sul connettore di espansione (sarebbe quello su cui viene montata la scheda ‘figlia’ LX.530) i ‘segnali’ PB2-PB7 corrispondenti ai bit b2-b7 della porta B dello Z80-PIO 2 (vedi IC8 sullo schema della LX.529). Utilizzando appunto tre dei segnali disponibili, ovvero PB5-PB7, Piergiorgio ha realizzato un prototipo perfettamente funzionante di un modulo RTC per Z80-NE ‘appoggiandosi’ alla scheda figlia LX.530, come si può vedere nelle foto che seguono:

 

   front millefori back millefori   assembled  


(sottolineo "prototipo" ndr)

Ovviamente è stato necessario scrivere un bel po’ di codice per adattare l’hardware al CPM-3 del DarkStar, ma spiegare questo va oltre quello che è il mio compito, credo e spero che se ne occuperà quanto prima l’autore del progetto in persona ????

In particolare il compito che mi è stato affidato dal buon Piergiorgio riguarda la realizzazione pratica di un piccolo modulo che comprenda il CICALINO (ovvero la scheda figlia LX.530) ed il suo modulo RTC… il tutto montato su un’unica schedina di facile realizzazione e che occupi poco spazio.

Per quanto riguarda la ‘sezione’ RTC, ricordando di aver visto qualcosa presso il mio rivenditore di elettronica di fiducia (piccoli moduli da utilizzare con le schede Arduino), ho deciso da subito di utilizzare un modulo ‘commerciale’ basato, così come previsto nel suo progetto, su DS1302 ma realizzato in tecnologia SMD… e questo per contenere al massimo gli ingombri:

  arduino module  RTC  

 

Per farvi un’idea delle dimensioni del modulo considerate che la pila è una CR1220 che ha un diametro di 12,5mm e che il passo del connettore SIL è quello classico da 1/10” (ovvero 2.54mm). Su questo minuscolo ed economicissimo modulo c’è tutto e più di quanto occorre per quanto riguarda il discorso RTC, resta quindi da considerare e risolvere ‘solo’ per quanto riguarda i ‘suoni’ di sistema.

 

Lo schema originale della scheda ‘figlia’ LX.530 (che vi mostrerò subito a seguito), necessaria per generare in particolari condizioni il classico ‘BEEP’ di sistema, prevedeva l’utilizzo di due NE555 configurati rispettivamente il primo (IC1) come multivibratore monostabile (che generava all’occorrenza un impulso della durata t1 di circa 0.1s) ed il secondo (IC2) come multivibratore astabile (che generava, in presenza dell’impulso di cui sopra, un segnale ad onda quadra con frequenza f di circa 1KHz):

  ne schema  





In questo caso la mia idea è stata quella di realizzare un piccolo modulo, sempre in tecnologia SMD per ridurre gli spazi, prendendo spunto dal progetto originale da cui ho ‘prelevato’ solo la prima parte (il multivibratore monostabile, mi riferisco sempre a IC1) e che ho utilizzato per pilotare un piccolo BUZZER del tipo ‘attivo’. Questo tipo di buzzer, quando alimentato, emette un tono di frequenza prestabilita (generalmente intorno ai 2KHz) ed In tal modo ho risparmiato anche dal punto di vista del numero di componenti. Infatti, utilizzando un buzzer attivo, non ho avuto bisogno di generare l’onda quadra ed ho risparmiato un NE555 e qualche altro componente passivo!
Il buzzer da me utilizzato è economicissimo, di facile reperimento, può essere alimentato con tensioni di 3-5V ed assorbe mediamente poche decine di mA (quindi il NE555 riesce a ‘sopportarlo’ tranquillamente).
A questo punto, in possesso dei due minuscoli moduli, uno per il BEEP di sistema e l’altro per il RTC… come ‘collegarli’ alla video-grafica? L’idea di una schedina HOST mi è subito piaciuta e nella foto qui di seguito vi mostro il risultato finale del mio lavoro. Le foto saranno sicuramente più esplicative di qualsiasi altra presentazione ‘scritta’. L’idea ci è piaciuta tanto… e spero piaccia altrettanto anche a voi ????

  final1 final2  
  final3 final4  

 (La schedina che si vede a destra è quella relativa all'interfaccia ps/2. ndr)

 

Nella foto a seguito l’interfaccia tastiera PS/2 e la schedina di espansione BEEP & RTC appena descritta, entrambe montate sulla video-grafica LX.529:

   inplace lx529  

Ovviamente renderò disponibili tutte le informazioni necessarie per realizzare questo piccolo ‘lavoro’, compresi i disegni dei due stampati che troverete da subito sul sito del mitico Z80-DarkStar (ovvero qui! ndr).

A presto!

 

 Il software di gestione è reperibile qui (monitor/bios) e qui (cp/m 3 module).

 

Download

 

Layout PCB

Spiacente, questo articolo non è disponibile in inglese. United-Kingdom-flag-icon-26
This email address is being protected from spambots. You need JavaScript enabled to view it.

 

 

WP 20160228 11 27 12 Pro.1 WP 20160228 11 29 24 Pro.1

 

 

Una interfaccia per tastiera PS/2 by Pino Giaquinto

 

new30 Versione 3.3.1 (vedi sotto)

La tastiera del computer Z80 pubblicata sul fascicolo nr.72 di Nuova Elettronica è stata progettata e realizzata basandosi su quelle che sono le funzionalità offerte dal chip KR-2376 prodotto da SMC Microsystems Corporation.

Esclusi i tasti SHIFT, CONTROL, BREAK e SHIFT-LOCK che vengono gestiti separatamente, tutti gli altri tasti (che da ora in poi chiameremo per comodità ‘alfanumerici’) sono disposti su una matrice di 6 righe ed 11 colonne, corrispondenti rispettivamente ai pin X2-X7 e Y0-Y10 del KR-2376 (vedi datasheet).

Nel momento in cui viene pigiato un alfanumerico il KR-2376 ne identifica la posizione nella matrice ed in funzione anche dello stato dei tasti SHIFT e CONTROL determina il codice da inviare in output verso la scheda video.

In pratica questo chip restituisce in modalità ‘parallela’ (quindi su 8 linee, corrispondenti ai pin B1-B8 come da datasheet) il codice ASCII (complementato) corrispondente al tasto o alla combinazione di tasti pigiati, attivando inoltre una linea Strobe dopo circa 1.5ms (il tempo ritenuto necessario a rendere ‘stabile’ lo stato logico delle 8 linee e determinato dai valori di R4 e C4 come visibile nello schema elettrico a pag.48 della rivista numero 72) e che rimane attiva fin quando il tasto che ha determinato l’evento non viene rilasciato. Ciò comunica quindi al sistema la disponibilità sull’output della tastiera di un codice ASCII ‘valido’ che il software in uso interpreterà secondo le sue particolari esigenze.

Utilizzando una piccola interfaccia, realizzata utilizzando un PIC-16F628A (economicissimo microcontrollore a 8 bit della Microchip Tecnology), sono riuscito a interfacciare il mio Z80NE con una comune tastiera PS/2 risolvendo l’eterno problema della mancanza di una tastiera ‘originale’. [Ma anche di una più comoda e "ricca". ndr]

In sostanza il mio firmware, realizzato utilizzando MPLAB IDE e HI-TECH C, ‘legge’ lo scan-code generato dalla tastiera secondo quello che è il protocollo PS/2, determina a quale tasto o combinazione di tasti corrisponde tenendo conto dello stato dei tasti Shift, Alt e Ctrl, infine tramite delle tabelle opportunamente implementate (che tengono conto anche del layout della tastiera… ma di questo parleremo più avanti) lo converte nel corrispondente codice ASCII (complementato), lo trasmette alla scheda video ed attiva dopo circa 1,5ms la linea Strobe simulando in output il comportamento del KR-2376.

Le tabelle utilizzate per la conversione scan-code PS/2 -> ASCII sono in tutto 3, anche se ognuna di esse può essere immaginata come suddivisa ulteriormente in 3 ‘sotto-tabelle’… una per ognuno dei 3 layout che ho previsto e che sono: IT per la tastiera italiana, US per quella americana e GB per quella inglese.

La scelta del layout viene eseguita pigiando la combinazione di tasti L-Alt + F1 (tasto Alt sinistro + tasto funzione F1): i tre led del ‘pannello’ della tastiera lampeggeranno una sola volta se il layout corrente è IT, due volte per quello US e tre volte per GB. Ad ogni successiva pressione dei suddetti tasti il layout cambierà passando in sequenza da IT a US, poi da US a GB, poi di nuovo IT… e così via.

Ovviamente se il sistema verrà spento e riacceso il layout tornerà ad essere quello di default, ma ho previsto anche la possibilità di cambiarlo pigiando la combinazione di tasti Ctrl + L-Alt + F10. I tre led del pannello lampeggeranno 5 volte per segnalarvi l’avvenuta modifica nel PIC ed alla successiva riaccensione del sistema il layout predefinito sarà sempre quello da voi ‘impostato’.

Siccome seguo da tempo e con grande entusiasmo il progetto del mio carissimo amico Piergiorgio Betti (fantastico: una scheda multifunzione che vi permetterà di fare tante cose interessanti con il vostro Z80NE… ma preferisco sia lui a spiegarvi per bene questa cosa) [grazie Pino. ndr], ci sono delle scelte che sono state determinate dal fatto che ormai io e lui utilizziamo lo Z80NE solo ed esclusivamente con il CP/M 3 (con BIOS da lui opportunamente modificato e ricompilato per adeguarlo al nuovo HW) ed i tanti software che si trovano in rete per questo OS.

Tra le cose che abbiamo deciso di comune accordo mi vengono in mente:

  • La sostituzione del tasto SHIFT-LOCK con il più utile CAPS-LOCK

  • L’eliminazione del tasto LINE FEED: ho riassegnato al tasto TAB la sua vecchia funzione di ‘Tabulatore’

  • L’assegnazione delle combinazioni di tasti più diffuse (prese dalla cosiddetta WordStar Diamond) ai tasti cursore, Home, End, Ins, Del, PgUp, PgDn, etc.

Chi dedicherà qualche minuto al sorgente noterà che sono stati implementati anche combinazioni di tasti tipo Ctrl + Alt + Del ed i tasti funzione F1-F12. Non sono stati ancora utilizzati da Piergiorgio (non tutti, almeno credo!) ma presto lo saranno.

In ogni caso chi vorrà utilizzare questa interfaccia con NE-DOS potrà farlo tranquillamente restando alla larga dai tasti sopra citati che in tale contesto potrebbero avere un comportamento ‘anomalo’.

Spero di essere riuscito a spiegarmi in modo semplice e chiaro, per ogni vostro dubbio sarò a vostra disposizione.

Tra gli ‘allegati’ alla presente descrizione troverete un ‘estratto’ semplificato della tabella di conversione del KR-2376 che ho voluto rifare in modo (a mio avviso, spero anche per voi) più comprensibile e che voglio spiegarvi con un semplice esempio. Supponiamo sia stato pigiato (mi riferisco alla tastiera ‘originale’ NE) il tasto numerico ‘1’. L’interruttore corrispondente a tale tasto è collegato tra le linee X7 e Y8 (vedi schema elettrico, vedi schema e tabella sul datasheet). Osservando la mia tabella del KR-2376, incrociando la colonna X7 con la riga Y8 (come nella battaglia navale!) vi ritroverete in corrispondenza di un riquadro

scan1

contenente nella prima riga (N) il codice ASCII in notazione binaria a 7 bit (0110001), poi quella in notazione esadecimale (31) infine il carattere ASCII corrispondente (‘1’) nel caso in cui il tasto sia stato premuto ‘da solo’, nella seconda riga (S) ci sono i codici (in binario ed esadecimale) e l’ASCII (‘!’) corrispondenti alla combinazione SHIFT + 1 e la terza riga (C) invece corrisponde alla combinazione CONTROL + 1 che restituisce NUL perché non gestita dal sistema. Ogni codice così ottenuto dalla tabella viene poi complementato ed inviato in output dal KR-2376.

Altra tabella allegata (in realtà sono tre) è quella dei layout. Osservando questa tabella si può dedurre, partendo dall’alfanumerico pigiato, gli scan-code del corrispondente tasto in ‘battuta’ (Down) ed in ‘rilascio’ (Up), ed i codici da complementare ed inviare in output a seconda dello ‘stato’ dei tasti Shift e Ctrl.

scan2

Procediamo con un esempio osservando la tabella corrispondente al layout italiano: se pigio il tasto ‘1’ sulla tastiera PS/2 verrà inviato all’interfaccia lo scan-code 16 (sempre da considerare in esadecimale!) ed al rilascio invece uno scan-code costituito da due byte: F0,16. Se non viene pigiato altro che il tasto ‘1’ il codice inviato in output sarà IL COMPLEMENTO di quello della colonna ‘Normal’ (ovvero 31) che corrisponde appunto al carattere ‘1’. Nel caso in cui sia stata utilizzata la combinazione Shift + 1 allora il codice in output sarà IL COMPLEMENTO di quello della colonna ‘Shift’ (ovvero 21) che corrisponde appunto al carattere ‘!’. Nel caso in cui la combinazione sia stata Ctrl + 1 allora il codice da complementare ed inviare in output sarà NUL ovvero 00.

Detto questo credo/spero non sarà difficile interpretare correttamente quanto indicato in tutte e tre le tabelle, per qualsiasi layout.

Ultima nota riguarda il tastierino numerico: ho deciso fin dalla prima versione del firmware che resta SEMPRE abilitato, ovvero il tasto NumLock è inibito ed il led corrispondente resta SEMPRE acceso. Una scelta per snellire la procedura e ridurre al minimo le dimensioni del codice ;-)

N.B.: pigiando Alt e AltGr si attiva /NMI fin quando non vengono rilasciati.
In pratica, se pigiati insieme, equivalgono ai due tasti BREAK della tastiera originale. Da utilizzare solo ed esclusivamente con NE-DOS ;-) 

 

Versione 3.3.1

 La mappatura della tastiera è stata notevolmente estesa, prima di tutto, e questo rende necessario utilizzare una 16F648 al posto della 16F628.

La prima novità di questa nuova versione è il controllo del NumLock ed il salvataggio del suo 'stato' nella EEPROM del PIC con le stesse modalità del layout. In tal modo ad ogni accensione si avrà il NumLock nello stato preferito e/o più comodo.
La seconda novità riguarda la scelta della 'modalità' di utilizzo della tastiera che può essere cambiata con la combinazione L-Alt + F2. Le modalità previste sono due: NEDOS/SONE (un lampeggio) e DS/CPM-WS (due lampeggi) e quella 'preferita' può essere salvata (insieme al layout e allo stato del NumLock) nella EEPROM del PIC con la solita combinazione di tasti Ctrl + L-Alt + F10.
Nella prima modalità la tastiera PS/2 funziona in modo da somigliare quanto più è possibile alla tastiera originale dello Z80NE... ovvero:
  • il tasto TAB funziona da LINE FEED
  • il tasto CapsLock funziona da SHIFT LOCK
  • pigiando insieme i tasti L-Alt e AltGr viene simulata la pressione dei due tasti BREAK (con attivazione del /NMI sulla cpu)

Nella modalità DS/CPM-WS invece:

  • niente BREAK, niente LINE FEED e niente SHIFT LOCK!
  • il tasto TAB funziona… come TAB
  • il tasto CapsLock funziona… come CapsLock ????
  • i tasti cursore, PgUp, PgDn, Home, End, Del e Ins funzionano secondo lo 'standard' WordStar
  • i tasti F1-F12 tutti mappati, generano Esc + A, Esc + B, …, Esc + L
 
La terza ed ultima novità riguarda il reset reale dello Z80. Pigiando insieme i tasti Ctrl + L-Alt + Del il pin 2 del PIC (RA3) passa dallo stato TRI-STATE a LOW (e ci rimane fin quando non si rilascia almeno uno dei tre tasti, poi ovviamente ritorna in TRI-STATE!) e pertanto, collegandolo DIRETTAMENTE alla linea /RESET della CPU, si ottiene il riavvio del sistema esattamente come premendo il tasto reset della scheda cpu. Per realizzare questo collegamento si può fare un ponticello sulla interfaccia PS/2 tra il pin 2 del PIC ed uno dei pin liberi del connettore DIP-20 e successivamente realizzare un collegamento tra la linea /RESET e la corrispondente piazzola del pin libero prescelto sul lato saldature della video-grafica, proprio sotto il connettore tastiera.
Presto un nuovo PCB...
 
 ps2 schematic
 Schema interfaccia PS/2

 

Downloads

 

Firmware Documentazione

Spiacente, questo articolo non è disponibile in inglese. United-Kingdom-flag-icon-26
Please ask, if you wish an english translation added

 

original kit

Il mio Z80 NE

 a.k.a. ZDS or Z80 Darkstar

 

 

  

 

Il declino

Se avete letto l'articolo introduttivo alla Z80 di Nuova Elettronica, potete facilmente immaginare che, con il trascorrere degli anni, anche il buon vecchio Z80 andò in pensione.

Con l'arrivo in casa del primo PC IBM 8088, poi AT 286 e così via, di passo con la mia carriera professionale (oggi lavoro su cluster massivi), fu inevitabile che lo Z80 venisse progressivamente abbandonato. E così, anche se, nonostante la "concorrenza" di molto più performanti PC, la mia amata macchinina abbia caparbiamente proseguito la sua carriera per qualche anno con un programma di gestione abbonati per la rivista ferroviaria di mio padre scritto in DBII, fu inevitabile che infine trovasse la strada per la soffitta...

 

Tutti noi cresciamo negli anni e le prospettive cambiano. Così, ad un certo punto, come probabilmente è capitato a molti di voi, una maggiore disponibilità di tempo e una crescente nostalgia per i vecchi amori ha fatto sì che nascesse l'esigenza di "recuperare" il mio primo ed insostituibile computer.

2006, via la polvere!

Disceso dalla soffitta, non era messo poi tanto male, anche se recuperare i vari pezzi sparsi tra uno scatolone e l'altro non è stata impresa da poco.

A seguire le classiche operazioni di restauro, pulizia innanzitutto, verifica dell'alimentatore e prima ri-accensione. Sfortunatamente non ho fatto una documentazione fotografica di questa attività.

Quindi per farla breve il mio Z80 era di nuovo funzionante!

Bè non proprio.

Al primo tentativo di bootstrappare la macchina ho avuto la sgradita sorpresa di vedere che tutti i floppy del NE-DOS erano rovinati. Non solo quelli del NE-DOS a dire il vero, ma tutti in blocco, incluso quindi CP/M e qualsiasi altro software.

Sulla superficie dei floppy si era formata una specie di patina di muffa. Più tardi ho scritto un programmino per lo Z80 che fosse in grado di recuperare i settori non danneggiati. Visto che di molti floppy avevo copie multiple, in effetti, leggendo un settore da un disco, uno da un'altro, qualcosa sono riuscito a recuperare anche se questo purtroppo è quasi costata la vita ad uno dei drive Tandon da 5".

Tuttavia il problema immediato rimaneva: come caricare software sullo Z80?

All'epoca il sito di Roberto Bazzano, "The Home of Z80 NE", non esisteva e non ero ancora in contatto con altri affezionati dello Z80 NE. L'unica soluzione sembrava utilizzare la schedina parallela LX389 per realizzare una interfaccia parallela tra Z80 e PC. Anche perchè ormai il PC ospitava le immagini di tutti i dischi e il software per lo Z80 in mio possesso.

Fatta una piccola modifica su tale scheda e aggiunto il software necessario tutto si è sbloccato.

Da quel punto in poi sono nate tante idee, alcune realizzate, alcune ancora no (il tempo libero è quello che è). Non voglio annoiare nessuno e quindi vi risparmio la cronistoria delle modifiche apportate allo Z80 e del perchè alcune modifiche ne hanno richieste altre.

La documentazione del tutto è disponibile nelle pagine più in basso dove ho cercato spiegare le cose al meglio e nel dettaglio.

Qualche considerazione generale. 

Tutte le modifiche, alcune realizzate poi anche con l'aiuto dell'amico Pino Giaquinto portano ad avere uno Z80NE con gli "steroidi". Questo è bello da un lato ma comporta delle rinunce dall'altro.

Per chiarire: usare ad esempio la scheda multifunzione, che si porta a bordo 768k di ram, è possibile solo rinunciando alle schede di memoria originali. Ciò che alla fine ottenete non è più esattamente in linea con lo Z80NE, ma uno ZDS come io lo chiamo o Z80 Darkstar, nomignolo che il mio Z80 ha avuto praticamente da sempre, per via del suo case nero.

L'idea è avere lo Z80 dei miei sogni e vedere fin dove è possibile portare l'architettura di base di Nuova Elettronica, senza progettare un computer da zero, come per esempio hanno fatto i ragazzi del N8VEM.

Personalmente ho risolto il problema mettendo da parte tutto il "non serve più" e duplicando "il modificato" in modo da avere l'occorrente per uno Z80NE suo gemello, puro così come mamma lo ha fatto (grazie Pino per la scheda floppy...)

Una seconda importante considerazione è la seguente: tutto il software realizzato lato PC gira ed è stato sviluppato su Linux. Questo vuol dire che se non utilizzate questo sistema operativo vi dovrete attrezzare. Il software di per se è in puro C quindi non dovrebbe essere difficile il porting su DOS/Windows utilizzando Cygwin, ma io non l'ho mai fatto. Questo sforzo spetta a voi e anzi, se ci riuscite, This email address is being protected from spambots. You need JavaScript enabled to view it..

Tutto il software sviluppato, il software adattato (quasi tutto per il CP/M), la documentazione, i progetti e quant'altro è disponibile qui:

https://github.com/pbetti/ZDS

indipendentemente dalla descrizione dei singoli progetti che trovate sotto. Il materiale è disponibile su github sia per la facilità della distribuzione, sia perchè, bè, non ho mica smesso di lavorarci sopra... ????

Per avere una copia del repository il requisito software è avere installato "git", che è disponibile su qualunque versione di Linux o che, a vostra scelta potete compilare prelevandolo da https://git-scm.com/downloads, quindi, posizionatevi in una cartella appropriata al contesto in cui creare la sottodirectory di github e date il comando:

$ git clone https://github.com/pbetti/ZDS.git

In seguito per mantenere il repo sempre aggiornato, entrate nella cartella ZDS ed usate il comando:

$ git pull origin master

Buon divertimento!

 

Progetti

Le modifiche realizzate e quelle in via di realizzazione sono documentate nella lista qui sotto. Cliccate sui titoli per la pagina corrispondente.

 

 Software, Tips&Tricks