Micro Arcade Gamez mod
7 Settembre 2022Grillo Parlante
29 Ottobre 2022Una delle limitazioni nella serie di computer 8bit delle Commodore è proprio quello di avere un solo tasto FIRE!.
Inizialmente i giochi non erano complessi e un tasto era sufficiente, poi con l’avvento delle macchine Arcade e giochi con più input si cominciò a vedere la difficoltà di giocarli a casa con il joystick e con l’uso della tastiera per i tasti aggiuntivi. Sarebbe bastato un solo tasto in più per risolvere il problema, spesso i giochi utilizzavano 2 tasti, raramente 3 o più.
Beh, ora è possibile aggiungere più “FIRE” al nostro amato Commodore!
Come?
In realtà lo era già in passato ma non lo hanno mai fatto, anzi lo hanno fatto ma tardi, è stato aggiunto sul Commodore 64 GS utilizzando la funzione potX utilizzata per la lettura dei paddle analogici.
Funzinamento
Vediamo ora come funziona la lettura del joystick nel Commodore 64 (vale anche per Vic20,C128)
A fianco la piedinatura della porta joystick dove troviamo tutti i segnali delle direzioni, il tasto fire e i due assi analogici (x,y) per il paddle. Non abbiamo nessun altro pin da poter usare!. Quando finalmente si decisero a mettere il secondo Fire, usarono il segnale del potenziometro X. Questo pin è un ingresso analogico controllato dal SID, già, contrariamente ai segnali digitali che sono gestiti dal CIA, questo pin è connesso alla porta del SID che oltre alla funzionalità audio ha il compito di interpretare il livello di questo pin da 0v a 5v. Nel caso del secondo Fire utilizzando questo pin (nr.9) il collegamento viene fatto con i 5v invece che il GND usato negli altri segnali, questo perché il pin è tenuto ad un livello basso se non collegato e per poter capire se è stato premuto il tasto occorrerà dargli una tensione.
Non sono molti i giochi che utilizzano il secondo tasto, ma alcuni sono già nati con questa funzionalità e per non sconvolgere tutti i giochi che richiedono tasti aggiuntivi sarebbe meglio continuare su questa strada!
Perciò il terzo tasto dovrebbe essere collegato al pin del potenziometro Y.
Con questa tecnica si potrebbero connettere molti più tasti, siccome stiamo usando un segnale analogico, potremmo fare un partitore con delle resistenze in modo che ogni tasto dia una tensione diversa e se usiamo delle resistenze di precisione sarà più facile leggerne il valore. Non complichiamoci troppo la vita! non sono moltissimi i giochi che usano più di un tasto e 2 sono sufficienti per coprire il 99% dei giochi presenti sul C64.
SALVO LIBERA TUTTI!
Ora che sappiamo come funziona il secondo tasto sul C64 possiamo costruirci un joystick con questa funzionalità!
Peccato che sono pochi i giochi programmati per funzionare con questo sistema.. e allora che si fa?
Per fortuna ci ha pensato Salvo Cristaldi e sta “smanettando” con i giochi del 64 aggiungendo questa nuova e bellissima funzione!
Pensate che bello poter giocar con 1942 e poter schivare i nemici premendo il tasto li vicino sul joystick invece di doversi allungare per premere lo spazio o tenere un secondo joystick in porta 1!!!
In Commando possiamo lanciare le bombe in una frazione di secondo e continuare a sparare.
I giochi assomiglieranno di più (come giocabilità) a quelli presenti in sala giochi.
Ok, ora vorrete sapere dove trovare questi giochi modificati no?
Eccovi la pagina di GitHub dove trovare tutti i file convertiti.
Non solo 2 Fire!
Nella pagina di Salvo troverete lo schema per realizzare un joystick con 5 tasti e un tasto aggiuntivo per la direzione “alto”, molto utile nei giochi che per saltare dobbiamo usare la leva del joystick.
Se tutto questo non è poco, Salvo sta convertendo anche alcuni giochi inutilizzabili sul C64GS per via della mancanza della tastiera.
Come sapete questa pseudo console della Commodore, altro non è che un semplice C64C privato della sua tastiera e qualche componente non più utilizzato come la gestione della porta cassette ecc..
Molti giochi scritti per il 64 richiedevano la pressione di un tasto per iniziare, la scelta dei giocatori, il livello di difficoltà o altro.
Tutto questo non era possibile farlo senza la tastiera e gli ultimi titoli dopo l’uscita del 64GS furono adattati per effettuare queste scelte con il joystick. Ma quelli prima? semplice non ci si poteva giocare.
Costruiamo il joystick
Ora basta chiacchiere e passiamo alla costruzione del joystick, anzi se volete vedere come è stato costruito seguite questo video.
Questo è tutto il materiale che ci serve:
(ma prima.. la protezione!)
Tutto questo che vedete sul sito è nato dalla passione per questi computer che ci hanno insegnato (per lo meno a quelli della mia generazione) la programmazione e “dato un lavoro” spesso quello che facciamo oggi.
Se vi piacciono i contenuti e per contribuire alla crescita del canale, degli articoli ecc. iscrivetevi al canale! è gratuito e a noi serve per continuare a creare contenuti che come sapere portano via tempo e non solo!.
Joystick e pulsanti
Per questi componenti vanno bene quasi tutto quello che si trova sotto il nome di kit Arcade oppure anche presi a parte singolarmente. Io ho utilizzato il kit per non stare a prenderli tutti separatamente, ma così facendo avremo qualcosa che ci avanza come il convertitore USB ed alcuni tasti.
L’importante è avere un contatto pulito sul pulsante perché il FIRE di base del C64 deve interrompere il GND mentre i due tasti aggiuntivi collegati a potX e potY devono interrompere i 5V. Il joystick spesso ha un filo in comune (e va benissimo) a cui porteremo il GND e in base alla direzione ritroveremo questo segnale nel pin collegato al relativo microswitch.
Questi tasti hanno anche l’illuminazione che è possibile non collegare oppure se non la volete meglio prenderli senza e risparmiare un pochino.
Altra cosa particolare di questo kit è che il pulsante ha un connettore a 3 poli dove uno è il GND, uno il +5V per il led e il pin centrale è l’uscita del tasto ma è collegata internamente con il +5V e quindi non va bene per il FIRE nativo del C64. Per ovviare a questo problema ho tolto la resistenza del led e sul pin dove collegato il led ho saldato una resistenza volante alimentata a 5V così da lasciare inutilizzato il pin del pulsante che sarebbe stato il + e l’ho utilizzato come GND o +5V a seconda del caso.
Se il pulsante ha 2 pin o 4 non è necessaria questa modifica perché i segnali sono già separati.
Se usate l’illuminazione, mettete una resistenza abbastanza alta sui led in modo da non caricare troppo il C64. (680ohm può andare bene)
Questo kit lo trovate su:
Link Amazon
Link Aliexpress
Prolunga Joystick
Questa prolunga sarebbe opzionale se avete voglia di farvi il cavetto da soli e avete una presa DB9 femmina.
Altrimenti per farla breve, tagliate la parte grande dove ci sono i pin (lato maschio) e trovate la corrispondenza filo-pin in modo da collegare i fili sulla posizione corretta del joystick. Se volete riutilizzare la prolunga o non volete impazzire nel battere tutti i 9 fili, utilizzate come me un connettore DB9 femmina a saldare. Sul connettore salderete tutti i cavi del joystick nei pin corretti e non farete altro che collegare il connettore alla prolunga.
Case 3D
Il link al progetto del joystick come in foto è qui:
https://www.thingiverse.com/thing:5568052
4 tasti di cui il primo in alto “start” è una combinazione della leva (destra+sinistra) impossibile da fare con un joysick e quindi utilizzata come “tasto aggiuntivo”.
Visto che le combinazioni su+giu e destra+sinistra bloccano l’uso del joystick, non conviene utilizzarle come tasti, mentre invece potrebbe essere utile avere la direzione “alto” su un pulsante in modo da usarla per saltare.
Se non avete una stampante 3D potete sempre affidarvi a:
Lo schema di connessione del joystick lo trovate nella pagina GitHub di Salvo ma ve lo inserisco per comodità:
Se si vuole utilizzare il tasto select e start come li ha pensati Salvo, occorre inserire 2 diodi per pulsante come da schema altrimenti la direzione comanderà anche l’altra rendendo impossibile andare in una sola direzione.
Commenti 2
Dove posso contattarti per un joistick? Grazie
Salvatore
Ciao puoi scrivermi sul form della pagina contatti oppure su info@retrofixer.it