Hi! This is a very reasonable request, and I would like to have it myself. Anyway, there are some complications involved. The defMON player wasn't initially designed to support more than one sid, but was rather designed to allow for making tunes that could be used in demos/games with relatively reasonable CPU usage.
defMON scores reasonably alright in that respect when compared to other editors, and especially so if one uses the sid table cleverly (and do things like refraining from using two different pointers in a single channel to the sid table at the same time — if low CPU usage is really an issue). This table shows a comparison of a lot of C64 music editors, including the "raster time usage" which is a measure of the CPU load/usage:
http://chordian.net/c64editors.htm
When I implemented 2 sid support in defMON, I wanted to keep that (the reasonably low CPU usage), so rather than rewriting the player in a way that would allow for two SIDs (and losing some of the CPU usage) my solution was a weird kind of hack that introduced a new separate copy of the whole player in RAM, where each of the two players are hardcoded to work with a certain SID chip. This in turn creates some complications when it comes to the packer.
One option would be to rewrite the player itself, to have a single player that supported more than one sid, but that would be quite a lot of work (and I don't have a lot of spare time unfortunately) and it would also be likely to introduce some minor differences in sound compared to the way things would sound when played in the editor.
Another (more likely) option would be to provide some kind of new packer (perhaps executed on mac/pc) that could do this, but that would probably require re-assembling some stuff each time one wanted to "pack" a tune, so it could be that it would be hard to provide a convenient package for this, that would be understandably by anyone but myself. This solution too would require some of my time of course.
Did you have creation of compo tunes in mind, or tunes that could be used in demos/games? You asked for the executable form, which indicates that you had compo tunes in mind.
By the way: Regarding that first bug mentioned there, it must be related to the packer and the way it tries to figure out what rows that are used or unused, in order to remove the unused stuff. I'm not sure it can handle (apparently!) multiple jumps under all possible conditions, as that can get somewhat complex in some cases.
Last edited by frantic (May 15, 2020 2:25 pm)