Pubblicato un nuovo aggiornamento per GimliDS, l’emulatore del Commodore 64 per console DS, DSi e varianti come XL/LL sviluppato dal talentuoso developer wavemotion-dave.

Il progetto nasce come evoluzione del precedente FrodoDS e porta uno dei computer più iconici degli anni ’80 su un hardware portatile molto più limitato, un risultato che richiede ottimizzazioni costanti per garantire un’esperienza fluida.
Questo nuovo aggiornamento corregge un’impostazione finita accidentalmente nelle build precedenti: il parametro CPU Adjustment è stato riportato al valore predefinito +0, poiché il valore +3 si è mostrato troppo aggressivo, causando problemi di avvio in alcuni titoli, incluso il recente e apprezzato Sherwood di Psytronik.
Introdotto inoltre un nuovo sistema di preferiti che rende più comoda la gestione della propria libreria di giochi. Dalla schermata di selezione ora è possibile premere il tasto SELECT per assegnare un livello di apprezzamento, come “Like” o “Love”, facilitando l’accesso rapido ai titoli preferiti.
Sul fronte tecnico, è stata migliorata l’accuratezza del timing della CPU, in particolare per i cicli “presi in prestito” e per quelli legati al funzionamento del floppy disk. Questo si traduce in una compatibilità più elevata e in un numero maggiore di giochi che ora girano correttamente.
Un lavoro consistente ha interessato anche il sistema di configurazione, che è stato ampiamente riorganizzato. Con questa versione tutte le opzioni di configurazione vengono reimpostate, permettendo di partire da una base più pulita e coerente con le nuove logiche interne dell’emulatore.
Sono stati introdotti nuovi aggiustamenti ai timer delle CIA, utili per rifinire il comportamento di giochi specifici come Flying Shark e Mr. Heli, e ai timer del floppy, grazie ai quali titoli problematici come Dragon Wars risultano finalmente eseguibili.
L’update porta inoltre miglioramenti concreti alla compatibilità di titoli storici. Turrican I, ad esempio, ora funziona correttamente, con un piccolo accorgimento richiesto all’utente per superare la schermata iniziale tramite il tasto SELECT della console.
Completano il pacchetto alcune rifiniture grafiche all’icona del disco durante le operazioni di lettura e scrittura, insieme a un’ulteriore ottimizzazione che consente di guadagnare circa un frame di prestazioni, un risultato tutt’altro che banale su hardware così datato.
File BIOS
Per poter eseguire correttamente questo emulatore, è necessario disporre dei file BIOS originali del Commodore. Questi file dovranno essere inseriti nelle cartelle /roms/bios oppure /roms/c64 e rinominati esattamente come segue:
KERNAL.ROM8K con CRC32=dbe3e7c7(901227-03)BASIC.ROM8K con CRC32=f833d117(901226-01)CHAR.ROM4K con CRC32=ec4272ee(901225-01)1541.ROM16K con CRC32=899fa3c5(251968-03)
Controlli
+
– Ridimensiona lo schermo nelle direzioni X e Y.
+
– Sposta lo schermo nelle direzioni X e Y.
– Invia il celebre comando LOAD "*",8,1(assicurarsi che l’emulatore si trovi al prompt READY).
– Cambia tra porta 1 e porta 2 del joystick.
– Direzioni del joystick.
è normalmente associato al FUOCO ma può essere rimappato nelle impostazioni.
è normalmente associato allo SPAZIO ma può essere rimappato.
è normalmente associato al tasto INVIO ma può essere rimappato.
è normalmente associato a “Joy Up” per facilitare i salti nei giochi, ma può anch’esso essere rimappato.
Utilizzo dell’emulatore
Per utilizzare GimliDS, è sufficiente avviare il file GimliDS.NDS sulla console Nintendo DS, DSi, XL o LL. Si noti che, se l’emulatore viene eseguito da una flashcard R4 (o simile), verrà attivata la modalità di compatibilità, che limita la CPU a 67 MHz.
In questo caso, GimliDS sarà comunque funzionante, ma sarà necessario un leggero frameskip per garantire una velocità di gioco accettabile.
Al contrario, se l’emulatore viene avviato da scheda SD su DSi/XL/LL tramite Twilight Menu++ o Unlaunch, la CPU lavorerà a 134 MHz, permettendo di giocare senza frameskip e con un audio notevolmente migliorato.
All’avvio dell’emulatore (purché i file BIOS siano nella posizione corretta), verrà mostrata l’interfaccia del CBM BASIC con il celebre prompt READY.
Da qui, si può utilizzare l’icona del disco per caricare un gioco in formato .d64. Una volta montata l’immagine, si torna alla schermata principale dell’emulazione (uscendo dal menu) e si preme il tasto
per digitare automaticamente il comando: LOAD "*",8,1 e avviare il gioco con RUN.
Il tasto C= (in basso a destra) consente di configurare il gioco, salvare o caricare stati di gioco e altro.
Importante familiarizzare anche con il tasto
, che permette di scambiare le porte del joystick. Questa funzione sarà usata frequentemente, poiché molti giochi utilizzano porte diverse (e a volte anche i loader o i cracker le cambiano).
Dato che la risoluzione dello schermo del DS (256×192) non corrisponde a quella del Commodore 64 (320×200 più bordi), sarà necessario utilizzare i tasti
e
insieme a
per regolare scala e posizione dell’immagine. Una volta trovata la configurazione ideale, sarà salvata automaticamente per quel gioco.
Si consiglia inoltre di rimappare un tasto del DS su “PAN UP” o “PAN DOWN”, per spostare temporaneamente lo schermo di 16 pixel e visualizzare elementi come punteggi o indicatori, senza sacrificare la risoluzione durante il gioco.
Disponibile anche una funzione di zoom temporaneo 1:1: assegnando un tasto alla voce “TOGGLE ZOOM” nelle impostazioni, sarà possibile attivare/disattivare lo zoom per facilitare la lettura dei testi.
In modalità zoom, parte dello schermo potrà risultare tagliata, ma è possibile spostarsi lateralmente con i tasti
e
. Premendo nuovamente il tasto assegnato, si tornerà alla visualizzazione precedente.
Infine, alcuni giochi utilizzano loader personalizzati che richiedono l’attivazione della modalità True Drive. Attenzione: in questa modalità il caricamento dei dischi avviene alla velocità reale del Commodore 1541, ovvero molto lentamente (anche 2-5 minuti).
Se il gioco la richiede, è l’unico modo per farlo funzionare. Si consiglia di creare uno stato di salvataggio una volta caricato il gioco, per evitare attese future.
Supporto per Cartucce
Pur essendo un emulatore orientato principalmente ai giochi su disco, GimliDS supporta anche le cartucce più comuni, fino a una dimensione massima di 1MB. I tipi di cartucce compatibili includono:
- Standard 8K
- Standard 16K
- Super Game Carts fino a 64K
- Dinamic fino a 128K
- C64 Games System fino a 512K
- Ocean fino a 512K
- Magic Desk fino a 1MB
- Easy Flash fino a 1MB, con 256 byte di RAM
Questo garantisce la compatibilità con un’ampia varietà di giochi su cartuccia. Si consiglia di esplorare l’archivio OneLoad64, che raccoglie molte di queste versioni in formato pronto all’uso.
fedeltà dell’emulazione
L’emulatore non è perfetto. GimliDS utilizza una tecnica chiamata emulazione per linea, che consiste nell’eseguire una linea alla volta di CPU, grafica VIC, audio SID, e così via. Nel formato PAL, ci sono 312 scanline, di cui poco più di 200 sono effettivamente visibili sullo schermo.
Questo approccio è piuttosto comune tra molti emulatori (inclusi quelli dello stesso autore), ma non garantisce un’accuratezza assoluta, in quanto alcuni effetti del C64 dipendono da modifiche che avvengono all’interno di una singola scanline.
Molti giochi non sfruttano questi effetti avanzati, e di conseguenza funzionano quasi perfettamente su GimliDS.
Tuttavia, alcuni giochi fanno un uso parziale o esteso di questi “trucchi” temporali, il che può causare piccoli glitch grafici (come sfarfallii o righe instabili in alto o in basso allo schermo), problemi visivi più gravi o audio/musica compromessi.
In attesa di miglioramenti futuri dell’emulatore (senza però arrivare a una ciclo-accuratezza totale, che comprometterebbe la velocità) si possono sfruttare alcune soluzioni, tra cui l’opzione “CPU Adjustment” nelle impostazioni, configurabile per singolo gioco.
Particolarmente utile è l’impostazione CPU CYCLES adjustment, che permette di variare il numero di cicli CPU disponibili per ogni scanline, da -9 a +9, con il valore predefinito su 0 (nessuna modifica).
Questo aiuta a riequilibrare il sincronismo tra CPU, VIC e SID, che possono andare leggermente fuori fase man mano che il raggio di scansione percorre lo schermo.
Va usata con cautela: un valore troppo alto o troppo basso può causare instabilità o crash del gioco.
In pratica, se un gioco non mostra glitch grafici, non è necessario intervenire. Ma, ad esempio, nel caso di Gauntlet, dove la “G” del secondo giocatore in basso a sinistra lampeggia, si può ridurre il problema impostando CPU CYCLES a +2 o +3.
Con +5 il difetto scompare del tutto e l’immagine risulta stabile. La regola è: modificare solo quanto basta per eliminare l’anomalia, senza esagerare.
In generale:
- Se il problema grafico è in alto nello schermo, provare con valori negativi.
- Se il problema è in basso, provare con valori positivi.
Modifiche specifiche per alcuni giochi
Per ottenere le migliori prestazioni possibili di alcuni giochi popolari sul buon vecchio Nintendo DS, si consiglia di applicare i seguenti accorgimenti:
- Gauntlet – impostare CPU CYCLES a +5 per eliminare i glitch grafici sulla lettera “G”.
- Bruce Lee – impostare CPU CYCLES a +4 per ridurre i difetti grafici legati alle scanline.
- Turrican I – impostare BAD CYCLES a -6. Ci saranno alcune corruzioni grafiche nella schermata del titolo, ma il gioco si presenterà e funzionerà correttamente (e soprattutto sarà possibile avviarlo!).
- Turrican II – richiede True Drive attivato (oppure va caricato da cartuccia).
- Lode Runner – richiede True Drive attivato (oppure va caricato da cartuccia).
- LED Storm – impostare CPU CYCLES a +4 per eliminare un difetto grafico nella parte alta dello schermo.
Changelog
- Regolazione della CPU riportata a +0 (il +3 era troppo aggressivo per alcuni giochi, come il nuovo Sherwood!)
- Implementato un nuovo sistema di Preferiti: premere SELECT nella schermata di selezione del gioco per alternare LIKE/LOVE
- Migliorata la precisione del timing della CPU per i “cicli presi in prestito”, i cicli del floppy, ecc. Più giochi ora funzionano correttamente
- Ristrutturazione completa delle opzioni di configurazione: tutte le impostazioni sono state resettate con questa versione
- Nuovo aggiustamento del timer CIA per piccoli interventi richiesti da alcuni giochi (es. Flying Shark, Mr. Heli)
- Nuovo aggiustamento del timer FLOPPY per piccoli interventi richiesti da alcuni giochi (es. Dragon Wars ora funziona)
- Turrican I ora funziona: premere e tenere premuto il tasto SELECT del DS per 1-2 secondi per superare la schermata iniziale
- Piccole modifiche grafiche all’icona del disco durante lettura/scrittura
- Leggera ottimizzazione per guadagnare un frame di prestazioni
Download: GimliDS v1.5e
Download: blank.d64
Download: Source code GimliDS v1.5e






![[Scena PS Classic] Rilasciato AutoBleem v0.8.0](https://www.biteyourconsole.net/wp-content/uploads/AutoBleem-1.jpg)

