ColecoDS - Improved

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
922
Trophies
1
XP
7,499
Country
United States
Edit: And it's released! https://github.com/wavemotion-dave/ColecoDS

Coming soon! Once again, thanks to the generosity of Alekmaul who provided me the source code, this 2011 DS emulator will be given the "PHOENIX EDITION" treatment and be renewed for the DS/DSi in 2021.

So far I've been able to get it to build under the latest DEVKIT toolchain. It's got speed issues (even on the DSi) and Sound issues but that's where I shine. Once I get the speed and sound working well enough for the DSi, I'll put it up on github (with Alek's permission).

@RocketRobz - you may as well prepare yourself... it will be .col files that will load with this updated Colecovision emulator :)

I'll make sure it has lots of options for controller mapping and eventually get in Super Game Module and other modern homebrew support.

This will very likely be the last emulator I work on for the DS/DSi. I'll maintain the other ones I've worked on... but I'm over 300 development hours and it's time to just enjoy the gaming :)


1636392804217.png
 
Last edited by wavemotion,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
922
Trophies
1
XP
7,499
Country
United States
I've heard about this emulator on the DSi Mode Hacking discord server, you're seen as a sort of "8-bit" celebrity lmao
If you were to meet me, it wouldn't take long to dispel any notions of celebrity!

With a few optimizations, I've now got enough speed to render virtually every game full speed on the DSi... the sound still leaves a lot to be desired. It's improved - but has only gone from "unbearable" to "barely adequate". Those of you who were there at the start of Nintellivision know the kind of sound I'm talking about ... gritty and not at all smooth. Unfortunately the sound engine here is all in ARM assembly so it's gonna take a bit more time to get right.

Also, for some reason, Space Fury crashes after the first round. No idea what's going on there...
 

Indy13

Well-Known Member
Member
Joined
Jan 26, 2017
Messages
621
Trophies
0
Age
45
XP
1,348
Country
France
Hi @wavemotion , just a quick passage (because I have a very busy schedule) to salute your work, I am not participating a lot at the moment but I am following the progress of your emulators, your work is impressive, thank you for everything, the time you devote to it and the clarity of your explanations, it's really very interesting and it makes you want to learn to program ;)
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
922
Trophies
1
XP
7,499
Country
United States
I appreciate the support guys... unfortunately the first day on this project has been a bit painful.

There are sound issues. Major ones. What you see below in my first alpha release is very rough sound... it's passable and about 10x better than what I started with... but it's still pretty bad. I really did not want to spend my first day working out major sound issues - especially after spending two weeks cleaning up the sound on my other projects.

Speed is okay - with a few optimizations, I've got the games playing full speed on the DSi and many games will also play full speed on the DS-LITE/PHAT. I can improve the speed - but it doesn't have far to go.

Many games play fine - but there are some notable problems:
  • Space Fury will crash after a screen or two.
  • Beamrider is missing the entire background grid and corner graphics (wow?!)
  • After you load Centipdede, you have to Reset it as it usually crashes 1st time.

The 0.0 Alpha release is up. Alekmaul had this at version 4.0 but I'm probably going to start over with the Phoenix-Edition.

You can grab it if you really want to see what a first cut alpha release looks like:

https://github.com/wavemotion-dave/ColecoDS (code will be coming soon)

You will need the coleco.rom BIOS in either the same directory as the emulator or in /roms/bios or /data/bios

Save States button and Overlays don't work - they are disabled for now.

If anyone manages to get any fun from this at this early stage, I'd appreciate knowing :D

Sorry it's not better - I wanted this first alpha to be really playable! I'm really bummed out this has so many lurking issues under the hood. I was hopeful to get rolling on the additional features right away.
 
Last edited by wavemotion,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
922
Trophies
1
XP
7,499
Country
United States
I appreciate the appreciation.

I've just uploaded v0.1 which has improved speed to the point where it should run full-speed (without frameskip!) on the older DS-LITE/PHAT and, of course, it's fine speed-wise on the DSi and above.

I managed a bit better sound - it's almost to the point where it's not an embarrassment :)

I added BIOS detection support... and if the BIOS is not found, it will tell you (with instructions on where to put it).

Now to look at some of the bugs...
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
922
Trophies
1
XP
7,499
Country
United States
iirc s8ds supports colecovision games. How does this compare?
S8DS is superior at this point - though it has the Carnival bug with the bear that is present in all the early emulators which I've fixed :)


I'm not sure if S8DS will run full-speed on the older DS-LITE... but if so, that's still the recommended emulator until this one gets into shape.

Edit - found the Beamrider bug! Turns out color 0 means "transparent" ... it was a bug in the old ColEM core and someone discovered it years ago and it was fixed. But the codebase I have is older still :)

