Jump to content
IGNORED

ColecoDS - An Emulator for the DS/DSi/3DS - Official Release and Discussion Thread


Recommended Posts

image.png.cf6eae3bcc3433c29f4c2bcae3f25fc1.png

 

ColecoDS is an emulator for all things Colecovision and ADAM for your DS/DSi/XL/LL:  https://github.com/wavemotion-dave/ColecoDS

 

Just put out the 9.1 release (the first ColecoDS release of 2024) which adds a real Konami SCC driver for improved sound on the MSX1 games that take advantage of that powerful audio chip.

 

Everything is polished - the Colecovision and ADAM compatibility is very high with just about every game and program playing perfectly. Most of the 'cousin' systems (MSX1, PV-2000, Sord M5, SG-1000, MTX, Tatung Einstein and SVI) are similarly running very close to perfect. I've also added custom overlays for the two new Team Pixelboy games released at Christmas (Space Shuttle and Utopia).

 

I'm well over 300 hours on this emulator.. massive thanks to @alekmaul for the original port and to everyone that has provided feedback, suggestions and help along the way.

Features :

  • Colecovision game support (.rom or .col files). Requires coleco.rom BIOS.
  • Super Game Module support with 32K and AY sound chip.
  • Megacart Bankswitching support (up to 1024K).
  • Coleco ADAM game support (.ddp or .dsk files). Requires eos.rom and writer.rom
  • 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
  • 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.

 

image.thumb.png.4634d6d910393752a634a9be4aa3567c.png

 

 

image.thumb.png.b43ac3899f7c440b69add5a5fcbe570f.png

  • Like 2
  • Thanks 3
Link to comment
Share on other sites

  • 2 weeks later...
ColecoDS v9.2 is released.
 
This version brings in a new (proper!) AY sound chip driver to make all of the latest SGM homebrews plus MSX1, Tatung Einstein and SVI games sound their best. My old driver was a "Fake AY" which just turned the AY sound chip writes into equivalent SN (Colecovision) chip writes. But that was never adequate - the AY has a wider dynamic range, full Envelope support for cool and funky sound generation and more robust noise handling. Some programmers didn't utilize the full capabilities of the AY and for that, my old "Fake AY" driver was fine... but for the best sounding games, with a true AY driver, we now get the full range of dynamic sounds of this awesome chip!
  • Like 7
Link to comment
Share on other sites

  • 1 month later...

ColecoDS 9.4 is available:  https://github.com/wavemotion-dave/ColecoDS 

 

Since the Colecovision, ADAM and SGM support is pretty much complete and running at high compatibility, the last couple of releases have been improvements to many of the cousin systems. This version brings in improvements for the Spectravision SVI 3x8 and the Tatung Einstein. 

 

image.png.6670ba19f9193ad30ea0f22dd916f9f2.png

  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...

I'm working hard getting the ADAM emulation updated for the next release. I've got two full DSDD (320K) disk drives enabled plus a standard Tape drive (256K) with a new menu to select whatever media you want.

 

I'm excited! I might be the only one :)

 

image.png.f4b58870ff9a3aba08055481d3289890.png

 

I've also got the 1MB expanded RAM working on the DSi and above (the DS-Lite/Phat will have to "struggle" with just 128K of RAM - the base 64K and one bank of expanded 64K .... though to my knowledge, everything known to mankind should run with that configuration).

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

https://github.com/wavemotion-dave/ColecoDS

V9.5: 30-Mar-2024 by wavemotion-dave

  • 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 for the Adam (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.


This one is a big update. Save states and configs are changed to allow more flexibility for me into the future. Sorry.

This release started as a cleanup of the Tatung Einstein driver but got out of hand with a desire to really get the Coleco ADAM emulation up to a much higher compatibility level. I had a breakthrough in disk/ddp handling and decided to really pour on the additions for the ADAM to bring it to a nice new plateau.

I've reworked the top row of the keyboard graphic to squeeze in another key and make it a bit more authentic looking - obviously with space constraints, I've had to take some liberties with the layout to fit on the DS screen with the goal of keeping the SmartKeys reasonably centered.
 

1711796506983.png
 
 
In settings you can change the speed of the AdamNet drive handling. The default is FAST - but if you want a somewhat more authentic experience, you can choose SLOW or SLOWER - neither of which is quite as slow as an original Coleco disk (or tape) drive ... but you'll get longer loading (with sound effects!) and more visible time on loading screens and maybe that's your jam. Me? I'm old enough now that I don't want to waste too much of my remaining life-force waiting for things to load :)
 
I hope you guys enjoy it! Do let me know if you use the emulator - I'm well over 500 development hours into this now and feedback is hugely appreciated.
  • Like 4
Link to comment
Share on other sites

  • 2 weeks later...

