RC2014 & SID-Ulator Sound Module

152 views
Skip to first unread message

Timothy Blanks

unread,
Feb 13, 2026, 6:09:33 AMFeb 13
to RC2014-Z80
Hi everyone,

I'm new to this group and relatively new to the RC2014 – I just built mine this month! I've been having a fantastic time exploring CPM with it.

I'm hoping someone with a SID-Ulator Sound module might be able to help me out. I recently built a SID-Ulator, only to discover that it doesn't directly play SID files.

As it turns out, I'm experimenting with OpenCode, and after a lot of effort (many, many hours!), I've created a Windows application that converts  (most*) SID files to "ZID" files.

* I'm still working on getting it to handle digi samples .

Here’s a simplified explanation of how it works: My application essentially acts like an old-fashioned pianola. It runs the SID tune's 6502 code on my PC and records every write it makes to the SID chip’s memory-mapped register block (D400–D418). The CP/M player then replays those same register writes from the ZID file onto the RC2014, sending them to the SID-Ulator’s Z80 I/O ports. This recreates the sequence of events that occurred during the initial playback.

It's working well on my setup, but before I release the code publicly, it would be great to have someone else test it and confirm that it's working correctly for them.

I've included three ZID files and the player application in an archive linked below:

https://drive.google.com/file/d/14q5vUxHb1opiB5gxGILD_h3lebLextjd/view?usp=sharing

Would be grateful for any feedback or suggestions you might have.

Regards,

Tim


S P Dixon

unread,
Feb 13, 2026, 10:36:11 AMFeb 13
to RC2014-Z80
I'm very happy to say that it works flawlessly on my pure CPM machine (RC2014 Pro) which is the one I have most handy. 

I'm also very happy that you've done this. Music that I've made myself has had data and driver within one binary which is fine for that one tune but the question of playing existing .sid files has been a difficult one to crack. This has been done with 6502 emulation but is a bit hit and miss due to the flexibility of the .sid format. Capturing register changes is a great solution (I think this is how the .vgm format works?)

Great work! 

Shiela

Ed Brindley

unread,
Feb 13, 2026, 3:35:21 PMFeb 13
to RC2014-Z80
I haven't got a board to test it on, but it sounds like a nice project! I do intend to get a SID board in the future.

As Sheila says, this sounds like the VGM approach of register dumps https://vgmrips.net/wiki/VGM_Specification

One suggestion: Ask the LLM to make it cross platform? :-) I'm guessing this is a command line tool so it shouldn't be too hard? A linux executable in a docker container would mean most people could run it. Or just linux / win / macos builds.

Cheers,
Ed

Timothy Blanks

unread,
Feb 13, 2026, 7:04:45 PMFeb 13
to RC2014-Z80

Thanks Ed,

The application is written in C#, and it doesn’t have any external dependencies that would prevent it from running on Linux or macOS.

It does include a GUI, but that simply acts as a front end to the command-line version. I'm building all my examples out of the command line version so probably will drop the GUI.

I’ll provide instructions for running it on Windows, macOS, Linux, and also within a Docker container.

At the moment, I’m working on getting the digi samples found in Rob Hubbard’s Skate or Die / Arcade Classics working. Unfortunately, this has proven to be quite challenging. If I can’t resolve it soon, I’ll release a v1 without digi sample support, since the majority of SIDs are already working correctly.

Regards,
Tim

Spencer

unread,
Feb 18, 2026, 11:12:59 AM (10 days ago) Feb 18
to rc201...@googlegroups.com
Hi Tim,

This looks like the one bit of the SID-Ulator setup that was missing.

I can confirm that it runs on CP/M on RomWBW 3.6.0 - however, under Z-System it crashes it with +++ BAD INT errors. I'm not sure what the difference would be as anything that runs under CP/M runs under Z-System. Maybe Wayne can throw some light on that?

Will the SID to ZID conversation program be made available too? Or will there be a library of ZID tunes hosted somewhere? (I'm happy to host them on the RC2014 website if you want)

Cheers

Spencer 





-------- Original Message --------
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/rc2014-z80/3af1e2a3-d67d-4866-b82d-d8794918c339n%40googlegroups.com.

Wayne Warthen

unread,
Feb 18, 2026, 2:05:18 PM (10 days ago) Feb 18
to RC2014-Z80
I downloaded the player and CRAZYSA.ZID.  Although I don't actually have the hardware, I can recreate the behavior Spencer describes.  The player seems to work when run via any OS other than ZSDOS 1.1.  In my case, I don't get "BAD INT" messages, rather my system just hangs.

It is extremely unusual to see an application mis-behave under ZSDOS when it runs fine on all other OS variants.  The RomWBW distribution does not modify ZSDOS at all and it uses the exact same CBIOS as CP/M 2.2.  My point is that I don't think this is a RomWBW anomaly.  Purely based on the behavior, I would suspect a subtle OS memory overwrite that is normally benign, but is badly affecting ZSDOS.

@Tim, if you want to provide the source, I can take a closer look at this.

Thanks, Wayne

Timothy Blanks

unread,
Feb 20, 2026, 8:07:06 AM (8 days ago) Feb 20
to RC2014-Z80

Hi Spencer and Wayne,

Apologies for the delay; it’s been a busy week, and I’ve only been able to work on this in short bursts.

I believe I've fixed the BADINT and playback on ZSDOS errors. The new version of the player is now working well on my setup. The issue stemmed from command-line parsing—a bit of a learning curve for me (and the ai assistant coding tool I'm using).

I have published the source code and binaries here:

https://github.com/tblanks1973/sid2cpm

Currently PSID support is farily solid, I’m still testing and heavily working on RSID playback. I've had mixed success so far (180.zid is currently the best example of RSID), but I’m actively working on it.

I’ve also included samples in the /tunes directory and provided binaries for Windows, Linux, and Mac (though I’ve only verified the Windows build so far).

@Spencer – I’d be very happy for you to host the .zid files on your site. I’ve included a few to get things started in the repo, but it makes sense to keep them where the hardware lives!

Just want to say to you both that I really love the RC2014; it’s a awesome bit of kit and a great way to learn. I've only had it a short period of time but it has exceeded my expectations - thank you for all the work you guys have done on it.

Best regards,

Tim


Spencer

unread,
Feb 22, 2026, 12:51:51 PM (6 days ago) Feb 22
to rc201...@googlegroups.com

Hi Tim,

Thanks for the kind words :-)

Thanks for fixing the BAD INT issue too. I haven't had a chance to run this yet, but with all the extra ZIDs in the Tunes folder, I am looking forward to having a listen soon.

I'll sort out the best place to host the ZID files, and let you know.

Thanks

Spencer
Reply all
Reply to author
Forward
0 new messages