ColecoDS - Improved

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
919
Trophies
1
XP
7,389
Country
United States
Version 8.3 is up at: https://github.com/wavemotion-dave/ColecoDS
V8.3: 10-Aug-2023 by wavemotion-dave
  • 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.

    Tons of updates... Memotech MTX all straightened out. Tatung Einstein got a new keyboard. Cleanup across the board.

    1691676829583.png
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
919
Trophies
1
XP
7,389
Country
United States
Version 8.4 is up at: https://github.com/wavemotion-dave/ColecoDS

V8.4: 15-Aug-2023 by wavemotion-dave
  • 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.

The Keyboards Strike Back... more improvements to the keyboard handling across the board. I think the keyboard emulation on most of the Coleco-cousin systems are now pretty robust.

1692100176269.png
 

esv_83

Member
Newcomer
Joined
Dec 24, 2020
Messages
14
Trophies
0
Age
40
XP
133
Country
El Salvador
It will be possible to add the option to play kss music files from MSX and vgm from Sega Master System.
 
  • Like
Reactions: Cris1997XX

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
919
Trophies
1
XP
7,389
Country
United States
It will be possible to add the option to play kss music files from MSX and vgm from Sega Master System.
I believe (for the MSX anyway... don't know about SMS) that it would require FM-Pac/YM2413 which is probably not in the cards for this engineer. But it's released on github so maybe someone will come along and add it :)
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
919
Trophies
1
XP
7,389
Country
United States
New build coming soon... I finally figured out the last of the Sord M5 gremlins. The whole Z80 CTC timer channel 3 was the problem. This thing sort of accumulates a number of different possible interrupt triggers in a cascade style. The two most important of which are the VDP (interrupting on every frame) and the Keyboard (triggering on key presses). I've got that sorted out finally - and now the last of the Sord M5 holdouts are working fine (mostly SPC games like Jumping Jack and Drops which would refuse to play previously).

To celebrate, I've got a new SORD M5 keyboard graphic ready to roll.

1692442826568.png



The Sord M5 wasn't the most popular computer - only a couple dozen games and programs created for it... but there are some must-plays if you're a fan of the 8-bit 'Coleco-style' gaming. Namely Apploon and Up Up Balloon which are favorites of mine.

1692442978229.png
 

Cris1997XX

Well-Known Member
Member
Joined
Oct 31, 2021
Messages
474
Trophies
0
Age
23
XP
1,279
Country
Italy
New build coming soon... I finally figured out the last of the Sord M5 gremlins. The whole Z80 CTC timer channel 3 was the problem. This thing sort of accumulates a number of different possible interrupt triggers in a cascade style. The two most important of which are the VDP (interrupting on every frame) and the Keyboard (triggering on key presses). I've got that sorted out finally - and now the last of the Sord M5 holdouts are working fine (mostly SPC games like Jumping Jack and Drops which would refuse to play previously).

To celebrate, I've got a new SORD M5 keyboard graphic ready to roll.

View attachment 389130


The Sord M5 wasn't the most popular computer - only a couple dozen games and programs created for it... but there are some must-plays if you're a fan of the 8-bit 'Coleco-style' gaming. Namely Apploon and Up Up Balloon which are favorites of mine.

View attachment 389131
Since this emulator runs so many Z80 machines...why not add ZX Spectrum too while you're at it? :rofl2:
I bet implementing the PC Speaker would be pretty difficult though
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
919
Trophies
1
XP
7,389
Country
United States
Since this emulator runs so many Z80 machines...why not add ZX Spectrum too while you're at it? :rofl2:
I bet implementing the PC Speaker would be pretty difficult though
The MSX had an internal speaker - very few games used it except for 'Lazy Spectrum' ports. But I do support it.

Anyway, ZXDS is the defecto Spectrum emulator for the DS. Well worth it - though it won't run from TWL++ easily.
Post automatically merged:

Version 8.5 is up at: https://github.com/wavemotion-dave/ColecoDS

V8.5: 20-Aug-2023 by wavemotion-dave
  • 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).

Edit: really hate the auto-merge feature. I understand why... but... why?!
 
Last edited by wavemotion,

assassinz

Visoly 512 Flash Advance Linker Xtreme Master!
Member
Joined
Mar 17, 2003
Messages
1,302
Trophies
2
Location
The Internet
XP
1,418
Country
United States
This machine has beaten me.

View attachment 389481

Three times I've tried to get the WD1770 Floppy Disk controller emulated and hooked in. Three times it's ended in virtual tears.

I hate giving up...

"He never gives up, he'll stay 'til the fight's won! Wavemotion will dare!"
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
919
Trophies
1
XP
7,389
Country
United States
Believe it or not... this is actually progress!

You don't want to know how many hours it took to get here. I'm writing my own WD1770 floppy disk controller interface for the Tatung Einstein.

1693153520116.png




Edit 8 hours later... and it works! The Tatung Einstein can go f*ck itself :)
This will only be the second emulator to run Tatung Einstein games - MAME was the only one that had support for this odd machine.

1693173651610.png
 
Last edited by wavemotion,

