I’ve been playing around with the MC-10 a bit more lately due to a few things. First, XRoar has MC-10 support now and it’s been fun to test. Secondly, I’ve had an interest in Greg Dionne’s mcbasic compiler and his tasm6801 assembler projects. I’ve learned much about the compiler in the last couple of days, including why things work on a real MC-10 versus emulation. Things get even more interesting as you compare differences between the “stock” MC-10 Color Basic and MCX-Basic. Needless to say, Greg Dionne was kind enough to spend some time with me discussing these very topics and I appreciate that.
As part of this new gained knowledge, I’ve added a few feature to geany in CoCo-Pi to compile an MC-10 BASIC program (using Greg’s tools). This is in addition to the aleady existing feature of creating/editing MC-10 BASIC programs and automatically launching from from geany using MAME or XRoar. As I mentioned earlier, there are issues running compiled versions of the programs in MAME and XRoar. As a result of the issue, Greg (and myself) both reached out to Ciaran and he already added a new fix in XRoar to address this problem. A new snap (WIP) build of XRoar is available (and already available in CoCo-Pi after an update). Initial testing looks good and more compiled programs are now running fine in this latest build of XRoar.
I’ll be contacting Tim Lindner on the side to see about getting the same updates done in MAME for the MC-10 driver. It’s important that the emulators behave like the real hardware and it’s always good to keep improving things as issues are discovered.
Seeing as how Jim Gerrie has provided us with a giant library of excellent BASIC games and programs for the MC-10, I created some new scripts to batch compile all of his programs. Not all of his programs will compile successfully and the batch process will exclude those. A majority do compile and performance improvements for them are quite substantial.
It should be noted that Greg’s mcbasic compiler is compatible with stock MC-10 Basic ROM only — not MCX-Basic. This means you can’t use pyDriveWire/EMCEE to LOADM/EXEC these compiled programs. You can use the new snap/WIP build of XRoar or use a real MC-10 with a RAM expansion. The stock 16K RAM expansion will work or you can use the MCX-128 expansion but you will need to select  for Micro Color Basic only — not MCX Basic. These devices will provide the additional RAM required for most programs (over 4K).
There’s also a new feature on the CoCo-Pi to select and send an MC-10 program to a real MC-10 using analog out audio and a proper cassette cable. This feature has always been there for sending programs to real CoCo’s but figured it was time to do the same for the MC-10.
I’ll create and post some videos demo’ing some of these new features soon.
Ciaran’s snap builds of XRoar can be found here:
Jim’s MC-10 program library can be gound here: