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
 
(63 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Infobox DS Homebrews
{{Infobox DS Homebrews
|title=ColecoDS by wavemotion
|title=ColecoDS Phoenix Edition
|image=Colecodswav2.png
|image=Colecodswav2.png
|description=A Colecovision 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/01/12
|lastupdated=2024/11/17
|type=Console
|type=Console
|version=5.7
|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 Emulator for the DS/DSi, based on [[ColecoDS|ColecoDS]] by Alekmaul.
ColecoDS is a Colecovision and ADAM Emulator for the DS/DSi. [[ColecoDS|Original port]] by Alekmaul.  


Because the chips used in the Colecovision Hardware were so common in that era, other systems tended to be very close to the CV in terms of hardware. Often only the IO/Memory was different.
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.
 
As such, this emulator also allows cartridge (not disk or cassette) games from "cousin" systems to be played, namely the Sord M5, the SG-1000 and the MSX1.


==Features==
==Features==
* Colecovision game support (.rom or .col files).
* 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).
* 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.
* Full Controller button mapping and touch-screen input.
* High-Score support - 10 scores per game.
* High-Score support - 10 scores per game.
Line 29: Line 40:
* Overlay support for the few games that need them.
* Overlay support for the few games that need them.
* Super Action Controller, Spinner and Roller Controller (Trackball) mapping.
* Super Action Controller, Spinner and Roller Controller (Trackball) mapping.
* Sega SG-1000 game support (.sg roms).
* Sord M5 game support (.m5 roms) - requires sordm5.rom BIOS.
* MSX1 game support (.msx or .rom) up to 512K.
* Full speed, full sound and full frame-rate even on older hardware.
* Full speed, full sound and full frame-rate even on older hardware.


==Installation==
==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/.
To run requires a coleco.rom BIOS to be in the same directory as the emulator or else in /roms/bios/ or /data/bios/.
* For Sord M5 games, you will also need an 8k sordm5.rom bios in the same directory as the coleco.rom BIOS.
 
* SG-1000 emulation does not need a BIOS.
Below is the list of BIOS files with CRC32 hashes tested by the author (CRC32, bios file, emulated machine/version):
* MSX emulation does not need a BIOS (C-BIOS used), but you can put msx.rom in /roms/bios/ or /data/bios/ and the emulator will use that instead.
* 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 [https://github.com/wavemotion-dave/ColecoDS/blob/main/README.md#adam-compatibility- can be found on the readme].


==User guide==
==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===
===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:  
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:  
Line 63: Line 110:
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.
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.


===MSX Compatibility===
===Optimize game speed===
Considering this is a Colecovision emulator, the MSX1 support and compatibility is reasonably high. If a game doesn't run, you can try these suggestions:
* A small number of games don't work with the open-source C-BIOS. In this case you would need a real msx.rom BIOS. You can set this up in Game Options.
* Games greater than 48K tend to use memory mappers. The emulator will guess but that's often not good enough. Use Game Options to try different mappers.
* Some of the really big games (128K or larger) run slow. If you're not getting full frame rate, you can try switching to the DrZ80 core (not all games will run with this) and/or you can disable Vertical Sync and/or enable Frame Skip.  Recommend you turn off Vertical Sync at a minimum to get the most speed from large MSX games.
* 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 someone made a clean 512K version that loads and runs great.
 
===Additional notes===
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:
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 off Vertical Sync.
Line 76: Line 116:
* Set Max Sprites to 4.
* Set Max Sprites to 4.
* Switch to the DrZ80 fast CPU core.
* 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==
https://dlhb.gamebrew.org/dshomebrew/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.


===Controllers===
'''V6.3 2022/03/12'''
You can map buttons to either P1 or P2 controllers.  
* ADAM Computer support is added! Play .ddp and .dsk games (requires eos.rom and writer.rom).
* Other minor cleanups and fixes as time permitted.


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).
'''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.


For the MSX emulation, the colecovision keypad is mapped as follows:
'''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.


{| class="wikitable"
'''V6.0 2022/01/21'''
|-
* Improved MSX compatabilty - more playable games.
| 1 || 2 || 3
* Added D-PAD to emulate MSX arrow keys.
|-
* Added D-PAD diagonals emulation.
| 4 || 5 || STOP
|-
| M1 || M2 || M3
|-
|  SPC || 0 || RET
|-
|}


==Screenshots==
'''V5.9 2022/01/19'''
https://dlhb.gamebrew.org/dshomebrew/colecodswav3.png
* Refactor of memory to gain another 128K of fast VRAM to improve Coleco MegaCart and MSX games.


==Known Issues==
'''V5.8 2022/01/16'''
* Borders are not correctly rendered - only a few games utilize them and are still fully playable without this.
* Improved DMA memory handling of MSX to bump mega ROM games speed by up to 10%.
* Games that utilize voice samples (Squish Em Sam, Wizard of Wor, etc) will not play the speech.
* Improved loading databaes so more games detect memory mapper correctly.
* 64K Activision PCB carts have no EEPROM support (Black Onyx, Boxxle - both playable without saves).
* Faster RAM swapping for improved loading speed on games.
* The original 2011 release of StarForce will crash - this is a known bug. There is a patched version of the game StarForce on Atariage.
* Other cleanups and improvements under the hood.
* Sord M5 games are not sound accurate due to CTC emulation issues.
* MSX envelope sound and noise emulation not accurate (close enough).
* MSX Konami SCC sound chip is not emulated (Gradius 2/3, Salamander, etc. won't have music).


==Changelog==
'''V5.7 2022/01/12'''
'''V5.7 2022/01/12'''
* Fixed RESET of Colecovision games.
* Fixed RESET of Colecovision games.
Line 164: Line 453:
Thanks to Alekmaul who provided the baseline code to work with and to lobo for the menu graphical design.
Thanks to Alekmaul who provided the baseline code to work with and to lobo for the menu graphical design.


Thanks to Reesy for the DrZ80 core.
Thanks to Flubba for the SN76496 sound core.


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.


Thanks to the C-BIOS team for the open source MSX BIOS (see cbios.txt).
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


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==
==External links==
* 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: