PDA

View Full Version : Guida: Come costruire un Joystick Arcade da una tastiera


skazzo
23-02-2004, 09:16
Keyboard Hacking - joypad arcade con la tastiera

libera interpretazione della guida al keyboard hack di emuadvice (http://www.mameworld.net/emuadvice/hack.doc)

Per chi è questa guida?
Per chi vuole autocostruirsi un joypad arcade utilizzando una vecchia tastiera, Per rivivere le emozioni degli arcade a casa come al bar!
Questa è una guida passo passo per studiare, utilizzare e configurare correttamente i circuiti di una vecchia tastiera per costruire un joypad arcade.


Materiali:
- Una tastiera da buttare, anche senza qualche tasto, ma con la parte elettonica funzionante;
- Se la tastiera è vecchia ci sarà bisongo di un adattatore DIN-ps/2;
- Un cacciavite, indispensabile per uno smanettone informatico (da tenere sempre vicino al mouse!);
- un tester o qualcosa che gli somigli per misurare resistenze, o meglio verificare la chiusura di circuiti (esempio: batteria e lampadina...)
- Software: keyscan (http://www.digitalgenesis.com/software/keyscan.html)
- pulsanti e joystick arcade, pannello di legno e tutto quanto serve a costruire il joypad.

Dunque, esponiamo bene quello che vogliamo fare: con una tastiera vogliamo ricavare un controller per videogiochi composto da 2 joystick a 4 o 8 vie e 6 bottoni ciascuno, senza che ci siano fastidiosi effetti tipo tasti bloccati o non premuti. Inoltre aggiungeremo i pulsanti utilizzati dal MAME per inserire i gettoni, scegliere il giocatore, mettere in pausa ed eventualmente altri tasti funzione....
Il tutto verrà poi configurato in mame32 creando un profilo di controller personalizzato, evitando così di dover impostare i tasti in ogni gioco.

Cominciamo con un po' di teoria
Le tastiere sono formate dai tasti, da una porta ps/2 o din, e da un chip di codifica.
I tasti sono da considerarsi come degli interruttori: quando vengono premuti, viene chiuso un circuito sotto di loro, ossia viene creato un ponte tra due piste normalmente scollegate tra loro.
Alla chiusura di tale circuito entra in gioco il chip di codifica, che elabora il segnale da spedire al pc attraverso la porta ps/2 o DIN.
Immaginate che questo codificatore osservi sempre i tasti, e quando ne è stato premuto uno lui è pronto per gridare al pc "Hei, guarda che è stato premuto il tasto x", ovviamente in un linguaggio interpretabile dal computer.
Per risparmiare sulla produzione, però, i chip hanno una caratteristica che rende il nostro lavoro un po' particolare: la struttura dei circuiti è a matrice.
Cosa vuol dire? beh, che i tasti non sono indipendenti gli uni dagli altri, ma hanno parte delle loro piste in comune con altri tasti.
Il chip possiede solo una trentina di piedini, e ne usa 16 o 18 per le righe e 8 per le colonne (o viceversa, dipende da come si guardano ;) ).
Ad ogni combinazione di coppie (riga,colonna) corrisponde un tasto. In realtà ciò non è sempre vero, perchè ad alcune coppie non è collegato nessun tasto (la matematica insegna... 16*8 > 105!)
bene, il chip quindi si occuperà di osservare quale coppia di piste (piedini) è stata chiusa e tradurrà tale coppia nel formato interpretabile dal pc.
I problemi di questo sistema nascono quando si vuole premere più di un pulsante, in quanto il controller potrebbe pensare che siano stati premuti tasti che non abbiamo mai toccato o che non riesca a leggere i tasti da noi premuti. Tali fenomeni prendono il nome di key ghosting e key blocking.
E' abbastanza chiaro? questa spiegazione semplificata serve solo per farvi capire il perchè procederemo come segue.


1. Procuratevi una tastiera
E' il punto più facile, visto che se avete letto il materiale occorrente dovreste averla già sotto mano.
Vanno bene delle tastiere con attacco PS/2 o DIN, vecchie, nuove, meccanicamente rotte o perfette...poco importa, L'importante è che il chip di codifica sia intatto e funzionante.
Ricordatevi che con queste operazioni la tastiera sarà poi inutilizzabile per gli scopi abituali, ossia scrivere.

2. Smanettare con la tastiera
Questo passaggio non è obbligatorio, ma è per farvi un'idea di quanti tasti riuscite a premere contemporaneamente.
Utilizzate il programma keyscan e premete quanti più tasti possibili senza sentire il solito beep, e provate a vedere se tutti i tasti sono riconosciuti correttamente. Poi spegnete il pc, staccate la tastiera, e dimenticatevi di quello che avete fatto: c'è un metodo più scentifico per decidere quali tasti vanno bene senza blocking o ghosting...

3. Aprite la tastiera
A seconda delle tastiere, dovete arrangiarvi a capire come sono state chiuse. Di solito ci sono due o tre viti sul retro nella parte alta, mente il lato basso è agganciato con dei fermi o a pressione... insomma apritela senza danneggiare nulla...

4. Guardate com'è fatta una tastiera
Ecco la spiegazione pratica di quanto ho cercato di dire teoricamente: ogni tasto ha un circuito di due piste, ma queste piste sono condivise con gli altri tasti, e terminano in due connettori separati che sono collegati ai piedini del chip integrato.
L'interno delle tastiere non è sempre uguale; ci possiamo trovare infatti di fronte a:
a. Circuito in bachelite, ossia tutte le piste stanno su una piastra;
b. Fogli (mylar) separati: le piste sono su due fogli distinti separati da un foglio isolante; solo in prossimità dei tasti sono presenti dei fori, e alla pressione del taso i due fogli con le piste vengono a contatto, chiudendo il circuito. I tasti di solito sono bloccati sulla struttura esterna.
c. Fogli separati chiusi tra i tasti e un supporto in metallo: è la soluzione che ho trovato io sulla tastiera olivetti, e sono stato fortunato: i tasti restano attaccati ai circuiti anche se si rimuove il coperchio, quindi la tastiera è utilizzabile anche aperta.
A seconda del tipo di tastiera trovato, procederemo in diversi modi, in quanto alcuni sono più veloci per un tipo e altri più macchinosi.

5. Rilevazione matrice
Ecco il lavoro che impegnerà un'oretta di tempo, magari di meno se siete in due!
Ora dovete cercare quale circuito chiude ciascun tasto, ossia quale coppia (riga,colonna) fa capo ad ogni tasto.
In caso di tastiera in bachelite non ho le idee molto chiare a riguardo, in quando non ho mai visto una di queste tastiere internamente. Per gli altri due tipi, invece, procediamo.
C'è una schedina sulla quale sono alloggiati un chip e due connettori; i connettori fanno da collegamento ai fogli della tastiera e la schedina del chip. consiglio di numerare ogni pista di questi connettori, (in caso di matrice 16x8 o da 1 a 24 oppure da 1 a 16 e da 1 a 8), così da poter annotare la corrispondenza in una tabella.

http://utenti.lycos.it/afrokantina/hwup/keybhack/matv.png

Probabilmente avrete visto una tabella del genere ribaltata, ma sono più comodo a orientarla così...
Si può procedere in due modi a seconda del tipo di tastiera:
a. Tastiera a fogli
dato che in questa tastiera è possibile vedere le piste, basta focalizzare l'attenzione sui due contatti posti in corrispondenza di ogni tasto e seguirne la pista fino alla fine, ossia fino ai connettori: i numeri delle due piste saranno la coppia (riga,colonna) riservata a quel tasto. Annotate il tasto nella tabella sopra creata.
b. Tastiera con fogli "bloccati"
in questo caso le piste sono nascoste, e per non rovinare del tutto la tastiera (potrebbe servirci in una eventuale verifica) ci muniamo di tester o apparecchio simile e focalizziamo l'attenzione sule parti terminali dei fogli, ossia le linguette attaccate ai connettori del piccolo circuito interno alla tastiera.
Utilizzando i punteruoli (se avete dei morsetti siete più fortunati!) del tester, rilevate la resistenza di ogni coppia di piste, e cominciate a premere un tasto alla volta.
Quando verrà premuto il tasto corrispondente a quella coppia di piste, il tester segnerà 0 ohm. Badate bene che il valore deve essere esattamente 0ohm, non 0,6 o qualcosa del genere.
se non disponete di un tester, utilizzate una batteria (una pila della radiolina) e una piccola lampadina:

batt.----lampa
| |
| |
-------------
| tastiera..|
-------------

in questo caso, alla pressione del tasto giusto la lampadina dovrebbe accendersi.
Non ho sperimentato questo metodo, ma qualcuno l'ha fatto prima di me, e funziona.
c. Un altro metodo vi fa risparmiare tester e lampadina, ma non mi assumo nessuna responsabilità per danni eventuali alle vostre attrezzature.
Procuratevi un normale filo di materiale conduttore isolato (un cavetto elettrico...) e spellatelo alle estremità.
Con la tastiera aperta collegatela al PC, o addirittura collegate solo il circuito senza i fogli e i tasti, e avviate keyscan.
con il filo fate ponte tra ogni coppia di piste inserendo le parti spellate nei connettori, guardate il carattere rilevato da keyscan e annotatelo in tabella.
non ho provato neppure questo sistema, e non so cosa succede quando si cortocircuitano le coppie che non hanno un tasto assegnato.

6. Guardate la tabella!

Ecco a voi la matrice della vostra tastiera!

http://utenti.lycos.it/afrokantina/hwup/keybhack/matp.png

Ora risulta facile capire perchè alla pressione di due o più tasti il nostro metal slug si inchiodava: un player continuava a sparare, un'altro ad andare avanti...

Ora porteste buttare i fogli e la plastica della tastiera, per tenere solo il cicuito con il chip di codifica.
Adesso dobbiamo trovare una combinazione di tasti adatta per far funzionare tasti direzione e pulsanti contemporaneamente. Per fare ciò dobbiamo scegliere un tasto per ogni colonna. Discorso diverso, invece, per i tasti direzionali: dato che i tasti su e giù non verranno mai premuuti contemporaneamente, possiamo utilizzare due tasti della stessa colonna; lo stesso dicasi per i tasti sinistra e destra, per tutti e due i giocatori.
ci troveremo così con i 12 tasti (6 tasti per giocatore) divisi per 12 colonne, e gli 8 tasti direzionali in 4 colonne, per un totale di 16colonne utilizzate: esattamente il numero di colonne della nostra matrice!

Attenzione: se si vogliono utilizzare 6 tasti per giocatore e la tastiera utilzza una matrice di 16x8, ci possono essere problemi per il caricamento dei crediti e i pulsanti di start: sarebbe poco carino se, mentre siete al mostro finale di blazing star e il vostro amico vi vuole venire in aiuto, il controller si blocchi perchè sono stati inseriti i crediti!!!! Per ovviare a questo inconveniente si può rinunciare al sesto bottone, oppure assengare l'inserimento dei crediti e i pulsanti di start ai tasti delle colonne dei pulsanti n°6, che vengono utilizzati raramente (qualche picchiaduro).
Vediamo adesso quali possono essere, nell'esempio, i tasti da utilizzare:
http://utenti.lycos.it/afrokantina/hwup/keybhack/mata.png
I tasti gialli saranno quelli del giocatore 1, con pgsu e pggiu per le direzioni alto/basso e a e z per destra/sinistra;
I tasti rossi saranno quelli del giocatore 2, f e v saranno su e giù, n e m saranno sinistra e destra;
3,E e D saranno i tasti per i crediti e gli start; per sicurezza C sarà il serto tasto del giocatore 2, probabilmente il tasto meno utilizzato in assoluto...
Si possono aggiungere altri tasti, come P per la pausa, f2 per entrare nella configurazione del gioco, il tasto tab (si possono comunque configurare diversamente), eccetera... oppure utilizzare la combinazione dei tre tasti "blu", in modo da non affollare il nostro joypad di tasti...
Ultimo, dobbiamo prevedere di uilzzare anche il tasto esc, se vogliamo poter uscire dai giochi senza toccare la tastiera.

Non preoccupatevi se i tasti così scelti sono diversi da quelli del mame, più avanti creeremo un file di configuraizone per il nostro controller. Purtroppo, però, tale procedimento sarà valido solo per il mame32 (e derivati).

7. Collegamenti!
Eccoci qui, la parte più pratica, più "elettronica": dobbiamo effettuare i collegamenti tra i pulsanti/joytick e i connettori del pcb della tastiera...
Io ho dissaldato i connettori originali per fare posto a una morsettiera a vite, in modo da velocizzare le operaizoni di collegamento e ridurre i danni in caso di errore.
Se non siete esperti, fatevi aiutare da un amico pratico in saldature.

8. Configurazione controller sotto MAME32
Ok, avete il vostro bel controller, avete il romset completo del MAME, l'ultima versione del MAME32... non vorrete mica controllare e riconfigurare gli input per ogni gioco????
Ecco che ci viene in aiuto la cartella "ctrlr" e il file "std.ini" del MAME32.
In questa cartella sono salvati i profili dei controller arcade più famosi: X-Arcade, HotRoad, SlikStik.
Perchè il nostro non può comparire in questa cartella???
Dunque, cominciamo:
-Create una sottocartella nella cartella "ctrlr" del MAME32
-Rinominate la sottocartella con il nome del vostro controller (lo avrete battezzato, o no?)
-copiate il file "std.ini" nella sottocartella del vostro controller e rinominatelo in "default.ini"
-aprite il file: all'interno trovate pressochè tutti i tasti configurabili del MAME.
-quello che dovete fare è semplicemente cambiare le corrispondenze azione - tasto dei movimenti, dei pulsanti, dei crediti, dei pulsanti start e dei tasti che vi interessano.
I tasti che non vi interessano o che non avete modificato possono essere cancellati dal file, in quanto saranno presi in considerazione i valori standard.
Come avrete capito, le azioni che iniziano per "UI_" si riferiscono al menu che solitamente appare premendo tab, le azioni "P1_","P2_" eccetera sono riferiti ai tasti per i giocatori e gli altri sono tasti globali.
Nel nostro esempio, quindi, dovremmo scrivere questo:

#Configurazione Esempio
START1 "KEYCODE_E"
START2 "KEYCODE_D"
COIN1 "KEYCODE_3"
UI_PAUSE "KEYCODE_E KEYCODE_D"
P1_JOYSTICK_UP "KEYCODE_PGUP"
P1_JOYSTICK_DOWN "KEYCODE_PGDN"
P1_JOYSTICK_LEFT "KEYCODE_A"
P1_JOYSTICK_RIGHT "KEYCODE_Z"
P1_BUTTON1 "KEYCODE_L"
P1_BUTTON2 "KEYCODE_RCTRL"
P1_BUTTON3 "KEYCODE_RSHIFT"
P1_BUTTON4 "KEYCODE_LALT"
P1_BUTTON5 "KEYCODE_LEFT"
P1_BUTTON6 "KEYCODE_RIGHT"
P2_JOYSTICK_UP "KEYCODE_F"
P2_JOYSTICK_DOWN "KEYCODE_V"
P2_JOYSTICK_LEFT "KEYCODE_N"
P2_JOYSTICK_RIGHT "KEYCODE_M"
P2_BUTTON1 "KEYCODE_ENTER"
P2_BUTTON2 "KEYCODE_K"
P2_BUTTON3 "KEYCODE_X"
P2_BUTTON4 "KEYCODE_MINUS"
P2_BUTTON5 "KEYCODE_DOWN"
P2_BUTTON6 "JOYCODE_C"

Come potete notare, ho configurato solo i tasti prettamente necessari, e ho utilizzato la combinazione dei due tasti start per mettere il gioco in pausa. Per concatenare i tasti si utilizza una semplice sintassi, simile a quella del c:
tasto1 | tasto2 = tasto1 oppure tasto2
tasto1 ! tasto2 = tasto1 ma non tasto2
tasto1 tasto2 = tasto1 e tasto2 assieme
Sbizzarritevi allora a configurare anche le altre azioni, come i paddle, il trackball eccetera.
Fatto? passiamo allora all'attivazione del profilo.
-Avviate MAME32
-Selezionate la voce "Default Game Options..." dal menu "Options"
-Selezionate la scheda "Controllers"
-Dal menu a tendina "Default input layout" selezionate il nome del vostro controller.
-Cliccate sul pulsante "OK"
FATTO!!! ora potete avviare qualsiasi gioco e utilizzare il vostro controller senza troppi sbattimenti!!!

Ultima cosa: dobbiamo configurare anche i tasti per poter navigare nei menu del MAME32, ossia per sfogliare i giochi e avviarli.
Per fare ciò basta aprire il file MAME32ui.ini presente nella directory radice dell'emulatore, e modificare le seguenti linee:

ui_key_up KEYCODE_UP
ui_key_down KEYCODE_DOWN
ui_key_left KEYCODE_LEFT
ui_key_right KEYCODE_RIGHT
ui_key_start "KEYCODE_ENTER ! KEYCODE_LALT"

con i codici dei tasti del vostro primo controller, o utilizzare la concatenazione per utilizzare tutti e due i joystick... piccolo esempio?

ui_key_up "KEYCODE_PGUP | KEYCODE_F"
ui_key_down "KEYCODE_PGDN | KEYCODE_V"
ui_key_left "KEYCODE_A | KEYCODE_N"
ui_key_right "KEYCODE_Z | KEYCODE_M"
ui_key_start "KEYCODE_L | KEYCODE_ENTER"

Potete anche personalizzare i tasti successivi, se volete il pieno controllo!
ora riavviate MAME32 e provate....

BUON DIVERTIMENTO!!!!

Kernel32
24-02-2004, 15:17
Anche se ho già il mio cabinato funzionante (con il relatico keyboard hack) non posso esimermi dal farti i miei complimeti per la guida :sofico:

skazzo
24-02-2004, 16:54
Originariamente inviato da Kernel32
Anche se ho già il mio cabinato funzionante (con il relatico keyboard hack) non posso esimermi dal farti i miei complimeti per la guida :sofico:
grazie!
ma mi sa che sei l'unico che la capisce visto che hai avuto modo di provarla in prima persona!!! :D
più avanti, incrociando le dita, arricchiremo la guida con delle pics, se matro riesca a procurarle! o ne hai qualcuna tu, per caso?

ciao e grazie!

Kernel32
24-02-2004, 16:59
Originariamente inviato da skazzo
grazie!
ma mi sa che sei l'unico che la capisce visto che hai avuto modo di provarla in prima persona!!! :D
più avanti, incrociando le dita, arricchiremo la guida con delle pics, se matro riesca a procurarle! o ne hai qualcuna tu, per caso?

ciao e grazie!

Pics della mia tastiera?

skazzo
24-02-2004, 17:13
Originariamente inviato da Kernel32
Pics della mia tastiera?
tastiera e collegamenti, qualcosas inerente alla guida, insomma!
ciao!

Kernel32
24-02-2004, 19:10
Originariamente inviato da skazzo
tastiera e collegamenti, qualcosas inerente alla guida, insomma!
ciao!

Ok. Appena ho un po' di tempo vedo di fare qualche foto.

Te lo ricordi il mio cabinato?

Matro
25-02-2004, 11:45
Skazzo scusami se sto trascurando la guida relativa al joy ma sto costruendo un sito assieme a pabbelo di elettronica, sarebbe la sezione di elettronica non ufficiale di hwupgrade :D , dove si parlerà delle questioni anche tecniche relative ai joy, come ad es. eleiminare il ghosting con diodi, ecc.. il sito è sulla firma ;)

