Skip to main content

Full text of "Bollettino del club utenti computer Z80"

See other formats


ANNO III 


NUMERO 11 '8 3 


****** 

****** 

****** 

********** 

**************** 

********** 

********** 

********** 

****** 

****** 

****** 

****** 

****** 

****** 

****** 

****** ****** ****** 

****** 

****** 


****** 

****** 

****** 

****** 

****** 

****** 

****** 

****** 


**************** 

****** 

design 

***** 

****** 

****** 

****** 


****** ****** 

****** 

****** 

****** 

****** 

****** 

****** 

****** 

****** 

******** 

****** 

****** 

****** 

****** 

****** 

********** 

****** 

******** 

********** 


BOLLETTINO DEL CLUB UTENTI MICRO DESIGN 
NOVEMBRE 1983 


COME UTILIZZARE TUTTI GLI OTTO BIT PER IL PILOTAGGO DELLA 
STAMPANTE, USANDO L'INTERFACCIA PARALLELO LX 389 


Con questa reaiiszasione facciamo seguito alle richieste 
pervenuteci da molti soci che, dotati di stampante in grado di 
gestire i caratteri grafici o semi grafici, non potevano 
utilizzarli. Questo perche' 1'interface i a per stampante ne pilota 
solamente 7, fissando ad 1 l'ottavo bit (o a 0 per chi avesse 
eseguito il ponticello da noi illustrato nelle prime serie di 
bollettini) . 

L'utilizzo di tutti gli otto bit comporta la necessita' di 
eseguire alcune facili modifiche hardware sulla scheda e di 
modificare anche le routine del CP/M. 

Le modifiche hardware consistono nel taglio di una pista e 
nell'esecuzione di due filature, come indicato nello schema 
elettrico che segue. 


USCITA 1- 


-ENTRATA 1- 

acj £•e seR c 



i « 

1 1 M i« •' ■» 


IU 

■e 

II 

/ i 

* IVI» H <1 


BH. 


p 


p 


-■ ENTRATA2- 


MicroDesign Nov. 1983 n. 11 


1 


V. Risoldi 





















































































































































































In pratica sara' necessario: 

1) interrompere la pista che parte dal piedino 8 del 
connettore della stampante 

2) collegare il piedino 8 in questione al piedino 9 del 
connettore 2 

3) collegare il piedino 17 del connettore della stampante al 
piedino 9 del connettore 1 <chi avesse eseguito il 
ponticello fra il piedino 17 del connettore della stampante 
e massa lo dovrà' rimuovere). 

Le modifiche software consistono nel: 

1) battere il programma che segue, tramite un qualsiasi 
programma di EDITING (ED .COM, US.COM, ecc.) 

2) farlo assemblare mediante il programma ASM.COM 

3) farlo trasformare in .COM tramite il programma LOAD.COM 

4) lanciare il programma cosi generato 

Il programma provvedera' ad eseguire le modifiche alle 
routines di uscita sulla stampante del CP/M, dopo di che' 
rilancera' il CP/M. Le routines modificate resteranno disponibili 
in memoria fino a che non sara' dato un reset, od il sistema 
sara' spento. Tutti i programmi che faranno uso delle routines di 
uscita sulla stampante utilizzeranno le nuove routines e quindi 
potranno fare uso di tutti gli otto bit. 

Ecco di seguito la lista del programma: 


PROGRAMMA DI INIZIALIZZAZIONE DELLA PORTA PARALLELO 
COME STAMPANTE UTILIZZANTE TUTTI GLI 8 BIT 


DATAPORT 

EtìU 

3H 

LISTI 

PUSH 

PSW 

r 




IN 

DATAPORT 

LUNGBIOS 

EGU 

440H 


ANI 

IH 

JUMPLST1 

EGU 

2AAH 


DB 

20H,0FAH 

" 




MOV 

A, C 


ORG 

10QH 


OUT 

DATAPORT 

r 




MVI 

A,7FH 


MVI 

A,OFFH 


OUT 

DATAPORT—1 


OUT 

DATAP0RT-1 


MVI 

A,OFFH 

7 




OUT 

DATAP0RT-1 


LHLD 

1 


POP 

PSW 


LXI 

D.OFFFDH 


RET 



DAD 

D 

5 




SHLD 

BASEBI0S 

FINE 

END 



LXI 

D,LUNGBIOS 





DAD 

D 





SHLD 

BASEROUTINES 





LHLD 

