diff --git a/global.sh b/global.sh
index 0cb2c6b0..5351a3fa 100755
--- a/global.sh
+++ b/global.sh
@@ -5,14 +5,15 @@
 source /app/libexec/functions.sh
 
 # Static variables
-rd_conf="/var/config/retrodeck/retrodeck.cfg"              # RetroDECK config file path
-rd_conf_backup="/var/config/retrodeck/retrodeck.bak"       # Backup of RetroDECK config file from update
-emuconfigs="/app/retrodeck/emu-configs"                    # folder with all the default emulator configs
-rd_defaults="$emuconfigs/defaults/retrodeck.cfg"           # A default RetroDECK config file
-rd_update_patch="/var/config/retrodeck/rd_update.patch"    # A static location for the temporary patch file used during retrodeck.cfg updates
-lockfile="/var/config/retrodeck/.lock"                     # where the lockfile is located
-default_sd="/run/media/mmcblk0p1"                          # Steam Deck SD default path
-hard_version="$(cat '/app/retrodeck/version')"             # hardcoded version (in the readonly filesystem)
+rd_conf="/var/config/retrodeck/retrodeck.cfg"                   # RetroDECK config file path
+rd_conf_backup="/var/config/retrodeck/retrodeck.bak"            # Backup of RetroDECK config file from update
+emuconfigs="/app/retrodeck/emu-configs"                         # folder with all the default emulator configs
+rd_defaults="$emuconfigs/defaults/retrodeck.cfg"                # A default RetroDECK config file
+rd_update_patch="/var/config/retrodeck/rd_update.patch"         # A static location for the temporary patch file used during retrodeck.cfg updates
+bios_checklist="/var/config/retrodeck/tools/bios_checklist.cfg" # A config file listing BIOS file information that can be verified
+lockfile="/var/config/retrodeck/.lock"                          # where the lockfile is located
+default_sd="/run/media/mmcblk0p1"                               # Steam Deck SD default path
+hard_version="$(cat '/app/retrodeck/version')"                  # hardcoded version (in the readonly filesystem)
 
 # Config files for emulators with single config files
 
diff --git a/tools/bios_checklist.cfg b/tools/bios_checklist.cfg
new file mode 100644
index 00000000..58a807ad
--- /dev/null
+++ b/tools/bios_checklist.cfg
@@ -0,0 +1,16 @@
+scph5500.bin^8dd7d5296a650fac7319bce665a6a53c^PSX^PS1 JP BIOS
+scph5501.bin^490f666e1afb15b7362b406ed1cea246^PSX^PS1 US BIOS
+scph5502.bin^32736f17079d0b2b7024407c39bd3050^PSX^PS1 EU BIOS
+ps2-0200a-20040614.bin^d333558cc14561c1fdc334c75d5f37b7^PS2^PS2 US BIOS
+ps2-0200e-20040614.bin^dc752f160044f2ed5fc1f4964db2a095^PS2^PS2 EU BIOS
+ps2-0200j-20040614.bin^0eee5d1c779aa50e94edd168b4ebf42e^PS2^PS2 JP BIOS
+bios_CD_E.bin^e66fa1dc5820d254611fdcdba0662372^SegaCD^MegaCD EU BIOS
+bios_CD_U.bin^854b9150240a198070150e4566ae1290^SegaCD^SegaCD US BIOS
+bios_CD_J.bin^278a9397d192149e84e820ac621a8edd^SegaCD^MegaCD JP BIOS
+sega_101.bin^85ec9ca47d8f6807718151cbcca8b964^Sega Saturn^Saturn JP BIOS
+mpr-17933.bin^3240872c70984b6cbfda1586cab68dbe^Sega Saturn^Saturn US.mdEU BIOS
+mpr-18811-mx.ic1^255113ba943c92a54facd25a10fd780c^Sega Saturn^The King of Fighters 95 ROM Cartridge - Required for this game
+mpr-19367-mx.ic1^1cd19988d1d72a3e7caa0b73234c96b4^Sega Saturn^Ultraman: Hikari no Kyojin Densetsu ROM Cartridge - Required for this game
+bios7.bin^df692a80a5b1bc90728bc3dfc76cd948^Nintendo DS^Used by MelonDS emulator
+bios9.bin^a392174eb3e572fed6447e956bde4b25^Nintendo DS^Used by MelonDS emulator
+firmware.bin^93276d8629990f50a90950ea083ab348^Nintendo DS^Used by MelonDS emulator
\ No newline at end of file
diff --git a/tools/configurator.sh b/tools/configurator.sh
index d0cb7e43..81be2c39 100644
--- a/tools/configurator.sh
+++ b/tools/configurator.sh
@@ -386,11 +386,40 @@ configurator_check_multifile_game_structure() {
   configurator_troubleshooting_tools_dialog
 }
 
+configurator_check_bios_files() {
+  bios_checked_list=()
+
+  while IFS="^" read -r bios_file bios_hash bios_system bios_desc
+  do
+    bios_file_found="No"
+    bios_hash_matched="No"
+    if [[ -f "$bios_folder/$bios_file" ]]; then
+      bios_file_found="Yes"
+      if [[ $(md5sum "$bios_folder/$bios_file" | awk '{ print $1 }') == "$bios_hash" ]]; then
+        bios_hash_matched="Yes"
+      fi
+    fi
+    bios_checked_list=("${bios_checked_list[@]}" "$bios_file" "$bios_system" "$bios_file_found" "$bios_hash_matched" "$bios_desc")
+  done < $bios_checklist
+
+  zenity --list --title="RetroDECK Configurator Utility - Verify BIOS Files" --cancel-label="Back" \
+  --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
+  --column "BIOS File Name" \
+  --column "System" \
+  --column "BIOS File Found" \
+  --column "BIOS Hash Match" \
+  --column "BIOS File Description" \
+  "${bios_checked_list[@]}"
+
+  configurator_troubleshooting_tools_dialog
+}
+
 configurator_troubleshooting_tools_dialog() {
   choice=$(zenity --list --title="RetroDECK Configurator Utility - Change Options" --cancel-label="Back" \
   --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
   --column="Choice" --column="Action" \
-  "Multi-file game structure check" "Verify the proper structure of multi-file or multi-disc games" )
+  "Multi-file game structure check" "Verify the proper structure of multi-file or multi-disc games" \
+  "BIOS file check" "Verify the existence and file integrity of common BIOS files" )
 
   case $choice in
 
@@ -398,6 +427,10 @@ configurator_troubleshooting_tools_dialog() {
     configurator_check_multifile_game_structure
   ;;
 
+  "BIOS file check" )
+    configurator_check_bios_files
+  ;;
+
   "" ) # No selection made or Back button clicked
     configurator_welcome_dialog
   ;;