ps: registratevi sul forum, eh :)

Kernel32
25-02-2004, 16:15
Originariamente inviato da Matro
Skazzo scusami se sto trascurando la guida relativa al joy ma sto costruendo un sito assieme a pabbelo di elettronica, sarebbe la sezione di elettronica non ufficiale di hwupgrade :D , dove si parlerà delle questioni anche tecniche relative ai joy, come ad es. eleiminare il ghosting con diodi, ecc.. il sito è sulla firma ;)

ps: registratevi sul forum, eh :)

Approposito della soluzione con i diodi:
L'avete provata?
A me non ha dato nessun effetto positivo...

Matro
25-02-2004, 16:28
Originariamente inviato da Kernel32
Approposito della soluzione con i diodi:
L'avete provata?
A me non ha dato nessun effetto positivo...

avevo letto che dipende da controller e controller, appena finisco il tutto cominciamo a parlarne :)

skazzo
25-02-2004, 16:34
Originariamente inviato da Kernel32
Ok. Appena ho un po' di tempo vedo di fare qualche foto.

Te lo ricordi il mio cabinato?
e chi se lo scorda il mitico qbert!

per i diodi, avevo sentito che era una soluzione teorica, ma che in pratica può non essere vero...

ciao!

ripsk
25-02-2004, 17:35
Originariamente inviato da Matro
Skazzo scusami se sto trascurando la guida relativa al joy ma sto costruendo un sito assieme a pabbelo di elettronica, sarebbe la sezione di elettronica non ufficiale di hwupgrade :D , dove si parlerà delle questioni anche tecniche relative ai joy, come ad es. eleiminare il ghosting con diodi, ecc.. il sito è sulla firma ;)

