Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions hash/sd132_flop.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0-1.0
-->
<softwarelist name="sd132_flop" description="Ensoniq SD-1 32 Voice Disk Images">

<software name="os400" supported="yes">
<description>SD-1 Sequencer OS version 4.00</description>
<year>1991</year>
<publisher>Ensoniq</publisher>

<part name="flop" interface="floppy_3_5">
<dataarea name="flop" size="819200">
<rom name="SD1_OS_4_00.img" size="819200" crc="e218f989" sha1="6ba14f4ff2ad99800478893716d9c14a61a7eb38" />
</dataarea>
</part>

</software>

<software name="os410" supported="yes">
<description>SD-1 Sequencer OS version 4.10</description>
<year>1992</year>
<publisher>Ensoniq</publisher>

<part name="flop" interface="floppy_3_5">
<dataarea name="flop" size="819200">
<rom name="SD1_OS_4_10.img" size="819200" crc="82fb69a4" sha1="152a1147ccb0424a9e8d96ca948c085fadcaf361" />
</dataarea>
</part>

</software>

<software name="sd1_32_demo1" supported="yes">
<description>SD-1 32 Voice Demo Disk #1</description>
<year>1992</year>
<publisher>Ensoniq</publisher>

<part name="flop" interface="floppy_3_5">
<dataarea name="flop" size="819200">
<rom name="SD1_32Voice_DemoDisk1.img" size="819200" crc="7cfb73c5" sha1="0e5f8a3b64674d56d40346e62f7a095ace83bb55" />
</dataarea>
</part>

</software>

<software name="multi_demo1" supported="yes">
<description>Multi-Product Demo Disk #1</description>
<year>1992</year>
<publisher>Ensoniq</publisher>

<part name="flop" interface="floppy_3_5">
<dataarea name="flop" size="819200">
<rom name="MultiProductDemoDisk1.img" size="819200" crc="2a5456a1" sha1="c9ab9199fac474c01751ba0d1678dcd72ff57834" />
</dataarea>
</part>

</software>

<software name="multi_demo2" supported="yes">
<description>Multi-Product Demo Disk #2</description>
<year>1993</year>
<publisher>Ensoniq</publisher>

<part name="flop" interface="floppy_3_5">
<dataarea name="flop" size="819200">
<rom name="MultiProductDemoDisk2.img" size="819200" crc="4f017eaf" sha1="65f3734cfab0fd79ec192674383be7b76e45d5b3" />
</dataarea>
</part>

</software>

<software name="sq32_demo1" supported="yes">
<description>SQ 32 Voice Demo Disk #2</description>
<year>1993</year>
<publisher>Ensoniq</publisher>

<part name="flop" interface="floppy_3_5">
<dataarea name="flop" size="819200">
<rom name="SQ_32Voice_DemoDisk1.img" size="819200" crc="91ba0cc0" sha1="c7e3f803122ce9b8b860724a064c40bd9747da41" />
</dataarea>
</part>

</software>

</softwarelist>
21 changes: 21 additions & 0 deletions hash/sd1_flop.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0"?>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm undecided on if it makes sense here, but you can have a single software list for a family of machines and use the <sharedfeat name="compatibility"> tag, something like this:

<sharedfeat name="compatibility" value="vfxsd,sd1,sd132" />

Then in the driver on the SOFTWARE_LIST() config item you'd append

.set_filter("sd1"); to mark a machine as able to use items with the sd1 tag.

I use that feature extensively for the mac_cdrom.xml list.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw that in some other software lists. But the nice thing about having multiple software lists is that, when choosing an item from a software list in the File Manager, the user first has to choose the software list from which to choose a floppy image:

Screenshot From 2025-11-10 07-04-50

This choice of software list seems to always happen, even if there's only a single software list:

image

So keeping them in different lists lets the user see that grouping, which I think is useful.

<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0-1.0
-->
<softwarelist name="sd1_flop" description="Ensoniq SD-1 Disk Images">

<software name="os3" supported="yes">
<description>SD-1 Sequencer OS version 3.0</description>
<year>1990</year>
<publisher>Ensoniq</publisher>

<part name="flop" interface="floppy_3_5">
<dataarea name="flop" size="819200">
<rom name="SD1_OS_3.img" size="819200" crc="c745d33b" sha1="5616fada3e834c6f153e23ff30675f7113b8bed4" />
</dataarea>
</part>

</software>

</softwarelist>
34 changes: 34 additions & 0 deletions hash/vfxsd_flop.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0-1.0
-->
<softwarelist name="vfxsd_flop" description="Ensoniq VFX-SD Disk Images">

<software name="os137" supported="yes">
<description>VFX-SD Sequencer OS version 1.37</description>
<year>1989</year>
<publisher>Ensoniq</publisher>

<part name="flop" interface="floppy_3_5">
<dataarea name="flop" size="819200">
<rom name="VFX_SD_OS_1_37.img" size="819200" crc="95e41779" sha1="7eee74120f51f131535cd2b386693e5524417ed2" />
</dataarea>
</part>

</software>

<software name="os210" supported="yes">
<description>VFX-SD Sequencer OS version 2.10</description>
<year>1990</year>
<publisher>Ensoniq</publisher>

<part name="flop" interface="floppy_3_5">
<dataarea name="flop" size="819200">
<rom name="VFX_SD_OS_2_10.img" size="819200" crc="0ca3d94e" sha1="429b56029f95cedfa2a2a809cb063a81d84c7005" />
</dataarea>
</part>

</software>

</softwarelist>
10 changes: 10 additions & 0 deletions src/mame/ensoniq/esq5505.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@
#include "sound/es5506.h"
#include "sound/esqpump.h"
#include "emupal.h"
#include "softlist_dev.h"
#include "speaker.h"
#include "vfxcart.h"

Expand Down Expand Up @@ -845,12 +846,18 @@ void esq5505_state::vfxsd(machine_config &config, int panel_type)

WD1772(config, m_fdc, 8000000);
FLOPPY_CONNECTOR(config, m_floppy_connector, esq5505_state::floppy_drives, "35dd", esq5505_state::floppy_formats, true).enable_sound(true);

// software list
SOFTWARE_LIST(config, "vfxsd_flop").set_original("vfxsd_flop");
}

void esq5505_state::sd1(machine_config &config, int panel_type)
{
// Like the VFX-SD but with its own panel type
vfxsd(config, panel_type);

// software list
SOFTWARE_LIST(config, "sd1_flop").set_original("sd1_flop");
}

// Like the sd1, but with some clock speeds faster.
Expand All @@ -864,6 +871,9 @@ void esq5505_state::sd132(machine_config &config, int panel_type)
m_maincpu->set_clock(clock);
m_otis->set_clock(clock);
m_pump->set_clock(clock);

// software list
SOFTWARE_LIST(config, "sd132_flop").set_original("sd132_flop");
}

// 32-voice machines with the VFX-SD type config
Expand Down
Loading