Added more validation of softlist and cleared errors found (no whatsnew)

This commit is contained in:
Miodrag Milanovic 2011-11-29 10:46:43 +00:00
parent 322346f8cc
commit 6b580bfefd
4 changed files with 101 additions and 81 deletions

View File

@ -2,18 +2,18 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd"> <!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!-- The list contains both MVS and AES cartridges. <!-- The list contains both MVS and AES cartridges.
For the majority of official titles the actual ROM data contained in the cartridges is compatible across systems, the actual codepath taken For the majority of official titles the actual ROM data contained in the cartridges is compatible across systems, the actual codepath taken
depends upon the bios used. depends upon the bios used.
The only real difference with the cartridges is the physical form of the cartridges which allowed a delayed release of the game for AES The only real difference with the cartridges is the physical form of the cartridges which allowed a delayed release of the game for AES
systems at a higher cost. Due to this many adapters are available which plug into an AES unit allowing you to plug any standard MVS cart systems at a higher cost. Due to this many adapters are available which plug into an AES unit allowing you to plug any standard MVS cart
into the system. Reverse adapters exist, although were less common because there was no reason to use them. All MVS carts can be used into the system. Reverse adapters exist, although were less common because there was no reason to use them. All MVS carts can be used
with AES systems so there is no reason to have separate lists especially when in the majority of cases the data is identical. with AES systems so there is no reason to have separate lists especially when in the majority of cases the data is identical.
The primary MVS / AES releases are marked in the list for documentation purposes, typically the first AES release is just a later revision The primary MVS / AES releases are marked in the list for documentation purposes, typically the first AES release is just a later revision
of the game code with additional bugfixes etc. when compared to the primary MVS release. of the game code with additional bugfixes etc. when compared to the primary MVS release.
Todo: games which are actually incompatible between systems (the first release of kof2001, and many of the bootlegs / hacks) should be Todo: games which are actually incompatible between systems (the first release of kof2001, and many of the bootlegs / hacks) should be
tagged with compatibility tags. tagged with compatibility tags.
@ -28,7 +28,7 @@
. NGH-001 . NGH-001
NEO-AEG PROG-NAM / NEO-AEG CHA-32 NEO-AEG PROG-NAM / NEO-AEG CHA-32
***************************************--> ***************************************-->
<software name="nam1975"> <software name="nam1975">
<!-- MVS AND AES VERSION --> <!-- MVS AND AES VERSION -->
<description>NAM-1975 (NGM-001)(NGH-001)</description> <description>NAM-1975 (NGM-001)(NGH-001)</description>
@ -3500,7 +3500,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x020000"> <dataarea name="audiocpu" size="0x020000">
<rom offset="0x000000" size="0x020000" name="070-m1.m1" crc="5a3b3191" sha1="fa9a9930e18c64e598841fb344c4471d3d2c1964" /> <rom offset="0x000000" size="0x020000" name="070-m1.m1" crc="5a3b3191" sha1="fa9a9930e18c64e598841fb344c4471d3d2c1964" />
@ -7102,7 +7102,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x020000"> <dataarea name="audiocpu" size="0x020000">
<rom offset="0x000000" size="0x020000" name="251-m1.m1" crc="5e74539c" sha1="6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da" /> <!-- TC531001 --> <rom offset="0x000000" size="0x020000" name="251-m1.m1" crc="5e74539c" sha1="6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da" /> <!-- TC531001 -->
@ -7146,7 +7146,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x020000"> <dataarea name="audiocpu" size="0x020000">
<rom offset="0x000000" size="0x020000" name="251-m1.m1" crc="5e74539c" sha1="6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da" /> <!-- TC531001 --> <rom offset="0x000000" size="0x020000" name="251-m1.m1" crc="5e74539c" sha1="6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da" /> <!-- TC531001 -->
@ -7192,7 +7192,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x020000"> <dataarea name="audiocpu" size="0x020000">
<rom offset="0x000000" size="0x020000" name="251-m1.m1" crc="5e74539c" sha1="6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da" /> <!-- TC531001 --> <rom offset="0x000000" size="0x020000" name="251-m1.m1" crc="5e74539c" sha1="6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da" /> <!-- TC531001 -->
@ -7235,7 +7235,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x020000"> <dataarea name="audiocpu" size="0x020000">
<rom offset="0x000000" size="0x020000" name="251-m1.m1" crc="5e74539c" sha1="6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da" /> <!-- TC531001 --> <rom offset="0x000000" size="0x020000" name="251-m1.m1" crc="5e74539c" sha1="6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da" /> <!-- TC531001 -->
@ -7326,7 +7326,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x020000"> <dataarea name="audiocpu" size="0x020000">
<rom offset="0x000000" size="0x020000" name="252-m1.m1" crc="30cc4099" sha1="46453b7aac41855a92724a785372f8daf931d8d4" /> <rom offset="0x000000" size="0x020000" name="252-m1.m1" crc="30cc4099" sha1="46453b7aac41855a92724a785372f8daf931d8d4" />
@ -7370,8 +7370,8 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x040000"> <dataarea name="audiocpu" size="0x040000">
<rom offset="0x000000" size="0x040000" name="253-m1.m1" crc="36a806be" sha1="90fb44dc0c3fb57946a0f35716056abb84a0f191" /> <!-- TC532000 --> <rom offset="0x000000" size="0x040000" name="253-m1.m1" crc="36a806be" sha1="90fb44dc0c3fb57946a0f35716056abb84a0f191" /> <!-- TC532000 -->
</dataarea> </dataarea>
@ -7414,7 +7414,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x040000"> <dataarea name="audiocpu" size="0x040000">
<rom offset="0x000000" size="0x040000" name="253-m1.m1" crc="36a806be" sha1="90fb44dc0c3fb57946a0f35716056abb84a0f191" /> <!-- TC532000 --> <rom offset="0x000000" size="0x040000" name="253-m1.m1" crc="36a806be" sha1="90fb44dc0c3fb57946a0f35716056abb84a0f191" /> <!-- TC532000 -->
@ -7502,7 +7502,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x020000"> <dataarea name="audiocpu" size="0x020000">
<rom offset="0x000000" size="0x020000" name="254-m1.m1" crc="994b4487" sha1="a4e645a3ababa48a8325980ff022e04a8b51b017" /> <rom offset="0x000000" size="0x020000" name="254-m1.m1" crc="994b4487" sha1="a4e645a3ababa48a8325980ff022e04a8b51b017" />
@ -7550,7 +7550,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x020000"> <dataarea name="audiocpu" size="0x020000">
<rom offset="0x000000" size="0x020000" name="255-m1.m1" crc="8efd4014" sha1="5b73809b6e4e49264d281ef3e5004ac8a9de296d" /> <rom offset="0x000000" size="0x020000" name="255-m1.m1" crc="8efd4014" sha1="5b73809b6e4e49264d281ef3e5004ac8a9de296d" />
@ -7602,7 +7602,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x080000"> <dataarea name="audiocpu" size="0x080000">
<rom offset="0x000000" size="0x080000" name="256-m1.m1" crc="eaeec116" sha1="54419dbb21edc8c4b37eaac2e7ad9496d2de037a" /> <!-- mask rom TC534000 --> <rom offset="0x000000" size="0x080000" name="256-m1.m1" crc="eaeec116" sha1="54419dbb21edc8c4b37eaac2e7ad9496d2de037a" /> <!-- mask rom TC534000 -->
@ -7646,7 +7646,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x080000"> <dataarea name="audiocpu" size="0x080000">
<rom offset="0x000000" size="0x080000" name="256-m1.m1" crc="eaeec116" sha1="54419dbb21edc8c4b37eaac2e7ad9496d2de037a" /> <!-- mask rom TC534000 --> <rom offset="0x000000" size="0x080000" name="256-m1.m1" crc="eaeec116" sha1="54419dbb21edc8c4b37eaac2e7ad9496d2de037a" /> <!-- mask rom TC534000 -->
@ -7701,7 +7701,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -7743,7 +7743,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -7797,7 +7797,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x020000"> <dataarea name="audiocpu" size="0x020000">
<rom offset="0x000000" size="0x020000" name="259-m1.m1" crc="85668ee9" sha1="7d3f51710cf90c097cd3faaeeef10ceb85cbb3e8" /> <rom offset="0x000000" size="0x020000" name="259-m1.m1" crc="85668ee9" sha1="7d3f51710cf90c097cd3faaeeef10ceb85cbb3e8" />
@ -7838,7 +7838,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x080000"> <dataarea name="audiocpu" size="0x080000">
<rom offset="0x000000" size="0x080000" name="260-m1.m1" crc="6407c5e5" sha1="d273e154cc905b63205a17a1a6d419cac3485a92" /> <rom offset="0x000000" size="0x080000" name="260-m1.m1" crc="6407c5e5" sha1="d273e154cc905b63205a17a1a6d419cac3485a92" />
@ -7878,7 +7878,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x080000"> <dataarea name="audiocpu" size="0x080000">
<rom offset="0x000000" size="0x080000" name="261-m1.m1" crc="7d501c39" sha1="8e6bcc428f5ac7532d9c9be7e07ad0821461a080" /> <!-- mask rom TC534000 --> <rom offset="0x000000" size="0x080000" name="261-m1.m1" crc="7d501c39" sha1="8e6bcc428f5ac7532d9c9be7e07ad0821461a080" /> <!-- mask rom TC534000 -->
@ -7926,7 +7926,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -7970,7 +7970,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8025,7 +8025,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8066,7 +8066,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8115,7 +8115,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8166,7 +8166,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8217,7 +8217,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8265,7 +8265,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8308,7 +8308,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8351,7 +8351,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8402,7 +8402,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8454,7 +8454,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8497,7 +8497,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8549,7 +8549,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8594,7 +8594,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8644,7 +8644,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8687,7 +8687,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -8731,7 +8731,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x20000"> <dataarea name="fixed" size="0x20000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x20000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x20000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<!-- Encrypted --> <!-- Encrypted -->
<dataarea name="audiocrypt" size="0x80000"> <dataarea name="audiocrypt" size="0x80000">
@ -9479,7 +9479,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x40000"> <dataarea name="fixed" size="0x40000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x40000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x40000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x020000"> <dataarea name="audiocpu" size="0x020000">
<rom offset="0x000000" size="0x020000" name="kf10-m1.bin" crc="f6fab859" sha1="0184aa1394b9f9946d610278b53b846020dd88dc" /> <rom offset="0x000000" size="0x020000" name="kf10-m1.bin" crc="f6fab859" sha1="0184aa1394b9f9946d610278b53b846020dd88dc" />
@ -9661,7 +9661,7 @@
</dataarea> </dataarea>
<dataarea name="fixed" size="0x80000"> <dataarea name="fixed" size="0x80000">
<!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs --> <!-- The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs -->
<rom value="0" length="0x80000" offset="0x000000" loadflag="fill" /> <rom value="0" size="0x80000" offset="0x000000" loadflag="fill" />
</dataarea> </dataarea>
<dataarea name="audiocpu" size="0x020000"> <dataarea name="audiocpu" size="0x020000">
<rom offset="0x000000" size="0x020000" name="mart-m1.bin" crc="3ea96ab1" sha1="e5053c4312f658faed2a34e38325a22ef792d384" /> <rom offset="0x000000" size="0x020000" name="mart-m1.bin" crc="3ea96ab1" sha1="e5053c4312f658faed2a34e38325a22ef792d384" />
@ -10129,7 +10129,7 @@
</software> </software>
<!-- Unlicensed Prototype --> <!-- Unlicensed Prototype -->
<software name="diggerma"> <software name="diggerma">
<description>Digger Man (prototype)</description> <description>Digger Man (prototype)</description>
<year>2000</year> <year>2000</year>