ps: registratevi sul forum, eh :)

[OT]
Ciao, io mi sono registrato, la trovo un'iniziativa utile, speriamo che il forum cresca presto :)!
Per lavoro generalmente scrivo Fw per microcontrollori ma me ne intendo un po' anche di Hw.
[fine OT]

Matro
25-02-2004, 17:36
Originariamente inviato da ripsk
[OT]
Ciao, io mi sono registrato, la trovo un'iniziativa utile, speriamo che il forum cresca presto :)!
Per lavoro generalmente scrivo Fw per microcontrollori ma me ne intendo un po' anche di Hw.
[fine OT]

Benvenuto Lastblade ;) .. giusto :D ?

Kernel32
25-02-2004, 19:47
Originariamente inviato da skazzo
e chi se lo scorda il mitico qbert!

per i diodi, avevo sentito che era una soluzione teorica, ma che in pratica può non essere vero...

ciao!

Infatti è quello che ho constatato... Comunque aspetto i chiarimenti di Matro.

Ps:il cabinato era quello di Crystal Castles (assieme al keyboard hack posterò qualche altra foto);)

ripsk
25-02-2004, 20:25
Originariamente inviato da Matro
Benvenuto Lastblade ;) .. giusto :D ?

[OT]
Yes,Grazie!
La mini guida sul programmatore di pic l'ho terminata, mi manca solo l'host per lo schema elettrico.

