Pubblicato un nuovo 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.
Ci sono volute più di 48 ore per eseguire una completa riscrittura del core della CPU, ora giochi come Tunnels of Doom che girava a 50 fps ora arriva e supera anche i 100 fps (senza limitazioni).
[stextbox id=’info’]Nota: L’emulatore per funzionare richiede le ROM del BIOS TI nella directory /roms/bios
.[/stextbox]
Caratteristiche
- Il carrello carica fino a 512K Banked (+40K di GROM unbanked).
- Espansione RAM 32K.
- Espansione memoria SAMS 512K.
- Salva e carica salvataggi di stato.
- Salvataggio dei punteggi elevati fino a 10 punteggi per partita.
- Mull mapping di uno qualsiasi dei 12 tasti DS a qualsiasi combinazione di joystick/tastiera TI.
- Supporto del disco utilizzando il controller del disco TI standard (è necessario
994adisk.bin
– vedere i file del BIOS di seguito) - Nessun sintetizzatore vocale ancora.
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.
Changelog v0.6
- Riscrittura del core della CPU, è più piccolo del 20% e più veloce del 20%.
- Aggiunta la possibilità di elencare il contenuto del disco in modo da poter vedere quali programmi ci sono.
- Aggiunto il write-back dei file
.DSK
. Quando cambiano, il file viene scritto in background. - Aggiunto il supporto per la memoria espansa SAMS 512K – deve essere abilitato in OPTIONS in base al gioco.
- Aggiunti nuovi tipi di cartucce per supportare i carrelli SuperCart 8K, MiniMemory 4K e Milton Bradley MBX (con e senza RAM speciale da 1K).
- Nuova schermata iniziale… nuova icona del logo… un nuovo inizio!
Changelog v0.5
- Salvataggio semplificato e caricamento dello stato di salvataggio, quindi sono solo 2 blocchi di scheda SD (64K). I vecchi salvataggi non funzioneranno con la versione 0.5, quindi finisci i tuoi giochi prima di aggiornare.
- Corretto il problema con il banking in modo che
Skyway8.bin
(e probabilmente altri) si caricasse correttamente. - CPU migliorata e ripristino della memoria in modo che i giochi siano meno difettosi all’avvio dopo aver appena giocato a un altro gioco.
- Un altro frame di prestazioni spremuto dal core della CPU.
Changelog v0.4
- Aggiunto il supporto
.DSK
per dischi da 90K e 180K (lettura e scrittura funzionano entrambi, ma la scrittura non persiste ancora sulla scheda SD). Utilizzare l’icona della cassetta nella parte inferiore sinistra della tastiera per montare i dischi. - Aggiunto il supporto High Score per 10 punteggi per partita. Utilizzare il nuovo pulsante ‘HI’ sulla tastiera principale.
- Corretto il problema con il caricamento di giochi “bancati” 8K (Tuthankam, Mancala, ecc..).
- Corretto il problema con il rendering del bordo destro per i giochi “TEXT MODE” (Adventure, Zork, ecc..).
- Aggiunta una nuova opzione per eseguire il mirroring della RAM della console. Questo è più accurato ma rallenta l’emulazione. Congo Bongo ha bisogno di questo per rendere correttamente il livello 2+.
- I giochi che erano sospesi alla ricerca del modulo di sintesi vocale non si bloccano più (nessuna voce ancora ma puoi riprodurli).
- La tastiera ora è più robusta: le pressioni vengono sempre “cliccate” correttamente ed è meno glitch. La ripetizione dei tasti ora funziona.
- Altre pulizie minori come tempo consentito.
Changelog v0.3
- Velocità migliorata dell’8% su tutta la linea.
- Corretto il problema con l’interruzione dello spirito nella parte superiore dello schermo,
- Corretto il problema con X nella mappatura dei controlli in modo che alternasse P1 vs P2.
- Aggiunto il supporto PAL (insieme a NTSC predefinito).
- Nuova schermata iniziale e logo.
- Altre pulizie minori come tempo consentito.
Changelog v0.2
- Supporto Bankswitch aumentato a 512k.
- Corretta l’istruzione IDLE in modo che giochi come Slymoids funzionino.
- Velocità migliorata del 10-15% su tutta la linea…
- Altre pulizie minori come tempo consentito.
Download: DS99/4a v0.6
Download: Source code DS99/4a v0.6
Fonte: forums.atariage.com