Updated tools to support firmware 1.71

Data Frog released firmware 1.71, a quick bug-fixed version of firmware 1.7, so added support for it to the tools I host
This commit is contained in:
vonmillhausen 2023-10-19 14:31:40 +01:00
parent e3d59bc560
commit a6feed8b84
4 changed files with 41 additions and 16 deletions

View File

@ -81,19 +81,25 @@
// May 22nd BIOS...
case "05.22":
logoOffset = 0x9BB098;
setMessage("info", "bisrvMessages", "INFO: May 22nd <code>bisrv.asd</code> detected.");
setMessage("info", "bisrvMessages", "INFO: Version 1.5 <code>bisrv.asd</code> detected.");
break;
// August 3rd BIOS...
case "08.03":
logoOffset = 0x9B3530;
setMessage("info", "bisrvMessages", "INFO: August 3rd <code>bisrv.asd</code> detected.");
setMessage("info", "bisrvMessages", "INFO: Version 1.6 <code>bisrv.asd</code> detected.");
break;
// October 7th BIOS...
case "10.07":
logoOffset = 0x9B1FE8;
setMessage("warning", "bisrvMessages", "WARNING: October 7th <code>bisrv.asd</code> detected; this version has known issues with SNES save states and is not recommended for use.");
setMessage("warning", "bisrvMessages", "WARNING: Version 1.7 <code>bisrv.asd</code> detected; this version has known issues with SNES save states and is not recommended for use.");
break;
// October 13th BIOS...
case "10.13":
logoOffset = 0x9B3618;
setMessage("info", "bisrvMessages", "INFO: Version 1.71 <code>bisrv.asd</code> detected.");
break;
default:
@ -232,6 +238,6 @@
}
</script>
<hr>
<p><a rel="license" href="https://creativecommons.org/publicdomain/zero/1.0/">CC0</a>: public domain. Version 1.4, 20231012.1</p>
<p><a rel="license" href="https://creativecommons.org/publicdomain/zero/1.0/">CC0</a>: public domain. Version 1.5, 20231019.1</p>
</body>
</html>

View File