[Fine OT]

Matro
28-02-2004, 22:59
scusa skazzo per caso hai il link della casa produttrice di millemila keyboard encoders e che faceva anche la sk. video apposta per il monitor arcade (non ricordo di preciso cosa facesse quella scheda..) ? vorrei informarmi un pò di più su come sono fatti gli encoders per provare a farmene uno tramite microcontrollore, 6000 tasti premibili contemporaneamente by matrotech :sofico:

skazzo
29-02-2004, 20:40
Originariamente inviato da Matro
scusa skazzo per caso hai il link della casa produttrice di millemila keyboard encoders e che faceva anche la sk. video apposta per il monitor arcade (non ricordo di preciso cosa facesse quella scheda..) ? vorrei informarmi un pò di più su come sono fatti gli encoders per provare a farmene uno tramite microcontrollore, 6000 tasti premibili contemporaneamente by matrotech :sofico:
www.ultimarc.com

dici che è meglio mettere un po' di link?
tipo quello sopra menzionato e www.arcadecontrols.com ????


ciao!

ripsk
01-03-2004, 22:03
Originariamente inviato da Matro
scusa skazzo per caso hai il link della casa produttrice di millemila keyboard encoders e che faceva anche la sk. video apposta per il monitor arcade (non ricordo di preciso cosa facesse quella scheda..) ? vorrei informarmi un pò di più su come sono fatti gli encoders per provare a farmene uno tramite microcontrollore, 6000 tasti premibili contemporaneamente by matrotech :sofico:


