Altri articoli sul numero 45
 Articoli sullo stesso argomento

L'interfaccia  pubblicata  su  Amiga  Magazine  di  marzo ha
incuriosito  molti  lettori:   il  joystick analogico "stile
IBM"  da' realmente molta piu' giocabilita' ai programmi che
lo  supportano.   In  figura  2 e' illustrata un'interfaccia
migliorata,  adatta ai joystick a 15 piedini piu' facilmente
reperibili.

A  differenza  che  nel mondo MS-DOS, su Amiga l'uso dei due
bottoni  del  joystick  analogico non e' stato completamente
standardizzato.   Il  pin  numero 6 del connettore e' sempre
dedicato  al  pulsante  di  "fuoco", mentre alcuni programmi
attribuiscono  funzioni  diverse  ai  due  pulsanti,  che in
questo  caso  andranno collegati ai pin 4 e 3 .  I due diodi
nello schema fanno si' che il pin 6 venga attivato qualunque
pulsante  si  prema,  e  al  tempo  stesso  servono  per non
bloccare  la  funzione  di  autofire  se  disponibile.   Per
sfruttare  i pulsanti separati, a seconda del gioco potrebbe
anche  essere necessario staccare l'uno o l'altro diodo, per
esempio  collegando  in  serie un interruttore:  nelle prove
effettuate non c'e n'e' stato bisogno.

Lo  standard MS-DOS prevede che i potenziometri del joystick
debbano  avere una resistenza massima di 100 Kiloohm, mentre
lo  standard Commodore prevede potenziometri da 470 Kiloohm.
I  chip  custom di Amiga usano un circuito che non misura il
valore della resistenza variabile contenuta nel joystick, ma
invece  misura  il  prodotto  R  *  C  del  valore  di  tale
resistenza  per il valore della capacita' di un condensatore
posto   sulla   motherboard  collegato  tra  il  pin  5  del
connettore  e  la massa (e analogamente per l'altro asse tra
il pin 9 e la massa), .

Il  valore  del condensatore interno e' di 0.047 microfarad;
quando  la  leva  del joystick e' spinta tutta da un lato il
valore  della  resistenza del potenziometro e' 0 ohm, quando
e'  tutta  dall'altro  lato il valore e' 470000 ohm.  Quindi
Paula  mette  nell'apposito  registro  il  numero decimale 0
quando misura un valore di R * C pari a 0 * 0.047 = 0 , e il
numero  decimale 255 quando misura un valore di R * C pari a
470000  * 0.047 = 22090 .  Se invece il joystick e' per IBM,
il  valore  massimo  di R che potra' fornire e' 100000 e non
470000  ohm, percio' muovendo la leva possiamo generare solo
i  valori  di R * C compresi tra 0 e 0.047 * 100000 = 4700 ,
che  con una semplice proporzione vediamo che corrisponde al
numero  decimale  55,  guarda  caso  proprio  il  valore che
potevamo ottenere con l'interfaccia del numero di marzo !

Per  recuperare la piena sensibilita' del joystick, bastera'
collegare  in  parallelo al condensatore interno di Amiga un
altro  condensatore al poliestere da 0.15 microfarad, con il
quale il prodotto R * C massimo torna quello che deve essere
e  Paula e' in grado di misurare tutti i possibili valori da
0  a  255.   Ovviamente il posto piu' comodo dove mettere il
condensatore  e'  nel  cavetto di interfaccia stesso!  Visto
che cosi' le cose sarebbero troppo semplici, i produttori di
joystick  IBM  si sono messi a fabbricare joystick che hanno
gia'  internamente  i  condensatori:   in questo caso, se li
aggiungiamo  anche  noi nell'interfaccia, gia' con la leva a
meta'  corsa abbiamo raggiunto il valore massimo possibile e
il comando non risponde ulteriormente!

Come  sempre  la  soluzione  consiste nel provare la propria
combinazione  joystick/interfaccia  con  un  programma,  per
esempio  Formula  1  Grand  Prix  della Microprose (vuole il
joystick analogico in porta 2) , che durante l'operazione di
calibrazione  mostri  i  valori  massimo e minimo forniti da
Paula.  Il numero 22090 vale solo nei modi video PAL e NTSC,
negli  altri  modi  video Paula determina il valore R * C da
associare  a  255  in  modo  inversamente proporzionale alla
frequenza  del  sincronismo  orizzontale :  in poche parole,
dovete  servirvi del sistema operativo per leggere il valore
dei Joystick senza problemi di compatibilita'.

L'ultima  cosa  da  tener  presente  per  l'acquisto  e' che
esistono  essenzialmente due categorie di joystick analogici
IBM:   Quelli  economici  sono  adatti  ai  giochi  dove  la
posizione  esatta della leva non conta, e in pratica tentano
con  poco  successo  di  fare  le  veci  dei nostri joystick
"digitali"  a  9  piedini:   servono  solo  le  informazioni
"destra",  "sinistra",  "alto","basso".  Usarli su Amiga per
un  simulatore  di volo o di guida e' esperienza frustrante,
perche' sembra di pilotare un aereoplano di carta in perenne
lotta  per  restare orizzontale o una vecchia utilitaria che
sbanda persino nei rettilinei.

Quelli  costosi,  magari  a  forma di volante o cloche, sono
dotati  di  buoni  comandi  di calibrazione e si trovano sia
nella  versione in cui la leva, se lasciata, resta ferma sia
nella  versione  in  cui  torna  al  centro:  sono gli unici
adatti su Amiga.


Main Previous Next