Coin-Op Arena

Posts written by barito

  1. .
    Ho pubblicato l'articolo!

    Alla fine c'è uno Step interamente dedicato al setup di alcuni emulatori: MAME, Model2, Supermodel e Teknoparrot. Questa parte può tornare utile a chiunque abbia intenzione di sviluppare qualcosa di simile con mitragliette in vendita oggi.

    https://www.instructables.com/SNK-Position...embly-Retrofit/
  2. .
    ... bene, da un paio di settimane sto lavorando ad una schedina di interfaccia per mitragliette SNK (dunque non Operation Wolf: era un clickbait) che mi permetta di collegarne una coppia ad un PC.
    La tecnologia alla base di queste mitragliette è la stessa di quelle montate sul cab Operation Thunderbolt, dunque posizionali, non ottiche. In pratica, ognuna di esse è come un grosso gamepad analogico a singolo asse.
    Questo ha un vantaggio: le rende praticamente indipendenti dal monitor utilizzato.

    Oggi ho fatto un video e l'ho pubblicato su YouTube. Ecco il link



    Edited by barito - 17/4/2024, 13:02
  3. .
    Articolo pubblicato!
    www.instructables.com/CoinOp-Conne...Control-Interf/

    I Gerber e sketch sono scaricabili liberamente da qui:
    https://github.com/baritonomarchetto/CoinOp_Connect

    Non sto a riscrivere tutto sul forum (è un bel po' di roba). Speriamo tutto il lavoro fatto possa servire a qualcuno

    Edited by barito - 18/11/2023, 09:00
  4. .
    Una fotina in anteprima per questo bellissimo forum :)

    1699362328221IMG_20231102_111400

    Qui si vede la main board (sotto) e la finger board (sopra) per giochilli SEGA X-board e Outrun.

    Altri sistemi supportati sono Atari System 2 (Super Sprint, Paperboy, APB... tanto per citarne alcuni), le due versioni di Pole Position (il quale ha sempre il suo spazio dedicato nei nostri cuori) e Hang-On/Super Hang-On (altro giochino-ino-ino di poco conto...).
    (Si, l'ho già detto, ma ci ho lavorato tanto concedetemi almeno un po' di auto-soddisfazione. Potevo fare una sola finger e via, invece ho voluto farne qualcuna in più per dimostrare la fattibilità).

    L'articolo è quasi pronto, a breve posterò il link
  5. .
    Esistono diverse schedine di interfaccia per collegare un PC adeguatamente configurato a cabinati JAMMA.
    JAMMASD, J-Pac, alternative orientali varie... insomma, in questi anni non possiamo dire di aver avuto problemi particolari sul fronte "conversione cabinati JAMMA".

    La situazione è molto diversa quando parliamo di cabinati dedicati. I produttori di questi spesso non adottavano lo standard JAMMA, dunque interfacciare un PC è molto più laborioso.

    I meno rispettosi hanno negli anni ricablato queste macchine (BESTIE!), altri hanno magari avuto il cuore di creare adattatori "to-JAMMA" per poter utilizzare le schede di interfaccia commerciali di cui sopra.

    Era da un po' di tempo che mi frullava per la testa l'idea di creare una scheda compatibile con cabinati dedicati NON-JAMMA. Forte della "esperienza" maturata nei progetti correlati precedenti e grazie alla sponsorizzazione di un noto produttore di schede stampate, quella idea è potuta diventare realtà. Nasce CoinOp Connect.

    Nei prossimi giorni avrò modo di assemblare il primo set di schedine e metterò qui il link ad un articolo che sto scrivendo appositamente, con tutti i dettagli del caso.

    Per ora ti dico solo che la scheda già supporta:

    - SEGA Outrun Hardware (Outrun, Turbo Outrun, Hang-on, Super Hang-on)
    - SEGA X-Board (in teoria tutti i giochi: After Burner, Thunder Blade, Super Monaco GP, etc. etc.)
    - ATARI System 2 (in teoria tutti i giochi: Paperboy, APB, Super Sprint, etc. etc.)
    - ATARI Pole Position
    - NAMCO Pole Position

    Come sempre, i file per farsi fare le schede saranno condivisi ;)

    Edited by barito - 7/11/2023, 20:06
  6. .
    Lo schedino ottico, già rivisto tre volte almeno, qualche giorno fa ha ricominciato a non funzionare bene. In pratica, ruotando il volante in senso orario oppure antiorario, il mouse si muoveva sempre nella stessa direzione.
    Gli encoder ottici funzionano in questo modo: un foto-interruttore si utilizza per derivare la velocità di rotazione del volante, l'altro per determinare, dal confronto di stato con il primo, la direzione.
    Dunque le cause potevano essere due: o il segnale arrivava ma la arduino per qualche motivo non lo computava (poco probabile, ma possibile), oppure non usciva proprio (poco probabile pure questo dato che ci avevo messo mano più volte).
    Alla fine la causa era uno dei due foto-ricevitori sullo schedino... peccato che non ce ne siano (da quel che ne so io) di geometricamente compatibili.
    Perché servono geometricamente compatibili? Perché l'allineamento fra foto emettitore e foto ricevitore deve essere adeguato, dunque utilizzare gli alloggi originali è la via più semplice per ripristinare in maniera affidabile il funzionamento.
    L'alloggio dello schedino montato sul buggy boy è questo qui:

    1698059810921IMG_20231020_173232

    Sebbene un fotoricevitore IR da 10 centesimi possa funzionare, la sua forma non si presta all'alloggiamento. Ho dunque modificato l'alloggiamento stesso facendo due scalanature col dremel (in foto puoi vedere uno slot originale e uno "scanalato")...

    1698059923478IMG_20231020_173703

    ... saldato due ricevitori nuovi e poi rimontato tutto

    1698060004247IMG_20231020_174731

    Adesso va a meraviglia! (eh grazie, ormai ho cambiato tutto...)

    Edited by barito - 23/10/2023, 16:47
  7. .
    Rimettendo mano al cabinato di Buggy Boy e rivedendo lo schedino ottico montato sotto il volante, mi è venuta la voglia di rispolverare la scatoletta/controller che ho fatto sfruttando la seconda versione di arcadeHID.
    Siccome ho più volte citato il progetto, ma mai postato una foto, lo faccio ora :)

    1693984467447IMG_20230906_072115

    Questo lo scatolotto: in pratica è un controller arcade con qualche tasto e uno spinner. Dentro è più interessante:

    1693984468460IMG_20230906_072132

    Zoommiamo in zona circuiti:

    1693984469426IMG_20230906_072139

    A sinistra lo spinner e il suo schedino ottico; al centro la arcadeHID versione 2, popolata anche con modulino giroscopio (serve ad emulare il nudge analogico dei flipper virtuali); in alto lo schedino di buffer.
    Questa funzionava perfettamente a basse velocità di rotazione dello spinner, ma invertiva la direzione di rotazione ad alte velocità. Nel tentativo di risolvere il problema, ho preparato su millefori uno schedino buffer analogo a quello montato sul cabinato Buggy Boy. Non osservando alcun miglioramento, ho lavorato un po' sul codice (tipo due ore, vaff@ncvl0) senza però ottenere grandi risultati.
    Un codice analogo sul Buggy Boy funzionava perfettamente, dunque alla fine mi sono deciso ad osservare lo schedino ottico a banco: tutto ok (una pulita ci voleva, ma niente di grave). Rimontandolo mi sono accorto che il funzionamento era ancora "difettoso", ma in maniera differente. Muovendo lo schedino ho trovato alla fine la causa principale del problema: allineamento non perfetto dei due fotoaccoppiatori sullo schedino.
    Il messaggio è dunque: se hai un problema col volante ottico, prima smanetta sull'hardware :)
    Ho anche voluto verificare se il circuito di buffer avesse una qualche influenza sul funzionamento, ora che l'hardware era a posto. In effetti, i buffer servono. Non sono essenziali, ma il funzionamento generale migliora.
  8. .
    Ciao Alessio, grazie ma ormai i P4 cominciano ad essere davvero obsoleti. Io ADORO riciclare PC da discarica, sia chiaro, ma il tempo è sempre meno e mi sono imposto di usare hardware un minimo affidabile (roba di almeno 10 anni fa comunque)

    Edited by barito - 4/9/2023, 13:54
  9. .
    Sono passati un paio d'anni e il Buggy Boy è tornato nel mio garage per ulteriori amorevoli cure.
    La scheda madre del vecchio Pentium 4 è morta, dunque si è reso necessario preparare un'altro PC. Poco male.

    Già che c'ero, ho voluto anche dare un'occhiata allo schedino ottico del volante, perchè non aveva mai funzionato perfettamente.
    Lo schedino è questo coso qui:
    1693813242660IMG_20230903_155235

    Per farla breve, l'integrato che vedi in alto a destra (74HC14N, trigger di Schmitt invertente) era andato. verificato facilmente con la tecnica del piggyback (in pratica piazzi un integrato identico, funzionante, sopra e vedi se torna a funzionare)

    1693813447809IMG_20230903_114644

    (si, ok, non è proprio identico: è un 74HC14N, non un 74LS14N ma in questa applicazione non cambia nulla... anzi).
    Verificato che funzionava, ho dissaldato il vecchio, installato uno zoccolo adatto (in questo modo se dovesse morire anche il nuovo cambiarlo sarà un attimo) e piazzato un integrato nuovo

    1693813531836IMG_20230903_160957

    Adesso va che è una bomba (link a video sotto ;) )

    https://youtube.com/shorts/O1cbeq5dJic

    A cosa serve quell'integrato? Il 74HC14N è un buffer: prende il segnale (sporco, brutto e cattivo) in uscita dai fotoaccoppiatori e lo rende meglio digeribile dalla circuitistica a valle (nel caso specifico una arduino leonardo).
    Devo dire che la sua presenza fa tutta la differenza del mondo e nel prossimo futuro proverò ad inserire un bufferino anche in uscita allo spinner arkanoid che ho collegato ad una leonardo in un'altro progetto.

    Edited by barito - 4/9/2023, 13:52
  10. .
    Test fatto!

    Prima di tutto ho dato una bella pulita alla superficie di installazione dello strain gauge togliendo il "grosso" con carta vetro (e la punta di un cacciavite a testa piatta, ma non si fa...) e finendo con una passata di isopropanolo.

    IMG_20230608_113529_0

    Poi ho installato lo strain gauge seguendo una procedura che ho visto in rete:
    - si posiziona l'elemento "capovolto" su un pezzetto di nastro adesivo
    - si applica una goccia di colla sulla superficie di installazione
    - si posiziona il nastro con sotto l'elemento, avendo cura di mettere tutto bene "in piano"
    - dopo qualche minuto si rimuove il nastro adesivo (lo strain gauge deve naturalmente rimanere sulla superficie)

    La procedura ricorda un po' quella di applicazione dei tatuaggi non permanenti dei bambini, hai presente...

    IMG_20230608_114211_0

    A questo punto si applica un po' di stagno sulle due piazzole dello strain gauge e poi si saldano i cavi

    IMG_20230608_115507_0

    Il gauge non ha polarità, dunque un cavo vale l'altro.

    Verificato che ci fosse una resistenza di circa 350 ohm fra i due terminali (temevo un corto per contatto con la superficie metallica sottostante) ho proceduto all'installazione nel cab...

    ... ed ha funzionato alla grande!

    Non subito però. Inizialmente nel menu di test della scheda gioco il valore del freno era fisso a "00". Potevo premere il pedale quanto volevo: nessun segno di vita.
    Temevo di aver fatto fiasco, ma dopo un paio di minuti passati piangendomi addosso mi sono accorto che il valore misurato, lentamente ma inesorabilmente, aumentava!

    In effetti il gioco stesso ti dice, appena lo accendi e procedi con le calibrazioni, che il freno è out of range e di aspettare una decina di minuti prima di ricalibrare. Avevo letto questa cosa in rete e devo confermare che il circuito deve scaldarsi per funzionare.

    Quale colla "speciale" va usata? In rete si legge di utilizzare un cianoacrilato. roba esotica? No, per niente: la classica supercolla attack/bostik del supermercato va benissimo ;)

    Adesso sono curioso di vedere quanto durerà (e ti farò sapere), ma considerato che erano almeno trent'anni che non andava quel coso li, lo ritengo comunque un successo!

    Edited by barito - 4/9/2023, 14:02
  11. .
    Strain gauge arrivati!
    Domani provo a metterne su uno e vediamo come va...
  12. .
    Strain Gauge: questo sconosciuto

    Solitamente nei cabinati di guida il freno è gestito tramite singolo microswitch. In casi particolari si può trovare un potenziometro. Il cabinato compact (o "upright") di Hard Drivin e Race Drivin non adotta nessuno di questi, ma uno strain gauge.

    In parole semplici, uno strain gauge è una serpentina metallica sottilissima con adeguata geometria che aumenta la propria resistenza quando viene piegata. Lo strain gauge, se saldamente ancorato alla superficie di cui si voglia monitorare la flessione, restituisce una tensione proporzionale a tale flessione. Parliamo di un sistema analogico, dunque, non digitale (on/off) e la dice lunga su quanto Atari prendesse sul serio lo sviluppo hardware dei propri cabinati, adottando anche soluzioni innovative rispetto alla concorrenza.

    Curiosità: strain gauge furono usati anche nei pedali del badlands e, anche in quel caso, è ben nota l'impossibilità di sostituirli con pedali comuni a microswitch.

    Problema

    Ora, questa una immagine della vista posteriore del blocco pedali "freno e acceleratore" (cenn'è un'altro dedicato alla frizione) del mio race drivin:

    IMG_20230516_175204_1_

    Quello a destra è il pedale del freno. Si nota che non c'è alcun strain gauge sulla superficie del perno. Cambiando un po' la visuale, possiamo notare invece la presenza ... di uno switch (!!)

    IMG_20230516_175218_1_

    Ma come?! Ma se abbiamo detto che non è un pedale a switch?!
    Infatti. Probabilmente l'operatore che aveva il cabinato prima di me ha fatto una modifica, nella speranza che potesse funzionare.

    Ammetto che quando più di dieci anni fa smontai e rimontai completamente il gruppo pedali, non mi accorsi di questa cosa. Onestamente, non sapevo proprio che in origine sfruttasse una tecnologia diversa da quelle "classiche". Meglio tardi che mai, immagino...

    In effetti, se andiamo nel menu di test della scheda gioco, il "movimento" del pedale è registrato: se il pedale è a riposo ha valore massimo, quando premuto assume valore nullo. "Peccato" che la scheda sia stata ingegnerizzata per ricevere una resistenza (ok ok, la scheda legge una tensione ma non facciamo i pignoli ora) intorno ai 350 ohm... dunque quel che accade è che, sebbene il valore sia leggibile, essendo fuori range il gioco lo ignora e assume che il freno sia scassato.

    Quello che intendo fare è installare uno strain gauge con caratteristiche simili a quello originale e vedere se sia sufficiente a risolvere.
    Ho ordinato uno strain gauge da 350 ohm nominali su aliespresso (BF350). Quando arriverà (tre settimane, incrociando le dita) procederò con l'installazione e il test...

    Prosegue...

    Edited by barito - 20/5/2023, 17:44
  13. .
    La sensazione di iniziare un topico sulla riparazione di un cabinato originale nel 2023 è strana. In giro (e dico nel nostro Bel Paese) non ce ne sono più, di cabinati, dunque probabilmente documentare l'operazione non servirà a nessuno. Non ci sono nemmeno più persone con la voglia di mantenerli questi ingombranti oggetti (se escludiamo i vari mercanti che per aggiungere uno "zero" alla cifra finale venderebbero anche le loro madri) e di conseguenza la potenziale platea si azzera.
    Io scrivo per non dimenticare dunque, per fortuna, tutte le considerazioni di cui sopra assumono una importanza secondaria :)


    Ho per le mani questo cabinato Atari Race Drivin' dal 2010 circa. Aveva problemi alla scheda gioco, monitor KO e bisogno di una bella pulita ai controlli.

    Sostituita l'elettronica del monitor con una Hantarex MTC9110 adeguatamente modificata (zoccolo diverso e sostituita la resistenza in serie al filamento con una da 4.7 ohm), sistemata la PCB (errore GSP timeout con VRAM da sostituire correttamente individuata dalla scheda... grandissimo Jed Margolin) e ripuliti e ingrassati i meccanismi delle pedaliere, il cab è tornato a funzionare perfettamente.
    O quasi.

    Un unico problema era rimasto: il freno. Sarò sincero: io non me ne ero nemmeno accorto, complici: (a) l'eccitazione per aver risolto problemi ben più grossi, (b) il fatto che gioco poco/pochissimo, (c) il fatto che non sono un perfezionista, (d) ancora una volta, l'ottima implementazione software del gioco, la quale "mette una pezza" quando rileva un problema ai controlli. Nel caso specifico del freno, fa si che quando il giocatore molla l'acceleratore, il freno si aziona - il che è più o meno ciò che il giocatore farebbe con il freno funzionante, dato che trattasi pur sempre di un gioco di corse.

    Realizzato RECENTEMENTE il problema, ho deciso dunque di provare a recuperare la funzionalità del freno del mio cabinato.

    Prosegue...

    Edited by barito - 4/9/2023, 13:56
  14. .
    Ho aggiornato H2Seq con qualche fix e aggiunta del supporto della funzione hi/lo per alcuni giochini in più.

    Finalmente l'auto-clutch nella serie drivin' funziona a dovere!

    Download in primo post

    Edited by barito - 11/5/2023, 13:37
  15. .
    Collegare un PC ad un classico cabinato arcade con monitor a tubo catodico è una operazione resa semplice da software di forzatura video (CRT emudrivers) e interfacce hardware tipo JAMMASD o JPac.

    Queste interfacce fanno un sacco di cose: emulano una tastiera, monitorano la frequenza del segnale di sincronia e bloccano l'uscita video se questo non è adeguato, amplificano il segnale video, amplificano il segnale audio.

    Queste funzioni sono adeguate per un cabinato arcade classico con joystick e pulsanti (dunque input digitali), ma sono insufficienti per un cabinato di guida. Questo, infatti, oltre alle funzioni di cui sopra, necessita di supporto per input analogici (es. il volante) e outputs.

    Sebbene per giocare il supporto agli input analogici sarebbe sufficiente, siamo tutti ben consapevoli che parte dell'esperienza è data dagli effetti al volante (rumble o force feedback) e dalle luci che adornano il cab. Bada bene: non mi sto riferendo a quei tasti con lucine colorate che non servono a niente se non a far sembrare il cab un albero di natale, ma luci funzionali al gioco tipo l'insegna di "race leader" in daytona USA, i flasher di inseguimento in chase HQ, le lampade "start" in molti giochilli SEGA quando un credito è presente, etc. etc.

    Se una cosa non esiste, su questo forum, quello che facciamo di solito è soffrire un po', riprenderci e metterci al lavoro su una soluzione.

    La soluzione per il mio cabinato di guida JAMMA generico è stata CORSE, interfaccia basata su due schede a microcontrollore della famiglia Arduino, recentemente revisionata grazie alla sponsorizzazione da parte di un fabbricante di schede PCB d'oriente.

    Ho scritto un lungo articolo a riguardo, con dettagli tecnici sulla scheda di interfaccia e due semplici driver board appositamente sviluppate. L'articolo contiene anche informazioni su come configurare gli emulatori più famosi (MAME, Nebula Model 2 e Supermodel) per testare i segnali di output. L'articolo è >>QUI<< (Instructables)

    Una fotina della scheda e delle driver boards, giusto per gradire



    Edited by barito - 24/6/2023, 08:46
131 replies since 6/10/2016
.