Newsgroup: it.comp.software.emulatori
Titolo: [FAQ] Joystick arcade per MAME [Periferiche di input alternative per gli emulatori]

Periferiche di input alternative per gli emulatori, ver. 1.0.
 -Preambolo
Considerato che negli ultimi tempi sono molto aumentate le richieste sul ng
su come utilizzare joystick di tipo arcade o <<il joypad della Playstation>>
sul PC per usarli con MAME, ho pensato di coagulare in un solo messaggio
tutte (sono un illuso..) le informazioni passate qua nei mesi scorsi o
comunque presenti in rete.
Correzioni e integrazioni sono ben accette e saranno integrate in eventuali
versioni successive della FAQ.
 -Licenza
GPL, con tutto quel che ne consegue.
 -Disclaimer di rito
Per quanto i progetti e gli accessori di seguito presentati siano stati
lungamente testati e usati con soddisfazione da molte persone, me compreso,
se qualcosa andasse storto nell'utilizzo e il vostro PC restasse fulminato
da un corto circuito sono solamente *cavoli vostri* e potrete prendervela
solo con la vostra sfiga e col destino cinico e baro.
I link a siti commerciali sono indicati a puro titolo di esempio (vabbe',
la verita' e' che sono il proprietario di TUTTI quei siti e voglio farmi
un po' di pubblicita', che c'e' di male??).
 -Convenzioni
D'ora in poi, per comodita', ci si riferisce indifferentemente a stick,
joystick o joypad intendendo il medesimo concetto.
Viene principalmente trattata la possibilita' di connettere periferiche
PSX-N64 per la loro maggior diffusione e semplicita' di collegamento,
ma vengono citate anche altre soluzioni e progetti per interfacce di altri
computer e console (Amiga, Neo Geo, NES, PC Engine, SNES, ecc.), vedi link
a fondo pagina.
In questa FAQ si tiene conto principalmente del loro uso con emulatori, ma
e' da tener presente che tutti questi prodotti possono essere usati con
*qualunque* applicazione che faccia uso di una periferica di gioco.
In parole povere: potrete usare i joystick arcade anche con Unreal
Tournament
o con FIFA Soccer di Windows se credete.. che vi possa sembrare fantastico
o assurdo e' un altro discorso, mi sembra comunque importante sottolineare
che l'uso non e' limitato ai soli emulatori.
 -Ringraziamenti
Al MAME Team per la fantastica macchina del tempo che e' MAME;
alle menti brillanti che hanno ideato questi progetti e interfacce.
                                    ---oOo---
Gli utenti di emulatori, in particolare di quelli arcade, si rendono
presto conto che la tastiera o il joystick standard dei PC non sono
esattamente il massimo per controllare l'azione di un gioco arcade;
la domanda che prima o poi sorge spontanea e': si puo' usare un joystick
come quello dei cabinati col MAME?
(Per la verita' ce n'e' pure un'altra: si puo' usare il joypad della PSX
col MAME?)
La risposta a entrambe e': si', si puo' fare.
Esistono varie strade, con difficolta' e costi variabili.
Iniziamo dalla piu' facile, via via a salire per complessita' e impegno
di realizzazione.
Ovviamente il criterio di difficolta' e' soggettivo, quello che a me sembra
il piu' difficile, a qualcun altro potrebbe essere il piu' facile..
ad ogni modo:
 -Joystick arcade espressamente creati per l'emulazione arcade
Alcune ditte, cogliendo la recente domanda di joystick arcade da parte
del target dei videogiocatori emulanti, hanno pensato bene di metterli
in vendita.
Ideali per chi desidera un oggetto "real arcade" di alta qualita', pronto
all'uso e che non bada a spese per averlo.
http://www.hanaho.com
http://home.iprimus.com.au/ozstick/
http://www.massystems.com
http://www.x-arcade.com
 -Adattatori per joypad PSX-N64
Esistono in commercio adattatori per porta parallela o USB che consentono
di collegare al PC i joypad di queste console.
Qualunque negozio decente di console (online o meno) e' in grado di
procurarvelo, ad un costo variabile dai 20 ai 30 Euro.
L'installazione e' semplice: collegate l'adattatore -e relativo joypad-
alla porta, installate il driver, configurate e calibrate la periferica
e il Sistema Operativoą lo riconoscera' come un normale dispositivo di
gioco,
utilizzabile quindi da qualunque emulatore o gioco che supporti un joystick.
Mettono a disposizione fino a 10 tasti per giocatore e supportano il force
feedback (per ora solo i giochi DirectX e i giochi PSX-N64 emulati);
alcuni modelli possono collegare due joypad contemporaneamente e anche
il Multitap (in versione modificata, vedi link a fondo pagina), per un
totale
di quattro joypad sullo stesso PC.
E l'opzione piu' semplice per chi non vuole avere preoccupazioni di fai da
te:
si collega, si installa il driver e si gioca.
 -Utilizzo di una periferica per PC come base per un joystick arcade
