Pubblicato un rapido aggiornamento per DS99/4a, l’emulatore dell’home computer TI99/4a sviluppato dal developer wavemotion-dave per console portatile DS e DSi.
Per poter essere eseguito l’emulatore necessita di un DS con flashcard R4 o (altamente raccomandato) un DSi o (ancora più altamente raccomandato) DSi XL/LL con qualcosa come Twilight Menu o Unlaunch.
Questo nuovo aggiornamento include miglioramenti al core della CPU TMS9900 per aumentare l’accuratezza e ottimizzazioni per migliorare le prestazioni di un frame.
Aggiunta inoltre una nuova configurazione predefinita globale per il frame skip, con disabilitazione predefinita su DSi e abilitazione su DS Lite/Phat.
Migliorato anche il trattamento del menu disco per mostrare lo spazio libero e occupato, oltre ad alcune istruzioni sul funzionamento del buffer di incolla. Infine sono stati apportati numerosi interventi di pulizia e commenti al codice.
Caratteristiche
- Il carrello carica fino a 512K Banked (+40K di GROM unbanked).
- Espansione RAM 32K.
- Espansione memoria SAMS 512K per DS e 1 MB per DSi (e superiore).
- Salva e carica salvataggi di stato.
- Salvataggio dei punteggi elevati fino a 10 punteggi per partita.
- Mappatura completa di uno qualsiasi dei 12 tasti DS a qualsiasi combinazione di joystick/tastiera TI.
- Supporto disco per DSK1 e DSK2 fino a 360K ciascuno utilizzando il controller disco TI standard (è necessario
994adisk.bin
– vedere i file del BIOS sotto). - Nessun sintetizzatore vocale ancora (ma i giochi che richiedono il sintetizzatore vocale verranno eseguiti/riprodotti comunque – solo che non verrà riprodotta nessuna voce).
Questo programma è composto da una serie di bit e pezzi di codice costitutivi provenienti da altri emulatori insieme a un sacco di codice originale per incollare tutto insieme ed eseguirlo sul DS.
- Il core sonoro SN76496 è di FluBBa e viene utilizzato con autorizzazione.
- Il codice TI9918A proviene da Marat Fayzullin (ColEM) e conserva la dichiarazione di copyright originale di Marat. Non usare nessuno di quei codici senza provare a contattare Marat.
- Il core della CPU TI9900 è principalmente mio con alcuni pezzi significativi di impalcatura dall’emulatore Classic99 di Mike Brent, specialmente nella gestione dei bit di stato e in alcuni degli algoritmi di codice operativo più complicati in modo che funzionino correttamente. Questo è usato con il permesso e con grandi ringraziamenti!
- Per il resto del codice, fintanto che non vi è alcun uso commerciale (ovvero non viene realizzato alcun profitto), la copia e la distribuzione di questo emulatore, del suo codice sorgente e dei file readme associati, con o senza modifiche, sono consentite su qualsiasi supporto senza diritti d’autore a condizione che venga utilizzato questo avviso di copyright e che wavemotion-dave sia ampiamente ringraziato.
- L’emulatore DS99 viene offerto così com’è, senza alcuna garanzia.
Installazione
- Saranno necessari i due file del BIOS della console come descritto di seguito. Posizionare entrambi i file BIOS
.bin
in/roms/bios
(puoi semplicemente creare la directory sulla scheda SD). - Avrai anche bisogno dell’emulatore stesso. Puoi ottenerlo dalla pagina GitHub: l’unico file di cui hai bisogno qui è
DS994a.nds
(il file.nds
è un file eseguibile Nintendo). Puoi metterlo ovunque: la maggior parte delle persone inserisce il file.nds
all’interno della stessa scheda SD. - Se vuoi giocare a giochi basati su disco (Adventure, Tunnels of Doom, ecc..) avrai bisogno del bios
994adisk.bin
(spesso chiamato semplicementedisk.bin
ma devi rinominarlo e metterlo in/roms/bios
). - Avrai bisogno di giochi per giocare … in questo momento l’emulatore supporta file C/D/G e file ‘8’ non invertiti. Praticamente basta provare a caricare un file per vedere se funziona… le ROM dovrebbero avere estensione
.bin
. - Ti consiglio di inserire i tuoi giochi in
/roms/ti99
poiché l’emulatore utilizzerà per impostazione predefinita quella directory. È lì che li tengono i ragazzi fighi. - Ti consiglio di mettere tutti i dischi necessari (file
.dsk
) nella stessa directory delle tue ROM finché non riesco a ottenere un file manager migliore.
Problemi noti
- Il 512K
megademo8.bin
giocherà (ed è davvero fantastico!) Ma fallisce quando arriva alla roba della scanline verso la fine. - Borzork ha uno stridio audio durante il gioco.
- Lo stato di salvataggio e caricamento non funziona ancora con la memoria espansa SAMS né con le speciali SuperCart o MiniMem. Prossimamente.
- Congo Bongo richiede che i mirror RAM siano abilitati in modo che non si verifichino problemi al livello 2. Utilizzare Options per abilitare.
File del BIOS
Di seguito gli hash CRC32 del file BIOS che sto utilizzando con tutti i miei test: cercali se desideri la massima compatibilità:
* db8f33e5 994aROM.bin (8K)
* af5c2449 994aGROM.bin (24K)
* 8f7df93f 994aDISK.bin (8K) - questo è necessario solo se si desidera il supporto .DSK
Blend Mode (DSi)
L’emulatore ColecoDS supporta una “modalità blend” preso in prestito dal mio schema su StellaDS.
In questa modalità, due fotogrammi vengono fusi insieme: questo è davvero utile quando si gioca a giochi come Space Fury o Galaxian in cui i proiettili sullo schermo sono larghi solo 1 pixel e il display LCD del DSi non trattiene i pixel abbastanza a lungo da essere visibili.
Questi giochi sono stati progettati per funzionare su un vecchio televisore a tubo con fosforo che decade lentamente in modo che l’occhio veda lievi tracce man mano che l’immagine svanisce.
Questo emula quello (grossolanamente), sul DSi l’utilizzo di questa nuova modalità rende quei giochi davvero luminosi e visibili.
Il DSi XL/LL ha un aggiornamento più lento sull’LCD e si avvicina di più ai vecchi televisori a tubo catodico… quindi la modalità di fusione non è necessaria per i modelli XL/LL.
Tuttavia l’utilizzo della modalità di fusione ha un costo della CPU del 15%!! Il DSi è in grado di gestirlo… il DS-LITE/PHAT potrebbe faticare un po’ con giochi più complicati.
Quindi la mia raccomandazione è la seguente:
- DSi non XL/LL: Utilizza la modalità Blend per i giochi che ne traggono vantaggio (ad esempio TI Invaders).
- DSi XL/LL – Non preoccuparti… il decadimento dello schermo XL/LL è più lento e i giochi sembrano fantastici così come sono.
- DS-LITE/PHAT: Puoi provarlo ma il framerate potrebbe scendere sotto i 60 FPS su alcuni giochi.
Per abilitare questa nuova modalità Blend, scegliere il gioco da caricare e andare nel sottomenu “Game Options” per attivarlo.
Tipi di file supportati
DS994a supporta i seguenti tipi di file:
- I file il cui nome base termina in C/D/G, noti anche come ‘mixed mode’. Se è presente un file ‘D’, deve essere esattamente di 8K. C è il binario principale e G è il binario GROM. Se viene rilevato un file C/D/G, verrà mostrato solo il C (o il G se è solo GROM) nell’elenco dei file.
- I file il cui nome base termina in 3 o 9 sono considerati file “inverted” e le banche verranno scambiate di conseguenza.
- Tutti gli altri file sono considerati file ‘8’, con banking non invertito fino a 2048K (2MB) per il DSi e fino a 512K per l’hardware DS più vecchio.
- C’è un limite di 512 file ROM per directory e 256 immagini DSK per directory. È possibile avere quante directory si desidera.
- I nomi dei file sono limitati a 128 caratteri. Accorciare i nomi dei file ROM se si incontra questo limite.
- Se si desidera associare un file
.dsk
con la propria cartuccia (ad esempio, Adventure o Tunnels of Doom, ecc..), è possibile denominare i file.dsk
con lo stesso nome base della cartuccia e sostituire C/D/G/8 con 1, 2 o 3.
Ad esempio, per Tunnels of Doom si potrebbe avere:
TunnelsOfDoom_g.bin
– La cartuccia Tunnels of Doom GROMTunnelsOfDoom_1.dsk
– Il disco Tunnels of Doom montato come DSK1
Quando si carica Tunnels of Doom, verrà automaticamente montato TunnelsOfDoom_1.dsk
.
Per qualcosa come Realms of Antiquity si possono avere:
roa_8.bin
– La cartuccia da 128Kroa_1.dsk
– Il primo disco da montare come DSK1roa_2.dsk
– Il secondo disco da montare come DSK2roa_3.dsk
– Il terzo disco da montare come DSK3
L’utilizzo degli underscore è solo una preferenza personale, poiché rende i nomi dei file più puliti e chiari. Non è richiesto dall’emulatore DS99/4a.
Changelog
- Miglioramenti al core della CPU TMS9900 per aumentare l’accuratezza e leggere ottimizzazioni per un ulteriore frame di prestazioni.
- Aggiunta di una nuova configurazione predefinita globale per il frame skip (su DSi, per impostazione predefinita verrà disabilitato il frame skip e su DS Lite/Phat verrà abilitato un leggero frame skip).
- Miglioramento della gestione del menu disco per mostrare lo spazio libero e utilizzato, oltre ad alcune istruzioni su come funziona il buffer paste.
- Pulizia e aggiunta di numerosi commenti al codice in tutta la scheda.
Si preannuncia un prossimo importante aggiornamento, la versione 2.0, con una nuova schermata di avvio, e si sta lavorando per rendere funzionanti i file RPK utilizzati in MAME per TI-99, al fine di consentire il lancio dei giochi tramite TWL++.
Download: DS99/4a v1.9
Download: Source code DS99/4a v1.9
Fonte: gbatemp.net