home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 4
/
CDPD_IV.bin
/
fish
/
971-1000
/
ff978
/
mouseclock
/
mclk.doc.ita
< prev
next >
Wrap
Text File
|
1994-06-13
|
17KB
|
427 lines
Progetto MouseClock
Rev. 1.22
13-Gen-94
Copyright (C) 1993 Adriano De Minicis
CHE COS'E'?
===========
MouseClock è un progetto hardware/software di un orologio calendario con
batteria tampone, di costo e dimensioni contenuti, che si collega
esternamente (sulla mouse port 2) a qualunque modello di Amiga.
REQUISITI
=========
Funziona su qualunque modello di Amiga (è stato testato su A1200, A2000,
A500) che abbia almeno la versione 1.2 del sistema operativo.
E' necessaria solo un po' di esperienza nella realizzazione dei circuiti
elettronici. Se non ne avete mai costruito uno è meglio che chiediate aiuto
a qualche amico piu' esperto.
INDICE
======
1. Descrizione
2. Avviso shareware
3. Distribuzione
4. Avvertenze (Leggere attentamente)
5. Uso di MouseClock (la parte hardware)
6. Uso di SetMClock (il programma)
7. Messaggi di errore e possibili cause
8. Note sull'hardware
9. Costruzione
10. Taratura
11. Ringraziamenti
1. DESCRIZIONE
==============
MouseClock, come detto è un orologio esterno di ingombro molto ridotto.
I vantaggi di avere un orologio esterno sono molti:
- L'installazione non annulla la garanzia.
- E' compatibile con tutti gli Amiga: se quindi decidete di cambiare il
vostro Amiga potete trasferitre MouseClock senza problemi.
- Puo' essere usato come orologio di emergenza su un Amiga dotato di
orologio interno guasto.
Qualcuno potrebbe obiettare che esterno è ingombrante e/o che occupa la
porta joystick:
- E' molto compatto (il mio prototipo misura 44 x 35 x 16 millimetri).
- Con pochi componenti in piu' si puo' realizzare una versione "passante"
per joystick: con un deviatore si seleziona MouseClock o il joystick.
Ma quanto mi costi?
- Molto meno di un orologio interno: con 20-25mila lire circa si acquistano
tutti i componenti per realizzarlo.
In questo archivio trovate la documentazione (questo file) e il software
(SetMClock) che permette di utilizzare MouseClock (è compreso il sorgente in
assembler). Riceverete lo schema elettrico e gli schemi di montaggio su
basetta millefori se mi invierete il contributo shareware (v.Distribuzione).
2. AVVISO SHAREWARE
===================
MouseClock è SHAREWARE. Se volete ricevere lo schema elettrico e gli schemi
di montaggio inviate il contributo shareware in uno dei modi sottoelencati.
Specificate per favore come causale "MouseClock" (poichè sto sviluppando
altri progetti probabilmente shareware).
Pagamento
---------
Tramite vaglia postale: inviatemi 10000 lire. Specificate come causale
"MouseClock". (Solo per l'Italia).
Tramite vaglia postale internazionale: inviatemi 10000 lire (LIT).
Assicuratevi che io riceva il pagamento in lire e non nella vostra valuta.
Specificate come causale "MouseClock".
In contanti: inviatemi 10000 lire, oppure 7 dollari USA, o 12 DM (Marchi
Tedeschi), o 5 GBP (Sterline Inglesi). Ricordatevi di allegare il vostro
indirizzo e "MouseClock" come causale di versamento.
Il pagamento in contanti è a vostro rischio. Usate due buste una dentro
l'altra per maggior sicurezza.
NON INVIATE assegni, vaglia postali USA o Canadesi, ordini contrassegno...
Il mio indirizzo è:
Adriano De Minicis
Via Latisana 37
33054 Lignano Sabbiadoro UD
Italia
La ragione per cui questo progetto è shareware è che ho impiegato molto piu'
tempo per scrivere la documentazione, disegnare gli schemi e riscrivere in
assembler il software (originariamente in GFA Basic compilato, 17K!) che non
per progettare e realizzare il tutto per il mio nuovo A1200. Non mi sembra
quindi sbagliato chiedere un contributo (non credo che 10000 lire sia una
cifra esorbitante) per ripagarmi del tempo perso (purtroppo il tempo libero
è sempre cosi' scarso!). Dal riscontro che avra' questo progetto decidero' se
vale la pena di pubblicare i progetti su cui sto lavorando:
- un commutatore a 4 vie per la porta parallela, completamente elettronico
(niente commutatori meccanici) con tutti i pin bidirezionali, controllato
da Amiga anche via ARexx
- un analizzatore logico in versione ridotta
3. DISTRIBUZIONE
================
I files presenti in questo archivio possono essere copiati e distribuiti
liberamente (anche su network) purchè vengano distribuiti per intero senza
modifiche e non a scopo di lucro (è consentito un piccolo addebito per le
spese di copia e del disco).
Lo schema elettrico che riceverete iniviando il contributo shareware è
invece sotto copyright, e NON puo' essere ridistribuito in nessun modo.
MouseClock puo' essere costruito solo per uso personale, ne è vietata la
commercializzazione (contattatemi per eventuali accordi).
4. AVVERTENZE (Leggere attentamente)
====================================
Il programma SetMClock pone come uscite alcune linee della mouse port 2
(GamePort). Pertanto prima di lanciare SetMClock scollegare qualunque
dispositivo da quel conettore per evitare possibili danni al dispositivo e/o
all'Amiga. Nota: quando SetMClock termina, la porta torna allo stato
originario.
E' possibile collegare un joystick su un connettore ausiliario se si
costruisce la versione passante di MouseClock (occorrono solo pochi
componenti aggiuntivi).
ATTENZIONE:
-----------
MAI inserire o togliere MouseClock quando Amiga è acceso, specialmente se
non avete tolto lo schermo metallico del connettore DB9 femmina di
MouseClock. Infatti cio' puo' provocare un cortocicuito su Amiga (con le
immaginabili conseguenze) dato che i due pin 7,8 (+5V, GND) della MousePort2
sono uno vicino all'altro ed è molto facile provocare un cortocircuito con
lo schermo dell'altro connettore. Pertanto CONSIGLIO VIVAMENTE di tagliare
via lo schermo metallico dal connettore femmina di MouseClock (non di
Amiga!). In tal caso non c'è piu' pericolo di cortocircuiti, anche se
sconsiglio comunque di inserire/togliere MouseClock ad Amiga acceso (sebbene
io l'abbia fatto molte volte, non è detto che prima o poi non si danneggi
qualcosa)
NON MI ASSUMO NESSUNA RESPONSABILITA' PER EVENTUALI DANNI DI QUALUNQUE
GENERE CAUSATI DALL'UTILIZZO E/O DALLA COSTRUZIONE DI QUESTO PROGETTO.
Siete ancora qui? bene!, proseguiamo con:
5. USO DI MouseClock (LA PARTE HARDWARE)
========================================
Usare MouseClock è semplice: basta collegarlo alla porta mouse 2 (gameport)
quando Amiga è spento (leggete le avvertenze sopra riportate!).
Versione base di MouseClock
---------------------------
Usate SetMClock per accedere all'orologio (vedi sotto).
Estensione joystick di MouseClock
---------------------------------
Questa versione permette di collegare un joystick al connettore DB9
ausiliario (solo joystick normali, non analogici o paddle).
Posizionate il deviatore su 'Clock' prima di lanciare SetMClock (altrimenti
SetMClock non vede l'orologio!). L'utilizzo di un joystick quando il
deviatore è su 'Clock' (o viceversa) non causa danni.
6. USO DI SetMClock (IL PROGRAMMA)
==================================
SetMClock è il programma che consente di settare l'ora di sistema da quella
di MouseClock o viceversa. E' l'equivalente di SetClock. Essendo scritto
interamente in assembler è sufficientemente compatto (circa 3K).
SetMClock per poter funzionare correttamente ha bisogno del file
"MClock.upd" (4 bytes) nella directory "S:". Tale file viene creato per la
prima volta con l'opzione 'save'. E' necessario poichè il chip utilizzato
da MouseClock non memorizza l'anno, che quindi va salvato su disco. L'anno
viene aggiornato automaticamente confrontando la data attuale con quella
presente nel file (giorno, mese, anno dell'ultimo aggiornamento di
MouseClock). Se il giorno attuale (letto da MouseClock) è precedente a
quello nel file allora l'anno è il successivo e viene riscritto. L'unico
caso in cui SetMClock non si accorge del cambiamento è se il computer rimane
spento dall'inizio dell'anno fino almeno alla data nel file. Ad es. se
"MClock.upd" contiene '15 Gen 1993' e MouseClock segna '10 Gen' siamo
sicuramente nel 1994 (il tempo non torna indietro!); se invece MouseClock
segna '15 Gen' o un giorno successivo siamo ancora nel 1993 (tranne il caso
particolare detto sopra). Per evitare questo piccolo problema conviene
aggiornare comunque MouseClock ad es. alla fine di gennaio, in modo che
l'anno successivo SetMClock ha un mese per accorgersi che l'anno e'
cambiato.
Per chi non ha l'hard-disk conviene copiare il file "S:MClock.upd" in tutti
i dischi di boot in cui si vuole usare SetMClock.
ATTENZIONE: Non lanciate SetMClock se avete collegato una periferica diversa
da MouseClock nella mouse port 2. Leggete il capitolo
"Avvertenze".
NOTA: Evitate di lanciare piu' copie in parallelo di SetMClock, poiche'
interferirebbero tra di loro, dando risultati sbagliati (nessun
danno).
Utilizzo da CLI/Shell
---------------------
SetMClock load Setta la data e l'ora di sistema leggendola da
MouseClock. E' necessario il file "S:MClock.upd".
Se volete il sistema aggiornato ogni volta che Amiga
viene acceso, includete questo comando nella
startup-sequence (o nella user-startup).
SetMClock save Salva la data e l'ora di sistema in MouseClock e nel
file "S:MClock.upd" (creandolo, se non esiste). Usare
il comando AmigaDOS 'date' o le preferences 'Time' (2.0)
per settare il tempo di sistema. Esempio:
date 1-jun-93 12:34
setmclock save
Nota: i secondi vengono considerati zero. Quindi per
ridurre l'errore conviene aspettare che i secondi siano
prossimi a zero prima di salvare (o usare l'opzione
'zero').
SetMClock zero Azzera i secondi (di MouseClock) avanzando di un minuto
se sec>30. Aggiorna il file "S:MClock.upd" e poi esegue
un 'load'
SetMClock Visualizza due linee di help.
Utilizzo da Workbench
---------------------
Usare un'icona di tipo 'project' il cui default tool è SetMClock (con path
opportuno) e i tooltypes sono:
MODE=load \
MODE=save } Usare UNO SOLO di questi (equivalgono a quelli da CLI)
MODE=zero /
Se non ci sono tooltypes si assume come default 'load'.
Si possono usare le tre icone che ho fornito come esempio. Attenzione: se
spostate SetMClock in un'altra directory (ad es. C:) occorre modificare
corrispondentemente il default tool di quelle icone.
E' comodo usare il WB se si è fatto il boot da un disco nella cui startup
non viene chiamato SetMClock.
7. MESSAGGI DI ERRORE E POSSIBILI CAUSE
=======================================
Can't find battery backed up clock
----------------------------------
MouseClock non collegato alla seconda porta Mouse, oppure non funzionante.
Nel caso abbiate costruito la versione passante è probabile che il deviatore
sia in posizione "joystick".
Battery backed up clock not set
-------------------------------
MouseClock è presente, ma data e ora sono azzerate. Questo accade ogni
volta che viene a mancare l'alimentazione a batteria, e quindi anche appena
costruito. Per ovviare a questo errore basta settare data e ora con
SetMClock save. Se l'errore si ripresenta ogni volta che Amiga viene
spento, allora la batteria potrebbe essere scarica oppure non collegata.
Controllare (la tensione della batteria dovrebbe essere maggiore di 2.2V).
Can't open S:MClock.upd
-----------------------
Il file "S:MClock.upd" non esiste o non puo' venire aperto.
Can't save S:MClock.upd
-----------------------
Il file "S:MClock.upd" non puo' essere salvato (ad es. disco di sistema
protetto in scrittura).
Bad data in S:MClock.upd
------------------------
I dati nel file "S:MClock.upd" sono stati alterati. Ripristinarli con
SetMClock save.
8. NOTE SULL'HARDWARE
=====================
Per ridurre il numero di linee di I/O usate (in modo da poterlo collegare
alla mouse port), ho usato un chip orologio con bus I²C (IC1). L'altro
integrato (IC2) fa da interfaccia tra Amiga e il bus I²C. I diodi D1 e D2,
collegati alle linee di feedback dei segnali I²C, servono ad evitare che una
eccessiva corrente scorra dalla batteria tampone ad Amiga quando questo è
spento. Se i diodi fossero cortocircuitati ci sarebbe una corrente di
perdita dalla batteria notevolmente superiore alla correnete assorbita da
IC1, causando una scarica troppo rapida.
9. COSTRUZIONE
==============
Insieme allo schema elettrico troverete lo schema di montaggio su basetta
preforata (passo 2.54 mm). Tale schema si riferisce alla versione base di
MouseClock. Per l'estensione joystick le modifiche sono poche, e possono
essere volanti.
Sullo schema dei collegamenti i pallini piu' grossi indicano le saldature da
fare. Per i collegamenti consiglio di usare del filo per wire-wrap di
piccolo diametro ,ad esempio un AWG 28 (0.32mm). Chi non volesse usare la
basetta preforata, ma preferisse costruirsi il circuito stampato puo'
trasformare direttamente lo schema dei collegamenti in quello delle piste
(dato che non ci sono incroci tra i collegamenti).
La batteria che ho usato ha un diametro di 15 mm, e un'altezza di 7 mm,
mentre il compensatore ha un diametro di 7 mm (dimensioni approssimate).
Se utilizzate componenti di dimensioni diverse puo' essere necessario
modificare leggermente i collegamenti.
Consiglio di utilizzare zoccoli per i due circuiti integrati, e di tagliare
via con un seghetto lo schermo metallico del connettore DB9 femmina.
Conviene montare per primi gli zoccoli, poi i due terminali per il jumper
(senza collegare ancora il jumper), resistenze, condesatori, quarzo e
transistor, proseguendo con il conettore DB9, i diodi (e gli eventuali
componenti per l'estensione joystick), lasciando per ultima la batteria.
Prima di montare la batteria assicurarsi che i collegamenti siano esatti e
non ci siano cortocircuiti, specialmente tra l'alimentazione a 5V e massa
(pin 7 e 8 del connettore DB9). Un cortocircuito tra queste linee puo'
danneggiare il vostro Amiga, quindi ATTENZIONE!. Non lasciatevi prendere
dalla fretta di provare subito il circuito!.
Quando siete sicuri che tutto è a posto, montate la batteria (con jumper
scollegato). E' meglio usare del cavetto isolato per collegare il terminale
negativo della batteria. Fate attenzione una volta collegata la batteria a
non provocare cortocircuiti appoggiando la basetta su oggetti metallici
(potreste danneggiare la batteria: le NiCd non gradiscono cortocircuiti!).
Controllate nuovamente che tutto sia a posto e non ci siano cortocircuiti.
Inserite quindi i due circuiti integrati nei rispettivi zoccoli, badando di
non scambiarli o inserirli a rovescio.
Un ultimo controllo e poi finalmente collegate il jumper che da' tensione al
circuito. Nel caso abbiate costruito la versione joystick ponete il
deviatore su 'clk'. Spegnete l'Amiga, collegate il circuito alla mouse port
2, accendete Amiga, e da WB cliccate sull'icona ClkLoad: se appare il
requester "Can't find battery backed up clock" allora avete commesso qualche
errore. Spegnete Amiga, scollegate MouseClock e ricontrollate tutto
(potrebbe essere il deviatore non posizionato su 'clk'). Quando tutto
funziona dovrebbe apparire il requester "Battery backed up clock not set"
(l'orologio è azzerato) oppure "Can't open S:MClock.upd". Provate a salvare
data e ora cliccando su ClkSave: non dovrebbero esserci messaggi.
Riprovate con ClkLoad: se non dà messaggi tutto è ok, complimenti! Per
l'uso di SetMClock o per i messaggi di errore vedere le rispettive
spiegazioni.
Se il circuito non funziona e non riuscite a trovare l'errore, provate a
controllare se c'è un'onda quadra ad 1Hz tra il pin 5 di IC1 e massa.
Se non c'è allora l'oscillatore a quarzo non funziona: provate a ruotare
il compensatore.
NOTA: La batteria NiCd sarà probabilmente scarica quando costruirete
MouseClock. Per ricaricarla lasciate il computer acceso per alcune
ore (di solito occorrono 14 ore per la carica, ma non è necessario
lasciare Amiga acceso per tutto quel tempo, se usate spesso Amiga).
Se avete un caricabatterie NiCd potete usarlo per ricaricare la
batteria prima di montarla sul circuito.
Buon lavoro! :-)
10. TARATURA
============
La taratura del circuito puo' essere anche omessa, dato che l'orologio e'
abbastanza preciso.
Se avete un frequenzimetro con una buona risoluzione alle basse frequenze
(deve visualizzare le frazioni di Hertz), ruotate il compensatore fino a
leggere esattamente 128 Hz sul pin 8 di IC1.
Se non avete un frequenzimetro la procedura è piu' lunga: se notate che
dopo una settimana l'orologio anticipa o ritarda troppo, provate a ruotare
leggermente il compensatore in uno dei due sensi. Controllate dopo una
settimana: se l'errore tende a calare, il verso è giusto, altrimenti il
compensatore va ruotato in senso opposto. Occorrono poi vari aggiustamenti
per ridurre l'errore.
11. RINGRAZIAMENTI
==================
Desidero ringraziare Roberto Borri per i suggerimenti e il debugging,
Fred Fish per la sua grandiosa PD-collection, e la Commodore Amiga per il
nuovo chipset AGA (era ora!).