BASEBI0S 





XCHG 






LXI 

H,JUMPLST1+1 





DAD 

D 





SHLD 

LSTADX 




f 

LHLD 

BASEROUTINES 





XCHG 






LHLD 

LSTADX 





MOV 

M,E 





INX 1 

H 





MOV 

M,D 





LHLD 

BASEROUTINES 





XCHG 






LXI 

H,LISTI 





LXI 

B,FINE-LIST1 





DB 

0EDH.0B0H 





MVI 

A„0CQH 





STA 

3H 





JMP 

0 




BASEBI0S 

DS 

2 




BASEROUTINES 

DS 

2 




LSTADX 

• 

r 

DS 

2 




MicroDesign Nov. 1983 

n. 11 

2 



V. Risoldi 



OROLOGIO DI SISTEMA/CALENDARIO 


In questo numero del bollettino vi presentiamo un circuito 
che permette di dotare il nticro di un orologio calendario, adatto 
per le applicazioni in tempo reale, per la gestione della 
contabilita' e per qualsiasi altro uso in cui sia necessario 
sapere l'ora, o la data, o misurare intervalli di tempo. 

Alcuni dei mi ero reperibili in commercio sono dotati di 
circuiti, detti di "reai t i me clock", che generano al nticro 
interrupt ripetitivi utilizzando oscillatori di frequenza piu' o 
meno precisa, a seconda del tipo di oscillatore utilizzato. In 
questi nticro la funzione di conteggio viene realizzata mediante 
1 ' i ncrentento, ad ogni interrupt ricevuto, di un contatore 
realizzato a software. 

La gestione degli oscillatori di "reai tinte clock" e' pero' 
piuttosto complessa, talvolta interferisce con i programmi 
dell'utente del nticro e, se non e' realizzata con cura, rischia 
di contare male il trascorrere del tempo, talvolta con errori del 
100 %. 

Il circuito che vi presentiamo si basa su un principio del 
tutto diverso, infatti e' costituito da un vero e proprio 
orologio con datario, che invece di mostrare l'ora su un 
quadrante, la indica mediante il contenuto di alcuni registri 
leggibili da programma. Esso utilizza un oscillatore di 
precisione che funziona con un quarzo ad alta stabilita', dello 
stesso tipo di quelli utilizzati dagli orologi da polso 
elet t ronici. 

L'orologio aggiorna automaticamente millesimi, centesimi e 
decimi di secondo, secondi, minuti, ore, giorni della settimana 
(indicati naturalmente con un numero! 1 = LUNEDI', 2 = MARTEDÌ' 
ecc.), giorni del mese, mesi . Il datario tiene automaticamente 
conto del numero di giorni proprio di ogni mese<28 per FEBBAIO, 
30 per NOVEMBRE, ecc.>. 

Il circuito da noi progettato mantiene naturalmente anche le 
caratteristiche dei circuiti di "reai time clock" menzionati in 
precedenza, ed e' quindi in grado di generare, su comando 
software, interrupt al microprocessore ad intervalli 
predeterminati. Invece di avere una frequenza fissata a priori 
esso pero' consente di scegliere da programma la cadenza degli 
interrupts ( ogni decimo di secondo, ogni secondo, ogni minuto, 
ogni ora, ogni giorno, od infine ogni mese). 

Oltre a quanto sopra il circuito dell'orologio e' dotato di 
"sveglia", o meglio di un circuito di comparazione che consente 
di poter generare interrupt al micro ad un'ora, ed eventualmente 
ad una data, programmata dall'utente. 

La sveglia e' organizzata in modo tale che la comparazione 
col contenuto dei contatori dell'ora e della data avviene 
separatamente per ogni unita' di conteggio (frazioni di secondo, 
secondi, minuti, ore, ecc.) . Se una certa unita' non deve essere 
utilizzata può' essere definita non significativa. Tutto questo 
consente di soddisfare tutte le esigenze: si potrà' ad esempio 
avere un interrupt alle 15.25 di tutti i giorni, oppure solo del 
martedì', oppure del giorno 15 di ogni mese oppure del 18 di 
Febbraio e cosi' via. 

Tale sveglia e' anche utilizzabile, per mezzo del circuito 
che vi presenteremo nel seguito, per accendere il micro ad una 
data ed un'ora prefissata, anche a mesi di distanza, cosa che 
può' consentire realizzazioni davvero interessanti, ad esempio 
nell'utilizzazione del micro come antifurto. 

