Pubblicato un nuovo aggiornamento per ColecoDS Phoenix-Edition, l’emulatore della ColecoVision e frontend per diversi sistemi basati sul microprocessore Zilog Z80.
L’emulazione delle ROM ColecoVision può essere eseguita posizionando il bios coleco.rom
nella stessa directory del programma oppure in /roms/bios
o /data/bios
.
Il programma supporta anche l’emulazione MSX, dell’home computer Memotech MTX, dell’home computer Spectravideo SV-328, il modulo Super Game Module (SGM), la periferica di espansione Coleco ADAM e i giochi MegaCart più grandi di 32K.
Per poter emulare i giochi dell’home computer Spectravideo SV-328, bisogna disporre del BIOS svi.rom
(da preferire il bios svi110.rom
o svi111.rom
, basta rinominare semplicemente il file in svi.rom
).
Questo nuovo aggiornamento stabile punta a migliorare ulteriormente l’emulazione delle diverse ROM (oltre 1000 secondo lo sviluppatore).
Caratteristiche
- Supporto per giochi Colecovision (file
.rom
o.col
). Richiede il BIOScoleco.rom
. - Supporto per Super Game Module (SGM) incluso il chip audio AY.
- Supporto per Megacart Bankswitching (fino a 512K).
- Supporto per giochi Coleco ADAM (file
.ddp
o.dsk
). Richiedeeos.rom
ewriter.rom
. - Supporto per giochi Sega SG-1000 (rom
.sg
). - Supporto per giochi Sega SC-3000 (rom
.sc
). - Supporto per giochi Sord M5 (rom
.m5
) – richiede BIOSsordm5.rom
. - Supporto per giochi MSX1 (
.msx
o.rom
o.cas
) fino a 512K. - Supporto Spectravideo SVI (
.cas
) – richiede BIOSsvi.rom
. - Supporto Casio PV-2000 (rom
.pv
) – richiede BIOSpv2000.rom
. - Supporto Hanimex Pencil II (rom
.pen
) – richiede il BIOSpencil2.rom
. - Supporto Tatung Einstein (solo file di runtime
.com
) – richiede il BIOSeinstein.rom
. - Supporto per giochi Memotech MTX (
.mtx
o.run
) – solo giochi a caricatore singolo. - Supporto per giochi Creativision (
.cv
) – richiede BIOSbioscv.rom
. - Mappatura completa dei pulsanti del controller e input touch-screen.
- Supporto High-Score: 10 punteggi per partita.
- Salva/carica lo stato del gioco (uno slot).
- Modalità Blend (vedi sotto) e sincronizzazione verticale.
- Cambia schermo LCD (premi e tieni premuti + + durante il gioco).
- Supporto overlay per i pochi giochi che ne hanno bisogno.
- Mappatura Super Action Controller, Spinner e Roller Controller (Trackball).
- Massima velocità, audio completo e frame-rate completo anche su hardware più vecchio.
Problemi noti
- I bordi non vengono visualizzati correttamente, solo pochi giochi li utilizzano e sono ancora completamente giocabili senza di essi.
- I giochi che utilizzano campioni vocali (Squish Em Sam, Wizard of Wor, ecc..) non riprodurranno il parlato a causa delle limitazioni dell’emulazione del suono.
- I carrelli PCB Activision da 64K non hanno supporto EEPROM (Black Onyx, Boxxle – entrambi riproducibili senza salvataggi).
- La versione originale del 2011 di StarForce andrà in crash, questo è un bug noto. C’è una versione patchata del gioco StarForce su Atariage.
- L’inviluppo MSX e l’emulazione del suono e del rumore Sord M5 CTC non sono perfettamente precisi (ma abbastanza vicini).
- Il chip audio MSX Konami SCC non è emulato (Gradius 2/3, Salamander, ecc.. non avranno musica).
Compatibilità ADAM
- L’ADAM emulato non è completamente privo di bug, ma generalmente eseguirà la maggior parte delle immagini nastro (
.ddp
) o delle immagini disco (.dsk
). - L’ADAM emulato è un sistema da 128K (64K di memoria interna e 64K di RAM espansa), sufficiente per quasi tutti i giochi.
- A volte durante il caricamento di un gioco ADAM il sistema non funziona… premi semplicemente RESET e probabilmente verrà caricato.
- Per impostazione predefinita, la RAM viene cancellata quando si ripristina ADAM. In Game Config puoi cambiarlo in “RANDOM” che potrebbe migliorare la capacità di caricare alcuni giochi.
- Puoi attivare l’intera tastiera ADAM con la Configurazione delle sovrapposizioni (scegliere “ADAM KEYBOARD”). Non sono tutte le chiavi di ADAM, ma dovrebbero essere sufficienti per giocare.
- Le immagini del nastro o del disco NON vengono riscritte automaticamente sulla scheda SD… devi premere la piccola icona della cassetta per farlo impegnare a leggere/scrivere).
- I file di stato di salvataggio e caricamento per i giochi ADAM sono generalmente piuttosto grandi, circa 320.000.
Compatibilità MSX
Considerando che si tratta di un emulatore Colecovision, il supporto e la compatibilità di MSX1 sono ragionevolmente elevati.
In Game Options è possibile notare come il Mapper MSX predefinito sia impostato su “GUESS”, il che fa un buon lavoro nel caricare la ROM, specialmente per giochi da 32K o più piccoli. Tuttavia, se un gioco non funziona, è possibile provare questi suggerimenti:
- Un piccolo numero di giochi non funziona con il C-BIOS open source. In questo caso avresti bisogno di un vero BIOS
msx.rom
. Puoi configurarlo in Game Options. - La maggior parte dei giochi da 64K utilizza il mappatore di memoria ASC16, quindi puoi provare quello… ma alcuni (ad esempio Mutants from the Deep) sono mappati in modo lineare da 0-64K e dovrai selezionare LINEAR64 in Game Options.
- Il rilevamento automatico sui mapper KONAMI8 e KONAMI-SCC è abbastanza buono… ma molti altri giochi che usano ASCII8 o ASCII16 non vengono rilevati bene: dovresti provare quei mapper se il gioco “più grande di 64K” non funziona.
- Alcuni dei giochi davvero grandi (128K o più grandi) funzionano lentamente: se non ottieni il frame rate completo, puoi provare a passare al core DrZ80 (non tutti i giochi funzioneranno con questo) e/o puoi disabilitare la sincronizzazione verticale e/o abilitare Frame Skip. Ti consigliamo di disattivare la sincronizzazione verticale almeno per ottenere la massima velocità dai giochi MSX di grandi dimensioni.
- Occasionalmente una ROM non verrà eseguita, ma potrebbe essere un dump alternativo. Ad esempio, la versione 384K di R-Type è un po’ un pasticcio da gestire per l’emulatore, ma qualcuno ha creato una versione 512K pulita che si carica e funziona alla grande.
- Con un po’ di diligenza nel provare diverse combinazioni di mappatura/BIOS, dovresti essere in grado di ottenere una percentuale di esecuzione del 97% sui giochi MSX1.
- I giochi MSX2 non sono supportati e non verranno eseguiti.
La memoria MSX è strutturata come segue:
SLOT0: MSX BIOS (first 32K)
SLOT1: Cartridge Slot
SLOT2: Empty (0xFF)
SLOT3: RAM (64K)
Compatibilità Memotech MTX
Il Memotech MTX funziona a 4MHz, che è più veloce del Colecovision (e MSX, M5, SG, ecc..). Questo è abbastanza ben emulato, anche se il suono non è perfetto a causa di alcune differenze di temporizzazione del chip CTC rispetto all’hardware reale.
Inoltre, solo l’80% circa dei giochi viene caricato ed eseguito correttamente: alcuni giochi utilizzano caricatori più complessi e non sono ben supportati dal ColecoDS.
A volte dovrai eseguire un dump alternativo [a1] o [a2] di un gioco per farlo funzionare correttamente. Dei due tipi (.mtx
e .run
), i file .RUN
generalmente sono supportati meglio: cerca quelli (l’eccellente emulatore MEMU MTX ha una buona selezione).
C’è il supporto per il progetto MTX MAGROM… questo è un multi-carrello. Puoi usare 1.05 o 1.05a del file binario MAGROM 512K… rinominalo semplicemente come .MTX
e caricalo avviando il gioco e premendo il pulsante per avviare il menu.
L’MTX emulato è un sistema MTX-512 di base con 64K di RAM… Ciò dovrebbe consentire l’esecuzione della maggior parte dei giochi.
Una volta che il gioco viene caricato in memoria, verrà visualizzato il prompt BASIC. A questo prompt è necessario digitare LOAD ""
(se .MTX
) o digitare RUN
(se .RUN
).
Basta premere il tasto DS per inserire automaticamente il comando corretto. In alternativa, troverai i comandi RUN
nel menu dell’icona della cassetta.
Compatibilità Spectravideo SVI
Questo emulatore supporterà i file .cas
per Spectravideo SV-328 (macchina 64K), è possibile utilizzare i pulsanti e per i comandi bload ed esecuzioni comuni.
Compatibilità Sega SC-3000
Questo emulatore supporta i file .sc
solo come ROM (non cassette) ma ColecoDS supporterà gli incredibili SC-3000 Survivors Multi-Cart e MEGA-Cart.
Preferisco decisamente il Multi-Cart in quanto è più piccolo e contiene la stessa selezione di giochi su nastro. Rinominare il file binario da 2 MB o 4 MB come .sc
per caricarlo in ColecoDS.
Compatibilità Casio PV-2000
Questo emulatore supporta i file .pv
solo come ROM (non cassette). Rinominare tutti i file .bin
che trovi come .pv
in modo che l’emulatore li carichi correttamente.
Compatibilità Hanimex Pencil II
C’è solo un gioco conosciuto scaricato in questo momento: Treasure Hunt. Fortunatamente è un gioco divertente! Sfortunatamente, è arrivato su 2 chip ROM. Quindi devi “incollare” le due ROM insieme.
Se riesci a trovare una “Software List” MAME in ritardo dal 2020 o successiva, troverai Treasure.zip
che contiene due file ROM: pen702a.bin
(8k) pen702b.bin
(4k) Devi incollarli insieme.
- In Windows utilizzare la riga di comando:
copy /b pen702a.bin + pen702b.bin TreasureHunt.pen
- In Linux utilizzare la riga di comando:
cat pen702a.bin pen702b.bin > TreasureHunt.pen
Questo dovrebbe lasciarti con una ROM da 12k chiamata TreasureHunt.pen
che ora è riproducibile sul sistema ColecoDS.
Compatibilità Tatung Einstein
Viene emulata la macchina base 64K. Al momento verranno riprodotti solo i file .COM
. Nelle interwebs, è possibile trovare principalmente solo file .dsk
e file .COM
che devono essere estratti da essi. Il modo più semplice è utilizzare uno dei seguenti programmi:
L’utility dsktool da: https://github.com/charlierobson/einsdein-vitamins oppure EDIP v1e che è possibile trovare nella cartella degli extra nella pagina github di ColecoDS.
Con uno di questi strumenti, dovreste essere in grado di estrarre più di 50 giochi .COM
attualmente funzionanti. Una futura versione dell’emulatore supporterà direttamente i file .DSK
, ma è complicato.
Controller
Se si preferisce è possibile mappare i pulsanti sui controller P1 o P2, è inoltre disponibile il supporto completo per Spinner X (P1) e Spinner Y (P2) o mappare entrambi per ottenere supporto per i giochi di trackball.
Funzionano anche per giochi come Turbo Steering, è possibile modificare la sensibilità dello spinner su una delle cinque diverse impostazioni (Normal, Fast, Fastest, Slow, Slowest).
Per l’emulazione MSX, la tastiera ColecoVision è mappata come segue:
1 2 3
4 5 STOP
M1 M2 M3
SPC 0 RET
Dovrebbe essere sufficiente per far funzionare la maggior parte dei giochi da carrelli MSX1… In Game Options è possibile sostituire anche il tasto “5” per essere mappato in qualsiasi altro tasto MSX.
Blend Mode (DSi)
La modifica più interessante la troviamo nella nuova “modalità blend” proveniente dall’emulatore StellaDS. In questa modalità, due fotogrammi vengono fusi insieme, utile quando si eseguono giochi come Space Fury o Galaxian dove i proiettili sullo schermo sono larghi appena 1 pixel.
Questi giochi sono stati progettati per funzionare su di un vecchio televisore a tubo catodico con fosforo che decade lentamente in modo che l’occhio possa vedere lievi tracce mentre l’immagine svanisce.
Su console DSi l’utilizzo di questa nuova modalità renderà questo tipo di giochi davvero luminosi e visibili.
Il DSi XL/LL ha un refresh più lento sul display LCD e si avvicina di più ai vecchi televisori a valvole… quindi la modalità blend non è necessaria per i modelli XL/LL.
Tuttavia, l’utilizzo della modalità blend ha un costo della CPU del 25%. Il DSi può gestirlo, mentre il DS-LITE/PHAT potrebbe avere difficoltà con i giochi più complicati.
Quindi la mia raccomandazione è la seguente:
- DSi non XL/LL – Utilizzare la modalità Blend per i giochi che ne traggono vantaggio (Space Fury, Galaxian, ecc..).
- DSi XL/LL – Non preoccuparti… il decadimento dello schermo XL/LL è più lento e i giochi sembrano fantastici così com’è.
- DS-LITE/PHAT – Puoi provarlo ma il framerate potrebbe scendere sotto i 60 in alcuni giochi.
Per abilitare questa nuova modalità blend, scegliere il gioco e andare nel sottomenu “Game Options” per attivarlo.
Vertical Sync
La sincronizzazione verticale forzerà l’aggiornamento (aggiornamento) dello schermo quando il DS va nello spazio vuoto verticale. Ciò riduce lo strappo e gli artefatti grafici minori, ma ha anche un costo in termini di velocità.
Il DSi può gestirlo per quasi tutti i giochi (Princess Quest è un gioco in cui potresti disattivarlo) ma il DS può gestirlo solo per i giochi più semplici. Quindi per impostazione predefinita è abilitato per DSi e disabilitato per DS-LITE/PHAT. Puoi attivarlo nelle “Game Options” (e START=SALVA come desideri).
Una storia di due core
ColecoDS supporta 2 diversi core della CPU Z80. DrZ80 è molto veloce ma non è accurato al 100%, quindi alcuni giochi non funzionano correttamente. CZ80 è il 10% più lento ma è molto più vicino al 100% di precisione e i giochi generalmente funzionano alla grande.
Per DSi e versioni successive, il core CZ80 è l’impostazione predefinita. Per DS-LITE/PHAT, il core DrZ80 è l’impostazione predefinita.
Puoi attivare questa opzione (e salvare in base al gioco) in GAME OPTIONS. Se vuoi utilizzare il core CZ80 ma hai bisogno di un po’ più di velocità per rendere i giochi giocabili, puoi anche giocare con le impostazioni di Vertical Sync e Frame Skip.
Il bisogno di velocità
Se un gioco non funziona alla giusta velocità o ha periodi di rallentamento (non attribuiti al gioco reale), ecco le cose che puoi provare nell’ordine in cui le proverei personalmente:
- Disattivare Vertical Sync.
- Attivare Frame Skip.
- Settare Max Sprites su 4.
- Passare al core della CPU veloce DrZ80.
Changelog
- Migliorato il Driver Einstein per consentire la mappatura dei tasti MAIUSC e CONTROL.
- Aggiunta l’opzione AY Envelope Reset per i pochi giochi che ne hanno bisogno (Warp & Warp, Killer Station).
- Aggiunto supporto per la mappatura 2P per i giochi SVI in modo che MEGALONE (Burken Pak 14) e CRAZY TEETH funzionino correttamente.
- Migliorato il driver SG-1000 in modo che i bootleg Dahjee e TW funzionino.
- Aggiunte F1-F8 come mappe assegnabili su Memotech.
Download: ColecoDS Phoenix-Edition v7.2
Download: Blank.cas
Download: cbios.txt
Download: Source code ColecoDS Phoenix-Edition v7.2
Fonte: gbatemp.net