Also fixed HEIST so it runs properly - main memory had to be cleared to zero.

And a bit more speed - most everything should run fine on the older DS hardware.
 
Last edited by wavemotion,

avery217

Member
Newcomer
Joined
Jun 26, 2021
Messages
21
Trophies
0
Age
69
XP
114
Country
United States
Dave - thank you for this initial release (0.1). Running at full speed on my DSi. Audio is a little scratchy, but good overall. This is really impressive for a 1st release. Thank you. Also, there is a no-delay BIOS out there (Google is your friend) that works great with this release. The Colecovision is my favorite retro system, there are just so many great games for it. Even to this day, the Colecovision Homebrew scene is quite active.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
922
Trophies
1
XP
7,499
Country
United States
Just checked in 0.2 Alpha... I've added Bankswitching and preliminary Super Game Module (SGM) support (RAM only... sound is not yet hooked in).

I'm fairly sure that no other Coleco Emulator on the DS/DSi will play these huge bankswitched games.

Yes, this is the 256Kb Dragon's Lair ported from the Adam Computer...

1636588469510.png
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
922
Trophies
1
XP
7,499
Country
United States
Version 0.3 is up on my github: https://github.com/wavemotion-dave/ColecoDS

Space Fury is fixed as is Centipede! Probably a bunch of other games too... bug was in the VDP handling with the old ColEM core... they fixed it in v2.9 and I've ported over that change.

I've increased the bankswitch to allow up to 512k carts to be played - that's silly big... and the only game that I know of that takes advantage of it is the homebrew Wizard of Wor which is beyond excellent (with an AI controlled 2nd player!). Yes, it runs full speed on the DSi... and, guess what? It runs full speed on the DS-LITE/PHAT as well. I enabled some optimization for a 20% speedup in the Z80 cpu which should render almost every game playable on the older DS hardware.

Now we're cooking! If I could just manage to smooth out the sound a bit more.

1636637728903.png



Edit: found one sound problem and fixed it! That improves things - the sound is just about passable now. Still needs work but at least it's not embarrassing.
 
Last edited by wavemotion,

NightScript

Well-Known Member
Member
Joined
Feb 7, 2016
Messages
951
Trophies
1
Age
20
XP
2,243
Country
United States
S8DS is superior at this point - though it has the Carnival bug with the bear that is present in all the early emulators which I've fixed :)


I'm not sure if S8DS will run full-speed on the older DS-LITE... but if so, that's still the recommended emulator until this one gets into shape.

Edit - found the Beamrider bug! Turns out color 0 means "transparent" ... it was a bug in the old ColEM core and someone discovered it years ago and it was fixed. But the codebase I have is older still :)

Also fixed HEIST so it runs properly - main memory had to be cleared to zero.

And a bit more speed - most everything should run fine on the older DS hardware.
Since S8DS is now open source, why not modify that if it's the superior one?
 
  • Like
Reactions: banjo2

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
922
Trophies
1
XP
7,499
Country
United States
Since S8DS is now open source, why not modify that if it's the superior one?
It was superior yesterday. Less so today :)

I've got a patch in to improve the sound - not perfect but very passable now. And with the most recent core bug fixes, it runs the same Coleco games as S8DS plus all of the megacart and Super Game Module games. Plus it has a codebase I'm familiar with as my emulators are all based on Alekmaul's originals (even the ground-up ones follow the same programming techniques - you could say I learned how to program the NDS from his examples).

In all fairness, ber caught me off guard only 1 day into debugging this and getting it running on the DSi and the number of problems was frustrating me. My answer was probably as much frustration as fact.

However... none of that matters as I actually didn't know S8DS was open source - otherwise might have started there... oh well, In for a penny, in for a pound! I'm going to continue with ColecoDS as it's now starting to shape up nicely.


Edit: Save and Load states checked in... supporting both normal carts and Super Game Module and MegaCart games. Use with caution - it hasn't been fully tested and the .sav format will likely change on release.

1636658741718.png
 
Last edited by wavemotion,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
922
Trophies
1
XP
7,499
Country
United States
https://github.com/wavemotion-dave/ColecoDS

Version 0.4 is checked in... not ready for an official launch yet but this is the first version with command-line parameter support so it can be hooked into TWL++ if @RocketRobz wants it (.col files please).

Next up is High Score support and then I need to add the Super Game Module AY sound chip. I've been avoiding it because those of you who know me can attest that I hate sound chips. They are my white-whale. Fortunately that sound chip is virtually the same as the one used on the Intellivision so maybe I'll have better luck here.


1636724698422.png


Edit: High Score support is in.
 
Last edited by wavemotion,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Makes you want to give a blowie to whoever invented ac +1