Questa è senzaltro una buona lettura per sapere da dove cominciare, è la descrizione del funzionamento della porta seriale PS/2, che a differenza della rs232 (com1 e com2 ad es.) è di tipo sincrono, ossia ha un clock insieme ai dati (quindi puoi usarla anche con il 16f84 che hai già):

descrizione protocollo PS/2 (http://panda.cs.ndsu.nodak.edu/~achapwes/PICmicro/PS2/ps2.htm)

PS. si potrebbe lanciare un progetto comune sul forum di easy Electronic;)

skazzo
01-03-2004, 22:57
Originariamente inviato da ripsk
Questa è senzaltro una buona lettura per sapere da dove cominciare, è la descrizione del funzionamento della porta seriale PS/2, che a differenza della rs232 (com1 e com2 ad es.) è di tipo sincrono, ossia ha un clock insieme ai dati (quindi puoi usarla anche con il 16f84 che hai già):

descrizione protocollo PS/2 (http://panda.cs.ndsu.nodak.edu/~achapwes/PICmicro/PS2/ps2.htm)

PS. si potrebbe lanciare un progetto comune sul forum di easy Electronic;)
uhm... interessante... benchè non mi intenda molto, potremmo fare concorrenza alla signora ultimarc!!! ;)

ciao!

Matro
02-03-2004, 18:00
beh ripsk (Lastblade mi piace di più :D ) e skazzo... mi avete letto nel pensiero!! Penserete che sia un pazzo, però un keyboard encoder devo riuscire a farlo! Non perché me ne importi del lavoro finito (ho hackerato una tastiera con parecchi tasti premibili in simultanea, non ricordo la matrice :p ..), ma perché è professional farsi un joy completamente autocostruito (e se dico completamente è completamente... e se dico dico dico dico :D [Aldo Giovanni e Giacomo rulez :) ] ) con la mitica porta seriale dietro per "aggiornare il firmware" ;)..
Comunque la pagina sul funzionamento della porta è fantastica!

Arrisentirci nella sezione "Elettronica & computer" del forum... ciao!