L'orologio e' dotato deila possibilità' di caricare l'ora e 
la data di partenza e dispone di un comando separato di "VIA" per 
sincronizzare il conteggio. 


MicroDesign Nov. 1983 n. 11 


3 


V. Risoldi 


Oltre a questo esso consente l'azzeramento di qualsiasi 
unita' di conteggio ( millesimi, centesimi, decimi di secondo, 
secondi, minuti, ecc.) in modo da permettere la 
risincronizzazione, ad esempio sul segnale orario RAI. 

Una delle prestazioni piu' significative di cui abbiamo 
voluto dotare questo circuito e' l'alimentazione con batteria in 
tampone. Infatti approfittando del fatto che il componente 
utilizzato e' realizzato in tecnologia CMOS a bassa tensione, 
abbiamo inserito nel circuito una batteria ricaricabile al nichel 
cadmio che alimenta l'orologio quando il micro e' spento e 
consente alla funzione di conteggio dell'ora e della data di 
proseguire indisturbate. Pertanto l'ora e la data dovranno essere 
caricate solo la prima volta o dopo che il micro sara' rimasto 
spento per lunghissimo tempo. Naturalmente la batteria e' 
automaticamente ricaricata quando il micro e' acceso. 

Visto il suo assorbimento estremamente ridotto, l'orologio 
può' funzionare senza alimentazione principale, partendo da 
batteria completamente carica, per piu' di 4000 ore (cioè' piu' 
di 5 mesi). D'altra parte sono sufficienti 30 ore (cioè' 15 
giorni, tenendo il micro acceso 2 ore al giorno) per ricaricare 
completamente la batteria. 

L'orologio e' stato dotato di un circuito di precisione, 
st t*b i 1 i zzat o in temperatura, che inibisce automaticamente ogni 
accesso ai suoi registri quando la tensione di alimentazione 
principale si trova al di sotto di 4,5 V. Questo evita che 
durante l'accensione e lo spegnimento del micro si possano 
generare delle operazioni spur’ie che vadano ad alterare il 
contenuto dell'orologio. 

Una foto della scheda dell'orologio/calendario e' riportata 
qui di seguito. 



MicroDesign Nov. 1983 n. 11 


4 


V. Risoldi 











L'orologio e' stato progettato per essere collegato alla 
scheda Mult i funz i one MICRO design SMF 001 ed utilizza il segnale 
di WAIT per sincronizzare la velocita' del mi ero, durante gli 
accessi, a quella leggermente minore del circuito CMOS che 
contiene le unita' di conteggio. In tale modo la velocita' del 
circuito risulta del tutto indipendente da quella del micro, per 
cui sara' possibile montare tranquillamente l'orologio anche su 
sistemi con unita' centrale funzionante a 4 MHz, senza alcuna 
modifica, ne' hardware ne' software 

L'orologio di sistema/calendario e' stato denominato OSC 101 
ed e' ordinabile, in Kit, presso la MICRO design, al prezzo 
indicato nel listino. 


IL SOFTWARE DEI GESTIONE DELL'OROLOGIO/CALENDARIO 


Data la organizzazione estremamente semplice, 

1'orologio/calendario MICRO design OSC 101, può' essere gestito 
facilmente da software, sia in linguaggio ASSEMBLER, che in 
linguaggio BASIC, che in qualsiasi linguaggio ad alto livello. 

La struttura dell'orologio infatti consiste in un registro 
di puntamento alla funzione desiderata (ad esempio contatore dei 
secondi) ed una porta su cui si effettua l'operazione (lettura o 
scrittura). Anche nel caso degli interrupts la gestione risulta 
molto semplificata, infatti l'orologio e' dotato di un registro 
di abilitazione del 1' interrupt e di un registro di lettura della 
sorgente di interrupt e reset di quest'ultima. 

Per facilitare ulteriormente le cose il manuale tecnico del 
Kit MICRO design OSC 101 e' fornito completo delle liste dei 
programmi di: 

-Messa a punto dell'ora 
-Abilitazione degli interrupts periodici 

-Messa a punto della sveglia ed abilitazione del 1'interrupt 
relativo (o del circuito di riaccensione del micro) 

-Esempi delle subroutines da utilizzarsi nel corso di un 
programma per effettuare la lettura dell'ora e della data 

Tutti questi esempi sono scritti sia in ASSEMBLER che in 
BASIC3 e faciliteranno molto la vita a coloro che vorranno 
scrivere programmi utilizzanti le funzioni dell'orologio. 