https://github.com/wavemotion-dave/ColecoDS

 

V9.6: 08-Apr-2024 by wavemotion-dave

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

 

Finally getting to the point where the AdamNet and disk/ddp handling is working smoothly with some of the holdout games now loading and running properly.

 

I've also jettisoned the entire DrZ80 core which was faster than the CZ80 core but did not have the same high-level of compatibility. I've made enough improvements over the years to gain the speed needed that we can run everything under the new higher-accuracy Z80 core. DrZ80 served me well - but like many things in life, it's time to move on. That also freed up about 40K of precious DS resources for future expansion.

  • Thanks 1
Link to comment
Share on other sites

Hi everyone, I have a Nintendo Dsi with box and original instruction manual. I wanted to try this out , but since I am a right-handed game player, I don't think this is going to be a good option for me.

 

I would like to sell or trade this Nintendo Dsi console system to someone who may be interested in this Colecovision emulator / Colecovision portable gaming system!

 

IMG_1037.thumb.jpg.9d92ca57c00a8e87abc5a633419442c9.jpg

 

If anyone is interested, please let me know. Send me a private message.

 

thank you,

 

 

Tim

Link to comment
Share on other sites

https://github.com/wavemotion-dave/ColecoDS

 

V9.7: 16-Apr-2024 by wavemotion-dave

  • 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 auto-patch for 'Fast BIOS' to force the 15 second wait down to 3 seconds.
  • Minor cleanup and optimizations to the Adam core.

ColecoDS is asymptotically approaching 100% compatibility. No emulator quite reaches that state of perfection but for classic and homebrew Colecovision carts (with and without SGM), I'd put ColecoDS at the arbitrarily precise 98.3% level. I have no scientific proof for this number - it's just a wet finger in the air guess.

 

Some users were operating with non-original BIOS to cut down on the 15 seconds of COLECOVISION banner time... and some of these BIOS files were a bit too drastic in their modifications and caused some compatibility problems. I strongly recommend you use the original Colecovision BIOS with a CRC32 of 3aa93ef3 - to that end, I've added a global option that will patch a single byte (in memory - leaving your original BIOS pristine) to drive the 15 seconds of banner display down to about 3 seconds. Slow enough that you get the nostalgic feels of the game "loading" but fast enough that you get on with your gameplay quickly.

 

Lastly - someone asked me recently what am I going to do when I get to the release after 9.9... of course I'll simply go to 10.0 - because, as it turns out, there are lots of numbers in the universe.

 

image.png.3f4599a91c2438ccb2f87ba37b674918.png

  • Like 3
Link to comment
Share on other sites

48 minutes ago, Pixelboy said:

Wait, does that mean Boulder Dash has problems running on the ADAM? That'd be news to me...

No... it means that when I coded the mirrors for the colecovision emulation I got it wrong. For emulation purposes, I write to all mirror locations so that the readback (which is generally more frequent) is fast - and I goofed one of the mirrors.

 

So Boulderdash occasionally writes and reads from the 0x6C00 block - which would work fine on an ADAM provided whatever it wanted there was likewise written to 0x6C00. But in my emulation, I had this bug:

image.thumb.png.a4c60555c55c30212e88ea812cb37eb1.png

 

So when the game wrote to memory, I wrote it to all mirror locations EXCEPT 0x6C00 (I wrote 0x6800 twice). This was the only game that I had trouble with for years until I discovered my mistake with mirror handling.  With my bug, the game would run but would occasionally (but not always) hang later in the first stage. Interestingly enough, other games that utilize RAM mirrors worked fine - probably because they were not specifically affected by the one broken mirror (7 years of bad luck).

 

Dave

  • Like 1
Link to comment
Share on other sites

https://github.com/wavemotion-dave/ColecoDS

V9.8: 23-Apr-2024 by wavemotion-dave

  • 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.

There were a lot of changes "under the hood" on this one. Hopefully I didn't break anything image.gif.3c85a2fb26c8ef0a6518efeeebcaa6ac.gif

  • Thanks 3
Link to comment
Share on other sites

Spent some time this weekend polishing up the Colecovision overlay handling. Not a ton of CV games utilize the overlays - feels like a missed opportunity in some ways but maybe they were saving costs?  Or maybe the typical arcade port didn't need an overlay. Anyway, I added a couple new virtual overlays to bring the total up to 12 supported overlays and cleaned up a few older ones - and it should now auto-apply the correct overlay if you're using a ROM with a known good checksum (you can still select the overlay manually in the game config).

 

image.thumb.png.3e2b21bc98e73cc2d4b6e04b7728ce3a.png

  • Like 3
Link to comment
Share on other sites

https://github.com/wavemotion-dave/ColecoDS

V9.9: 02-May-2024 by wavemotion-dave

  • 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 of actual hardware.
  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...