sparagnino
03-03-2004, 14:25
Io ho già smontato la tastiera e mi sono armato di pazienza. Ma proprio tanta.
Il mio problema è che non ho capito come arrivare alla matrice!!!

Io ho un chip con 40 piedini.
Volendo potrei fare una matrice ... Come? 20*2? O che altro?

Ho capito che, teoricamente, cortocircuitando due piedini dovrei avere la pressione di un tasto. MA...

Sto leggendo su internet: ci sono una sacco di altre persone che stanno facendo questi lavori. Mi sembra ci sia un sito con in mezzo un concorso in merito...

sparagnino
03-03-2004, 16:13
Ho capito!

Il problema prinipale è che mi ritrovo solo il chip con una 20 di pin.

Io mi devo tirar giù la tabell che, ovviamente, è completamente diversa da quelle che si possono trovare in giro per internet...

Vabbé, e dire che è una cherry...


Ciaociao,

skazzo
03-03-2004, 16:30
Originariamente inviato da sparagnino
Io ho già smontato la tastiera e mi sono armato di pazienza. Ma proprio tanta.
Il mio problema è che non ho capito come arrivare alla matrice!!!

Io ho un chip con 40 piedini.
Volendo potrei fare una matrice ... Come? 20*2? O che altro?

Ho capito che, teoricamente, cortocircuitando due piedini dovrei avere la pressione di un tasto. MA...

Sto leggendo su internet: ci sono una sacco di altre persone che stanno facendo questi lavori. Mi sembra ci sia un sito con in mezzo un concorso in merito...
non sei tu che decidi come fare la matrice, bensì la tastiera che lavora con una matrice...
di quei quaranta piedini non tutti servono ai tasti: ce ne dovrà pur essere qualcuno che alimenta il chip e chemanda le informazioni al computer!
Non concentrarti sul chip, ma sui connettori sulla schedina ai quali sono attaccati i due fogli (mylar); se invece la tastiera è completamente in bachelite, allora fai prima a saldare i fili direttamente in corrispondenza dei tasti.

ciao!

sparagnino
03-03-2004, 20:58
mmm... nnn. NOOOOOOOOOOOOOOOOOO!!!

Azz. Ho la tasitera in bachelite! Merda ionica.
Infatti un mucchio di perplessità mi erano nate dal fatto che non trovavo i connettori.

Mondo infame...

Chi ha una tastiera NON in bachelite?

skazzo
04-03-2004, 07:42
Originariamente inviato da sparagnino
mmm... nnn. NOOOOOOOOOOOOOOOOOO!!!

Azz. Ho la tasitera in bachelite! Merda ionica.
Infatti un mucchio di perplessità mi erano nate dal fatto che non trovavo i connettori.

Mondo infame...

Chi ha una tastiera NON in bachelite?
allora dal chip dovrebbero partire delle piste che arrivano ai tasti, quei pin sono il tuo riferimento per costruire la matrice.

ciao!

sparagnino
04-03-2004, 12:44
Ho pensato abbastanza.

Tento la tastiera che ho Finisco la matrice perchè mi va bene.

Faccio lo scatolozzo per 2 joystick.

Lascio intatta la scheda. Dai tasti interessati partiranno due fili per i pulsanti (o le leve) del joystick.

Pensavo di fare lo scatolozzo in acicaio inox, molato. Sdonto un po' gli spigoli.
Peso: notevole.

Finito questo progetto andrò in cerca di un joypad USB per poi modificarlo come si deve.
PS - Si possono utilizzare contemporaneamente due joypad USB?

Un link interessante:

http://iep.ath.cx/arcade_joy_mania_20-11.htm

AYAMY
11-06-2006, 23:10
scusate se mi intrometto nel discorso.... ma si può ottenere un joystick arcade che possa essere collegato al PC (nel mio caso notebook) su USB?

Grazie


PS:
Stasera c'ho spaccato golden axe... che spettacolo!!!

skazzo
12-06-2006, 08:37
scusate se mi intrometto nel discorso.... ma si può ottenere un joystick arcade che possa essere collegato al PC (nel mio caso notebook) su USB?

Grazie


PS:
Stasera c'ho spaccato golden axe... che spettacolo!!!
Ciao, credo che sia fattibile, partendo da un joypad uusb o da una tastiera usb.
bye!

AYAMY
12-06-2006, 09:56
ok.. quindi sarebbe fattibile.... forse però ho trovato una strana più comoda e veloce..visto che attualmente non ho tempo da dedicare all'autocostruzione.... volevo chiedervi un parere in merito all'acquisto di un "ARCADE JOYSTICK" da usare per giocare con il Mame ...

Ho 2 domande da porvi....
1)Secondo voi tra questi 2 "arcade joystick" qual'è il migliore?
http://img116.imageshack.us/img116/3434/joystickmithand8007cu.th.jpg (http://img116.imageshack.us/my.php?image=joystickmithand8007cu.jpg)

http://img301.imageshack.us/img301/6889/701b4zy.th.jpg (http://img301.imageshack.us/my.php?image=701b4zy.jpg)

entrambi costano sulla 40tina di € comprese spese di spedizione... io sarei propenso per il primo visto che mi sembra proprio quella da sala giochi

PPS: ma c'è molta differenza tra un joystick a 2 assi ed uno a 4 assi?.. il secondo ha anche la vibrazione .. cosa che siceramente non mi interessa molto!!!
Mi dite la vostra?