In aggiunta a quanto sopra il Kit MICRO design OSC 101 e' 
anche dotato della lista in ASSEMBLER (ASM.COM) di un programma 
funzionante ad interrupt che mostra la data e l'ora, con 
aggiornamento automatico, sull'angolo in alto a destra dello 
schermo. Funzionando ad interrupt tale programma e' in grado di 
girare contemporaneamente al CP/M ed ai programmi che girano 
sotto CP/M, senza disturbo reciproco. 

Per coloro che volessero evitarsi la noia e gli errori della 
battitura, le liste di tutti i programmi indicati sopra e i 
programmi già' pronti in linguaggio macchina (questi ultimi 
naturalmente solo per quanto scritto in ASSEMBLER) sono 
disponibili come : 

Bliblioteca MDUG - Volume 8 

al prezzo indicato nel listino. 


MicroDesign Nov. 1983 n. 11 


5 


V. Risoldi 


ACCENSIONE E SPEGNIMENTO AUTOMATICO DEL MICRO 


Qui di seguito vi presentiamo il circuito che, collegato 
all'orologio di sistema/calendario MICRO design OSC 101, vi 
consentirà' di accendere o spegnere, a scelta, il vostro micro ad 
un'ora ed una data prefissate da software. 

Il circuito sfrutta l'uscita della "sveglia" dell'orologio 
per pilotare un rele' che dia alimentazione a tutto il micro. Il 
rele' e' del tipo dotato di contatto di autoritenuta, in modo 
tale che una volta acceso sia in grado di automantenersi nella 
stessa condizione, anche se il segnale di pilotaggio viene a 
mancare. ■ -• 

Il comando manuale di accensione e' ottenuto mediante la 
pressione del pulsante PI, mentre lo spegnimento manuale si 
ottiene mediante l'azionamento del pulsante P2. 

Il deviatore SI permette di scegliere l'azione eseguita 
dalla "sveglia". In posizione A--B il micro verrà' acceso al 
momento prefissato, in posizione A-C il micro verrà' invece 
spento. 

Tutto il circuito e' alimentato tramite un trasformatore per 
mantenere l'isolamento fra l'elettronica del micro e la rete. 

Il circuito di autoaccensione rimane naturalmente alimentato 
anche quando il micro e' spento, ma il suo assorbimento e' 
limitato ed il consumo del circuito e' veramente ridicolo. 

Lo schema del circuito di autoaccensione/spegnimento e' 
riportato nel seguito. 



UN COMPILATORE MUSICALE PER FAR SUONARE IL MICROCALCOLATORE 


Siamo sicuri che il programma che vi presentiamo risponderà' 
ai desideri di molti soci, che ci avevano piu' volte richiesto di 
poter far suonare il micro, per divertire gli amici ed i 
familiari e per ottenere effetti speciali. 

Il principio su cui si basa la generazione delle frequenze, 
in molti programmi, e' relativamente semplice, infatti si tratta 
solamente di generare dei loop di ritardo di durata pari al 
semiperiodo della frequenza da Sintetizzare e di andare quindi a 
scrivere uno zero od un uno su una porta di uscita del tipo 
regist ro. 

MicroDesign Nov. 1983 n. 11 


6 


V. Risoldi 







































La musica cosi' generata e' pero' monocordo e piatta, 
infatti di tutte le componenti della musica (ampiezza, timbro, 
note ecc.) e' possibile variare solo le frequenze e quindi le 
note, senza alcuna possibilità' di controllo sulle altre 
componenti 

nettamente migliori possono essere ottenuti 
interfacce di uscita molto piu' complesse, 
insieme di convertitori DIGITALI/ANALOGOCI e di 
questo ultimo caso i risultati ottenuti sono 
tutto paragonabili a quelli di un organo, ma 


Risult at i 
usufruendo di 
costit uit e da un 
miscelatori. In 
not evoli, del 


programma 


risult a 


l'interfaccia e' molto costosa ed il 
estremamente complesso. 

Il programma MUSIC che vi presentiamo consente di ottenere 
un compromesso fra i due,tipi,di prestazioni illustrate in 
precedenza. 

Esso infatti genera musica variando non solo le note, ma 
anche l'ampiezza del suono generato; inoltre consente di suonare 
a "tre voci", cioè' simulando la presenza di tre strumenti che 
suonino contemporaneamente. Tutte queste caratteristiche 
contribuicono ad ottenere una musica piuttosto piacevole, anche 
se un po' metallica, caratteristica quest'ultima tipica della 
musica generata "digitalmente". 

Il programma, che utilizza una interfaccia estremamente 
sempice e che verrà' illustrata nel seguito, permette di generare 
un massimo di 32 note per battuta ed ha l'estensione di 4 ottave 
in frequenza. 

La caratteristica di gran lunga piu' rilevante del programma 
che vi presentiamo e' pero' che esso e' un "COMPILATORE 
MUSICALE". Questo significa che non si limita a suonare una 
musichetta, sempre uguale e che alla lunga può' annoiare, bensì' 
e' un programma che permette di compilare un qualsiasi spartito e 
di sintetizzare la musica relativa. 

Il programma e' dotato di gestione dei dischi, di EDITOR e 
di DEBUGGER. Questo significa che l'operatore può' generare lo 
spartito mediante il programma di editor, può' provare a farlo 
suonare per intero, o per pezzetti separati, tramite il debugger. 


può ; 


effettuare le correzioni 


ancora mediante 1'editor. 


ed 

infine, quando sia contento del risultato, può' memorizzare il 
programma su disco, in modo da poterlo suonare successi variente. 

Il dischetto del compilatore musicale comprende, oltre al 
programma di base, anche un certo numero di spartiti già' 
memorizzati, relativi a pezzi molto noti come "Guerre stellari", 
"Lawrence d'arabi a", "Moon ri ver" ecc. 

Come abbiamo detto l'interfaccia elettrica necessaria per la 
sintesi della musica e' estremamente semplice, infatti può' 
essere utilizzata la scheda di interfaccia parallelo attualmente 
usata per la stampante, sfruttando la parte non utilizzata da 
quest'ultima. 

Per smorzare la metallicita' del suono e generare l'effetto 
musicale necessario, sara' sufficiente prelevare il segnale da un 
bit della porta in questione, filtrarlo tramite un filtro passa 
basso e connetterlo all'ingresso di un amplificatore. Lo schema 
relativo e' riportato in figura. 

'lOK -ìok 

uscita 0 Il »-IZZ1- j CHI ♦-O-* AMPu fica roftp 

digitale 0.^4, ± f)A 1 


Ho K 


0 .‘i 


T /* F 


MicroDesign Nov. 1983 n. 11 


V. Risoldi 







Per coloro che volessero realizzare una unita' autonoma, 
completa di ampiificatore, abbiamo realizzato una interfaccia, da 
montarsi sulla scheda multifunzione MICRO design SMF 001. 

Tale interfaccia e' dotata di una porta di uscita ad un solo 
bit, del filtro relativo e di un amplificatore di bassa frequenza 
completo. Sulla schedina e' montata una morsettiera a cui potrà' 
essere collegato un altoparlante da 8 ohm, oppure, in presa 
diretta dopo il filtro, un amplificatore esterno. 

La scheda di interfaccia musicale si chiama IMU 101 ed e' 
acquistabile in Kit al prezzo indicato nel listino. 

Il programma del compilatore musicale (MUSIC), completo del 
file di documentazione che riporta le istruzioni per l'uso e la 
spiegazione dei ■ comandi, con piu' di 20 pezzi musicali già' 
memorizzati (nel caso di discb da 5 pollici il numero di pezzi 
musicali e' leggermente inferiore per questioni di capacita' del 
dischetto) costituisce il: 

Volume 9 - della Biblioteca MDU6 
e potrà' essere acquistato al prezzo indicato nel listino. 

IL COMPILATORE MUSICALE NECESSITA DEL SISTEMA OPERATIVO CP/M 
PER POTER FUNZIONARE. 


///////////// 
/ / / MITTENTE / / / / / 
///////////// 

/ / MICRO design / / / / 

/ / Via Rostan 1 / / / / 

/ / 16155 Genova / / / / 

/ / TEL. (010) 687098 / 

///////////// 


STAMPE 


***************************************************************** 


* Tagliando di iscrizione al club utenti * 

* * 

* Cognome...... .Nome. .... * 

* * 

* Via. * 

* * 

# C.A.P...Citta'... * 

* * 

* Provincia... Telefono./.. * 


* Configurazione micro 

* 


a#####*################**####*#######*****##****#**##**#**#*#**#* 


MicroDesign Nov. 1983 n. 11 


8 


V. Risoldi