Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

ColecoDS Phoenix Edition: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(49 intermediate revisions by 2 users not shown)
Line 2: Line 2:
|title=ColecoDS Phoenix Edition
|title=ColecoDS Phoenix Edition
|image=Colecodswav2.png
|image=Colecodswav2.png
|description=A Colecovision and ADAM Emulator for the DS/DSi. Original port by Alekmaul.  
|description=DS/DSi emulator with support for Colecovision, ADAM, MSX1, Sord-M5, Memotech MTX, Spectravision SVI, Hanimex Pencil II, Tatung Einstein, SG-1000/SC-3000 and the Creativision. Original Colecovision port by Alekmaul.  
|author=Dave Bernazzani (wavemotion)
|author=Dave Bernazzani (wavemotion)
|lastupdated=2022/06/28
|lastupdated=2024/11/17
|type=Console
|type=Console
|version=7.6
|version=10.3
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/dshomebrew/colecodswav.7z
|download=https://dlhb.gamebrew.org/dshomebrew2/colecodswav.7z
|website=https://github.com/wavemotion-dave/ColecoDS
|website=https://github.com/wavemotion-dave/ColecoDS
|source=https://github.com/wavemotion-dave/ColecoDS
|source=https://github.com/wavemotion-dave/ColecoDS
}}
}}
ColecoDS is a Colecovision and ADAM Emulator for the DS/DSi. [[ColecoDS|Original port]] by Alekmaul.  
ColecoDS is a Colecovision and ADAM Emulator for the DS/DSi. [[ColecoDS|Original port]] by Alekmaul.  


Line 19: Line 18:
==Features==
==Features==
* Colecovision game support (.rom or .col files). Requires coleco.rom BIOS.
* Colecovision game support (.rom or .col files). Requires coleco.rom BIOS.
* Super Game Module support including AY sound chip.
* Super Game Module (SGM) support including extra memory and AY sound chip.
* Megacart Bankswitching support (up to 512K).
* Megacart Bankswitching support (up to 1024K).
* Coleco ADAM game support (.ddp or .dsk files). Requires eos.rom and writer.rom.
* Super Game Cart (SGC) Bankswitching and flash-write support (up to 1024K).
* Sega SG-1000 game support (.sg roms).
* Coleco ADAM game support (.ddp or .dsk files). Requires eos.rom and writer.rom
* Sega SC-3000 game support (.sc roms).
* Coleco ADAM Sound Enhancer to support additional AY sound channel games (mostly MSX ports)
* Sord M5 game support (.m5 roms) - requires sordm5.rom BIOS.
* Sega SG-1000 game support (.sg roms)
* MSX1 game support (.msx or .rom or.cas) up to 512K.
* Sega SC-3000 game support (.sc roms)
* Spectravideo SVI support (.cas) - requires svi.rom BIOS.
* Sord M5 game support (.m5 roms) - requires sordm5.rom BIOS
* Casio PV-2000 support (.pv roms) - requires pv2000.rom BIOS.
* MSX1 game support (.msx or .rom or .cas or .dsk) up to 1024K including SCC emulation
* Hanimex Pencil II support (.pen roms) - requires pencil2.rom BIOS.
* Spectravideo SVI support (.cas or .rom) - requires svi.rom BIOS
* Tatung Einstein support (.com run-time files only) - requires einstein.rom BIOS.
* Casio PV-2000 support (.pv roms) - requires pv2000.rom BIOS
* Memotech MTX game support (.mtx or .run) - single loader games only.
* Hanimex Pencil II support (.pen roms) - requires pencil2.rom BIOS
* Creativision game support (.cv) - requires bioscv.rom BIOS.
* Tatung Einstein support (.dsk files or .com run-time files) - requires einstein.rom BIOS
* Memotech MTX game support (.mtx or .run or .com files) - single loader games only.
* Creativision game support (.cv) - requires bioscv.rom BIOS - supports ROMs up to 32K.
* Full Controller button mapping and touch-screen input.
* Full Controller button mapping and touch-screen input.
* High-Score support - 10 scores per game.
* High-Score support - 10 scores per game.
Line 45: Line 46:


Below is the list of BIOS files with CRC32 hashes tested by the author (CRC32, bios file, emulated machine/version):
Below is the list of BIOS files with CRC32 hashes tested by the author (CRC32, bios file, emulated machine/version):
* 3aa93ef3 - coleco.rom (original version)
* 3aa93ef3 coleco.rom (original version)
* a30b0c34 - coleco.rom (faster boot)
* a30b0c34 coleco.rom (faster boot)
* 94ee12f3 - msx.rom (MSX)
* 94ee12f3 msx.rom (MSX)
* c3c590c6 - bioscv.rom (Creativision)
* c3c590c6 bioscv.rom (Creativision)
* ec134953 - einstein.rom (Tatung Einstein)
* ec134953 einstein.rom (Tatung Einstein)
* 338d7b59 - pencil2.rom (Hanimex Pencil II)
* 338d7b59 pencil2.rom (Hanimex Pencil II)
* 8f31f297 - pv2000.rom (Casio PV-2000)
* 8f31f297 pv2000.rom (Casio PV-2000)
* 92cf9353 - sordm5.rom (Sord M5)
* 92cf9353 sordm5.rom (Sord M5)
* 709904e9 - svi.rom (Spectravision)
* 709904e9 svi.rom (Spectravision)
* 05a37a34 - eos.rom (ADAM)
* 05a37a34 eos.rom (ADAM)
* 58d86a2a - writer.rom (ADAM)
* 58d86a2a writer.rom (ADAM)


==User guide==
For the MSX, ColecoDS now offers support for various optional BIOS ROMs. With version 8.2, ColecoDS introduces additional optional MSX BIOS ROMs. You can select these in Configuration and set a global default. The supported BIOS ROMs include:
===ADAM Compatibility===
The emulated ADAM is not completely bug-free but generally will run most tape images (.ddp) or disk images (.dsk).


The emulated ADAM is a 128K system (64K internal memory and 64K expanded RAM) - enough for almost any game.
* 15e503de  cf-2700.rom - Panasonic CF-2700 UK Machine with 64K of RAM in Slot 1 and Cart in Slot 2
* e9ccd789  cx5m.rom    - Yamaha's UK/EU Machine with 32K of RAM in Slot 0
* 5486b711  hx-10.rom  - Toshiba's UK/EU Machine with 64K of RAM in Slot 2
* ee229390  hb-10.rom  - Sony HitBit JP Machine with 16K of RAM in Slot 0 (uses the Japanese keyboard matrix)
* 5ad03407  fs-1300.rom - National JP Machine with 64K of RAM in Slot 3 (uses the Japanese keyboard matrix)
* ee229390  pv-7.rom    - Casio PV-7 with just 8K of RAM! If you can't find this BIOS, use pv-16.rom as there is no difference in the binary.