quale prendereste?

Grazie



2)E' difficile interfacciare il joystick con il Mame... ed il riconoscimento è assicurato o dipende dai joystick?


Grazie


Sim

PPPPS: sul videoproiettore il Mame è una goduria pazzesca

http://img83.imageshack.us/img83/5854/img26426du.th.jpg (http://img83.imageshack.us/my.php?image=img26426du.jpg)

Kernel32
12-06-2006, 10:13
X-Arcade:
http://www.xgaming.com/two-player.shtml

AYAMY
12-06-2006, 10:21
si quello l'avevo già visto... ma mi sembra un pò troppo costoso.. calcolando anche il fatto che non usa l'usb ma la ps/2 della tastiera lo escluderei...

qualche altro consiglio in merito?

Krusty
12-06-2006, 11:33
è fatica dire solo vedendoli in foto... cmq andrei su primo...

certo che l'xarcade sarebbe un'altra cosa....

AYAMY
12-06-2006, 12:01
certo.. l'arcade x è proprio definitivo!!!

PS: inizialmente avevo pensato anche di sfruttare tramite adattatore i miei joypad wireless per la Playstation 2 ...visto che si sarebbe speso molto meno (tipo 1/4 del totale per 2 joystick)... ma non mi sembra sia la scelta corretta per i vecchi giochi arcade!!! però....mica qualcuno ha provato con i joystick della PS2 a gestire il Mame?... è difficile interfacciarli?....
potrei provare prima a recuparare quelli della PS2 visto che sono costati pure parecchio e non mi ingombrano con i fili e in un secondo momento... nel caso in cui non mi dovessero soddisfare ...passara al joystick anni 80!!!!

che ne dite?

Elet88
17-10-2011, 21:28
Ciao a tutti,

se io volessi usarlo all'infuori del MAME32, c'è un modo? Un programma che faccia riconoscere una tastiera USB come un joystick?

Pinball_Wizard
24-10-2011, 15:20
Ciao a tutti,

se io volessi usarlo all'infuori del MAME32, c'è un modo? Un programma che faccia riconoscere una tastiera USB come un joystick?

JoyToKey o Xpadder

Wolfteenay
10-12-2012, 15:30
Keyboard Hacking - joypad arcade con la tastiera

8. Configurazione controller sotto MAME32
Ok, avete il vostro bel controller, avete il romset completo del MAME, l'ultima versione del MAME32... non vorrete mica controllare e riconfigurare gli input per ogni gioco????
Ecco che ci viene in aiuto la cartella "ctrlr" e il file "std.ini" del MAME32.


:help:

Salve a tutti, mi sono registrato apposta per chiedere spiegazioni in merito a questa guida :)
Diciamo che ho smontato una vecchia tastiera ps/2, seguito con cura tutte le piste sui fogli (mylar) e ricostruito la matrice (anche se come prima volta mi ci è voluto ben più di un'oretta...) Ho ottenuto tutto il materiale per la costruzione fisica del joypad, ma prima di fiondarmi in saldature (e di bussare alla porta di amici che sanno farle) ho provato a compilare il "codice" per configurare il joypad.
E qui finisce la storia, perchè nella versione di MAME32 che ho (MAME32 v0.103) la cartella "ctrlr" è presente, ma il file "std.ini" non l'ho trovato. Vi è in cambio un file "Sample Custom Controller.cfg". Vi è la cartella "ini" con dentro il file "mame32.ini".

Nessuno dei due file presenta una sistassi uguale a quella riportata nella guida, mentre la sintassi più simile la riporta il file "Sample Custom Controller.cfg". Dunque ho pensato di copiare quello, rinominarlo e modificarlo per provare ad esempio a giocare con la combinazione classica dei giochi moderni (WASD). Il file modificato me lo riconosce, ma i tasti di movimento no. :cry:

In allegato ho messo il file Sample Custom Controller.cfg"

Sono sicuro che non sapendo di queste cose non so memmeno dove sbaglio e quindi se qualcuno è in grado di aiutarmi, grazie mille!

Z.e.t.
11-12-2012, 07:51
:help:

Salve a tutti, mi sono registrato apposta per chiedere spiegazioni in merito a questa guida :)
Diciamo che ho smontato una vecchia tastiera ps/2, seguito con cura tutte le piste sui fogli (mylar) e ricostruito la matrice (anche se come prima volta mi ci è voluto ben più di un'oretta...) Ho ottenuto tutto il materiale per la costruzione fisica del joypad, ma prima di fiondarmi in saldature (e di bussare alla porta di amici che sanno farle) ho provato a compilare il "codice" per configurare il joypad.
E qui finisce la storia, perchè nella versione di MAME32 che ho (MAME32 v0.103) la cartella "ctrlr" è presente, ma il file "std.ini" non l'ho trovato. Vi è in cambio un file "Sample Custom Controller.cfg". Vi è la cartella "ini" con dentro il file "mame32.ini".

Nessuno dei due file presenta una sistassi uguale a quella riportata nella guida, mentre la sintassi più simile la riporta il file "Sample Custom Controller.cfg". Dunque ho pensato di copiare quello, rinominarlo e modificarlo per provare ad esempio a giocare con la combinazione classica dei giochi moderni (WASD). Il file modificato me lo riconosce, ma i tasti di movimento no. :cry:

In allegato ho messo il file Sample Custom Controller.cfg"

Sono sicuro che non sapendo di queste cose non so memmeno dove sbaglio e quindi se qualcuno è in grado di aiutarmi, grazie mille!

Se partivi da un vecchio pad per PC ci mettevi 1/10 del tempo impiegato. Poi le tastiere soffrono di blocking e Ghosting, quindi non è molto consigliato :/

Wolfteenay
11-12-2012, 09:42
La guida spiega ottimamente come evitare ghosting e/o blocking, e con un vecchio pad, almeno tra quelli che ho, non sono capace di attivare pulsanti come Coin, Player1, Esc, ecc.. ma solo i tasti di direzione e di azione del player. Quindi se potevo finalmente avere un joupad completo senza dover ricorrere tutte le volte alla connubio tastiera - pad ero più felice...

Z.e.t.
11-12-2012, 10:06
La guida spiega ottimamente come evitare ghosting e/o blocking, e con un vecchio pad, almeno tra quelli che ho, non sono capace di attivare pulsanti come Coin, Player1, Esc, ecc.. ma solo i tasti di direzione e di azione del player. Quindi se potevo finalmente avere un joupad completo senza dover ricorrere tutte le volte alla connubio tastiera - pad ero più felice...

bè c'era il portentoso Sidewinder Freestyle pro con almeno 13 pulsanti XD
Cmq era molto più facile saldare sulla pcb di un pad.

Altrimenti ti prendevi un i-pac ed eri a posto ->http://www.ultimarc.com/ipac1.html

Wolfteenay
11-12-2012, 12:25
Il Sidewider lo dovrei acquistare, e siamo punto e a capo :) Ho tutto quello quello che serve, mi manca solo il modo di farlo capire al MAME.

