ColecoDS - Improved

  • Thread starter Thread starter wavemotion
  • Start date Start date
  • Views Views 76,701
  • Replies Replies 426
  • Likes Likes 29
New build coming in a day or so... I'm really happy with the new improved Memotech MTX driver - well over 80% of the games now play perfectly.

I also found a bug in the SVI driver so games like Super Cross Force don't hang after the first screen.

This little Coleco emulator has really branched out... but I continue to ensure that it's still focused on Colecovision / ADAM with performance on those two systems that hasn't decreased (well... maybe we've lost a half-frame) with all the additions.

1650461140558.png
 
New build coming in a day or so... I'm really happy with the new improved Memotech MTX driver - well over 80% of the games now play perfectly.

I also found a bug in the SVI driver so games like Super Cross Force don't hang after the first screen.

This little Coleco emulator has really branched out... but I continue to ensure that it's still focused on Colecovision / ADAM with performance on those two systems that hasn't decreased (well... maybe we've lost a half-frame) with all the additions.

View attachment 306836
I swear, this emulator has become the frickin' Retroarch of Z80-based consoles! Not even S8DS could match it lmao
 
I swear, this emulator has become the frickin' Retroarch of Z80-based consoles! Not even S8DS could match it lmao
Given that I hold S8DS (along with @FluBBa's Nitrografx) as the two most amazing bits of DS homebrew - that's as high a praise as I can get! It almost makes the 200+ hours of development time worth it. Almost :D
 
https://github.com/wavemotion-dave/ColecoDS

V6.8: 20-Apr-2022 by wavemotion-dave
  • Hanimex Pencil II support. Only one game dumped - Treasure Hunter! Requires pencil2.rom
  • 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 and improvements under the hood.
Massive update... save files and config file will be wiped on upgrading. If you're happy with v6.7 you don't need to move forward but I hope some of you will make the switch and the promise of improved features going forward. I'm not adding any more systems (honestly, we're out of Z80, TMS9918/9929 Video, SN/AY Sound systems anyway). I will be improving compatibility and getting those "one off" games to run properly as best I can. The Einstein needs the most work - I think the interrupts are not hooked in quite right so that's causing keyboard read issues. I also want to add the Colecovision EEPROM support for the half-dozen games that use it.

Enjoy - and thanks to the core of you who are always encouraging of these efforts. It means a lot!
 
I spent an evening reading and re-reading the Tatung Einstein hardware manual to try and figure out why my emulation is so poor. The only working Einstein emulator is MAME and it's not very well commented. I feel like I'm doing everything reasonably correctly and yet the compatibility is very poor.

The Tatung Einstein TC-01 and 256 were high-end machines with floppy disks built in plus a serial port and all kinds of really nice hardware possibilities. Apparently more than a few Z80 developers used these machines to program their games for other machines (Speccy, MSX, MTX, etc).

1650554196697.png



The hardware manual has been invaluable in getting my knowledge up on this machine. But the problem in my emulation has been elusive... until this morning with coffee when I realized something: it's not what the hardware manual INCLUDES but rather the manual is MISSING.

Namely that when the VDP (video display processor) hits a Vertical Blank (50 times or 60 times per second depending on PAL vs NTSC), there is NO interrupt generated. This is highly unusual. Every other Z80, TMS99x8 system ties the VDP vertical sync to some interrupt source on the Z80 microprocessor. Except this strange beast of a machine!

1650554639460.png

So I'm really amazed that my emulation works at all... since I'm calling the standard interrupt source on vertical blanks. Maybe some games (the working ones) don't care... they might not do anything with the interrupt source. But most games will want to hook into the interrupt source and my firing this interrupt will cause the Z80 CPU to jump to a vector for the wrong reason. I don't know if this is my problem - but it's 90% sure to be a major problem with my emulation of the Tatung Einstein. When I get home from work today, I will certainly try it!
 
Yeah ! Thanks Dave, as always you made an awesome work ! :)


.dsk files can works if I rename the extension ?
No... I don't yet parse .dsk files. I had to use a .dsk tool extractor to pull the .COM files off the .dsk files.

I will fix that... but my first goal is to get the emulation for the Einstein in better shape!
 
Version 6.9 released: https://github.com/wavemotion-dave/ColecoDS

V6.9: 24-Apr-2022 by wavemotion-dave
  • Much improved Tatung Einstein support. More than 50 games now run correctly. See readme.md for details.
  • Minor cleanups as time permitted.
The Tatung Einstein is almost conquered. I still don't process .DSK files directly... the emulation of the floppy drive is complicated. For now, you will need .COM files which are direct-run executable files that are found inside the .DSK images. To extract .COM files, you will need one of the following programs:


With either of these tools, you should be able to extract more than 50 .COM games that currently work. Some .DSK images contain only basic files or games that need more than the .COM itself to work (e.g. Zork I, II, III). These won't yet work in ColecoDS. A future version of the emulator will support .DSK files directly... hopefully.


There are many great Einstein games... but if you only play one, my favorite is GRONKS which is a port/improvement of MAZIACS on the ZX Spectrum which is itself a revision of the original Don Preistly game of MAZOGS on the ZX81 (black and white... no sound on that version).

It's a brilliant little dungeon crawler. Random maze is generated each game play. Your little hero moves through the maze (press space button to see full maze in-game) and can pick up a sword (guaranteed to win battle against a single Gronk... otherwise your chances are 50/50 with no sword). You can eat food (red) to keep your energy up. You can talk to prisoners (green) by just pressing into them with your little guy and they will temporarily light up the path to the treasure. Get the treasure and bring it all the way back to the starting point to win. Super simple but really fun.
1650806092703.png



Edit: Search for "Tatung Einstein Gamebase" for the best dumps of these obscure games - including a dozen that were painstakingly unprotected so they will run properly. I've now got over 60 Einstein games running on ColecoDS.
 
Last edited by wavemotion,
Not ready for a new build but did check in 6.9a with EEPROM support for the few Colecovision games that use it.

This has been on the "to-do" list for a long time... seemed like significant effort for just 4 games (Black Onyx, Boxxle, Acromage and Jewel Panic). Only 2 of those roms are public which is part of the reason I waited so long :)

In any event, the EE support is in and is auto-backed to a file on your SD card so the saves will be persistent. Boxxle is super fun!

boxxle-scr-6-cv-dk.png
 
I need an intervention.

1650992110759.png


In 1981, a system called the CreatiVision was like the Colecovision and Intellivision had a child out of wedlock. This thing featured the same video chip (TMS99x8) and the same sound chip (SN) as the Colecovision but rather than a Z80 CPU, it featured the M6502 chip (like used in the Apple or Atari or Commodore systems).

And... as it turns out... someone ported ColEM (the baseline emulator I started with) into a CreatiVision emulator (called FunnyMU). This swaps out the Z80 core for the M6502 core.

And so all I have to do is port that port to my port and.... we will have 17 exclusive games to play on this weird system!

Someone please talk me out of this... before it's too late!

1650992296815.png
 
Hi Dave, thanks for all the efford you put in ColecoDS. You are a hero! :bow:
I was testing some MSX and Tatung Einstein games, and some use the function keys (F1 - F8) of the keyboard to control the game. But I can’t map them to one of the controls of the DS. (they are not selectable) Can you add them? Thanks.
 
I need an intervention.

View attachment 307627

In 1981, a system called the CreatiVision was like the Colecovision and Intellivision had a child out of wedlock. This thing featured the same video chip (TMS99x8) and the same sound chip (SN) as the Colecovision but rather than a Z80 CPU, it featured the M6502 chip (like used in the Apple or Atari or Commodore systems).

And... as it turns out... someone ported ColEM (the baseline emulator I started with) into a CreatiVision emulator (called FunnyMU). This swaps out the Z80 core for the M6502 core.

And so all I have to do is port that port to my port and.... we will have 17 exclusive games to play on this weird system!

Someone please talk me out of this... before it's too late!

View attachment 307628
At this point it has become a sport of digging out the most obscure systems :rofl: Should it rather be called the CollectAllDS?
 
https://github.com/wavemotion-dave/ColecoDS

V7.0: 27-Apr-2022 by wavemotion-dave
  • Added CreatiVision emulation support with m6502 CPU core.
  • Coleco EEPROM support for Boxxle, Black Onyx, etc.
  • More definable keys for MSX emulation.
  • Minor cleanups as time permitted.
The CreatiVision (aka Wizzard) emulation is in... all 20 or so games work but there is a small issue with sound on a few games. For example, the harpoon fire/shot does not make a sound in Deep Sea and Planet Defenders (same game, different theme/graphics). And Sonic Invaders has a high-pitch tone that is annoying. Both of these audio artifacts are present on the source emulator FunnyMU and not present on real-hardware. So I'm not sure what's going on... but I will debug it another day. The missing sound in Deep Sea and Planet Defenders is really minor enough - those are still fun and playable. Other games seem to have generally correct sound. Maybe there is something unusual about the hardware for the CreatiVision and they assume some frequencies/tones won't be produced by the hardware...

EDIT: I patched Sonic Invaders so it's not high-pitched screechy. Not a perfect fix but good enough for now.

You will need a bioscv.rom BIOS for this machine and rename the .BIN/.ROM files to .CV so it loads up the right driver.

Search for "creativision emulation central" and google will bring you to the page of a guy who has taken the time to accumulate everything known to exist for this obscure system.

To play a game, you must hit the RE button and then use the A/B buttons to select the game variation you want to play.
Then hit ST to start... odd arrangement for an odd system!

1651072317644.png


@Harry7228 - added function key support for MSX. Didn't have time to update the Memotech MTX driver but will do so on the next release.
 
Last edited by wavemotion,

Site & Scene News

Popular threads in this forum