Presuppone gia' una certa manualita' e dimestichezza con schemi e saldatore.
Consiste nel procurarsi un comune stick-pad per PC, non necessariamente
il piu' costoso, ricavare la parte elettronica e i contatti elettrici
e usarlo come base di partenza per collegarci stick e pulsanti di tipo
arcade,
ottenendo cosi' un joystick arcade del tutto simile a quelli in vendita
di cui sopra.
Trattandosi di una periferica PC non e' necessario costruire interfacce
o adattatori, poiche' utilizza la porta giochi standard o quella USB in modo
gia' compatibile a livello elettrico.
Esistono decine di siti e  progetti sull'argomento, uno su tutti
http://www.arcadecontrols.com
 .
Se l'adattatore gia' pronto vi sembra troppo facile o volete creare il
joystick con la disposizione dei tasti che avete sempre sognato, questa
e' la soluzione che fa per voi.
 -Costruzione dell'interfaccia per pad PSX-N64 su porta parallela
Apparentemente piu' semplice della precedente, in realta' e' potenzialmente
in grado di causare grossi danni alla porta parallela o alla scheda madre
se non si pone la dovuta cura nella realizzazione.
E' composta esclusivamente di pochi componenti passivi (resistenze e diodi)
e dunque semplice da realizzare.
E' utilizzabile con pressoche' tutti i Sistemi Operativi che girano in un
PC.
Richiede l'installazione di un driver (link indicati a fondo pagina).
Alcuni progetti:
http://www.alltechbox.com/pc/pc006_pg01_ita.php3
http://www.globalfox.it/psx/dexpad/dexpad.htm
http://home.t-online.de/home/stephan.hans/gamepads.htm
Ripeto ancora di controllare due, tre, quattro volte le saldature
e di essere certi di averlo fatto nel modo giusto: questi progetti implicano
l'invio di tensioni all'adattatore e un collegamento sbagliato puo'
danneggiare irreversibilmente la porta parallela o la scheda madre!
Se non siete interessati al force feedback potete tranquillamente evitare
la connessione che invia l'alimentazione ai motorini del pad, avrete
comunque
uno stick funzionante in modo standard.
Se non siete sicuri di saper realizzare tutto come si deve, investite poche
decine di euro in un adattatore gia' fatto, risparmierete arrabbiature
e spese ben piu' ingenti in seguito.
Nota: per esperienza personale, non tutte le periferiche PSX si comportano
nello stesso modo col driver Directpad: i joypad originali Sony vanno bene
con i valori di default del driver, altri, quelli economici e non originali,
sembrano malfunzionare inspiegabilmente.
Nel secondo caso, prima di buttare via tutto in preda all'ira, convinti di
aver sbagliato qualche saldatura, provate a modificare, aumentandolo,
lo Scan Delay nelle Proprieta' Avanzate del driver e procedete nuovamente
alla configurazione e calibrazione: il joypad potrebbe miracolosamente
iniziare a funzionare :-)
Altri joypad, pur se di ottima qualita', ad esempio il Mad Catz, sembrano
mettere in crisi il driver indipendentemente dalle regolazioni della
calibrazione e dello scan delay.
Vorrei sapere se qualcun altro ha avuto esperienze simili e come ha risolto.
Per quanto riguarda Linux, sulla mailing list di Xmame e' stata segnalata
questa modifica per diminuire la latenza del driver gamecon.o:
---
"Edit /usr/src/linux/drivers/char/joystick/gamecon.c
near line 216 (for 2.4.17, at least) should be:
#define GC_PSX_DELAY    60              /* 60 usec */
change this to 30
then, hop down to about line 268 (again, this might vary):
         udelay(GC_PSX_DELAY * 2);
get rid of the * 2 so you have:
         udelay(GC_PSX_DELAY);
save, exit, remove gamecon.o from the same folder as gamecon.c, and
recompile
the module. This should improve your fps about 200% or better from the
crappy
one you're getting."
---
 -Interfaccia USB
Piu' complessa la costruzione di questa interfaccia, in quanto occorre anche
un microcontroller da programmare.
Ecco un progetto per chi volesse provarci
http://www.stndev.btinternet.co.uk/usbpads.htm
A differenza della versione su parallela non funziona sotto DOS puro.
- Stick a 19 (!) pulsanti a partire da una tastiera
Per chi pensa che i tasti con MAME non bastino mai, ecco un progetto
che mette a disposizione *molti* tasti, evitando il cosiddetto ghosting,
ovvero quel fenomeno per cui non si possono premere piu' di un certo numero
di tasti contemporaneamente senza evitare il conflitto e la perdita di tutti
gli input impartiti.
Trattandosi di 19 tasti, siamo ovviamente oltre la possibilita' delle mani
di una persona, ma e' ideale per assegnare i restanti 9 tasti a un
eventuale secondo giocatore utilizzando una periferica standard del
computer.
http://home.t-online.de/home/stephan.hans/tricks.htm
 -Encoders di input dedicati per l'emulazione arcade
