Skip to content

Conversation

@cbrunschen
Copy link
Contributor

@cbrunschen cbrunschen commented Nov 27, 2025

This allows the 4.xx BIOS to correctly configure the emulated sd1 for 21 voices and thus play at the correct pitch.

Thus the SD-1 Sequencer OS 4.xx floppies now also apply to the SD-1.

So this also consolidates the sd1_flop and sd132_flop software lists into a single sd1_flop list - but still keeps the vfxsd_flop list separate because that is still sufficiently different.

The consolidated sd1_flop software list uses
<sharedfeat name="compatibility" ... /> to allow the different sd1 versions to show only those floppies that apply, respectively: The sd132 does not show the Sequencer OS 3.00 floppy; the sd1 does not show the demo disks.

Arguably this is not quite right because all the demos would at least technically work even on the 21-voice SD-1, in particular those for other keyboards (SQ and KS series) which only use the SD-1's sequencer; but any SD-1/32 demos would run out of voices and thus sound worse than they should if played on an SD-1 (21-voice), so it seems a safer bet to make those only available on the SD-1/32.

(Edited to add:)
This PR also adds the text printed on the labels of the floppies as <notes>. I sadly don't have a physical SD-1 Sequencer OS 3.00 floppy so I was not able to include the print from that label, but I expect it would have been very similar to what's on the SD-1 Sequencer OS 4.00 and 4.10 floppies.

@cbrunschen cbrunschen marked this pull request as ready for review November 27, 2025 08:59
This allows the 4.xx BIOS to correctly configure the emulated sd1 for
21 voices and thus play at the correct pitch.

Thus the SD-1 Sequencer OS 4.xx floppies now also apply
to the SD-1.

So this also consolidates the `sd1_flop` and `sd132_flop` software lists
into a single `sd1_flop` list - but still keeps the `vfxsd_flop` list
separate because that is still sufficiently different.

The consolidated `sd1_flop` software list uses
`<sharedfeat name="compatibility" ... />` to allow the different sd1
versions to show only those floppies that apply, respectively:
The sd132 does not show the Sequencer OS 3.00 floppy; the sd1
does not show the demo disks.

Arguably this is not quite right because all the demos would at least
technically work even on the 21-voice SD-1, in particular those for other
keyboards (SQ and KS series) which only use the SD-1's sequencer;
but any SD-1/32 demos would run out of voices and thus sound worse than
they should if played on an SD-1 (21-voice), so it seems a safer bet to
make those only available on the SD-1/32.
@galibert
Copy link
Member

I see nothing in that patch that would make a difference in whatever method the bios uses to detect speed.

@cbrunschen
Copy link
Contributor Author

It's the previous patch to esq5505.cpp that makes the detection code in the 4.xx BIOSes work.

Now that the detection works, this patch simply makes those BIOS ROMs and their matching Sequencer OS floppy disks available on the sd1 (21-voice) as well.

@rb6502
Copy link
Contributor

rb6502 commented Nov 28, 2025

I'm not a fan of rug-pulling an entire software list after one version. That's one of the reasons I suggested using the compatibility tag initially. Changes are obviously necessary sometimes, but I don't think we've ever added a list and then deleted it in the next version, which is what's being proposed here.

@cbrunschen
Copy link
Contributor Author

Would you prefer if I restored the sd132_flop list, but moved the SD-1 Sequencer OS 4.x floppies to the sd1_flop list?

@angelosa
Copy link
Member

That's an alternative, if SD-32 has compatibility with SD-1 then you can use set_compatible in former as extra SOFTWARE_LIST tag.

void esq5505_state::sd132(machine_config &config, int panel_type)
[...]
        SOFTWARE_LIST(config, "sd132_flop").set_original("sd132_flop");
	SOFTWARE_LIST(config.replace(), "sd1_flop").set_compatible("sd1_flop");

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants