From 830760b12a50c246e1127fc300132cbf4111424c Mon Sep 17 00:00:00 2001 From: Asnivor Date: Thu, 5 Sep 2024 17:03:58 +0100 Subject: [PATCH] [ChannelFHawk] Launch internal games by passing bios files as a ROM (which in turn contain said internal games) --- Assets/gamedb/gamedb_channelf.txt | 11 +++++++---- .../Consoles/Fairchild/ChannelF/Cart/VesCartBase.cs | 6 ++++++ .../Consoles/Fairchild/ChannelF/ChannelF.cs | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Assets/gamedb/gamedb_channelf.txt b/Assets/gamedb/gamedb_channelf.txt index 0524e89f99..ba46e78741 100644 --- a/Assets/gamedb/gamedb_channelf.txt +++ b/Assets/gamedb/gamedb_channelf.txt @@ -137,8 +137,11 @@ B074C867F235FB69CED96C6916673B45 Video Blackjack (1976)(Fairchild) ChannelF bo C3C7B3246E50117BD5CDDB2B53E6FBAE Werbetextcassette (198x)(Electronic-Partner)(DE) ChannelF DE -AC9804D4C0E9D07E33472E3726ED15C3 Fairchild VES & Channel F BIOS (1976)(Fairchild)[SL31253] ChannelF board=STD -DA98F4BB3242AB80D76629021BB27585 Fairchild VES & Channel F BIOS (1976)(Fairchild)[SL31254] ChannelF board=STD -95D339631D867C8F1D15A5F2EC26069D Fairchild VES & Channel F BIOS (1976)(Fairchild)[SL90025] ChannelF board=STD -495AA78EEFD90504A15E20DDDCC4943F Fairchild VES & Channel F BIOS (1976)(Fairchild)[b concatenated SL31253 & SL31254] ChannelF board=STD +;;;;;;;;;;--------------------------------------------------;;;;;;;;;; +;;; BIOSes - If any of these are loaded as a ROM ChannelFHawk will jump to the on-board games +;;;;;;;;;;--------------------------------------------------;;;;;;;;;; +AC9804D4C0E9D07E33472E3726ED15C3 Fairchild VES & Channel F BIOS [PSU1] (1976)(Fairchild)[SL31253] ChannelF board=BIOS +DA98F4BB3242AB80D76629021BB27585 Fairchild VES & Channel F BIOS [PSU2](1976)(Fairchild)[SL31254] ChannelF board=BIOS +95D339631D867C8F1D15A5F2EC26069D Fairchild VES & Channel F II BIOS [PSU1] (1976)(Fairchild)[SL90025] ChannelF board=BIOS +495AA78EEFD90504A15E20DDDCC4943F Fairchild VES & Channel F BIOS [PSU1+2] (1976)(Fairchild)[b concatenated SL31253 & SL31254] ChannelF board=BIOS diff --git a/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/Cart/VesCartBase.cs b/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/Cart/VesCartBase.cs index bccee77552..5f55044081 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/Cart/VesCartBase.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/Cart/VesCartBase.cs @@ -62,6 +62,12 @@ namespace BizHawk.Emulation.Cores.Consoles.ChannelF switch (boardStr) { + // The supplied ROM is actually a BIOS + case "BIOS": + // we can just pass the rom into channel f and because it does not detect a 0x55 at rom[0] it will just jump straight to onboard games + // (hockey and tennis) + return new mapper_STD(rom); + // standard cart layout case "STD": // any number of F3851 Program Storage Units (1KB ROM each) or F3856 Program Storage Unit (2KB ROM) diff --git a/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs b/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs index c7448cf4f6..e6681ff0f7 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; using System.Linq; - +using BizHawk.Common.ReflectionExtensions; using BizHawk.Emulation.Common; using BizHawk.Emulation.Cores.Components.FairchildF8;