Buggy Boy Junior

« Older   Newer »
 
  Share  
.
  1.  
    .
    Avatar

    appassionato
    Amministratore

    Group
    Fondatore Supremo
    Posts
    167

    Status
    Offline

    sidecut



    Sto aiutando un amico a far tornare operativo il suo Buggy Boy Junior (Tatsumi, 1986).

    Il mobile è in buone/ottime condizioni, mentre la scheda gioco manca completamente. Abbiamo dunque deciso di installare un PC dedicato a far girare Buggy Boy Jr e, al limite, due o tre altri giochilli di guida super-selezionati :woot:

    Il mobile è questo qui:

    IMG_20210602_092338



    Il cabinato è un classico cab di guida upright con monitor a tubo catodico, un pedale (acceleratore), un paio di tasti sulla plancia, cambio a singolo switch e volante. Il volante è ottico "free spinning" (cosiddetto "360°"), molto diffuso ai tempi (si pensi alla serie "Sprint" di Atari). Il mobile nel tempo ha subito qualche modifica, la più significativa delle quali è stata la sostituzione del cablaggio originale con un cablaggio Jamma. Poco male.

    Date le caratteristiche (cablaggio jamma, numero limitato di input, volante ottico, monitor a tubo catodico) una interfaccia commerciale adatta a gestire tutte le periferiche non esisteva. Ho così realizzato una interfaccia ad-hoc, adatta sia a cab di questo tipo, ma anche utilizzabile in cab classici. Non mi dilungherò su questo punto dato che ho già scritto a riguardo>>QUI<<.

    Giorno 1

    La prima cosa che ho fatto è stato valutare la situazione generale. Questa una vista interna del cab:

    IMG_20210602_092350



    Il cablaggio non era completo: non erano collegate la cassa, la schedina di interfaccia del volante, i segnali video e gli switch dei gettoni. Ho dunque provveduto a completare il cablaggio e annotarmi il pinout, in modo da poterlo utilizzare successivamente per programmare la schedina di interfaccia.

    IMG_20210602_191222



    Altro punto di attenzione è stata la schedina ottica del volante. Non avendo il connettore e dovendo fare i collegamenti saldando direttamente i fili sul lato saldature, ho preferito rimuoverla per dare un'occhiata alle condizioni e annotarmi il pinout.

    IMG_20210602_181734



    IMG_20210602_181923



    IMG_20210602_181916



    I due grossi condensatori (18 nF) sono condensatori di debounce, servono cioè a ridurre la registrazione di "falsi" segnali di cambio di stato quando la ghiera dentata si muove. L'integrato è un hex trigger ed ha sostanzialmente la funzione di buffer.
    Le linee che ci interessano sono quelle di tensione di alimentazione, massa e i due segnali digitali. Tensione e massa si identificano facilmente grazie all'integrato consultando il suo datasheet. I due segnali digitali si possono identificare grazie ai due grossi condensatori, collegati da un lato a massa (o tensione) e dall'altro a uno dei segnali.

    Completato dunque il cablaggio, ho potuto accendere per verificare se il monitor e l'alimentatore funzionassero. Il monitor può essere controllato anche senza segnale video collegato: accendi, alzi un po' la luminosità e vedi se compare il raster, cioè il riquadro dell'immagine. In questo caso c'era un viola dominante (dovrebbe essere grigio), ma con buona probabilità sarà risolvibile agendo sui potenziometri di regolazione sulla neckboard del monitor o tramite i trigger di regolazione colore che ho messo sulla schedina di interfaccia. L'alimentatore, invece, si accendeva e spegneva (entrava in protezione ciclicamente). Ho dunque rimosso l'intero blocco di alimentazione per dare un'occhiata:

    IMG_20210602_190512_0



    Sulla sinistra in alto il trasformatore di isolamento, necessario per scalare la tensione di rete (230V ac) alla tensione di alimentazione adatta a questo monitor (Hantarex MTC9000, 115V ac), oltre che isolarlo elettricamente dalla rete; a sinistra in basso due portafusibili e il connettore che porta le tensioni al pettine jamma e al neon del marquee; sulla destra l'alimentatore di bassa tensione (+5V, -5V, +12V dc), necessario ad alimentare la scheda gioco (+5V logici, +12V per gli ampli e -5V anch'essi usati per gli ampli, seppur raramente). Dato che stiamo per installare un PC, tutte le tensioni necessarie le potremo prendere da li, dunque questo (malfunzionante) l'ho rimosso completamente.

    Prossimo step: cercare di tirar fuori un PC funzionante da due recuperati in discarica...

    Edited by barito - 5/6/2021, 15:02
     
    .
  2.  
    .
    Avatar

    nuovo utente

    Group
    Member
    Posts
    13

    Status
    Offline
    Qui ci sta solo da imparare.
    Seguo con curiosità e interesse.
     
    .
  3.  
    .
    Avatar

    appassionato
    Amministratore

    Group
    Fondatore Supremo
    Posts
    167

    Status
    Offline
    Giorno 2
    L'intento di fare un PC buono da due da discarica non ha funzionato (form factor diversi, connettori degli ali diversi, socket dei processori e ram diversi... Insomma: due cariatidi diverse), dunque ho fatto un primo test di accensione con il mio muletto (P4 3GHz forzato a 15KHz con CRT emudrivers).
    L'immagine c'è e il monitor sembra tenere.

    IMG_20210603_183000

    Qualche tasto non andava a causa di un cavo di massa non collegato, e non arrivava tensione alla schedina del volante. Fornite le dovute alimentazioni e riferimenti ho potuto testare una prima versione dello sketch di controllo volante ottico: buono, ma migliorabile. Ruotando il volante da un lato funzionava meglio che dall'altro, il che non è attribuibile al codice. Devo dunque avere un problema elettronico sulla schedina e sospetto i due grossi condensatori di debounce... anche perché non é che ci sia un granché di componenti XD
    Domani (o più probabilmente dopodomani) provo a sostituirli con due poliestere da 10nF e vediamo se migliora. Intanto ho buttato giù uno sketch alleggerito nella parte di controllo frequenza (ampli video abilitato dopo un certo tempo e stop) e un po' più sofisticato lato volante (2X counting o 4X counting invece che 1X counting). Vediamo come va :b:

    Edited by barito - 5/6/2021, 15:04
     
    .
  4.  
    .
    Avatar

    appassionato
    Amministratore

    Group
    Fondatore Supremo
    Posts
    167

    Status
    Offline
    Giorno 3
    Oggi giornata decisamente da dimenticare: ero contento per essere riuscito a far funzionare uno dei PC da discarica che avevo "in dotazione" :D quando mi rendo conto che l'unica scheda video pci-express che ho (fra le mie) non é compatibile ne con CRT emudrivers, ne con soft15khz. Nel mentre che abbacchiato faccio l'ennesimo cambio di PC tornando al mio muletto, inciampo nel cavo USB che alimenta la Earthshaker e scasso il connettore USB della promicro saldata sopra. D106@stard0.
    Devo dunque dissaldare la arduino pro micro mandata al creatore e metterne una nuova. Meno male che ne ho un paio di riserva.
    Prossimi step dunque ripristinare la Earthshaker e magari fare una bella revisione allo schedino ottico del volante che non voglio abbagli durante il test del firmware...
     
    .
  5.  
    .
    Avatar

    appassionato
    Amministratore

    Group
    Fondatore Supremo
    Posts
    167

    Status
    Offline
    Giorno 4
    Non sono riuscito a dissaldare la arduino pro micro che ho maldestramente scassato ieri e recuperare così la scheda con ampli video e tutto il resto, nonostante avessi una pistola dissaldante a disposizione. Ho dovuto così realizzare una Earthshaker nuova di pacca. Poco male, avevo tutti i pezzi, schede comprese (gli amici cinesini te ne fanno 5 o 10 a botta).
    Ho revisionato la schedina ottica: cambiati i condensatori poliestere e un paio di resistenze, oltre che pulito emettitori e ricevitori IR con un prodotto per vetri.

    Prima

    IMG_20210605_114524



    IMG_20210605_114520



    Dopo

    IMG_20210605_120341



    IMG_20210605_120336



    Mi sono poi accorto di aver fatto un errore di design della scheda utilizzando i pin 2 e 3 di arduino pro-micro per il controllo frequenza e abilitazione del segnale video. Quei pin infatti si possono usare per funzioni che necessitino di "interrupt" e aprono una serie di possibilità in più rispetto agli altri pin. Dunque, se decidi di farti fare una di queste schede, chiedimi i file aggiornati (pubblicherò l'update più in la, per ora resta esclusivo su questo "canale").

    Ad ogni modo: fatta finalmente la prima partitina a buggy boy junior (e a pole position, ma non dirlo a nessuno!)

    IMG_20210605_123039



    A questo punto mi resta solo da preparare un PC con uscita video forzata a 15KHz (sto ancora usando il mio muletto), sistemare l'amplificazione audio (la nuova Earthshaker avrà anche l'ampli: uno poi se lo assembla o ne usa uno esterno, a scelta) e poi é fatta! ^_^

    Edited by barito - 8/6/2021, 12:21
     
    .
  6.  
    .
    Avatar

    nuovo utente

    Group
    Member
    Posts
    13

    Status
    Offline
    Purtroppo le sfighe colpiscono sempre ma non tutti i mali vengono per nuocere (magari non badavi alla questione dei pin, chissà..).

    Ti racconto recente episodio

    Con i vecchi pc è sempre un mistero: recentemente ne ho preparato uno forzato a 31khz per un clone Naomi universal.
    Senza smontarlo l'ho tagliato con una cesoia di quelle manuali (con manico da 120 cm), usato trapano per togliere i rivetti, martellato lamiera per ripiegarla sul dvd, il tutto per accorciarlo di 7 cm e solo per mia comodità, per trasportarlo in casa quando voglio, per upgrade giochi e diavolerie varie (avendo, purtroppo il cab in un capannone semiaperto).

    In questo modo entrava perfettamente sdraiato nella base angusta del cabinato.

    Avrei dovuto smontare la mobo, certo. Non avevo nè tempo e nè voglia di farlo, troppi casini nella testa e poca serenità zen a disposizione.

    Risultato.il pc non è partito più, rimaneva con la ventola cpu fissa. Ma io sapevo di aver fatto un lavoro barbaro ma quasi delicato, martellate a parte.

    Stacco riattacco connettori, nisba.
    Tolgo ram, nisba.
    Passano giorni, non capisco che cavolo è.

    Mi convingo di aver spaccato per le vibrazioni piste sulla mobo.

    Ma non mi arrendo a riprovarci.
    Cambio ali, nisba.
    Allora provo ad aspirare con l'aspirapolvere del pellet sotto la cpu e un po' a casaccio.
    (lo avevo usato al.contrario in modalità soffiatore per pulire la mobo).

    Magicamente è ripartito.
    Secondo me la polvere dei rivetti dava fastidio a qualcosa.

    Per la serie, contro tutti che dicevano "hai rotto le saldature della mobo, lo hai distrutto etc. hai spaccato qualche roba" alla fine non gli avevo fatto male al catorcio pc!

    Mai arrendersi!

    Edited by Gibranx - 6/6/2021, 22:02
     
    .
  7.  
    .
    Avatar

    appassionato
    Amministratore

    Group
    Fondatore Supremo
    Posts
    167

    Status
    Offline
    Si, bisogna perseverare... ne vale sempre la pena :b:

    Giorno 5
    Oggi ho accrocchiato su un PC con i pezzi dei due che avevamo destinato alla causa e altri componenti sparsi che avevo a casa.

    Note:

    - Windows 7 agevola notevolmente la ricerca dei drivers per le periferiche integrate alla mobo (specie quelli audio...), ma i software di forzatura funzionano peggio alle basse risoluzioni e con un numero inferiore di schede video.

    - winXP ha una incredibile compatibilità con i driver di forzatura e permette di usare schede altrimenti da discarica (tipo le X300/X550 di ATI... Testato!), di contro trovare i driver giusti per la mobo é un delirio. Oggi per far funzionare la scheda audio integrata ho smadonnato per ore e alla fine ho buttato su una soundblaster da pochi spicci che ha risolto... comunque l'inferno mi aspetta.

    Ho anche provato un ampli audio che avevo dai tempi dei primi test con jammarduino (ero stufo di "testare" senza musica ed effetti del giochillo :D ) e, come allora, il risultato non mi ha soddisfatto. Nei prossimi giorni ne provo un'altro basato su ampli LM386 che ho in un cassetto e vediamo (quelli che usano il TDA2030, che sono i miei preferiti, li ho finiti p0rk@7ro1@).
     
    .
  8.  
    .
    Avatar

    nuovo utente

    Group
    Member
    Posts
    13

    Status
    Offline
    Sì, per fortuna non sei solo: anche io e Simone (biasini) siamo per winXP e crtemudriver - io lo uso anche in combo con soft15khz, che se po fà, calamity docet).

    Sì, win 7 e relative gpu hanno problemi con modeline con pixel clock bassi. Io uso ancora una vecchia Ati 7000 (32 mb ram) con winXP e becco qualsiasi modeline, arrivo pure a 120 x 200 o roba simile.

    Con winXP e vecchie gpu si ha la certezza matematica di uscire con un segnale video puro per crt, senza upscaling o escamotage vari, ad una miriade di modeline.

    Poi winXP diventa anche una scelta saggia, a seconda del pc da discarica; il mio del post precedente, per intenderci, core 2duo sì, ma con 1 gb ram, sinceramente poco, per win 7.
    E poi dipende sempre dall'uso che se ne deve fare: pochi vecchi giochi, più che sufficiente.

    Se poi aggiungiamo la possibilità di ewf + horn che ci consente di spegnere winXP a crudo come un cab senza danneggiare hd (perché la testina non scrive più), il vecchio sistema operativo microsoft è come un gatto che non muore mai!

    Ovviamente, su hardware decente non mi sognerei di castrarlo su winxp ma installerei 7 o 10.
    Ma spesso capitano vecchi pc catorci da ficcare nei cab, non si pretende l'ultimo gioco arcadepc o demul etc. e quindi si cerca un os snello e reattivo per pc che, altrimenti, diventerebbero lumache ingestibili.
     
    .
  9.  
    .
    Avatar

    appassionato
    Amministratore

    Group
    Fondatore Supremo
    Posts
    167

    Status
    Offline
    Toglimi una curiosità: in quali situazioni usi Soft15khz in abbinata ai CRT emudrivers?

    Edited by barito - 7/6/2021, 09:45
     
    .
  10.  
    .
    Avatar

    nuovo utente

    Group
    Member
    Posts
    13

    Status
    Offline
    Quesra cosa farà storcere il muso a tanti ma è menzionata, come possibilità, dallo stesso calamity su arcadecontrol.
    Quindi, se non ricordo male, estendo le modeline di crtemudriver con quelle di soft15khz.

    Molte cose non le ricordo più, credo che in questo modo si possono gestire, numericamente, più modeline.

    Nasce per caso, nel mio caso.
    La mia vecchia Ati 7000 non digeriva bene i crtemudriver, in pratica non partiva winxp in 15khz.

    Scheda video agp, provai in mille modi. Magari oggi non avrei gli stessi problemi, però recentemente riformattai il tutto e mi trovai con lo stesso problema, poi vatti a ricordare.

    Mentre invece, (sempre dopo aver installato i crtemudriver 6.5, se non erro) tramite soft 15khz abilitavo in men che non si dica i 15khz e le relative modeline, che venivano integrate in quickres.


    Ora non saprei dirti come mai.
    Sta di fatto che anche l'aggiunta di modeline personalizzate da soft15khz lo trovo più adatto alla mia semplice mente.

    Controllatina poi in arcadeosd per vedere se la modeline è ok.


    In realtà Sailor Sat raggiunse questo traguardo prima di Calamity e quest ultimo si ispirò a soft15khz per i suoi driver, quindi deduco che il piccolo programmino non era per niente male.


    Quindi, rispondendo alla tua domanda, lo uso per abitudine perché mi trovo meglio ad aggiungere modeline di rom, magari la rom X sul mame pesca la risoluzione più prossima non trovando la "sua", allora vado su adb, mi controllo la modeline e poi cerco di replicarla e poi di aggiungere tramite txt a manina in soft15khz.

    Probabile, anzi ne sono certo, che il mio metodo sia molto discutibile nel 2021, non lo metto in dubbio, ma non ho mai amato il "lavoro di massa" su millemila rom, sono contrario per principio ai romset che occupano solo inutile spazio su hd, soprattutto sui nostri pc catorci.

    Infine comodissimo per "switchare", con un semplice riavvio tra 15 e 31 khz (anche 25, volendo), nel caso di necessità di collegare il tutto a un monitor svga lcd per manutenzioni etc. (in questo caso attenti che si perde il lavoro di fino fatto sulle modeline con arcadeosd).

    Aggiungo anche una info mai verificata da me, sempre tratta da arcadecontrol, dove un utente ha scoperto che se si utilizzano valori con la virgola nei parametri verticali delle modeline si possono ottenere variazioni di "1 pixel", cosa non fattibile normalmente (per il noto problema del verticale di difficile gestione) e di cui persino lo stesso calamity ne era all'oscuro (me lo segnalò xbrunox).
     
    .
  11.  
    .
    Avatar

    appassionato
    Amministratore

    Group
    Fondatore Supremo
    Posts
    167

    Status
    Offline
    Anche io avevo un debole per la semplicità di soft15khz e una delle cose che mi piacevano di più era proprio passare dai 15KHz ai 31KHz al volo quando facevo i miei test. Poi ho "scoperto" che anche se hai i CRT emudrivers installati, scegliendo risoluzioni superiori ai 640x480 tramite switchres vai a 31KHz (ovvio ma, oh, incasinare tutto é un attimo e meglio andarci cauti XD ).

    Soft15Khz resta un gioiello e Ariane (SailorSat) una fuoriclasse.

    Giorno 6
    Oggi ho sostituito l'ampli audio che avevo installato e che mi dava interferenze video con uno basato su LM386 e i difetti sono spariti :b:

    IMG_20210607_181313



    Poi ho voluto mettere i pulsanti di servizio, prima "volanti" dietro la gettoniera, in una posizione più stabile. Ho forato alla benemeglio una scatoletta di ABS e bloccato tutto dietro la gettoniera

    IMG_20210607_184841



    Il foro quadrato sopra lo avevo fatto perché nelle mie intenzioni c'era il piazzamento anche dell'ampli audio dentro la scatola, ma lo spazio era insufficiente (e naturalmente me ne sono accordo troppo tardi :p: ).

    A cosa servono quei due tasti? Come spiegavo nell'instructable di Earthshaker, in un cab con una game list selezionatissima (tre giochi, ma ne bastavano due) un frontend é eccessivo. Ho scritto dunque un semplice script autoit che alla pressione di un tasto cambia il gioco, alla pressione dell'altro spegne il pc. Stop. Nient'altro. Niente menu, niente liste. Niente di niente. La personalizzazione delle funzioni si fa direttamente sul codice sorgente (disponibile su github).

    Adesso manca solo di trovare una collocazione dentro al cab per il PC (é piccolino il mobile di buggy boy jr).

    Altre tre fotine e direi che per questo progettino é (quasi) tutto!

    IMG_20210607_182321_1



    IMG_20210607_181320



    IMG_20210607_181308



    Edited by barito - 24/5/2022, 14:01
     
    .
  12.  
    .
    Avatar

    nuovo utente

    Group
    Member
    Posts
    13

    Status
    Offline
    Bellissimo! Ormai è quasi fatta!

    Spero ci sia spazio sufficiente per il pc; al massimo ti crei una mensolina interna dove poggiare il tutto, spazio permettendo.


    Edit

    La selezione dei tre giochi tramite pulsanti di servizio è assolutamente fantastica, roba da veri intenditori.
    Standing ovation.

    Per la serie, se qualcuno non dovesse comprendere, basterebbe ricordare che l'unico "arcade" con frontend era il Nintendo Playchoice 10.

    I frontend non esistevano, non li abbiamo mai visti, per nostra fortuna. Accendi cabinato, insert coin e gioca, questo è il modo corretto di rivivere l'esperienza.

    Edited by Gibranx - 8/6/2021, 15:33
     
    .
  13.  
    .
    Avatar

    appassionato
    Amministratore

    Group
    Fondatore Supremo
    Posts
    167

    Status
    Offline
    Giorno 7

    Ultimi ritocchi ai software oggi. Ho dato una sistemata al Game Utility Script che chiudeva brutalmente MAME in fase di cambio gioco e shut down del sistema operativo, ma così facendo non permetteva di salvare hi-scores e configurazioni.
    Ho ritoccato anche lo script nella parte di gestione del volante ottico perchè, seppur funzionasse bene, non era perfetto. Ora, adottando l'uso di interrupt (uno solo) e mantenendo la funzione leggera (risoluzione 1X) ho raggiunto un ottimo compromesso fra velocità di esecuzione ed efficacia. In passato ritenevo che gli interrupt non fossero necessari nelle nostre applicazioni (che non sono certo di precisione...) però mi sbagliavo. Non si finisce mai di imparare, sono proprio contento ^_^

    Tutti i file di cui blatero sopra sono reperibili >>QUI<<
     
    .
  14.  
    .
    Avatar

    appassionato
    Amministratore

    Group
    Fondatore Supremo
    Posts
    167

    Status
    Offline
    Giorno 8

    Gli "ultimi ritocchi" di ieri non erano gli ultimi (così come non lo saranno quelli di oggi... :D ).
    Un problemino da risolvere era rimasto: la gestione del cambio.
    Buggy boy, così come molti altri giochi di corse, monta un cambio a singolo switch: quando questo è aperto la scheda gioco riconosce una marcia (solitamente la "alta"), quando chiuso l'altra marcia ("bassa" generalmente). Per come sono strutturati i driver in MAME, alcuni giochi vanno in marcia alta con lo switch chiuso, altri con lo switch aperto (sempre qualora si sia disattivata la funzione di toggle sull'input della marcia, attiva di default in MAME per motivi di testing). Sapevo come modificare i sorgenti per far si che le marce funzionassero come volevo, ma non è certo un'operazione snella dal momento che va fatta su ogni singolo driver di gioco.
    Mi ero un po' rassegnato a lasciar perdere questo dettaglio, ma, sai com'è, quando hai un progetto appassionante non te la metti mai via veramente (vero xbruno xbrunox ?).
    Ho dunque aperto un topico su BYOAC e gli amici di quel forum mi hanno suggerito una funzione che avevo già orecchiato, ma mai usato: l'uso di funzioni "NOT" sullo switch di marcia, facilmente utilizzabile modificando il file nomegioco.cfg in corrispondenza allo switch di cui si voglia invertire il comportamento...
    Anche questa é fatta :b:

    Edited by barito - 9/6/2021, 12:19
     
    .
  15.  
    .
    Avatar

    nuovo utente

    Group
    Flipper Master
    Posts
    6

    Status
    Offline
    Goloso.
    Tante cose che hai scritto e fatto per me restano aramaico antico, o moderno più che altro.
    Vedo però che hai creato qualcosa che mancava. Inesistente. Per completare e ricostruzione una bella parte mancante di una piccola opera d'arte.

    Bravo, ma soprattutto GRAZIE
     
    .
20 replies since 3/6/2021, 08:40   417 views
  Share  
.