Cris1997XX

Well-Known Member
Member
Joined
Oct 31, 2021
Messages
474
Trophies
0
Age
23
XP
1,279
Country
Italy
Believe it or not... this is actually progress!

You don't want to know how many hours it took to get here. I'm writing my own WD1770 floppy disk controller interface for the Tatung Einstein.

View attachment 390691



Edit 8 hours later... and it works! The Tatung Einstein can go f*ck itself :)
This will only be the second emulator to run Tatung Einstein games - MAME was the only one that had support for this odd machine.

View attachment 390734
Holy crap...not gonna lie, you're as close as a person could get to godhood! You're basically the expert of 8-bit machines
 
  • Like
Reactions: wavemotion

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
919
Trophies
1
XP
7,389
Country
United States
Getting close to a new release. Daily check in adds some nice touches for the Tatung Einstein. New diskette loading sounds which I love. New diskette icon with the ability to swap disks and save a diskette that has been written to.

As an aside, the only other Einstein emulator on the planet (MAME) doesn't handle WD1770 saves properly for this machine so you can't write any data. I got it working :) To my knowledge, this is the only Einstein emulator that handles disk reads and writes.

1693308135323.png
 

ber71

Well-Known Member
Member
Joined
Apr 24, 2019
Messages
566
Trophies
0
Age
58
XP
2,490
Country
Spain
Hi Dave, I guess there is some copypaste typo in the readme.
These bios share the same crc32: hb-10.rom and pv-7.rom. Or, who knows, perhaps they are different machines with the same bios, really. 😵‍💫
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
919
Trophies
1
XP
7,389
Country
United States
V8.6: 31-Aug-2023 by wavemotion-dave
  • Added .dsk support for Tatung Einstein games!
  • Improved Tatung Einstein keyboard and joystick handling.
  • Minor graphical tweaks and improvements as time allowed.

This is a big one!

Tatung Einstein Compatibility :​

The base 64K machine is emulated. Both .dsk files and .COM files will play. For both, you would load the file and press the START button to boot them (for .com files, it will load the file at 0x100 and auto-run... for .dsk files the START button will emulate the CTRL-BREAK needed to boot the diskette). Out in the interwebs, you will mostly only find .dsk files and the .COM files can be extracted from them. The easiest way is to use either Charlie Robson's einSDein-vitamins or EDIP to extract .COM files from disk images. Or just stick to .dsk files which are a bit more authentic to the experience of using a Tatung Einstein.

Two Tatung Einstein disk drives are supported. The default drive 0: is a standard single-sided, 40 track, 10 sector-per-track diskette with about 190K disk space available. This is the drive that will hold and load your .dsk file image when you run the emulation.

The second drive 1: is a persistent RAM Disk that can be saved back to the SD card on your DS/DSi. This comes pre-formatted (and you can re-initialize it using the DISK icon menu) with 190K of storage. To the emulator, it looks just like a standard second disk drive. You can copy often used programs and utilities to this disk - I use it to stash away a few flavors of XBAS so I've always got the right one on hand to play games.

Both drives support read/write capabilities however, the writing will NOT auto-back those changes to your SD card. I might change that behavior in the future - but for now, any changes written to the emulated disks are transient until you go into the DISK icon menu and save them back to the SD card. I'm fairly confident that the disk write works fine - but until I get more testing hours from field-use, I don't want to inadvertently screw up an original .dsk image and leave the onus on the user to save out the disk for now.

Speaking of disk images, there are several places to find them... but I would recommend seeking out the 'Tatung Einstein Gamebase' which generally has disk images properly formatted and auto-booting for a more streamlined experience. Seek those out.

Lastly, in addition to the standard 8K einstein.rom BIOS file (required for Einstein emulation), you can optionally provide an einstein2.rom file that will load (up to 8K) into 0x4000. This is the extra ROM slot in a real Einstein and can be used to house diagnostics roms or things like flexi-dos.
 

Coto

-
Member
Joined
Jun 4, 2010
Messages
2,979
Trophies
2
XP
2,565
Country
Chile
This machine has beaten me.

View attachment 389481

Three times I've tried to get the WD1770 Floppy Disk controller emulated and hooked in. Three times it's ended in virtual tears.

I hate giving up...
Port the environment to VS2012(Visual Studio 2012), here's a template to do it fairly easily:

ToolchainGenericDS-utils


or

ToolchainGenericDS-project3D