Usage tips:
Make sure you name the BIOS ROMs exactly as shown and place them into your usual BIOS directory. Once you select an optional BIOS ROM in Configuration, you will also enable that specific MSX machine to be emulated.
* Sometimes when loading an ADAM game the system doesn't run, just hit RESET and it will probably load.
* By default, RAM is cleared when you reset the ADAM. In Game Config you can change this Memory Wipe to 'RANDOM' which may improve the ability to load some games.
* If the game uses a CP/M disk, try chaning the Memory Wipe to 'ADAM CPM' which helps.
* You can turn on the full ADAM keyboard with the Configuration of Overlays (choose 'ADAM KEYBOARD'). It's not all ADAM keys but should be enough to play games.
* The tape or disk images do not automatically write back to your SD card, you have to hit the little Cassette icon to make that happen (and only when the tape/disk is idle - it won't save if the tape/disk is busy reading/writing).


===MSX Compatibility===
Compatibility for each machine [https://github.com/wavemotion-dave/ColecoDS/blob/main/README.md#adam-compatibility- can be found on the readme].
Considering this is a Colecovision emulator, the MSX1 support and compatibility is reasonably high.


In Game Options you will notice that the default MSX Mapper is set to "GUESS" which does a fairly good job loading the ROM - especially for 32K or smaller games.
==User guide==
 
===Controllers===
MSX1 cassettes are supported in .CAS format. You can use the START and SELECT buttons for the common bload and run commands. MSX2 games are not supported and will not run.
* You can map buttons to either P1 or P2 controllers.
 
* Support for Spinner X (P1) and Spinner Y (P2) or mapping both for trackball games.
Usage tips:
* Spinner sensitivity settings: Normal, Fast, Fastest, Slow, Slowest.
* A small number of games don't work with the open-source C-BIOS (MSX is not a single machine but a standard - there are lots of machines and lots of BIOS files).
* By default, the spinners are only enabled for the few games that use them - but you can force them by changing the Spinner Speed.
** In this case you would need a real msx.rom BIOS. You can set this up in Game Options.
** If you have an MSX.ROM bios, it will use it by default (MSX.ROM with a CRC32 of 94ee12f3 was tested, it's used by default in a lot of other emulators).
* Most 64K games use the ASC16 memory mapper - so you can try that one, but a few (e.g. Mutants from the Deep) are linear mapped from 0-64K and you will need to pick LINEAR64 in Game Options.
* The auto-detection on KONAMI8, KONAMI-SCC and ASCII8/16 mappers is pretty good, but some games don't detect well - you should try various mappers if the "larger than 64K" game won't run.
* Occasionally one ROM won't run but an alternate dump might. For example, the 384K version of R-Type is a bit of a mess for the emulator to handle, but another clean 512K version can load and run great.
* With a little diligence in trying different mapping/BIOS combinations, you should be able to achieve a 97% run rate on MSX1 games.  
 
The MSX memory is laid out as follows:
* SLOT0:  MSX BIOS (first 32K... 0xFF after that)
* SLOT1:  Cartridge Slot (this is where the game ROM lives)
* SLOT2: Empty (0xFF always)
* SLOT3:  RAM (64K)
 
===Memotech MTX Compatibility===
The Memotech MTX runs at 4MHz which is faster than the Colecovision (and MSX, M5, SG, etc). This is reasonably well emulated - though the sound is not perfect due to some CTC chip timing differences from real hardware.
 
Also, only about 80% of the games load and run properly - some games use more complex loaders and are not well supported by ColecoDS. Sometimes you will have to run a [a1] or [a2] alternate dump of a game to get it to run properly.  
 
Of the two types (.mtx and .run), the .RUN files are generally better supported (the excellent MEMU MTX emulator has a good selection).
 
Usage tips:
* There is support for the MTX MAGROM project, this is a multi-cart. You can use either 1.05 or 1.05a of the MAGROM 512K binary file - just rename as .MTX and load it by running the game and pressing the START button to launch the menu.
* The MTX emulated is a base MTX-512 system with 64K of RAM. This should allow most games to run.
* Once the game is loaded into memory you will be sitting at the BASIC prompt. At this prompt you need to LOAD "" (if .MTX) or RUN the game (if .RUN).
* You can press the DS Start button (quick access key) to enter the proper command automatically. Alternatively, you will find the RUN commands in the Cassette Icon Menu.
 
===Spectravideo SVI Compatibility===
This emulator will support .cas files for the Spectravideo SV-328 (64K machine).
 
You can use the START and SELECT buttons for the common bload and run commands.
 
===Sega SC-3000 Compatibility===
This emulator supports .sc files as ROM only (not cassettes) but ColecoDS will support the amazing SC-3000 Survivors Multi-Cart and MEGA-Cart.
 
Strongly prefer the Multi-Cart as it's smaller and contains the same selection of tape games. Just rename the 2MB or 4MB binary as .sc to load in ColecoDS.
 
===Casio PV-2000 Compatibility===
This emulator supports .pv files as ROM only (not cassettes).
 
Rename any .bin files you find as .pv so the emulator will load them correctly.
 
===Hanimex Pencil II Compatibility===
There is only one known game dumped at this time - Treasure Hunt. Fortunately it's a fun game! Unfortunately, came on 2 ROM chips. So you have to "glue" the two ROMs together.
 
If you can find a late MAME "Software List" from 2020 or later, you will find treasure.zip which contains two ROM files:
* pen702a.bin (8k)
* pen702b.bin (4k)


To glue these together - in windows use the command line: <code>copy /b pen702a.bin + pen702b.bin TreasureHunt.pen</code>
MSX Emulation:
* ColecoVision keypad is mapped to common MSX1 keyboard keys.
* In Game Options you can override the '?' key to be any mappable MSX key.
* For the few games that still require the MSX arrows to play - you can emulate that via the D-PAD in Game Options.
* There is also a full-sized MSX keyboard available in Game Options (or in global options to set a default for MSX machines).


or in Linux: <code>cat pen702a.bin pen702b.bin > TreasureHunt.pen</code>
Keyboards:
 
* A number of full keyboard overlays have been designed for accuracy.
This should leave you with a 12k ROM called TreasureHunt.pen which is now playable on your ColecoDS system!
* You can choose full keyboard that matches the emulated machine or alpha keyboard (a simplified keyboard and keys are bigger) on a per-game basis in Game Options.
 
===Tatung Einstein Compatibility===
The base 64K machine is emulated. Right now only .COM files will play.
 
Out in the interwebs, you will mostly only find .dsk files and the .COM files need to be extracted from them.
 
The easiest way is to use one of the following programs, [https://github.com/charlierobson/einsdein-vitamins dsktool] or EDIP v1e which you can find in the extras folder.
 
With either of these tools, you should be able to extract more than 50 .COM games that currently work.
 
===Creativision Compatibility===
The Creativision uses a different CPU - the m6502 (same as used in the Apple II).
 
The system requires roms be renamed to .CV so the correct driver will load and the bioscv.ROM must be present in the normal BIOS area. All known Creativision games run properly under ColecoDS.


===Blend Mode===
===Blend Mode===
Line 177: Line 118:
* If it's a Colecovision game, make sure RAM MIRROR is disabled. Only a few games need this (it will crash if you set it wrong).
* If it's a Colecovision game, make sure RAM MIRROR is disabled. Only a few games need this (it will crash if you set it wrong).


==Controls==
==Screenshots==
You can map buttons to either P1 or P2 controllers.  
https://dlhb.gamebrew.org/dshomebrew/colecodswav3.png


There is full support for Spinner X (P1) and Spinner Y (P2) or map both of them to get support for trackball games. These also work for games like Turbo steering. You can change the spinner sensitivity to one of five different settings (Normal, Fast, Fastest, Slow, Slowest).
==Known issues==
*No more than 1500 files per directory - split ROM files up as needed.
*Path and filename to a ROM can't be longer than 160 characters. Keep them on the shorter side.
*Games that utilize voice samples (Squish Em Sam, Wizard of Wor, etc) will not play the speech due to sound emulation limitations.
*The original 2011 release of StarForce will crash - this is a known bug. There is a patched version of the game StarForce on Atariage.
*MSX envelope, Einstein and Sord M5 CTC sound and noise emulation is not perfectly accurate (but close enough).


For the MSX emulation, the colecovision keypad is mapped as follows:
==Changelog==
'''V10.3 2024/11/17'''
* Added support for the 31-in-1 and 63-in-1 multicarts.
* Added support for 'Wave Direct' sound driver to render digitized speech in games such as Sewer Sam, Squish-Em, Wizard of Wor, etc.
* Hotfix to disable vsync on q-bert to improve stage clear visual effects
'''V10.2 2024/11/05'''
* Fix for SGM enable/disable that renders The Castle and Castle Excellent playable.
* Auto-disable SGM for Cavern Fighter to render it playable.
* Three year anniversary of the Phoenix Edition - Happy Birthday ColecoDS!
'''V10.1 2024/09/03'''
* Fix for the ADC decimal-mode instruction in the 6502 core for the CreatiVision. This fixes a number of problems including hex-digits showing on scores for some games.
* Tweaks and optimizations for the CreatiVision driver. Added most of the common/stable 'undocumented' opcodes.
* Improved emulation accuracy for the ADAM with memory now initialized to alternating 0x00 (even bytes) and 0xFF (odd bytes) per AdamEM and experiments from Shawn Merrick.
'''V10.0 2024/08/10'''
* Adam Sound Enhancer module support to allow AY sound games to play (mostly MSX ports to the ADAM)
* Ignore files that start with a '.' or '_' (mostly to help filter out clear non-game files).
* Minor cleanup, tweaks and a bug fixes.
'''V9.9 2024/05/02'''
* Added overlays for Blackjack and War Room. Improved War Games overlay.
* Added KANA lock LED indicator for Japanese MSX keyboard layouts.
* Correctly read-back the PPG Port B (needed to make the KANA lock work but is more accurate overall).
* Improvements to various Coleco PCB types for more accurate emulation.
'''V9.8 2024/04/23'''
* Cleanup of MSX BIOS handling - we now support the Panasonic CF-2700 directly. See MSX BIOS section for details.
* MSX status line now shows RAM (based on machine chosen) on the status line (was previously showing ROM size which no other machine in ColecoDS did).
* MSX Caps Lock now has LED indicator on the virtual keyboard.
* Added ROM/CAS/DSK size and CRC32 on the main screen after choosing a game.
* Numerous fixes for Save/Load states especially for the MSX and Einstein.
* Improved memory handling to free up some DS resources for future expansion.
'''V9.7 2024/04/16'''
* Fixed Colecovision RAM mirrors such that Boulderdash runs properly.
* The Heist now forces RAM to clear (all zeros) as it is known to be picky about contents of RAM on power up.
* Fix EEPROM sequential reads so Activision PCB games like Jewel Panic work correctly.
* Added the Wildcard and Print buttons on the virtual ADAM keyboard. All ADAM virtual keys should now be present.
* Added new configuration options to select the Colecovision mode to run in - you can force ADAM emulation, force PCB types, and set EEPROM sizes, etc.
* New global option to force ADAM mode, SGM can be Disabled, and BIOS auto-patch for 'Fast BIOS' to force the 15 second wait down to 3 seconds.
* Minor cleanup and optimizations to the Adam core.
'''V9.6 2024/04/08'''
* Removed DrZ80 core - the high quality CZ80 core is all that remains.
* Complete overhaul of the Adam handlers to clean and refine.
* Fix for games like Best of Broderbund (dsk and ddp) now load properly.
'''V9.5 2024/03/30'''
* ADAMnet improvement for disk/tape handling. Improved timing, improved caching and more disk/tape games should load and run correctly.
* DSI gets a massive 2MB of Expansion RAM (32 banks of 64K). DS-Lite/Phat still has 128K (base 64K plus the standard 64K expansion RAM).
* Adam now properly handles 320K disks and three drive bays are virtually attached (two 320K disk drives and the internal Tape drive at 256K).
* Adam full keyboard now uses an LED indicator under the CAPS LOCK button to indicate status.
* Adam has improved keyboard graphic with more keys added.
* Adam no longer mirrors RAM as a Colecovision would.
* Adam optimization provided 5% improved emulation speed which should make most everything playable even on the older DS-Lite/Phat.
* Adam supports the 32K expanded ROM and running carts under Adam emulation - name your ROMs as .adm so it loads into the right place in memory.
* Tatung Einstein now has two proper standard 200K disk drives.
* Tatung Einstein full keyboard now uses LED indicators under the SHIFT/CTRL/GRAPH and ALPHA LOCK keys for a visual improvement.
* Tatung Einstein properly handles the backspace key when using the Alpha-Numeric keyboard overlay.
* 2000 individual game configurations are supported - save/load states optimized and numerous tweaks under the hood.
'''V9.4b 2024/03/18'''
* Tatung Einstein improvements - more games run more correctly.
* Other minor tweaks and cleanup as time permitted.
* 9.4b - Einstein RAMDISK now unified in /data/ directory (rather than have one for each directory of .dsk files).
* 9.4b - Tweaks to the CTC timer engine for Einstein JSW2.
'''V9.4 2024/03/16'''
* Tatung Einstein improvements - more games run more correctly.
* SVI Cassette Load fixes.
* Other minor tweaks and cleanup as time permitted.
'''V9.3a 2024/03/12'''
* Fixed TMS9918 VDP 5th Sprite Flag handling and slight optimization to the VDP driver.
* Updated to latest SN76496 sound driver from FluBBa.
* Other minor tweaks and cleanup as time permitted.
* Version 9.3a with hotfix for SVI game loading fixed.
'''V9.3 2024/03/10'''
* Fixed TMS9918 VDP 5th Sprite Flag handling and slight optmization to the VDP driver.
* Updated to latest SN76496 sound driver from FluBBa.
* Other minor tweaks and cleanup as time permitted.
'''V9.2 2024/02/12'''
* Ported the AY sound chip driver from FluBBa to improve MSX1, Einstein and Coleco SGM games.
* Ported most recent SN sound chip driver from FluBBa.
* Allow more than one keyboard press at a time for the MSX1 so keyboard-mapped keys work properly (i.e. UP and SPACE at the same time)
* Cleanup across the board - save states optimized.
'''V9.1 2024/02/03'''
* Ported the SCC Konami sound driver from FluBBa to make the MSX1 games using that chip sound great.
* New overlays for Colecovision Space Shuttle and Utopia.
* Lots of small tweaks and minor cleanups since the last release.
'''V9.0 2023/10/21'''
* Fixed loading of SC-3000 Survivors Multi/Megacart roms.
* Slight optimization to I/O read driver.
* Minor cleanup as time permitted.
'''V8.9 2023/09/20'''
* Further cleanup of the ADAM driver to eliminate title-screen glitches and provide support for 320K disks.
* Slight optimization across the board resulting in another frame or two of performance.
* Memory optimization to reduce the footprint of the program - providing about 300K of free resources total.
* Improved speed of blend mode (it only uses about 10% CPU resources now)
'''V8.8 2023/09/11'''
* Major cleanup of the Coleco ADAM driver so that most games now load up first try and RESET handling is smooth and consistent.
* For the ADAM, added toggle between full keyboard and the joystick/joypad so now you don't have to choose one layout or the other.
* Simplified keyboard handling. Now the user just picks 'Full Keyboard' and the emulator will figure out the best keyboard overlay to use based on the machine being emulated.
'''V8.7 2023/09/07'''
* Added .dsk support for MSX1 games (360K SS or 720K DS only).
* Improved key debounce so that pressing on the virtual keyboard is much cleaner.
* Minor memory optimization to free up some resources.
'''V8.6 2023/08/31'''
* Added .dsk support for Tatung Einstein games!
* Improved Tatung Einstein keyboard and joystick handling.
* Minor graphical tweaks and improvements as time allowed.
'''V8.5 2023/08/20'''
* Added Sord M5 keyboard graphic and improved Sord M5 keyboard handling.
* Fixed Sord M5 keyboard interrupts so that games like Jumping Jack and Drops play.
* Added ability to switch Sord M5 BIOS from sordm5.rom to sordm5p.rom when playing PAL games.
* Added ability to disable the key click when using a game/program that already provides key feedback.
* Added the SMS mapper for the few SG-1000 games that use them (Most notably Loretta no Shouzou: Sherlock Holmes and the SG-1000 port of Prince of Persia).
'''V8.4 2023/08/15'''
* Added SVI keyboard graphic and improved SVI keyboard handling.
* Added Sega SC-3000 keyboard graphic and improved SC-3000 keyboard handling.
* Improved PV-2000 keyboard handling.
* Added preliminary keyboard support for Hanimex Pencil II - just enough to run BASIC if you dare.
* Spectravideo SVI-3x8 cartridges supported up to 64K. Load .rom and the emulator will figure it out.
* Fixed bug with VDP re-enable of interrupts (unsure if this affected anything, but it's corrected anyway).
* Ability to run games at 90% to 130% on a per-game basis (See game configuration).
* Improved mixing of SN+AY sound chips for the few games that utilize both.
* Refactor of keypad graphics and fix for the options overlay so it paints the whole screen without graphical problems (e.g. showing part of the underlying screen). This also frees up precious RAM!
* Other tweaks, fixes and improvements as time permitted.
* Hotfix Version 8.4a with fixes for MSX keyboard corner-keys detection and .col files now auto-detect CV, MSX or SVI
* Hotfix Version 8.4b with hot-spot detection fixes for MTX, SVI and Adam keyboards.


1    2   3
'''V8.3 2023/08/10'''
4    5    STOP
* Fix for keyboard handler so that more than one key can be pressed at a time (otherwise you get stutter when moving/shooting in keyboard-mapped games).
M1  M2  M3
* Major overhaul of the Memotech MTX emulation to improve emulation, sound and general stability.
SPC  0    RET
* New Z80 CTC handler (mainly for Memotech) which provides more accurate sound in Sord M5 and some Einstein games.
* New Tatung Einstein keyboard graphic and improved keyboard handling.
* New keymap presets for common keyboard games (QAOP, WASD, ZC-Period, etc.) - use the X button to rotate through these when defining keys.
* Other tweaks, fixes and improvements as time permitted.
'''V8.2 2023/08/04'''
* Complete rewrite of the keyboard handler for improved visuals, better emulation and universal handling across all emulated machines.
* New keyboard graphics for ADAM, MSX (International and Japanese layouts), MTX and a simplified Alpha-Numeric keyboard useful for text adventures.
* New global configuration handling - you can disable the showing of the BIOS screen at startup, set your default MSX BIOS, hide emulator text, among other features.
* Brighter main font for improved contrast.
* New MSX BIOS roms can be optionally installed: Panasonic cf-2700, Yamaha cx5m.rom, Toshiba hx-10.rom, Sony Hit-Bit hb-10.rom, National fs-1300.rom, Casio pv-7.rom
* Other tweaks, fixes and improvements as time permitted.
* 8.2a - hotfix to correct keyboard click on ADAM keyboard and fix Memotech MTX keyboard to show BREAK (vs STOP)
* 8.2b - hotfix to set Memotech keyboard country code to 00=English


By default, the spinners are only enabled for the few games that use them - but you can force them by changing the Spinner Speed.
'''V8.1 2023/07/22'''
* Major rework of the CreatiVision driver for much improved compatibility and loading of BASIC listings.
* New CreatiVision keypad/keyboard overlay with stylings from 1981!
* Swap out bloated printf/sprintf for embedded versions.
* Added screen snapshot by holding L+R buttons while in-game.
* Other cleanups as time permitted.


That should be enough to get most MSX1 cart games running.In Game Options you can also override the '?' key to be any mappable MSX key. For the few games that still require the MSX arrows to play - you can emulate that via the D-PAD in Game Options.
'''V8.0 2023/06/28'''
*Minor cleanups only.


As of version 6.1 there is also a custom overlay for "MSX Full" keyboard.
'''V7.9 2023/03/03'''
* Fixed TMS9918a driver so we show sprites that cut-off near the edge of the top screen.
* Fixed TMS9918a driver so we refresh the borders on text-based games.


==Screenshots==
'''V7.8 2022/11/13'''
https://dlhb.gamebrew.org/dshomebrew/colecodswav3.png
* Partial MSX SCC added. Music on Gradius 2/3, Parodius, King's Valley 2, F1 Spirit and Salamander!
* Better audio channel combining so that games with multiple channels of sound don't sound 'half as loud'.


==Known issues==
'''V7.7 2022/09/05'''
* Borders are not correctly rendered - only a few games utilize them and are still fully playable without this.
* MegaROMs now supported up to 1024k.
* Games that utilize voice samples (Squish Em Sam, Wizard of Wor, etc) will not play the speech due to sound emulation limitations.
* Minor cleanup across the board.
* The original 2011 release of StarForce will crash - this is a known bug. There is a patched version of the game StarForce on Atariage.
* MSX envelope, Einstein and Sord M5 CTC sound and noise emulation is not perfectly accurate (but close enough).
* MSX Konami SCC sound chip is not emulated (Gradius 2/3, Salamander, etc. won't have proper music but otherwise play fine).


==Changelog==
'''V7.6 2022/06/28'''
'''V7.6 2022/06/28'''
* Cleanup of Cassette Menu handling.
* Cleanup of Cassette Menu handling.
Line 383: Line 466:
* GitHub - https://github.com/wavemotion-dave/ColecoDS
* GitHub - https://github.com/wavemotion-dave/ColecoDS
* GBAtemp - https://gbatemp.net/threads/colecods-improved.602625
* GBAtemp - https://gbatemp.net/threads/colecods-improved.602625
[[Category:DS homebrew emulators]]
[[Category:Homebrew console emulators on DS]]

Latest revision as of 01:22, 17 November 2024

ColecoDS Phoenix Edition
Colecodswav2.png
General
AuthorDave Bernazzani (wavemotion)
TypeConsole
Version10.3
LicenseMixed
Last Updated2024/11/17
Links
Download
Website
Source

ColecoDS is a Colecovision and ADAM Emulator for the DS/DSi. Original port by Alekmaul.

Phoenix-Edition by Wavemotion with support for Colecovision, ADAM, MSX1, Sord-M5, Memotech MTX, Spectravision SVI, Hanimex Pencil II, Tatung Einstein, SG-1000/SC-3000 and the Creativision.

Features

  • Colecovision game support (.rom or .col files). Requires coleco.rom BIOS.
  • Super Game Module (SGM) support including extra memory and AY sound chip.
  • Megacart Bankswitching support (up to 1024K).
  • Super Game Cart (SGC) Bankswitching and flash-write support (up to 1024K).
  • Coleco ADAM game support (.ddp or .dsk files). Requires eos.rom and writer.rom
  • Coleco ADAM Sound Enhancer to support additional AY sound channel games (mostly MSX ports)
  • Sega SG-1000 game support (.sg roms)
  • Sega SC-3000 game support (.sc roms)
  • Sord M5 game support (.m5 roms) - requires sordm5.rom BIOS
  • MSX1 game support (.msx or .rom or .cas or .dsk) up to 1024K including SCC emulation
  • Spectravideo SVI support (.cas or .rom) - requires svi.rom BIOS
  • Casio PV-2000 support (.pv roms) - requires pv2000.rom BIOS
  • Hanimex Pencil II support (.pen roms) - requires pencil2.rom BIOS
  • Tatung Einstein support (.dsk files or .com run-time files) - requires einstein.rom BIOS
  • Memotech MTX game support (.mtx or .run or .com files) - single loader games only.
  • Creativision game support (.cv) - requires bioscv.rom BIOS - supports ROMs up to 32K.
  • Full Controller button mapping and touch-screen input.
  • High-Score support - 10 scores per game.
  • Save/Load Game State (one slot).
  • Video Blend Mode (see below) and Vertical Sync.
  • LCD Screen Swap (press and hold L+R+X during gameplay).
  • Overlay support for the few games that need them.
  • Super Action Controller, Spinner and Roller Controller (Trackball) mapping.
  • Full speed, full sound and full frame-rate even on older hardware.

Installation

To run requires a coleco.rom BIOS to be in the same directory as the emulator or else in /roms/bios/ or /data/bios/.

Below is the list of BIOS files with CRC32 hashes tested by the author (CRC32, bios file, emulated machine/version):

  • 3aa93ef3 coleco.rom (original version)
  • a30b0c34 coleco.rom (faster boot)
  • 94ee12f3 msx.rom (MSX)
  • c3c590c6 bioscv.rom (Creativision)
  • ec134953 einstein.rom (Tatung Einstein)
  • 338d7b59 pencil2.rom (Hanimex Pencil II)
  • 8f31f297 pv2000.rom (Casio PV-2000)
  • 92cf9353 sordm5.rom (Sord M5)
  • 709904e9 svi.rom (Spectravision)
  • 05a37a34 eos.rom (ADAM)
  • 58d86a2a writer.rom (ADAM)

For the MSX, ColecoDS now offers support for various optional BIOS ROMs. With version 8.2, ColecoDS introduces additional optional MSX BIOS ROMs. You can select these in Configuration and set a global default. The supported BIOS ROMs include:

  • 15e503de cf-2700.rom - Panasonic CF-2700 UK Machine with 64K of RAM in Slot 1 and Cart in Slot 2
  • e9ccd789 cx5m.rom - Yamaha's UK/EU Machine with 32K of RAM in Slot 0
  • 5486b711 hx-10.rom - Toshiba's UK/EU Machine with 64K of RAM in Slot 2
  • ee229390 hb-10.rom - Sony HitBit JP Machine with 16K of RAM in Slot 0 (uses the Japanese keyboard matrix)
  • 5ad03407 fs-1300.rom - National JP Machine with 64K of RAM in Slot 3 (uses the Japanese keyboard matrix)
  • ee229390 pv-7.rom - Casio PV-7 with just 8K of RAM! If you can't find this BIOS, use pv-16.rom as there is no difference in the binary.

Make sure you name the BIOS ROMs exactly as shown and place them into your usual BIOS directory. Once you select an optional BIOS ROM in Configuration, you will also enable that specific MSX machine to be emulated.

Compatibility for each machine can be found on the readme.

User guide

Controllers

  • You can map buttons to either P1 or P2 controllers.
  • Support for Spinner X (P1) and Spinner Y (P2) or mapping both for trackball games.
  • Spinner sensitivity settings: Normal, Fast, Fastest, Slow, Slowest.
  • By default, the spinners are only enabled for the few games that use them - but you can force them by changing the Spinner Speed.

MSX Emulation:

  • ColecoVision keypad is mapped to common MSX1 keyboard keys.
  • In Game Options you can override the '?' key to be any mappable MSX key.
  • For the few games that still require the MSX arrows to play - you can emulate that via the D-PAD in Game Options.
  • There is also a full-sized MSX keyboard available in Game Options (or in global options to set a default for MSX machines).

Keyboards:

  • A number of full keyboard overlays have been designed for accuracy.
  • You can choose full keyboard that matches the emulated machine or alpha keyboard (a simplified keyboard and keys are bigger) on a per-game basis in Game Options.

Blend Mode

This is one of the huge change added to ColecoDS. In this mode, two frames are blended together, which can be particularly useful for certain games, where DSi LCD cannot hold onto the pixels (e.g. bullets that are only 1 pixel wide on screen) long enough to be visible. Below are some of the recommended settings:

  • DSi non XL/LL - Use Blend Mode for the games that benefit from it (Space Fury, Galaxian, etc).
  • DSi XL/LL - Don't bother. The XL/LL screen decay is slower and games look great as-is.
  • DS-LITE/PHAT - You can try it but the framerate might drop below 60 on some games.

To enable this new blend mode, pick your game and go into the Game Options sub-menu and turn it on.

Vertical Sync

This setting will force the update (refresh) of the screen when the DS goes into the vertical blank. This reduces tearing and minor graphical artifacts but comes at a cost of speed.

The DSi can handle it for almost all games (Princess Quest is one game where you might turn it off) but the DS can only handle it for the more simple games. So by default it's enabled for DSi and disabled for DS-LITE/PHAT.

You can toggle this in the Game Options.

CPU cores

ColecoDS supports 2 different Z80 CPU cores:

  • DrZ80 - Fast but is not 100% accurate so some games do not run right. Default to DS Lite/Phat.
  • CZ80 - 10% slower but is much closer to 100% accurate and games generally run great. Default to DSi.

You can toggle this (and save on a per-game basis) in GAME OPTIONS. If you want to use the CZ80 core but need a bit more speed to make the games playable - you can also play with Vertical Sync and Frame Skip settings.

Optimize game speed

If a game just isn't running at the right speed or has periods of slowdown (not attributed to the actual game), here are the things you can try in the order:

  • Turn off Vertical Sync.
  • Turn on Frame Skip.
  • Set Max Sprites to 4.
  • Switch to the DrZ80 fast CPU core.
  • If it's a Colecovision game, make sure RAM MIRROR is disabled. Only a few games need this (it will crash if you set it wrong).

Screenshots

colecodswav3.png

Known issues

  • No more than 1500 files per directory - split ROM files up as needed.
  • Path and filename to a ROM can't be longer than 160 characters. Keep them on the shorter side.
  • Games that utilize voice samples (Squish Em Sam, Wizard of Wor, etc) will not play the speech due to sound emulation limitations.
  • The original 2011 release of StarForce will crash - this is a known bug. There is a patched version of the game StarForce on Atariage.
  • MSX envelope, Einstein and Sord M5 CTC sound and noise emulation is not perfectly accurate (but close enough).

Changelog

V10.3 2024/11/17

  • Added support for the 31-in-1 and 63-in-1 multicarts.
  • Added support for 'Wave Direct' sound driver to render digitized speech in games such as Sewer Sam, Squish-Em, Wizard of Wor, etc.
  • Hotfix to disable vsync on q-bert to improve stage clear visual effects

V10.2 2024/11/05

  • Fix for SGM enable/disable that renders The Castle and Castle Excellent playable.
  • Auto-disable SGM for Cavern Fighter to render it playable.
  • Three year anniversary of the Phoenix Edition - Happy Birthday ColecoDS!

V10.1 2024/09/03

  • Fix for the ADC decimal-mode instruction in the 6502 core for the CreatiVision. This fixes a number of problems including hex-digits showing on scores for some games.
  • Tweaks and optimizations for the CreatiVision driver. Added most of the common/stable 'undocumented' opcodes.
  • Improved emulation accuracy for the ADAM with memory now initialized to alternating 0x00 (even bytes) and 0xFF (odd bytes) per AdamEM and experiments from Shawn Merrick.

V10.0 2024/08/10

  • Adam Sound Enhancer module support to allow AY sound games to play (mostly MSX ports to the ADAM)
  • Ignore files that start with a '.' or '_' (mostly to help filter out clear non-game files).
  • Minor cleanup, tweaks and a bug fixes.

V9.9 2024/05/02

  • Added overlays for Blackjack and War Room. Improved War Games overlay.
  • Added KANA lock LED indicator for Japanese MSX keyboard layouts.
  • Correctly read-back the PPG Port B (needed to make the KANA lock work but is more accurate overall).
  • Improvements to various Coleco PCB types for more accurate emulation.

V9.8 2024/04/23

  • Cleanup of MSX BIOS handling - we now support the Panasonic CF-2700 directly. See MSX BIOS section for details.
  • MSX status line now shows RAM (based on machine chosen) on the status line (was previously showing ROM size which no other machine in ColecoDS did).
  • MSX Caps Lock now has LED indicator on the virtual keyboard.
  • Added ROM/CAS/DSK size and CRC32 on the main screen after choosing a game.
  • Numerous fixes for Save/Load states especially for the MSX and Einstein.
  • Improved memory handling to free up some DS resources for future expansion.

V9.7 2024/04/16

  • Fixed Colecovision RAM mirrors such that Boulderdash runs properly.
  • The Heist now forces RAM to clear (all zeros) as it is known to be picky about contents of RAM on power up.
  • Fix EEPROM sequential reads so Activision PCB games like Jewel Panic work correctly.
  • Added the Wildcard and Print buttons on the virtual ADAM keyboard. All ADAM virtual keys should now be present.
  • Added new configuration options to select the Colecovision mode to run in - you can force ADAM emulation, force PCB types, and set EEPROM sizes, etc.
  • New global option to force ADAM mode, SGM can be Disabled, and BIOS auto-patch for 'Fast BIOS' to force the 15 second wait down to 3 seconds.
  • Minor cleanup and optimizations to the Adam core.

V9.6 2024/04/08

  • Removed DrZ80 core - the high quality CZ80 core is all that remains.
  • Complete overhaul of the Adam handlers to clean and refine.
  • Fix for games like Best of Broderbund (dsk and ddp) now load properly.

V9.5 2024/03/30

  • ADAMnet improvement for disk/tape handling. Improved timing, improved caching and more disk/tape games should load and run correctly.
  • DSI gets a massive 2MB of Expansion RAM (32 banks of 64K). DS-Lite/Phat still has 128K (base 64K plus the standard 64K expansion RAM).
  • Adam now properly handles 320K disks and three drive bays are virtually attached (two 320K disk drives and the internal Tape drive at 256K).
  • Adam full keyboard now uses an LED indicator under the CAPS LOCK button to indicate status.
  • Adam has improved keyboard graphic with more keys added.
  • Adam no longer mirrors RAM as a Colecovision would.
  • Adam optimization provided 5% improved emulation speed which should make most everything playable even on the older DS-Lite/Phat.
  • Adam supports the 32K expanded ROM and running carts under Adam emulation - name your ROMs as .adm so it loads into the right place in memory.
  • Tatung Einstein now has two proper standard 200K disk drives.
  • Tatung Einstein full keyboard now uses LED indicators under the SHIFT/CTRL/GRAPH and ALPHA LOCK keys for a visual improvement.
  • Tatung Einstein properly handles the backspace key when using the Alpha-Numeric keyboard overlay.
  • 2000 individual game configurations are supported - save/load states optimized and numerous tweaks under the hood.

V9.4b 2024/03/18

  • Tatung Einstein improvements - more games run more correctly.
  • Other minor tweaks and cleanup as time permitted.
  • 9.4b - Einstein RAMDISK now unified in /data/ directory (rather than have one for each directory of .dsk files).
  • 9.4b - Tweaks to the CTC timer engine for Einstein JSW2.

V9.4 2024/03/16

  • Tatung Einstein improvements - more games run more correctly.
  • SVI Cassette Load fixes.
  • Other minor tweaks and cleanup as time permitted.

V9.3a 2024/03/12

  • Fixed TMS9918 VDP 5th Sprite Flag handling and slight optimization to the VDP driver.
  • Updated to latest SN76496 sound driver from FluBBa.
  • Other minor tweaks and cleanup as time permitted.
  • Version 9.3a with hotfix for SVI game loading fixed.

V9.3 2024/03/10

  • Fixed TMS9918 VDP 5th Sprite Flag handling and slight optmization to the VDP driver.
  • Updated to latest SN76496 sound driver from FluBBa.
  • Other minor tweaks and cleanup as time permitted.

V9.2 2024/02/12

  • Ported the AY sound chip driver from FluBBa to improve MSX1, Einstein and Coleco SGM games.
  • Ported most recent SN sound chip driver from FluBBa.
  • Allow more than one keyboard press at a time for the MSX1 so keyboard-mapped keys work properly (i.e. UP and SPACE at the same time)
  • Cleanup across the board - save states optimized.

V9.1 2024/02/03

  • Ported the SCC Konami sound driver from FluBBa to make the MSX1 games using that chip sound great.
  • New overlays for Colecovision Space Shuttle and Utopia.
  • Lots of small tweaks and minor cleanups since the last release.

V9.0 2023/10/21

  • Fixed loading of SC-3000 Survivors Multi/Megacart roms.
  • Slight optimization to I/O read driver.
  • Minor cleanup as time permitted.

V8.9 2023/09/20

  • Further cleanup of the ADAM driver to eliminate title-screen glitches and provide support for 320K disks.
  • Slight optimization across the board resulting in another frame or two of performance.
  • Memory optimization to reduce the footprint of the program - providing about 300K of free resources total.
  • Improved speed of blend mode (it only uses about 10% CPU resources now)

V8.8 2023/09/11

  • Major cleanup of the Coleco ADAM driver so that most games now load up first try and RESET handling is smooth and consistent.
  • For the ADAM, added toggle between full keyboard and the joystick/joypad so now you don't have to choose one layout or the other.
  • Simplified keyboard handling. Now the user just picks 'Full Keyboard' and the emulator will figure out the best keyboard overlay to use based on the machine being emulated.

V8.7 2023/09/07

  • Added .dsk support for MSX1 games (360K SS or 720K DS only).
  • Improved key debounce so that pressing on the virtual keyboard is much cleaner.
  • Minor memory optimization to free up some resources.

V8.6 2023/08/31

  • Added .dsk support for Tatung Einstein games!
  • Improved Tatung Einstein keyboard and joystick handling.
  • Minor graphical tweaks and improvements as time allowed.

V8.5 2023/08/20

  • Added Sord M5 keyboard graphic and improved Sord M5 keyboard handling.
  • Fixed Sord M5 keyboard interrupts so that games like Jumping Jack and Drops play.
  • Added ability to switch Sord M5 BIOS from sordm5.rom to sordm5p.rom when playing PAL games.
  • Added ability to disable the key click when using a game/program that already provides key feedback.
  • Added the SMS mapper for the few SG-1000 games that use them (Most notably Loretta no Shouzou: Sherlock Holmes and the SG-1000 port of Prince of Persia).

V8.4 2023/08/15

  • Added SVI keyboard graphic and improved SVI keyboard handling.
  • Added Sega SC-3000 keyboard graphic and improved SC-3000 keyboard handling.
  • Improved PV-2000 keyboard handling.
  • Added preliminary keyboard support for Hanimex Pencil II - just enough to run BASIC if you dare.
  • Spectravideo SVI-3x8 cartridges supported up to 64K. Load .rom and the emulator will figure it out.
  • Fixed bug with VDP re-enable of interrupts (unsure if this affected anything, but it's corrected anyway).
  • Ability to run games at 90% to 130% on a per-game basis (See game configuration).
  • Improved mixing of SN+AY sound chips for the few games that utilize both.
  • Refactor of keypad graphics and fix for the options overlay so it paints the whole screen without graphical problems (e.g. showing part of the underlying screen). This also frees up precious RAM!
  • Other tweaks, fixes and improvements as time permitted.
  • Hotfix Version 8.4a with fixes for MSX keyboard corner-keys detection and .col files now auto-detect CV, MSX or SVI
  • Hotfix Version 8.4b with hot-spot detection fixes for MTX, SVI and Adam keyboards.

V8.3 2023/08/10

  • Fix for keyboard handler so that more than one key can be pressed at a time (otherwise you get stutter when moving/shooting in keyboard-mapped games).
  • Major overhaul of the Memotech MTX emulation to improve emulation, sound and general stability.
  • New Z80 CTC handler (mainly for Memotech) which provides more accurate sound in Sord M5 and some Einstein games.
  • New Tatung Einstein keyboard graphic and improved keyboard handling.
  • New keymap presets for common keyboard games (QAOP, WASD, ZC-Period, etc.) - use the X button to rotate through these when defining keys.
  • Other tweaks, fixes and improvements as time permitted.

V8.2 2023/08/04

  • Complete rewrite of the keyboard handler for improved visuals, better emulation and universal handling across all emulated machines.
  • New keyboard graphics for ADAM, MSX (International and Japanese layouts), MTX and a simplified Alpha-Numeric keyboard useful for text adventures.
  • New global configuration handling - you can disable the showing of the BIOS screen at startup, set your default MSX BIOS, hide emulator text, among other features.
  • Brighter main font for improved contrast.
  • New MSX BIOS roms can be optionally installed: Panasonic cf-2700, Yamaha cx5m.rom, Toshiba hx-10.rom, Sony Hit-Bit hb-10.rom, National fs-1300.rom, Casio pv-7.rom
  • Other tweaks, fixes and improvements as time permitted.
  • 8.2a - hotfix to correct keyboard click on ADAM keyboard and fix Memotech MTX keyboard to show BREAK (vs STOP)
  • 8.2b - hotfix to set Memotech keyboard country code to 00=English

V8.1 2023/07/22

  • Major rework of the CreatiVision driver for much improved compatibility and loading of BASIC listings.
  • New CreatiVision keypad/keyboard overlay with stylings from 1981!
  • Swap out bloated printf/sprintf for embedded versions.
  • Added screen snapshot by holding L+R buttons while in-game.
  • Other cleanups as time permitted.

V8.0 2023/06/28

  • Minor cleanups only.

V7.9 2023/03/03

  • Fixed TMS9918a driver so we show sprites that cut-off near the edge of the top screen.
  • Fixed TMS9918a driver so we refresh the borders on text-based games.

V7.8 2022/11/13

  • Partial MSX SCC added. Music on Gradius 2/3, Parodius, King's Valley 2, F1 Spirit and Salamander!
  • Better audio channel combining so that games with multiple channels of sound don't sound 'half as loud'.

V7.7 2022/09/05

  • MegaROMs now supported up to 1024k.
  • Minor cleanup across the board.

V7.6 2022/06/28

  • Cleanup of Cassette Menu handling.
  • Improved MSX compatibility.
  • Faster large-ROM loading speed.
  • New Alpha-only Keyboard support.
  • A few minor bug fixes as time allowed.

V7.5 2022/06/18

  • Major update to the way internal memory is handled. It's slimmer, trimmer and much faster across-the-board. More games run at full speed.
  • Fixed EE and SRAM handling on MSX games - those also now back to files on the SD card so you can pick up where you left off.
  • Improvements to the Sord M5 driver so more games run correctly - Mahjong now works.
  • Improvements to the Coleco/ADAM driver so more games run correctly. Boulder Dash works properly and more ADAM disk games run properly.

V7.4 2022/06/05

  • Added back DrZ80 core and fixed Colecovision Boulder Dash so it doesn't crash.
  • Better Einstein CTC handling so timing is a bit more accurate.
  • Improved Einstein memory swap for faster performance.
  • Improved MSX mapper detection - about 30 more games playable without fiddling with settings.
  • MSX Pal game support added (it was only 80% working before this).
  • A few more frames of performance squeezed out to make more games run buttery-smooth.

V7.3 2022/05/31

  • Massive optimization of the VDP core and memory handling so we are now almost 35% faster on Colecovision games and more than 10% faster on all other systems.
  • Due to these optmizations, the DrZ80 core has been removed and only the high-compatibility CZ80 core remains.

V7.2 2022/05/14

  • Improved Einstein driver to allow SHIFT and CONTROL key maps.
  • Added AY Envelope Reset option for the few games that need it (Warp & Warp, Killer Station)
  • Added 2P mapping support for SVI games so MEGALONE (Burken Pak 14) and CRAZY TEETH will play properly.
  • Improved the SG-1000 driver so that the Dahjee and TW bootlegs work.
  • Added F1-F8 as assignable maps on Memotech

V7.1 2022/05/01

  • Fixed PV-2000 driver (broken in 7.0).
  • Minor optmization for the CreatiVision to help on older DS-LITE/PHAT.
  • Minor cleanups as time permitted.

V7.0 2022/04/27

  • Added Creativision emulation support with m6502 CPU core (requires bioscv.rom BIOS).
  • Coleco EEPROM support for Boxxle, Black Onyx, etc.
  • More definable keys for MSX emulation.
  • Minor cleanups as time permitted.

V6.9 2022/04/24

  • Much improved Tatung Einstein support. More than 50 games now run correctly. See readme.md for details.
  • Minor cleanups as time permitted.

V6.8 2022/04/20

  • Hanimex Pencil II support. Only one game dumped - Treasure Hunter.
  • Tatung Einstein support. Only .COM files run and requires einstein.rom BIOS.
  • Key map overhaul - you can now map any keyboard key to any NDS button.
  • Improved configuration of various machines - more games run including massive MTX improvements.
  • MTX MAGROM multi-cart is now supported! This provides 38 games in a 512K binary. Use ROM 1.05 or 1.05a.
  • Improved SVI emulation so games like Super Cross Force don't hang.
  • Numerous small cleanups under the hood.

V6.7 2022/04/10

  • Casio PV-2000 support (.pv rom files) - all 11 games run fine.
  • Improved emulated memory access to gain almost 1 frame of performance.
  • Numerous small cleanups under the hood.

V6.6 2022/04/07

  • CAS icon implemented to provide a menu of cassette-based actions including swapping tape/disk for multi-load games.
  • SC-3000 emulated more fully with support for the SC-3000 Survivors Multi-Cart.
  • PAL vs NTSC now supported for the Memotech MTX, Spectravideo SVI and SC-3000.
  • SAV files have been streamlined and are now smaller/faster. Old saves won't work. Sorry.
  • Better overall memory handling to keep the program size managable.

V6.5 2022/04/02

  • Spectravideo SVI (328) support added (.cas files auto-detected format).
  • MTX Cassette support added (.cas files auto-detected format).
  • Overhaul of full keyboard to support another row of characters and shoulder-button for SHIFT.
  • Increased config database to 1400 entries (from 700 - this version will auto-update)

V6.4 29-Mar-2022/03/29

  • Memotech MTX support added (.mtx and .run files only).
  • Better load file handling so more games are recognized correctly.
  • Other minor cleanups and fixes as time permitted.

V6.3 2022/03/12

  • ADAM Computer support is added! Play .ddp and .dsk games (requires eos.rom and writer.rom).
  • Other minor cleanups and fixes as time permitted.

V6.2 2022/01/29

  • Increased AY noise frequency dynamic range - improves MSX and CV-SGM sounds.
  • Increased AY tone frequency dynamic range - improves MSX and CV-SGM sounds.
  • Diagnoal d-pad mapping now available on SG-1000.
  • Other minor cleanups as time permitted.

V6.1 2022/01/25

  • Added full MSX keyboard overlay - Choose "MSX Full" in Game Options.
  • Improved ASC8 mapper so Bomber King, Batman Rovin and others now playable.
  • Added SRAM support to make Hydlide II, Dragon Slayer II (Xanadu) and Deep Dungeon 2 are now playable.
  • Added 'beeper music' sounds so games like Avenger, Batman - The Movie and Masters of the Universe have sound.

V6.0 2022/01/21

  • Improved MSX compatabilty - more playable games.
  • Added D-PAD to emulate MSX arrow keys.
  • Added D-PAD diagonals emulation.

V5.9 2022/01/19

  • Refactor of memory to gain another 128K of fast VRAM to improve Coleco MegaCart and MSX games.

V5.8 2022/01/16

  • Improved DMA memory handling of MSX to bump mega ROM games speed by up to 10%.
  • Improved loading databaes so more games detect memory mapper correctly.
  • Faster RAM swapping for improved loading speed on games.
  • Other cleanups and improvements under the hood.

V5.7 2022/01/12

  • Fixed RESET of Colecovision games.
  • Added MSX keypad template and configurable MSX key '5'.
  • Improved detection of 32K MSX basic games for better compatibility.
  • Allow 64K ROMs to be loaded in linear memory.
  • Allow 48K ROMs to be memory mapped.
  • Allow 32K ROMs to be loaded at 0K, 4K or 8K.

V5.6 2022/01/11

  • Improved loading of MSX 8K, 16K and 32K ROMs for higher compatibility.
  • Fixed so we only return joystick input for Port 1.
  • Fixed bug in memory write to Slot 1 (rare).
  • Minor cleanups across the board.

V5.5 2022/01/09

  • Major improvement in speed for MSX megaROM games.
  • Fixed RESET of MSX megaROM games.
  • Slight optmizations to all emulation cores.

V5.4 2022/01/07

  • AY Envelope sound handler improved - more games sound right.
  • MSX, SG-1000 and Sord M5 SAVE/LOAD states working.
  • Press X on ROM selection to force-load MSX game cart (in case auto-detect fails).
  • Faster audio processing to gain us almost 5% speed boost across the board.
  • Fix controls when launched from TWL++.
  • More cleanups and minor improvements under the hood.

V5.3 2022/01/06

  • Added MSX config to set BIOS on per game basis.
  • Added MSX config to set mapper type.
  • Upgraded Config Database to 800 entries.
  • Upgrade High Score Database to 575 entries.
  • Upgrade roms per directory to 1024 entries.
  • Autodetect between CV and MSX .rom files.
  • Revised MSX controller map for better game support.
  • AY optmization so MSX games run faster.

V5.2 2022/01/04

  • MSX1 now supports 256K and 512K mega ROMs.
  • AY Sound core re-written so noise and envelopes work (not perfectly accurate but good enough).
  • Optional you can use msx.rom BIOS if found in the usual places.

V5.1 2022/01/03

  • MSX1 emulation now supports some of the common Mappers - some of the 128K games work but you'll probably have to turn off Vert Sync and turn on Frame Skip to get it to run full speed.
  • MSX1 emulation is now 64K Main RAM.

V5.0 2022/01/02

  • MSX1 game support up to 32K Standard Loader (.msx format).
  • New 3/4 Frameskip (show 3 of 4 frames) to help DS-LITE.

Release notes.

Credits

Thanks to Alekmaul who provided the baseline code to work with and to lobo for the menu graphical design.

Thanks to Flubba for the SN76496 sound core.

Thanks to the C-BIOS team for the open source MSX BIOS (see cbios.txt)

Thanks to Andy and his amazing Memotech Emulator MEMO which helped getting some preliminary and simple MTX-500 support included.

Special thanks to Marat Fayzullin, as the author of ColEM which is the code for the core emulation (specifically TMS9918 VDP and the CZ80 CPU core). If not mistaken the original port was circa ColEM 2.1 with some fixes and updated Sprite/Line handling from ColEM 5.6

Without Marat - this emulator simply wouldn't exist.

External links

Advertising: