CreatiVision Emulation on the DS/DSi

Talk about programming CreatiVision (except games programming). Projects of homebrew hardware are also welcome.
Post Reply
User avatar
wavemotion
Posts: 8
Joined: Sat Jul 15, 2023 1:12 am

CreatiVision Emulation on the DS/DSi

Post by wavemotion » Fri Jul 21, 2023 6:53 pm

So this is the semi-official thread where I'll post updates to my emulator for the Nintendo DS/DSi (people also run it on the 2DS/3DS/XL units but I don't use them).

ColecoDS is an emulator written for the DS/DSi that emulates 11 different systems all based around common hardware - one of those systems is the CreatiVision. The nice thing about the DS/DSi is that the native screen resolution is 256x192 - that should sound familiar to anyone who has programmed for the TMS9918/9929 chip.

I've had CV emulation in place for almost a year now, but the emulation wasn't all that accurate. Thanks to the great minds here on the forums and thanks to Luca's site, I've been able to figure out tons of insights and get the emulation much more accurate.

I'm a few days away from launching version 8.1 on my github site which will have all the fixes in place: https://github.com/wavemotion-dave/ColecoDS

The CreatiVision driver of this emulator supports the following:
  • ROMs up to 32K loaded either Legacy A/B, Linear (up against C000h) or 32K Bankswapped (as might be used on the MegaCart) - the emulator takes its best guess which is almost always right but the user can override how the ROM is loaded.
  • CSL emulation with RAM at 4000h to BFFFh and the ability to load either of the released 16K CSL bios ROMs (not provided - users can find it on their own)
  • Simplified keyboard overlay which is fine for most of the commercial games and a custom keyboard in the CreatiVision style using the touch screen.
  • The ability to load ASCII .BAS listings directly into VDP and run them via one of the four major released BASIC revisions.
  • All games run full framerate using the PAL standard with reasonable sound sampling at 22KHz (not perfect, but fine for handheld use).
  • High Scores - up to 10 for each game with date/initials
  • Save and Load State so you can snapshot your position and come back and pick up where you left off.
Given the DS hardware, the emulator can only produce joystick inputs in 8 directions but that's fine for the entire library of commercial games.
My friend does the graphic design and he is still tweaking the CV keyboard/keypad layout. It's really nice, IMO - but we had to take some creative liberties due to the small size of the DS touch-screen.
ColecoDS_0.PNG
ColecoDS_2.png
You do not have the required permissions to view the files attached to this post.
User avatar
cheshirenoir
Posts: 283
Joined: Sun Jun 02, 2019 5:17 am

Re: CreatiVision Emulation on the DS/DSi

Post by cheshirenoir » Fri Jul 21, 2023 11:45 pm

That's some damned impressive work!
I love the subtle split in the touch keyboard harking back to the real keyboard.
I guess I better get some way of running homebrew on my 3DS organised :-D

John
User avatar
wavemotion
Posts: 8
Joined: Sat Jul 15, 2023 1:12 am

Re: CreatiVision Emulation on the DS/DSi

Post by wavemotion » Tue Sep 03, 2024 12:43 pm

I've updated ColecoDS to version 10.1 with some improvements to the CreatiVision emulation.

I've fixed the ADC decimal-mode bug that prevented the new DiagnosticsC cart from successfully running. This also fixes all of the common games that would show scores in HEX which is not correct - the carry was not set properly using decimal mode and so games like Sonic Invaders and Deep Sea Adventure would start showing hex digits when the '9' rolled over to 'A' (instead of '0' with a carry).

I've also corrected the underlying M6502 emulation to handle consuming an extra cycle on many instructions which cross the page-boundary. The CreativEMU got this wrong though in practice it doesn't have a massive effect.

Lastly, I've added most of the common/stable 'illegal' opcodes to the CPU emulation. To my knowledge - nothing on the CV uses these... but it's future-proofed.

https://github.com/wavemotion-dave/ColecoDS
User avatar
MADrigal
Site Admin
Posts: 1257
Joined: Sun Sep 15, 2013 1:00 pm
Contact:

Re: CreatiVision Emulation on the DS/DSi

Post by MADrigal » Wed Sep 04, 2024 10:51 am

Thanks that's great!
Post Reply