diff --git a/src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs b/src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs
index 3ee25b8a5d..1eb3483c72 100644
--- a/src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs
+++ b/src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs
@@ -471,8 +471,39 @@ namespace BizHawk.Emulation.Common
 			Option("SAT", "E", in ss_100_ue, FirmwareOptionStatus.Ideal);
 			Option("SAT", "E", in ss_100a_ue);
 			FirmwareAndOption("A67CD4F550751F8B91DE2B8B74528AB4E0C11C77", 2 * 1024 * 1024, "SAT", "KOF95", "SAT_KoF95.bin", "King of Fighters cartridge");
-			//Firmware("SAT", "ULTRAMAN", "Ultraman cartridge");
 			FirmwareAndOption("56C1B93DA6B660BF393FBF48CA47569000EF4047", 2 * 1024 * 1024, "SAT", "ULTRAMAN", "SAT_Ultraman.bin", "Ultraman cartridge");
+			// Saturn ST-V (arcade variant, which mednafen supports)
+			// hashes taken from MAME's db: https://github.com/mamedev/mame/blob/e9bdabea3702683e8b962acf8dbe61f2a5f46de0/src/mame/sega/stv.cpp#L1893-L1955
+			var ss_stv_j = File("1A31B6B1A4257FCB6AC6A91E67DD798F91505F48", 524288, "SAT_STV_23603-(J).bin", "ST-V BIOS EPR-23603 (J)");
+			var ss_stv_j1 = File("EFF0F54C70BCE05FF3A289BF30B1027E1C8CD117", 524288, "SAT_STV_20091-(J).bin", "ST-V BIOS EPR-20091 (J)");
+			var ss_stv_j2 = File("FAE53107C894E0C41C49E191DBE706C9CD6E50BD", 524288, "SAT_STV_19730-(J).bin", "ST-V BIOS EPR-19730 (J)");
+			var ss_stv_j3 = File("63CF4A6432F6C87952F9CF3AB0F977AED2367303", 524288, "SAT_STV_17951A-(J).bin", "ST-V BIOS EPR-17951A (J)");
+			var ss_stv_j4 = File("F9B282FD27693E9891843597B2E1823DA3D23C7B", 524288, "SAT_STV_17740A-(J).bin", "ST-V BIOS EPR-17740A (J)");
+			var ss_stv_j5 = File("06860D96923B81AFBC21E0AD32EE19487D8FF6E7", 524288, "SAT_STV_17740-(J).bin", "ST-V BIOS EPR-17740 (J)");
+			var ss_stv_u = File("EAF1C3E5D602E1139D2090A78D7E19F04F916794", 524288, "SAT_STV_17952A-(U).bin", "ST-V BIOS EPR-17952A (U)");
+			var ss_stv_u1 = File("CC41D30DE06160083D77E0DC5D69E61FEC7FDCB5", 524288, "SAT_STV_17741A-(U).bin", "ST-V BIOS EPR-17741A (U)");
+			var ss_stv_e = File("AF79CFF317E5B57D49E463AF16A9F616ED1EEE08", 524288, "SAT_STV_17954A-(E).bin", "ST-V BIOS EPR-17954A (E)");
+			var ss_stv_t = File("B55CDCB45B2A5B0B35E352CF7625F0BD659084DF", 524288, "SAT_STV_19854-(T).bin", "ST-V BIOS EPR-19854 (T)");
+			var ss_stv_t1 = File("9EFC73717EC8A13417E65C54344DED9FC25BF5EF", 524288, "SAT_STV_17953A-(T).bin", "ST-V BIOS EPR-17953A (T)");
+			var ss_stv_t2 = File("23185BEB1CE9C09B8719E57D1ADB7B28C8141FD5", 524288, "SAT_STV_17742A-(T).bin", "ST-V BIOS EPR-17742A (T)");
+			Firmware("SAT", "STV_J", "ST-V Bios (J)");
+			// mame appears to order bios files from newest to oldest, so reverse the order of presentation here
+			// similarly to regular saturn bios files, set mednafen's preferred bios files to ideal
+			Option("SAT", "STV_J", in ss_stv_j5);
+			Option("SAT", "STV_J", in ss_stv_j4);
+			Option("SAT", "STV_J", in ss_stv_j3);
+			Option("SAT", "STV_J", in ss_stv_j2);
+			Option("SAT", "STV_J", in ss_stv_j1, FirmwareOptionStatus.Ideal);
+			Option("SAT", "STV_J", in ss_stv_j);
+			// mednafen appears to consider Taiwan as Japan for purposes of bios files, so we'll do that too
+			Option("SAT", "STV_J", in ss_stv_t2);
+			Option("SAT", "STV_J", in ss_stv_t1);
+			Option("SAT", "STV_J", in ss_stv_t);
+			Firmware("SAT", "STV_U", "ST-V Bios (U)");
+			Option("SAT", "STV_U", in ss_stv_u1);
+			Option("SAT", "STV_U", in ss_stv_u, FirmwareOptionStatus.Ideal);
+			Firmware("SAT", "STV_E", "ST-V Bios (E)");
+			Option("SAT", "STV_E", in ss_stv_e, FirmwareOptionStatus.Ideal);
 
 			// SMS
 			var sms_us_13 = File("C315672807D8DDB8D91443729405C766DD95CAE7", 8192, "SMS_us_1.3.sms", "SMS BIOS 1.3 (USA, Europe)");