View File

@ -29,7 +29,6 @@
<!ELEMENT rom EMPTY> <!ELEMENT rom EMPTY>
<!ATTLIST rom name CDATA #IMPLIED> <!ATTLIST rom name CDATA #IMPLIED>
<!ATTLIST rom size CDATA #IMPLIED> <!ATTLIST rom size CDATA #IMPLIED>
<!ATTLIST rom length CDATA #IMPLIED>
<!ATTLIST rom crc CDATA #IMPLIED> <!ATTLIST rom crc CDATA #IMPLIED>
<!ATTLIST rom sha1 CDATA #IMPLIED> <!ATTLIST rom sha1 CDATA #IMPLIED>
<!ATTLIST rom offset CDATA #IMPLIED> <!ATTLIST rom offset CDATA #IMPLIED>

View File

@ -196,12 +196,12 @@
<publisher>Sega</publisher> <publisher>Sega</publisher>
<part name="cart" interface="stv_cart"> <part name="cart" interface="stv_cart">
<dataarea name="rom" size="0x3000000"> <dataarea name="rom" size="0x3000000">
<rom name="epr18967.13" size="0x100000" crc="c0446674" sha1="4917089d95613c9d2a936ed9fe3ebd22f461aa4f" offset="0x000001" loadflag="load16_byte"/> <rom name="epr18967.13" size="0x100000" crc="c0446674" sha1="4917089d95613c9d2a936ed9fe3ebd22f461aa4f" offset="0x000001" loadflag="load16_byte"/>
<rom name="mpr18968.2" merge="mpr18968.2" size="0x400000" crc="11a891de" sha1="1a4fa8d7e07e1d8fdc8122ef8a5b93723c007cda" offset="0x400000" loadflag="load16_word_swap"/> <rom name="mpr18968.2" size="0x400000" crc="11a891de" sha1="1a4fa8d7e07e1d8fdc8122ef8a5b93723c007cda" offset="0x400000" loadflag="load16_word_swap"/>
<rom name="mpr18969.3" merge="mpr18969.3" size="0x400000" crc="199cc47d" sha1="d78f7c6be7e9b43e208244c5c8722245f4c653e1" offset="0x800000" loadflag="load16_word_swap"/> <rom name="mpr18969.3" size="0x400000" crc="199cc47d" sha1="d78f7c6be7e9b43e208244c5c8722245f4c653e1" offset="0x800000" loadflag="load16_word_swap"/>
<rom name="mpr18970.4" merge="mpr18970.4" size="0x400000" crc="8b7a509e" sha1="8f4d36a858231764ed09b26a1141d1f055eee092" offset="0xc00000" loadflag="load16_word_swap"/> <rom name="mpr18970.4" size="0x400000" crc="8b7a509e" sha1="8f4d36a858231764ed09b26a1141d1f055eee092" offset="0xc00000" loadflag="load16_word_swap"/>
<rom name="mpr18971.5" merge="mpr18971.5" size="0x400000" crc="c87c443b" sha1="f2fedb35c80e5c4855c7aebff88186397f4d51bc" offset="0x1000000" loadflag="load16_word_swap"/> <rom name="mpr18971.5" size="0x400000" crc="c87c443b" sha1="f2fedb35c80e5c4855c7aebff88186397f4d51bc" offset="0x1000000" loadflag="load16_word_swap"/>
<rom name="mpr18972.6" merge="mpr18972.6" size="0x400000" crc="45c64fca" sha1="ae2f678b9885426ce99b615b7f62a451f9ef83f9" offset="0x1400000" loadflag="load16_word_swap"/> <rom name="mpr18972.6" size="0x400000" crc="45c64fca" sha1="ae2f678b9885426ce99b615b7f62a451f9ef83f9" offset="0x1400000" loadflag="load16_word_swap"/>
</dataarea> </dataarea>
</part> </part>
</software> </software>
@ -229,11 +229,11 @@
<publisher>Sega</publisher> <publisher>Sega</publisher>
<part name="cart" interface="stv_cart"> <part name="cart" interface="stv_cart">
<dataarea name="rom" size="0x3000000"> <dataarea name="rom" size="0x3000000">
<rom name="fpr19114.13" size="0x100000" crc="1fd22a5f" sha1="c3d9653b12354a73a3e15f23a2ab7992ffb83e46" offset="0x000001" loadflag="load16_byte"/> <rom name="fpr19114.13" size="0x100000" crc="1fd22a5f" sha1="c3d9653b12354a73a3e15f23a2ab7992ffb83e46" offset="0x000001" loadflag="load16_byte"/>
<rom name="mpr19115.2" merge="mpr19115.2" size="0x400000" crc="6fe06a30" sha1="dedb90f800bae8fd9df1023eb5bec7fb6c9d0179" offset="0x400000" loadflag="load16_word_swap"/> <rom name="mpr19115.2" size="0x400000" crc="6fe06a30" sha1="dedb90f800bae8fd9df1023eb5bec7fb6c9d0179" offset="0x400000" loadflag="load16_word_swap"/>
<rom name="mpr19116.3" merge="mpr19116.3" size="0x400000" crc="af9e627b" sha1="a53921c3185a93ec95299bf1c29e744e2fa3b8c0" offset="0x800000" loadflag="load16_word_swap"/> <rom name="mpr19116.3" size="0x400000" crc="af9e627b" sha1="a53921c3185a93ec95299bf1c29e744e2fa3b8c0" offset="0x800000" loadflag="load16_word_swap"/>
<rom name="mpr19117.4" merge="mpr19117.4" size="0x400000" crc="74520ff1" sha1="16c1acf878664b3bd866c9b94f3695ae892ac12f" offset="0xc00000" loadflag="load16_word_swap"/> <rom name="mpr19117.4" size="0x400000" crc="74520ff1" sha1="16c1acf878664b3bd866c9b94f3695ae892ac12f" offset="0xc00000" loadflag="load16_word_swap"/>
<rom name="mpr19118.5" merge="mpr19118.5" size="0x400000" crc="2c9702f0" sha1="5c2c66de83f2ccbe97d3b1e8c7e65999e1fa2de1" offset="0x1000000" loadflag="load16_word_swap"/> <rom name="mpr19118.5" size="0x400000" crc="2c9702f0" sha1="5c2c66de83f2ccbe97d3b1e8c7e65999e1fa2de1" offset="0x1000000" loadflag="load16_word_swap"/>
</dataarea> </dataarea>
</part> </part>
</software> </software>
@ -650,11 +650,11 @@
<publisher>Atlus</publisher> <publisher>Atlus</publisher>
<part name="cart" interface="stv_cart"> <part name="cart" interface="stv_cart">
<dataarea name="rom" size="0x3000000"> <dataarea name="rom" size="0x3000000">
<rom name="ic22" size="0x200000" crc="f88347aa" sha1="3e9ca105edbd6ce11ea4194eb1733785e87f92b2" status="baddump" offset="0x200000" loadflag="load16_word_swap"/> <rom name="ic22" size="0x200000" crc="f88347aa" sha1="3e9ca105edbd6ce11ea4194eb1733785e87f92b2" status="baddump" offset="0x200000" loadflag="load16_word_swap"/>
<rom name="ic24" size="0x200000" crc="b5871198" sha1="10d187eebcca5d70c5ae10d1a144685a96491126" offset="0x400000" loadflag="load16_word_swap"/> <rom name="ic24" size="0x200000" crc="b5871198" sha1="10d187eebcca5d70c5ae10d1a144685a96491126" offset="0x400000" loadflag="load16_word_swap"/>
<rom name="ic26" size="0x200000" crc="d97034ed" sha1="a7a0f659eefd539b2a1fd70ef394eed30ea54c0c" offset="0x600000" loadflag="load16_word_swap"/> <rom name="ic26" size="0x200000" crc="d97034ed" sha1="a7a0f659eefd539b2a1fd70ef394eed30ea54c0c" offset="0x600000" loadflag="load16_word_swap"/>
<rom name="ic28" size="0x200000" crc="f1421506" sha1="c384b695338144e5f051134bda73b059b678a7df" offset="0x800000" loadflag="load16_word_swap"/> <rom name="ic28" size="0x200000" crc="f1421506" sha1="c384b695338144e5f051134bda73b059b678a7df" offset="0x800000" loadflag="load16_word_swap"/>
<rom name="ic30" merge="ic30" size="0x200000" crc="8d89877e" sha1="7d76d48d64d7ac5411d714a4bb83f37e3e5b8df6" offset="0xa00000" loadflag="load16_word_swap"/> <rom name="ic30" size="0x200000" crc="8d89877e" sha1="7d76d48d64d7ac5411d714a4bb83f37e3e5b8df6" offset="0xa00000" loadflag="load16_word_swap"/>
</dataarea> </dataarea>
</part> </part>
</software> </software>

