From a6feed8b84416af9ebe96d8ca03d967b9b462f71 Mon Sep 17 00:00:00 2001 From: vonmillhausen Date: Thu, 19 Oct 2023 14:31:40 +0100 Subject: [PATCH] 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 --- tools/bootLogoChanger.htm | 14 ++++++++++---- tools/buttonMappingChanger.htm | 20 ++++++++++++++------ tools/firmwareVersionChecker.htm | 13 +++++++++---- tools/tools.js | 10 ++++++++-- 4 files changed, 41 insertions(+), 16 deletions(-) diff --git a/tools/bootLogoChanger.htm b/tools/bootLogoChanger.htm index 1e0d1c9..1e73a81 100644 --- a/tools/bootLogoChanger.htm +++ b/tools/bootLogoChanger.htm @@ -81,19 +81,25 @@ // May 22nd BIOS... case "05.22": logoOffset = 0x9BB098; - setMessage("info", "bisrvMessages", "INFO: May 22nd bisrv.asd detected."); + setMessage("info", "bisrvMessages", "INFO: Version 1.5 bisrv.asd detected."); break; // August 3rd BIOS... case "08.03": logoOffset = 0x9B3530; - setMessage("info", "bisrvMessages", "INFO: August 3rd bisrv.asd detected."); + setMessage("info", "bisrvMessages", "INFO: Version 1.6 bisrv.asd detected."); break; // October 7th BIOS... case "10.07": logoOffset = 0x9B1FE8; - setMessage("warning", "bisrvMessages", "WARNING: October 7th bisrv.asd detected; this version has known issues with SNES save states and is not recommended for use."); + setMessage("warning", "bisrvMessages", "WARNING: Version 1.7 bisrv.asd 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 bisrv.asd detected."); break; default: @@ -232,6 +238,6 @@ }
-

CC0: public domain. Version 1.4, 20231012.1

+

CC0: public domain. Version 1.5, 20231019.1

diff --git a/tools/buttonMappingChanger.htm b/tools/buttonMappingChanger.htm index 6854b9a..28a09b1 100644 --- a/tools/buttonMappingChanger.htm +++ b/tools/buttonMappingChanger.htm @@ -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 bisrv.asd detected."); + setMessage("info", "fileMessages", "INFO: Version 1.5 bisrv.asd 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 bisrv.asd detected."); + setMessage("info", "fileMessages", "INFO: Version 1.6 bisrv.asd 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 bisrv.asd detected; this version has known issues with SNES save states and is not recommended for use."); + setMessage("warning", "fileMessages", "WARNING: Version 1.7 bisrv.asd 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 bisrv.asd 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 @@ }
-

CC0: public domain. Version 1.4, 20231012.1

+

CC0: public domain. Version 1.5, 20231019.1

\ No newline at end of file diff --git a/tools/firmwareVersionChecker.htm b/tools/firmwareVersionChecker.htm index c079aa9..4c52d2c 100644 --- a/tools/firmwareVersionChecker.htm +++ b/tools/firmwareVersionChecker.htm @@ -70,17 +70,22 @@ // May 22nd BIOS... case "05.22": - setMessage("warning", "bisrvMessages", "May 22nd bisrv.asd detected. Newer firmware is available, see the link above for more information."); + setMessage("warning", "bisrvMessages", "Version 1.5 bisrv.asd detected. Newer firmware is available, see the link above for more information."); break; // August 3rd BIOS... case "08.03": - setMessage("info", "bisrvMessages", "August 3rd bisrv.asd detected. This is the latest known stable official firmware version."); + setMessage("warning", "bisrvMessages", "Version 1.6 bisrv.asd detected. Newer firmware is available, see the link above for more information."); break; // October 7th BIOS... case "10.07": - setMessage("error", "bisrvMessages", "October 7th bisrv.asd 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 bisrv.asd 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 bisrv.asd detected. This is the latest known official firmware version."); break; default: @@ -102,6 +107,6 @@ }
-

CC0: public domain. Version 1.1, 20231012.1

+

CC0: public domain. Version 1.2, 20231019.1

diff --git a/tools/tools.js b/tools/tools.js index a709718..a7ef6ea 100644 --- a/tools/tools.js +++ b/tools/tools.js @@ -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;