diff --git a/src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs b/src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs
index db5144c0e3..d7b6f02942 100644
--- a/src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs
+++ b/src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs
@@ -39,6 +39,9 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
 			{
 				{ "FIRMWARE:$J", new("SAT", "J") },
 				{ "FIRMWARE:$U", new("SAT", "U") },
+				{ "FIRMWARE:$STV_J", new("SAT", "STV_J") },
+				{ "FIRMWARE:$STV_U", new("SAT", "STV_U") },
+				{ "FIRMWARE:$STV_E", new("SAT", "STV_E") },
 				{ "FIRMWARE:$KOF", new("SAT", "KOF95") },
 				{ "FIRMWARE:$ULTRA", new("SAT", "ULTRAMAN") },
 				// { "FIRMWARE:$SATAR", new("SAT", "AR") }, // action replay garbage
@@ -50,11 +53,16 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
 
 		protected override IDictionary<string, SettingOverride> SettingOverrides { get; } = new Dictionary<string, SettingOverride>
 		{
-			{ "ss.bios_jp", new() { Hide = true , Default = "$J" } }, // FIRMWARE:
-			{ "ss.bios_na_eu", new() { Hide = true , Default = "$U" } }, // FIRMWARE:
-			{ "ss.cart.kof95_path", new() { Hide = true , Default = "$KOF" } }, // FIRMWARE:
-			{ "ss.cart.ultraman_path", new() { Hide = true , Default = "$ULTRA" } }, // FIRMWARE:
-			{ "ss.cart.satar4mp_path", new() { Hide = true , Default = "$SATAR" } }, // FIRMWARE:
+			{ "ss.bios_jp", new() { Hide = true, Default = "$J" } }, // FIRMWARE:
+			{ "ss.bios_na_eu", new() { Hide = true, Default = "$U" } }, // FIRMWARE:
+			{ "ss.bios_stv_jp", new() { Hide = true, Default = "$STV_J" } }, // FIRMWARE:
+			{ "ss.bios_stv_na", new() { Hide = true, Default = "$STV_U" } }, // FIRMWARE:
+			{ "ss.bios_stv_eu", new() { Hide = true, Default = "$STV_E" } }, // FIRMWARE:
+			{ "ss.cart.kof95_path", new() { Hide = true, Default = "$KOF" } }, // FIRMWARE:
+			{ "ss.cart.ultraman_path", new() { Hide = true, Default = "$ULTRA" } }, // FIRMWARE:
+			{ "ss.cart.satar4mp_path", new() { Hide = true, Default = "$SATAR" } }, // FIRMWARE:
+
+			{ "ss.midi", new() { Hide = true } },
 			{ "ss.affinity.vdp2", new() { Hide = true } },
 			{ "ss.dbg_exe_cdpath", new() { Hide = true } },
 			{ "ss.dbg_cem", new() { Hide = true } },
@@ -80,7 +88,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
 			{ "ss.slend", new() { NonSync = true } },
 			{ "ss.h_overscan", new() { NonSync = true } },
 			{ "ss.h_blend", new() { NonSync = true } },
-			{ "ss.correct_aspect", new() { NonSync = true, Default = "0" } },
+			{ "ss.correct_aspect", new() { NonSync = true } },
 			{ "ss.slstartp", new() { NonSync = true } },
 			{ "ss.slendp", new() { NonSync = true } },
 		};