E poi per il discorso pad, uno classico finta Play Station 1 ha cmq 8 tasti (esclusi i movimento) di cui me ne funzionano 4. Se sapessi come fare per "programmare" gli altri 4 sarebbe un successone, ma credo sia lo stesso problema di "programmare" i tasti della tastiera...

Davvero non c'è soluzione?

Z.e.t.
11-12-2012, 13:31
Il Sidewider lo dovrei acquistare, e siamo punto e a capo :) Ho tutto quello quello che serve, mi manca solo il modo di farlo capire al MAME.

E poi per il discorso pad, uno classico finta Play Station 1 ha cmq 8 tasti (esclusi i movimento) di cui me ne funzionano 4. Se sapessi come fare per "programmare" gli altri 4 sarebbe un successone, ma credo sia lo stesso problema di "programmare" i tasti della tastiera...

Davvero non c'è soluzione?

L1-L2-R1-R2 sono dei normalissimi pulsanti, cosa c'è da programmare? :mbe:
Anche Start e Select sono utilizzabili, quindi in totale hai 10 pulsanti + il Dpad

Wolfteenay
11-12-2012, 23:10
Caro Zet ho errato i termini del discorso :D Ossia come dici tu non c'è nulla da "programmare", semmai da "settare"! Ergo parlavi con uno che non sapeva come cambiare la configurazione dei tasti/pulsanti in MAME! :rolleyes: Scrivo "parlavi" perchè ho da poco scoperto come, a MAME aperto e rom caricata, si possono configurare i tasti a piacimento del singolo gioco o a livello generale. Pensavo che tale configurazione si potesse fare solo da fuori con il metodo spiegato in questa guida, ma ho provato e devo dire che riesco a impostare i tasti/pulsanti benissimo anche da dentro il MAME. Resta valida la prassi del crearsi un file personale e caricarlo prima dell'avvio dela rom, in modo da non intaccare la configurazione di default.

Per cui, visto che sono già a buon punto con i lavori preparatori, la fu tastiera e uno dei joystick saranno votati alla causa per imparare a fare le saldature ;) e poi finalmente mi potrò divertire a creare il mio primo vero joypad arcade!

Grazie per gli spunti che mi hai fornito, perchè mi hanno dato modo di avere un altro punto di vista sull'argomento e cercare soluzioni alternative al problema che avevo!

Z.e.t.
13-12-2012, 07:06
Caro Zet ho errato i termini del discorso :D Ossia come dici tu non c'è nulla da "programmare", semmai da "settare"! Ergo parlavi con uno che non sapeva come cambiare la configurazione dei tasti/pulsanti in MAME! :rolleyes: Scrivo "parlavi" perchè ho da poco scoperto come, a MAME aperto e rom caricata, si possono configurare i tasti a piacimento del singolo gioco o a livello generale. Pensavo che tale configurazione si potesse fare solo da fuori con il metodo spiegato in questa guida, ma ho provato e devo dire che riesco a impostare i tasti/pulsanti benissimo anche da dentro il MAME. Resta valida la prassi del crearsi un file personale e caricarlo prima dell'avvio dela rom, in modo da non intaccare la configurazione di default.

Per cui, visto che sono già a buon punto con i lavori preparatori, la fu tastiera e uno dei joystick saranno votati alla causa per imparare a fare le saldature ;) e poi finalmente mi potrò divertire a creare il mio primo vero joypad arcade!

Grazie per gli spunti che mi hai fornito, perchè mi hanno dato modo di avere un altro punto di vista sull'argomento e cercare soluzioni alternative al problema che avevo!

Figurati, è stato un piacere ;)