From 462672a75745e50ddd53b17e4295432318b40038 Mon Sep 17 00:00:00 2001 From: vonmillhausen Date: Sat, 19 Aug 2023 17:45:25 +0100 Subject: [PATCH] Added support for the new "August 3rd" BIOS There's a new BIOS revision floating around (MD5 hash first posted in Discord on August 3rd); no official announcement from Data Frog about it yet, but I've gone ahead and added support for it to the Boot Logo Changer and the Button Mapping Changer tools --- tools/bootLogoChanger.htm | 8 +++++++- tools/buttonMappingChanger.htm | 14 +++++++++++--- tools/tools.js | 8 +++++++- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/tools/bootLogoChanger.htm b/tools/bootLogoChanger.htm index c639d79..7b8f2df 100644 --- a/tools/bootLogoChanger.htm +++ b/tools/bootLogoChanger.htm @@ -83,6 +83,12 @@ logoOffset = 0x9BB098; setMessage("info", "bisrvMessages", "INFO: May 22nd bisrv.asd detected."); break; + + // August 3rd BIOS... + case "08.03": + logoOffset = 0x9B3530; + setMessage("info", "bisrvMessages", "INFO: August 3rd bisrv.asd detected."); + break; default: // Huh... wasn't false so had bisrv.asd structure, but didn't return @@ -220,6 +226,6 @@ }
-

CC0: public domain. Version 1.3, 20230626.1

+

CC0: public domain. Version 1.4, 20230819.1

diff --git a/tools/buttonMappingChanger.htm b/tools/buttonMappingChanger.htm index 881a0e1..67ed309 100644 --- a/tools/buttonMappingChanger.htm +++ b/tools/buttonMappingChanger.htm @@ -119,6 +119,14 @@ setMessage("info", "fileMessages", "INFO: May 22nd bisrv.asd detected."); break; + // August 3rd BIOS... + case "08.03": + 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."); + break; + default: // Huh... wasn't false so had bisrv.asd structure, but didn't return // a known hash... a new BIOS version? Unknown anyway! @@ -345,7 +353,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"].includes(firmwareVersion)) { + if (mappingConsoles[currentConsole] == "Game Boy Advance" && ["05.15", "05.22", "08.03"].includes(firmwareVersion)) { buttonByteOrder = ['L', 'R', 'X', 'A', 'B', 'Y']; } @@ -485,7 +493,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"].includes(firmwareVersion)) { + if (mappingConsoles[currentConsole] == "Game Boy Advance" && ["05.15", "05.22", "08.03"].includes(firmwareVersion)) { buttonByteOrder = ['L', 'R', 'X', 'A', 'B', 'Y']; } @@ -522,6 +530,6 @@ }
-

CC0: public domain. Version 1.3, 20230626.1

+

CC0: public domain. Version 1.4, 20230819.1

\ No newline at end of file diff --git a/tools/tools.js b/tools/tools.js index 47bc9cf..decf6ae 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.1: Added support for the August 3rd BIOS in getFirmwareHash() and + knownHash() + Version 1.0: Initial version */ @@ -50,7 +53,7 @@ function getFirmwareHash(data) { var dataCopy = data.slice(); // Only really worthwhile doing this for big bisrv.asd files... - if (dataCopy.length > 12640000) { + if (dataCopy.length > 12600000) { // First, replace CRC32 bits with 00... dataCopy[396] = 0x00; @@ -175,6 +178,9 @@ function knownHash(hash) { case "6aebab0e4da39e0a997df255ad6a1bd12fdd356cdf51a85c614d47109a0d7d07": return "05.22"; + case "3f0ca7fcd47f1202828f6dbc177d8f4e6c9f37111e8189e276d925ffd2988267": + return "08.03"; + default: return false; }