From f4140de3f7ce765f56dfad518b6ee1e728e57067 Mon Sep 17 00:00:00 2001 From: adelikat Date: Thu, 9 Apr 2015 00:18:01 +0000 Subject: [PATCH] Apple II - get necessary firmware files from the firmwares system instead of a hardcoded path, added entries to the firmware database for the files I have, no idea what other files are compatible --- BizHawk.Client.EmuHawk/config/FirmwaresConfig.cs | 1 + BizHawk.Emulation.Common/Database/FirmwareDatabase.cs | 8 ++++++++ BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs | 6 ++++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/BizHawk.Client.EmuHawk/config/FirmwaresConfig.cs b/BizHawk.Client.EmuHawk/config/FirmwaresConfig.cs index e3cdf32cfd..e4d783cf26 100644 --- a/BizHawk.Client.EmuHawk/config/FirmwaresConfig.cs +++ b/BizHawk.Client.EmuHawk/config/FirmwaresConfig.cs @@ -48,6 +48,7 @@ namespace BizHawk.Client.EmuHawk { "SMS", "Sega Master System" }, { "PSX", "Sony PlayStation" }, { "Lynx", "Atari Lynx" }, + { "AppleII", "Apple II" } }; public string TargetSystem = null; diff --git a/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs b/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs index 4d42d3c96f..fd841ef1c0 100644 --- a/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs +++ b/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs @@ -191,6 +191,14 @@ namespace BizHawk.Emulation.Common Option("PSX", "U", psone_45a, FirmwareOptionStatus.Unacceptable); Option("PSX", "E", psone_r5e, FirmwareOptionStatus.Unacceptable); Option("PSX", "J", ps2_50j, FirmwareOptionStatus.Unacceptable); + + Firmware("AppleII", "AppleIIe", "AppleIIe.rom"); + var appleII_AppleIIe = File("B8EA90ABE135A0031065E01697C4A3A20D51198B", 16384, "AppleIIe.rom", "Apple II e"); + Option("AppleII", "AppleIIe", appleII_AppleIIe, FirmwareOptionStatus.Acceptable); + + Firmware("AppleII", "DiskII", "DiskII.rom"); + var appleII_DiskII = File("D4181C9F046AAFC3FB326B381BAAC809D9E38D16", 256, "DiskII.rom", "Disk II"); + Option("AppleII", "DiskII", appleII_DiskII, FirmwareOptionStatus.Acceptable); } //adds a defined firmware ID to the database diff --git a/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs b/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs index 6a5ee6e9b4..a049529a72 100644 --- a/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs +++ b/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs @@ -24,10 +24,12 @@ namespace BizHawk.Emulation.Cores.Computers.AppleII _disk1 = rom; - // TODO: get from Firmware provider - _appleIIRom = File.ReadAllBytes("C:\\apple\\AppleIIe.rom"); _diskIIRom = File.ReadAllBytes("C:\\apple\\DiskII.rom"); + _appleIIRom = comm.CoreFileProvider.GetFirmware( + SystemId, "AppleIIe", true, "The Apple IIe BIOS firmware is required"); + _diskIIRom = comm.CoreFileProvider.GetFirmware( + SystemId, "DiskII", true, "The DiskII firmware is required"); _machine = new Machine();