@ -116,7 +116,7 @@
mappingTableOffset = 0;
mappingConsoles = ["NES", "SNES", "Genesis/Mega Drive, Master System", "Game Boy, Game Boy Color", "Game Boy Advance", "Arcade"];
step1BRequired = true;
setMessage("info", "fileMessages", "INFO: May 22nd <code>bisrv.asd</code> detected.");
setMessage("info", "fileMessages", "INFO: Version 1.5 <code>bisrv.asd</code> detected.");
break;
// August 3rd BIOS...
@ -124,7 +124,7 @@
mappingTableOffset = 0;
mappingConsoles = ["NES", "SNES", "Genesis/Mega Drive, Master System", "Game Boy, Game Boy Color", "Game Boy Advance", "Arcade"];
step1BRequired = true;
setMessage("info", "fileMessages", "INFO: August 3rd <code>bisrv.asd</code> detected.");
setMessage("info", "fileMessages", "INFO: Version 1.6 <code>bisrv.asd</code> detected.");
break;
// October 7th BIOS...
@ -132,7 +132,15 @@
mappingTableOffset = 0;
mappingConsoles = ["NES", "SNES", "Genesis/Mega Drive, Master System", "Game Boy, Game Boy Color", "Game Boy Advance", "Arcade"];
step1BRequired = true;
setMessage("warning", "fileMessages", "WARNING: October 7th <code>bisrv.asd</code> detected; this version has known issues with SNES save states and is not recommended for use.");
setMessage("warning", "fileMessages", "WARNING: Version 1.7 <code>bisrv.asd</code> detected; this version has known issues with SNES save states and is not recommended for use.");
break;
// October 13th BIOS...
case "10.13":
mappingTableOffset = 0;
mappingConsoles = ["NES", "SNES", "Genesis/Mega Drive, Master System", "Game Boy, Game Boy Color", "Game Boy Advance", "Arcade"];
step1BRequired = true;
setMessage("info", "fileMessages", "INFO: Version 1.71 <code>bisrv.asd</code> detected.");
break;
default:
@ -361,7 +369,7 @@
// bytes are in here. If they do other weird stuff in the future,
// it'll probably be here that needs to change!
var buttonByteOrder = ['X', 'Y' ,'L', 'A', 'B', 'R'];
if (mappingConsoles[currentConsole] == "Game Boy Advance" && ["05.15", "05.22", "08.03", "10.07"].includes(firmwareVersion)) {
if (mappingConsoles[currentConsole] == "Game Boy Advance" && ["05.15", "05.22", "08.03", "10.07", "10.13"].includes(firmwareVersion)) {
buttonByteOrder = ['L', 'R', 'X', 'A', 'B', 'Y'];
}
@ -501,7 +509,7 @@
// the bytes are in here. If they do other weird stuff in the
// future, it'll probably be here that needs to change!
var buttonByteOrder = ['X', 'Y' ,'L', 'A', 'B', 'R'];
if (mappingConsoles[currentConsole] == "Game Boy Advance" && ["05.15", "05.22", "08.03", "10.07"].includes(firmwareVersion)) {
if (mappingConsoles[currentConsole] == "Game Boy Advance" && ["05.15", "05.22", "08.03", "10.07", "10.13"].includes(firmwareVersion)) {
buttonByteOrder = ['L', 'R', 'X', 'A', 'B', 'Y'];
}
@ -538,6 +546,6 @@
}
</script>
<hr>
<p><a rel="license" href="https://creativecommons.org/publicdomain/zero/1.0/">CC0</a>: public domain. Version 1.4, 20231012.1</p>
<p><a rel="license" href="https://creativecommons.org/publicdomain/zero/1.0/">CC0</a>: public domain. Version 1.5, 20231019.1</p>
</body>
</html>

View File

@ -70,17 +70,22 @@
// May 22nd BIOS...
case "05.22":
setMessage("warning", "bisrvMessages", "May 22nd <code>bisrv.asd</code> detected. Newer firmware is available, see the link above for more information.");
setMessage("warning", "bisrvMessages", "Version 1.5 <code>bisrv.asd</code> detected. Newer firmware is available, see the link above for more information.");
break;
// August 3rd BIOS...
case "08.03":
setMessage("info", "bisrvMessages", "August 3rd <code>bisrv.asd</code> detected. This is the latest known <em>stable</em> official firmware version.");
setMessage("warning", "bisrvMessages", "Version 1.6 <code>bisrv.asd</code> detected. Newer firmware is available, see the link above for more information.");
break;
// October 7th BIOS...
case "10.07":
setMessage("error", "bisrvMessages", "October 7th <code>bisrv.asd</code> detected. While this is the latest known official firmware version, it has a critical issue with SNES save states, and is not recommended for use. Current recommended official firmware version is August 3rd/1.6. See the link above for more information.");
setMessage("error", "bisrvMessages", "Version 1.7 <code>bisrv.asd</code> detected. This firmware version has a critical issue with SNES save states, and is not recommended for use. See the link above for more information.");
break;
// October 13th BIOS...
case "10.13":
setMessage("info", "bisrvMessages", "Version 1.71 <code>bisrv.asd</code> detected. This is the latest known official firmware version.");
break;
default:
@ -102,6 +107,6 @@
}
</script>
<hr>
<p><a rel="license" href="https://creativecommons.org/publicdomain/zero/1.0/">CC0</a>: public domain. Version 1.1, 20231012.1</p>
<p><a rel="license" href="https://creativecommons.org/publicdomain/zero/1.0/">CC0</a>: public domain. Version 1.2, 20231019.1</p>
</body>
</html>

View File

@ -12,6 +12,9 @@
Just like the tools themselves, this file should be considered CC0 Public
Domain (https://creativecommons.org/publicdomain/zero/1.0/)
Version 1.6: Added support for the (hopefully not broken) October 13th BIOS in
getFirmwareHash() and knownHash()
Version 1.5: Added support for the (broken) October 7th BIOS in
getFirmwareHash() and knownHash()
@ -134,7 +137,7 @@ function getFirmwareHash(data) {
break;
case 0x356638:
// Seems to match October 7th layout...
// Seems to match October 7th/13th layout...
dataCopy[0x356638] = 0x00;
dataCopy[0x356640] = 0x00;
dataCopy[0x3566D8] = 0x00;
@ -290,7 +293,10 @@ function knownHash(hash) {
return "08.03";
case "b88458bf2c25d3a34ab57ee149f36cfdc6b8a5138d5c6ed147fbea008b4659db":
return "10.07"
return "10.07";
case "08bd07ab3313e3f00b922538516a61b5846cde34c74ebc0020cd1a0b557dd54b":
return "10.13";
default:
return false;