Interfacce specializzate nel dotare il PC di molteplici input simultanei,
trackball e spinner compresi. 
Ideali per chi voglia costruirsi un cabinato MAME che richieda il massimo
nella potenza e flessibilita' nella gestione dell'input di tipo arcade,
senza nessuna limitazione.
http://www.arcade66.homestead.com/files/index.html
http://www.hagstromelectronics.com
http://www.happcontrols.com
http://www.oscarcontrols.com
http://www.ultimarc.com
 
 -Link di riferimento
Arcadecontrols, il piu' grande portale sull'argomento
http://www.arcadecontrols.com
Link a progetti vari
http://www.epanorama.net/documents/joystick/
Directpad, il primo driver per Win9x, discontinuato.
E' comunque reperibile in rete su numerosi siti mirror
http://www.arcadecontrols.com/Mirrors/www.ziplabel.com/dpadpro/dpadpr50.zip
Driver per Windows 2000/XP
http://www.ntpad.com.ar/
http://speed.dynu.com/index_e.php
Modificare il Megatap PSX per usarlo con Directpad
http://www.stndev.btinternet.co.uk/megatap.htm
Interfaccia per collegare un joystick Amiga-Atari-C64 al PC
http://fsinfo.cs.uni-sb.de/~stahl/com/index_uk.html
Connettere 6 joypad PC Engine alla porta parallela 
http://www2.burg-halle.de/~schwenke/parport.html
Driver per Linux
http://atrey.karlin.mff.cuni.cz/~vojtech/input/
Mailing list di Xmame
http://toybox.twisted.org.uk/mailman/listinfo/xmame
Google
http://www.google.com
ąWin9x, 2k, XP.
 Gli emulatori DOS devono supportare direttamente l'interfaccia, come
 ad esempio MAME DOS con lo switch -joy psxlpt1.
 Per Linux e' presente un modulo apposito, gamecon.o.
                                    ---oOo---
-- 
(o<
//\   GnuPGid: B8B68C17 
V_/_  pinguino 186198 @ 
http://counter.li.org

 Periferiche di input alternative per gli emulatori, ver. 1.0.
<snip>
grazie di cuore, mi hai fatto felice!
Injektilo

 grazie di cuore, mi hai fatto felice!
Prego.. ho soltanto raggrumato quello che e' passato di qua, piu' varie
ed eventuali :-)


 GPL, con tutto quel che ne consegue.
 
Ti converrebbe usare la Free Documentation License.
Comunque se non altro dovresti mettere almeno le 4 righe di rito, piu' 
un puntatore ad un link valido della GPL (tipo 
http://www.fsf.org/
 <- 
metti il link alla licenza vera). Per essere sicuro metti anche un link 
alla licenza tradotta in italiano sul sito del pluto 
http://pluto.linux.it
 (specificando comunque che fara' testo la licenza 
in inglese).
Quindi dovresti aggiungere qualcosa di questo tipo:
    Faq dei joypad...
    Copyright (C) 2002 James Ossi
    Questo documento e' free software; puoi ridistribuirlo sotto i
    termini della GNU General Public License cosi' come pubblicata dalla
    Free Software Foundation; sia versione 2 o successiva.
< snipponazzo sul resto, senno' arriva Rabax a rompere le scatole, leggi
  i documenti sul sito della fsf, che ha un bel readme :-> ... >
-- 
                     Davide Inglima - limaCAT
            "Mana is rapidly disappearing from the world"
              "Even the Mana Tree has begun to wither"
 
http://digilander.iol.it/nekochan/

 Ti converrebbe usare la Free Documentation License.
Dici?
Il mio scopo era di lasciare il documento libero pure da me stesso, pensavo
che GPL fosse ideale da quel punto di vista :-)


 pensavo che GPL fosse ideale da quel punto di vista :-)
Free Documentation License e' comunque una licenza ideata dalla GNU.


 Free Documentation License e' comunque una licenza ideata dalla GNU.
OK, ne prendo nota per la prossima stesura.


 versioni successive della FAQ.
James, un altro appunto: ogni tanto ci sono alcune FAQ (nel senso di 
domande poste di frequente) sul come usare i Sidewinder della Microsoft 
col Mame (con tanto di rogne a seguito). Un altra cosa sarebbe qualche 
consiglio sul come scegliere un joypad per PC :) (infatti mi servirebbe 
tanto adesso, me ne voglio comprare uno ;) )...
-- 
limaCAT

 tanto adesso, me ne voglio comprare uno ;) )...
L'unico consiglio che potrei dare e': prendi quello che ti piace di piu'
:-)
A parte che si tratterebbe di pubblicizzare un modello piuttosto che un
altro e ne nascerebbero diatribe interminabili, francamente non ho provato
cosi' tanti joypad da poterne consigliarne uno in particolare.. anzi..
con gli emulatori arcade, e MAME in particolare sconsiglierei qualunque
joypad!
O joystick o morte ;-)


 O joystick o morte ;-)
Dopo tanti anni, e dopo tante spese e omini morti, il Joystick e' 
l'unica cosa di cui non sono abbastanza nostalgico :)


 l'unica cosa di cui non sono abbastanza nostalgico :)
A te ti hanno rovinato le console... in modo irreparabile :-P
