Il developer wavemotion-dave ha aggiornato SpeccySE (precedentemente SpeccyDS), l’emulatore del leggendario computer a 8 bit ZX Spectrum per console Nintendo DS e DSi.
Questa nuova versione introduce un sistema di double buffering video specifico per le console DSi, XL e LL, una modifica pensata per ridurre visibilmente l’effetto di tearing durante l’emulazione, rendendo l’esperienza visiva più stabile e fluida.
Un altro cambiamento interessante riguarda la gestione del joystick: la modalità precedentemente chiamata “Chuckie Egg-Style” è stata ribattezzata in “Slide-n-Glide”, un nome più evocativo che riflette meglio la natura del controllo fluido e reattivo.
Infine, sono stati apportati alcuni piccoli interventi di pulizia del codice, migliorando la manutenzione generale del progetto e preparandolo per futuri aggiornamenti.
Anche se minori, questi ritocchi dimostrano l’attenzione costante dello sviluppatore nel perfezionare ogni aspetto dell’emulatore.
BIOS ROM dello ZX Spectrum
L’emulatore non include BIOS ROM proprietarie, ma sono indispensabili per far partire qualsiasi cosa. Serviranno due ROM dello ZX Spectrum, che dovranno essere nominate esattamente in questo modo e posizionate nella stessa cartella dell’emulatore oppure in /ROMS/BIOS
:
48.ROM
con CRC32:ddee531f
128.ROM
con CRC32:2cbe8995
L’uso di altre ROM dello ZX Spectrum non standard può facilmente portare a problemi e malfunzionamenti.
Tastiera ZX
L’emulatore include una tastiera virtuale a schermo che funziona abbastanza bene, tenendo conto però che lo schermo touch della console non è multitouch (come quello di uno smartphone). Questo significa che è possibile premere solo un tasto alla volta.
Per far funzionare correttamente i tasti SYMBOL e SHIFT, quando si preme uno di questi, apparirà un piccolo indicatore bianco o giallo nella parte superiore dello schermo.
Questo indica che il pulsante SHIFT o SYMBOL è stato attivato e che il sistema aspetta il tasto successivo da combinare. Ad esempio, per scrivere il carattere "
(virgolette), bisogna prima premere e rilasciare SYMBOL, e poi premere la lettera P.
Utilizzo
L’interfaccia dell’emulatore è abbastanza semplice. Dal menu principale è possibile scegliere il gioco da avviare (in formato .TAP
, .TZX
o .Z80
).
Una volta selezionato, il titolo del gioco apparirà in basso insieme alla dimensione e al CRC (dato non essenziale, ma utile per chi ama i dettagli).
Si può iniziare a giocare subito oppure modificare le impostazioni specifiche per il gioco, come la definizione dei tasti o altre opzioni. Ogni gioco può avere una propria configurazione salvata, in modo che ciascuno mantenga i propri tasti personalizzati e le sue impostazioni.
Durante la partita, ci sono due pulsanti per accedere a menu aggiuntivi. L’icona a forma di cassetta apre le opzioni relative al lettore a nastro.
Di solito, il nastro parte e si ferma automaticamente, ma a volte è necessario intervenire manualmente. Da qui è possibile cambiare anche lato del nastro o inserire un secondo nastro (Side B o Tape 2).
L’altro menu è il “Mini Menu”, che consente di uscire dal gioco in corso, salvare o caricare uno stato di gioco e registrare punteggi alti.
Assegnazione dei tasti
Ogni gioco può avere una configurazione di tasti personalizzata assegnata ai 12 pulsanti della console DS/DSi (inclusi START, SELECT e i tasti L/R). Di default, il DPad e il tasto A sono mappati secondo lo standard Kempston.
Supporto Joystick
L’emulatore supporta i joystick Kempston e Sinclair (67890), ma in realtà qualsiasi tasto della tastiera può essere assegnato a uno dei 12 pulsanti del Nintendo DS, offrendo così un’ampia libertà nella configurazione dei controlli.
Attraverso il menu “REDEFINE KEYS”, l’utente può premere il tasto della console per scorrere tra diverse configurazioni preimpostate comunemente utilizzate nei giochi ZX Spectrum, come QAOP o ZXM.
Per impostazione predefinita, il sistema è configurato per utilizzare il joystick Kempston.
L’emulatore include anche un’impostazione specifica per il D-PAD denominata CHUCKIE, ideata per migliorare la precisione nei giochi in cui l’uso del joystick risulta poco efficace.
In titoli come Chuckie Egg, noti per richiedere movimenti estremamente precisi, passare da una direzione orizzontale a una verticale (ad esempio per salire su una scala) può essere frustrante con un joystick tradizionale.
La modalità CHUCKIE interviene mantenendo attiva la direzione precedente per una frazione di secondo durante la transizione, rendendo i movimenti più fluidi e naturali.
Sebbene pensata principalmente per Chuckie Egg, questa modalità può risultare utile anche in altri giochi con controlli simili.
Supporto per Cassette
L’emulatore supporta i file snapshot .Z80
, ma è molto più utile il supporto ai formati a nastro .TAP
e .TZX
. Il formato .TAP
è pienamente compatibile, mentre .TZX
è supportato in modo soddisfacente, con l’eccezione di alcuni blocchi complessi (che comunque sono usati raramente nei software più comuni).
Come accade frequentemente con i software distribuiti su nastro, alcuni file nei formati .TAP
o .TZX
possono risultare corrotti o non funzionanti.
In questi casi, è consigliabile cercare una versione alternativa dello stesso gioco o programma, che con buona probabilità si caricherà e funzionerà correttamente sull’emulatore.
Per quanto riguarda il caricamento, lo sviluppatore ha scelto di non rimuovere le classiche schermate di loading, preferendo invece accelerarne sensibilmente la velocità.
La maggior parte dei giochi ora viene caricata a una velocità compresa tra 10 e 15 volte superiore rispetto a quella originale: un titolo da 48K si avvia in meno di 15 secondi, mentre un gioco completo da 128K richiede circa mezz’ora di minuto.
Le schermate di caricamento, parte integrante del fascino dello ZX Spectrum, sono quindi ancora presenti e godibili in una forma più snella.
L’utente può premere l’icona della cassetta per cambiare nastro o impostare manualmente la posizione della traccia.
In genere, il gioco rileva automaticamente le informazioni necessarie e i sistemi di riproduzione e arresto automatico delle cassette funzionano in modo piuttosto efficace. È comunque possibile intervenire manualmente quando richiesto.
Supporto ROM
L’emulatore permette di caricare file .ROM
direttamente nella stessa area di memoria della BIOS (da +0000 a +4000), fino a un massimo di 16K. Questa funzione è pensata principalmente per caricare programmi diagnostici come lo straordinario RETROLEUM DIAGROM.
Supporto ZX81
Il programma supporta l’emulatore ZX81 di Paul Farrow progettato per le macchine ZX Spectrum 128k.
http://www.fruitcake.plus.com/Sinclair/Interface2/Cartridges/Interface2_RC_New_ZX81.htm
Per farlo funzionare, è necessario scaricare la ROM da 16K dell’Interface 2 per l’emulatore, scegliendo tra la Edition 2 o Edition 3 (non usare la Edition 1 né la versione con correzione di bug). Prendere questa ROM e concatenarlo con un file .p
di un gioco ZX81 che si intende giocare.
Per esempio, se si intende giocare a Mazogs per ZX81, procurarsi il file mazogs.p
e la ROM dell’emulatore ZX81 indicata sopra, quindi eseguire le seguenti operazioni:
- Su Linux:
cat S128_ZX81_ED2_ROM.bin mazogs.p > mazogs.z81
- Su Windows:
copy /b S128_ZX81_ED2_ROM.bin + mazogs.p mazogs.z81
Il risultato sarà un file .z81
di circa 25 KB contenente sia l’emulatore che il gioco. Questo file può essere caricato direttamente in SpeccySE, che inserirà automaticamente le sequenze di tasti necessarie per l’avvio dell’emulatore.
Il processo di caricamento richiede circa 10 secondi e, durante tale fase, non è consigliato interagire con i tasti virtuali fino al completo avvio del gioco.
Supporto POK
L’emulatore supporta i file .pok
per inserire trucchi o modifiche in memoria. Il file .pok
deve avere lo stesso nome base del gioco e va inserito in una sottocartella chiamata pok
all’interno della directory dei giochi.
Ad esempio, se si ha una cartella roms
, creare al suo interno una cartella pok
e caricare lì il file .pok
. Se è nominato correttamente, nel menu “POKE MEMORY” comparirà un elenco dei trucchi disponibili.
Le modifiche alla memoria restano attive finché non si riavvia o si ricarica il gioco. Non esiste un modo per annullare una modifica a parte ricaricare.
Se si sta utilizzando un nastro (.TAP
o .TZX
), è meglio aspettare che il gioco sia caricato prima di applicare il poke. Utilizzare a proprio rischio (non può danneggiare nulla, ma potreste ottenere risultati strani se applicato nel momento sbagliato).
Changelog
- Buffer video doppio su DSi/XL/LL per ridurre il tearing.
- Rinominata la gestione del joystick “Chuckie Egg-Style” in “Slide-n-Glide”.
- Piccole pulizie del codice ove possibile.
Download: SpeccySE v1.1
Download: Source code SpeccySE v1.1
Fonte: gbatemp.net