The first one has DLDI Driver + FATFS debugging on VS2012 natively (that is, you mount a FAT32 image under the DLDI layer, which then hooks to FATFS then TGDS-Filesystem API.

The second one has the ability to run either as native ToolchainGenericDS 3D Project (OpenGL) through VS2012, or NDSDisplayListUtils (GX debugger on VS2012), or then as native ToolchainGenericDS 3D Project on NintendoDS using the TGDS SDK.

As long as you're using C source code you should be good debugging things on VS2012 then porting back to NDS, it'll save you years, if not decades, of development.
 

Cris1997XX

Well-Known Member
Member
Joined
Oct 31, 2021
Messages
474
Trophies
0
Age
23
XP
1,279
Country
Italy
Another machine that is supported, but not previously adverted: Othello Multivision. I've just loaded a few games and these work as intended, because the Multivision is no more than a sg1000 clone.
I get more fun testing stuff around than actually playing games :shy:
Jeremy Parish will be happy to hear this, I'm sure :rofl:
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
919
Trophies
1
XP
7,389
Country
United States
Another weekend... another new feature. MSX1 Floppy Disk loading is now added.

I'm using the FastDROM released freely back in 2006 as a replacement for one of the standard port-based I/O mapped floppy controllers.

Right now, it only handles 720K disks (3.5" DD, 2-sides, 80 tracks and 9 sectors per track) which is pretty much how you will find 95% of MSX1 disk based software .dsk images.

Reading and writing supported - but I don't yet write-back to SD card (...soon).

1693773773839.png



Another machine that is supported, but not previously adverted: Othello Multivision. I've just loaded a few games and these work as intended, because the Multivision is no more than a sg1000 clone.
I get more fun testing stuff around than actually playing games :shy:
Cool! Yeah, it's basically an SG-1000 with a bit of camouflage. Glad it works!
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
919
Trophies
1
XP
7,389
Country
United States
Version 8.7 is released at: https://github.com/wavemotion-dave/ColecoDS

V8.7: 07-Sep-2023 by wavemotion-dave
  • 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.
And for the first time in forever, my to-do list on ColecoDS is down to just one item :)

1694083174876.png
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    So Bonzi buddy was an evil version of Alexa lol
    +2
  • BakerMan @ BakerMan:
    the legal drinking age here in the US is 21, as some of you may know, but i think either it should be 18 or the age you're an adult should be 21.
    +1
  • BakerMan @ BakerMan:
    and i know what you may be thinking, "why become an adult at 21? doesn't that mean that banging an 18 year old would be illegal?"
    first of all, being in a relationship with someone who's 18 is technically ok, as long as it started when they were 18, but the age gap is still weird depending on how old you are. besides, the age of consent differs between different states
    +1
  • BakerMan @ BakerMan:
    also my reasoning for adult age being 21 is because the reason that's the drinking (and now smoking) age is because it "gives them more time to think rationally and not drive drunk"
    so you should have that extra time to mature and think rationally before going to serve in the military or vote
    +1
  • BakerMan @ BakerMan:
    tl;dr the "adult" age and the legal drinking age (and voting age) here in the US should be the same
    +4
  • Psionic Roshambo @ Psionic Roshambo:
    It's all good no one pays attention to the law anyway lol
  • BigOnYa @ BigOnYa:
    What about making kids wait till 18 or 21 to drive? And yea is messed up, you can join army and die for your country at age 18, but you can't drink alcohol or smoke a cig til 21, is ridiculous
    +3
  • Psionic Roshambo @ Psionic Roshambo:
    If someone is in the military they should be allowed to smoke and drink at 18.... Would help drive recruitment lol
    +3
  • BigOnYa @ BigOnYa:
    We all know they do and will anyways. I think laws prevented them only pushes them to illegally do it. Even tho if was legal, most prob wouldn't even bother. Not a big deal or risque if its legal, no fun.
    +2
  • ZeroT21 @ ZeroT21:
    That's why some kids don't mind having a rap sheet or two just so they never get drafted
    +2
  • BakerMan @ BakerMan:
    also, i think the voting age should match the adult and drinking ages too, because by the logic of giving them time to mature and think rationally so they don't drive drunk, then they should also have that time to mature and think rationally so they can think for themselves
    +2
  • BakerMan @ BakerMan:
    fucking hell i'm becoming a mini leo with the way i yap aren't i?
    +1
  • impeeza @ impeeza:
    I was unable to create the VM for the debloat windows, but found the video where I learned it:

    https://www.youtube.com/watch?v=mZm6mY3I7J4
    +2
  • BigOnYa @ BigOnYa:
    No you def no leo, and I like your insight. You are a smart Baked cookie.
  • K3Nv2 @ K3Nv2:
    Chicken drumsticks and sweet potato for dinner tonight turned out good
    +1
  • BakerMan @ BakerMan:
    "i promise not to get all political and/or philosophical"
    3 drinks later:
    "so yeah think for yourself and i think the government sucks"
    +1
  • K3Nv2 @ K3Nv2:
    Is @BigOnYa drunk again
  • BakerMan @ BakerMan:
    no, i was poking fun at myself
  • BigOnYa @ BigOnYa:
    Again? I have a IV feeding me so I never come down.
    +2
  • BakerMan @ BakerMan:
    because self deprecating humor is important, as long as it doesn't turn into self hate. because you can't really make fun of anyone if you can't even make fun of yourself
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    Booze enemas are real lol
  • The Real Jdbye @ The Real Jdbye:
    that explains a lot
  • K3Nv2 @ K3Nv2:
    @BigOnYa, invented the first ever pill that gets you instantly hammered, now filling the streets of Miami
    K3Nv2 @ K3Nv2: @BigOnYa, invented the first ever pill that gets you instantly hammered, now filling the streets...