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.
Questa nuova versione aggiunge il supporto per le unità triple 360K (DSK1, DSK2 e DSK3) mentre ora il memory banking SAMS viene gestito correttamente, Realms of Antiquity ora funziona su cionsole DSi o superiore (poiché ha la memoria aggiuntiva necessaria).
Tuttavia è presente un piccolo bug che non permette di scambiare i dischi se ci si dimentica di montarli prima (funziona bene se si montano i dischi prima di iniziare una partita, ma pare che non sia possibile accedervi dopo).
Infine, la memoria SAMS ora risulta persistente con lo stato di salvataggio e caricamento. Questo è stato fatto attraverso una codifica Run-Length in modo che non si debba sempre salvare l’intero 1 MB di memoria.
Infatti, se il gioco non utilizza la memoria, l’intero 1 MB si ridurrà ad appena 8 byte di salvataggio/caricamento. Ciò ha portato anche ad una modifica degli stati di salvataggio, questo significa che i vecchi file .SAV
non funzioneranno con la versione 0.9 o successive.
Anche la configurazione è stata ripristinata in attesa della versione 1.0. Per Realms of Antiquity, attualmente viene utilizzato ESDX mappato sul D-Pad per un più facile spostamento…
- =ENTER.
- =SPAZIO.
- =’Y’ (per YES).
- =’N’ (per NO).
- =’C’ast.
- =’I’nventario.
[stextbox id=’info’]Nota: I tasti meno utilizzati vengono gestiti solo tramite la tastiera virtuale.[/stextbox]
Per impostazione predefinita, ogni gioco viene configurato per essere eseguito su un sistema espanso a 32K. Il supporto SAMS deve essere abilitato in base al gioco (è possibile impostare anche l’abilitazione del supporto SAMS a livello globale).
[stextbox id=’alert’]Attenzione: La gestione SAMS richiede un core di emulazione più accurato e rallenterà l’emulazione di quasi il 20%. In genere va bene per DSi e versioni successive, ma la mia raccomandazione è di utilizzare il sistema espanso predefinito a 32K praticamente per tutti i giochi e abilitare il supporto SAMS solo per le poche cose che ne hanno bisogno.[/stextbox]
[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 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.
Changelog v0.9
- Aggiunto il supporto DSK3. Tutte e tre le unità supportano fino a 360.000 dischi.
- Migliorata l’emulazione sulla memoria SAMS in modo tale che Realms of Antiquity verrà eseguito.
- Mantieni la memoria SAMS su Salva stato/Carica utilizzando la compressione RLE.
- Altre pulizie nel tempo consentito.
Changelog v0.8
- Aggiunto il supporto DSK2 ed entrambe le unità ora gestiscono fino a 360.000 dischi.
- Migliorata la mappatura dei tasti predefinita in modo che X=’1′ e Y=’2′ consentano un avvio più rapido del gioco.
- File
.bin
invertiti ora supportati con nomi di file che terminano con “3” o “9”. - Aggiunta la possibilità di incollare in
DSKx.FILENAME
dal menu Disc. - Altre pulizie nel tempo consentito.
Changelog v0.7
- Nuovo layout della tastiera TI99: Seleziona in Opzioni globali o in base al gioco.
- Migliore gestione DSK rispetto alle ROM: Ricorda l’ultima directory per ciascuno.
- SAMS 1 MB abilitato per DSi e versioni successive.
- Corretto lo stato di salvataggio/caricamento per i carrelli Mini-Men, SuperCart e MBX (solo il salvataggio/caricamento SAMS non è funzionante al momento).
- Altre pulizie nel tempo consentito.
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.9
Download: Source code DS99/4a v0.9
Fonte: forums.atariage.com