| 詳 細 | During the construction of the XML list, the devices are accumulated and placed in the file after the final MAME machine. As the alphabetical list of set names are checked for devices, the first time an instance shows for a device, it is logged and appended to the end of the -listxml output. The problem arising is that if that machine is set up to use samples and has a sample set, all the devices which are discovered from that machine have this sampleof="xxx" portion attached incorrectly to the device.
For instance, 005 - the first machine listed in XML, has 8 devices that show in -listdevice and since each one of them are discovered for the first time being used by a machine, they get added to the device section with the incorrect attribution of having SAMPLES.
<machine name="z80" sourcefile="src/devices/cpu/z80/z80.cpp" isdevice="yes" runnable="no" sampleof="005">
<description>Z80</description>
</machine>
<machine name="gfxdecode" sourcefile="src/emu/drawgfx.cpp" isdevice="yes" runnable="no" sampleof="005">
<description>gfxdecode</description>
</machine>
<machine name="palette" sourcefile="src/emu/emupal.cpp" isdevice="yes" runnable="no" sampleof="005">
<description>palette</description>
</machine>
<machine name="screen" sourcefile="src/emu/screen.cpp" isdevice="yes" runnable="no" sampleof="005">
<description>Video Screen</description>
</machine>
<machine name="speaker" sourcefile="src/emu/speaker.cpp" isdevice="yes" runnable="no" sampleof="005">
<description>Speaker</description>
<sound channels="1"/>
</machine>
<machine name="i8255" sourcefile="src/devices/machine/i8255.cpp" isdevice="yes" runnable="no" sampleof="005">
<description>8255 PPI</description>
</machine>
<machine name="samples" sourcefile="src/devices/sound/samples.cpp" isdevice="yes" runnable="no" sampleof="005">
<description>Samples</description>
<sound channels="0"/>
</machine>
<machine name="sega005_sound" sourcefile="src/mame/audio/segag80r.cpp" isdevice="yes" runnable="no" sampleof="005">
<description>Sega 005 Audio Custom</description>
<sound channels="0"/>
</machine>
PLEASE NOTE: There are some devices which indeed have samples directly related to them and also list their samples out as you'd expect whereas the above examples do not.
<machine name="nes_jf23" sourcefile="src/devices/bus/nes/jaleco.cpp" isdevice="yes" runnable="no" sampleof="smoepro">
<description>NES Cart Jaleco Shin Moero Pro Yakyuu PCB</description>
<sample name="00"/>
<sample name="01"/>
<sample name="02"/>
<sample name="03"/>
<sample name="04"/>
<sample name="05"/>
<sample name="06"/>
<sample name="07"/>
<sample name="08"/>
<sample name="09"/>
<sample name="10"/>
<sample name="11"/>
<sample name="12"/>
<sample name="13"/>
<sample name="14"/>
<sample name="15"/>
<sample name="16"/>
<sample name="17"/>
<sample name="18"/>
<sample name="19"/>
<chip type="audio" tag=":addon" name="Speaker"/>
<chip type="audio" tag=":samples" name="Samples"/>
<sound channels="1"/>
</machine>
|