diff options
Diffstat (limited to 'src/frontend/qt_sdl/ROMManager.h')
-rw-r--r-- | src/frontend/qt_sdl/ROMManager.h | 46 |
1 files changed, 33 insertions, 13 deletions
diff --git a/src/frontend/qt_sdl/ROMManager.h b/src/frontend/qt_sdl/ROMManager.h index 9228560..2163a68 100644 --- a/src/frontend/qt_sdl/ROMManager.h +++ b/src/frontend/qt_sdl/ROMManager.h @@ -24,10 +24,19 @@ #include "AREngine.h" #include "DSi_NAND.h" +#include "MemConstants.h" +#include <optional> #include <string> #include <memory> #include <vector> +namespace melonDS +{ +class NDS; +class DSi; +class FATStorage; +} +class EmuThread; namespace ROMManager { @@ -37,30 +46,41 @@ extern SaveManager* GBASave; extern std::unique_ptr<SaveManager> FirmwareSave; QString VerifySetup(); -void Reset(); -bool LoadBIOS(); +void Reset(EmuThread* thread); +bool LoadBIOS(EmuThread* thread); void ClearBackupState(); -bool InstallFirmware(); -bool InstallNAND(const u8* es_keyY); -bool LoadROM(QStringList filepath, bool reset); -void EjectCart(); +std::optional<std::array<u8, ARM9BIOSSize>> LoadARM9BIOS() noexcept; +std::optional<std::array<u8, ARM7BIOSSize>> LoadARM7BIOS() noexcept; +std::optional<std::array<u8, DSiBIOSSize>> LoadDSiARM9BIOS() noexcept; +std::optional<std::array<u8, DSiBIOSSize>> LoadDSiARM7BIOS() noexcept; +std::optional<FATStorage> LoadDSiSDCard() noexcept; +void CustomizeFirmware(Firmware& firmware) noexcept; +Firmware GenerateFirmware(int type) noexcept; +/// Loads and customizes a firmware image based on the values in Config +std::optional<Firmware> LoadFirmware(int type) noexcept; +/// Loads and customizes a NAND image based on the values in Config +std::optional<DSi_NAND::NANDImage> LoadNAND(const std::array<u8, DSiBIOSSize>& arm7ibios) noexcept; +bool InstallFirmware(NDS& nds); +bool InstallNAND(DSi& dsi); +bool LoadROM(EmuThread*, QStringList filepath, bool reset); +void EjectCart(NDS& nds); bool CartInserted(); QString CartLabel(); -bool LoadGBAROM(QStringList filepath); -void LoadGBAAddon(int type); -void EjectGBACart(); +bool LoadGBAROM(NDS& nds, QStringList filepath); +void LoadGBAAddon(NDS& nds, int type); +void EjectGBACart(NDS& nds); bool GBACartInserted(); QString GBACartLabel(); std::string GetSavestateName(int slot); bool SavestateExists(int slot); -bool LoadState(const std::string& filename); -bool SaveState(const std::string& filename); -void UndoStateLoad(); +bool LoadState(NDS& nds, const std::string& filename); +bool SaveState(NDS& nds, const std::string& filename); +void UndoStateLoad(NDS& nds); -void EnableCheats(bool enable); +void EnableCheats(NDS& nds, bool enable); ARCodeFile* GetCheatFile(); void ROMIcon(const u8 (&data)[512], const u16 (&palette)[16], u32 (&iconRef)[32*32]); |