View File

@ -338,14 +338,15 @@ static void start_handler(void *data, const char *tagname, const char **attribut
if ( ! strcmp(attributes[0], "name" ) ) if ( ! strcmp(attributes[0], "name" ) )
{ {
} }
if ( ! strcmp(attributes[0], "description" ) ) else if ( ! strcmp(attributes[0], "description" ) )
{ {
swlist->description = (const char *)pool_malloc_lib(swlist->pool, (strlen(attributes[1]) + 1) * sizeof(char)); swlist->description = (const char *)pool_malloc_lib(swlist->pool, (strlen(attributes[1]) + 1) * sizeof(char));
if (!swlist->description) if (!swlist->description)
return; return;
strcpy((char *)swlist->description, attributes[1]); strcpy((char *)swlist->description, attributes[1]);
} } else
unknown_attribute(swlist, attributes[0]);
} }
} }
else else
@ -367,14 +368,16 @@ static void start_handler(void *data, const char *tagname, const char **attribut
{ {
name = attributes[1]; name = attributes[1];
} }
if ( !strcmp( attributes[0], "cloneof" ) ) else if ( !strcmp( attributes[0], "cloneof" ) )
{ {
parent = attributes[1]; parent = attributes[1];
} }
if ( !strcmp( attributes[0], "supported" ) ) else if ( !strcmp( attributes[0], "supported" ) )
{ {
supported = attributes[1]; supported = attributes[1];
} }
else
unknown_attribute(swlist, attributes[0]);
} }
if ( name ) if ( name )
@ -476,8 +479,11 @@ static void start_handler(void *data, const char *tagname, const char **attribut
if ( !strcmp( attributes[0], "name" ) ) if ( !strcmp( attributes[0], "name" ) )
str_feature_name = attributes[1]; str_feature_name = attributes[1];
if ( !strcmp( attributes[0], "value" ) ) else if ( !strcmp( attributes[0], "value" ) )
str_feature_value = attributes[1]; str_feature_value = attributes[1];
else
unknown_attribute(swlist, attributes[0]);
} }
/* Prepare for adding feature to feature list */ /* Prepare for adding feature to feature list */
@ -514,8 +520,11 @@ static void start_handler(void *data, const char *tagname, const char **attribut
if ( !strcmp( attributes[0], "name" ) ) if ( !strcmp( attributes[0], "name" ) )
str_name = attributes[1]; str_name = attributes[1];
if ( !strcmp( attributes[0], "interface" ) ) else if ( !strcmp( attributes[0], "interface" ) )
str_interface = attributes[1]; str_interface = attributes[1];
else
unknown_attribute(swlist, attributes[0]);
} }
if ( str_name && str_interface ) if ( str_name && str_interface )
@ -564,8 +573,11 @@ static void start_handler(void *data, const char *tagname, const char **attribut
if ( !strcmp( attributes[0], "name" ) ) if ( !strcmp( attributes[0], "name" ) )
str_name = attributes[1]; str_name = attributes[1];
if ( !strcmp( attributes[0], "size") ) else if ( !strcmp( attributes[0], "size") )
str_size = attributes[1]; str_size = attributes[1];
else
unknown_attribute(swlist, attributes[0]);
} }
if ( str_name && str_size ) if ( str_name && str_size )
{ {
@ -596,6 +608,8 @@ static void start_handler(void *data, const char *tagname, const char **attribut
{ {
if ( !strcmp( attributes[0], "name" ) ) if ( !strcmp( attributes[0], "name" ) )
str_name = attributes[1]; str_name = attributes[1];
else
unknown_attribute(swlist, attributes[0]);
} }
if ( str_name ) if ( str_name )
{ {
@ -627,8 +641,11 @@ static void start_handler(void *data, const char *tagname, const char **attribut
if ( !strcmp( attributes[0], "name" ) ) if ( !strcmp( attributes[0], "name" ) )
str_feature_name = attributes[1]; str_feature_name = attributes[1];
if ( !strcmp( attributes[0], "value" ) ) else if ( !strcmp( attributes[0], "value" ) )
str_feature_value = attributes[1]; str_feature_value = attributes[1];
else
unknown_attribute(swlist, attributes[0]);
} }
/* Prepare for adding feature to feature list */ /* Prepare for adding feature to feature list */
@ -678,20 +695,22 @@ static void start_handler(void *data, const char *tagname, const char **attribut
{ {
if ( !strcmp( attributes[0], "name" ) ) if ( !strcmp( attributes[0], "name" ) )
str_name = attributes[1]; str_name = attributes[1];
if ( !strcmp( attributes[0], "size" ) ) else if ( !strcmp( attributes[0], "size" ) )
str_size = attributes[1]; str_size = attributes[1];
if ( !strcmp( attributes[0], "crc" ) ) else if ( !strcmp( attributes[0], "crc" ) )
str_crc = attributes[1]; str_crc = attributes[1];
if ( !strcmp( attributes[0], "sha1" ) ) else if ( !strcmp( attributes[0], "sha1" ) )
str_sha1 = attributes[1]; str_sha1 = attributes[1];
if ( !strcmp( attributes[0], "offset" ) ) else if ( !strcmp( attributes[0], "offset" ) )
str_offset = attributes[1]; str_offset = attributes[1];
if ( !strcmp( attributes[0], "value" ) ) else if ( !strcmp( attributes[0], "value" ) )
str_value = attributes[1]; str_value = attributes[1];
if ( !strcmp( attributes[0], "status" ) ) else if ( !strcmp( attributes[0], "status" ) )
str_status = attributes[1]; str_status = attributes[1];
if ( !strcmp( attributes[0], "loadflag" ) ) else if ( !strcmp( attributes[0], "loadflag" ) )
str_loadflag = attributes[1]; str_loadflag = attributes[1];
else
unknown_attribute(swlist, attributes[0]);
} }
if ( swlist->softinfo ) if ( swlist->softinfo )
{ {
@ -771,12 +790,14 @@ static void start_handler(void *data, const char *tagname, const char **attribut
{ {
if ( !strcmp( attributes[0], "name" ) ) if ( !strcmp( attributes[0], "name" ) )
str_name = attributes[1]; str_name = attributes[1];
if ( !strcmp( attributes[0], "sha1" ) ) else if ( !strcmp( attributes[0], "sha1" ) )
str_sha1 = attributes[1]; str_sha1 = attributes[1];
if ( !strcmp( attributes[0], "status" ) ) else if ( !strcmp( attributes[0], "status" ) )
str_status = attributes[1]; str_status = attributes[1];
if ( !strcmp( attributes[0], "writeable" ) ) else if ( !strcmp( attributes[0], "writeable" ) )
str_writeable = attributes[1]; str_writeable = attributes[1];
else
unknown_attribute(swlist, attributes[0]);
} }
if ( swlist->softinfo ) if ( swlist->softinfo )
{ {