mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-22 06:02:28 +01:00
[This version, with the internal version number changed back to "v100", replaced the original v100 source archive on byuu.org soon after v100's release, because it fixes important bugs in that version. --Ed] byuu says: Changelog: - fixed default paths for Sufami Turbo slotted games - moved WonderSwan orientation controls to the port rather than the device - I do like hex_usr's idea here; but that'll need more consideration; so this is a temporary fix - added new debugger interface (see the public topic for more on that)
87 lines
1.8 KiB
C++
87 lines
1.8 KiB
C++
#include <sfc/debugger.hpp>
|
|
|
|
namespace SuperFamicom {
|
|
|
|
struct ID {
|
|
enum : uint {
|
|
System,
|
|
SuperFamicom,
|
|
GameBoy,
|
|
BSMemory,
|
|
SufamiTurboA,
|
|
SufamiTurboB,
|
|
};
|
|
|
|
struct Port { enum : uint {
|
|
Controller1,
|
|
Controller2,
|
|
Expansion,
|
|
};};
|
|
|
|
struct Device { enum : uint {
|
|
None,
|
|
Gamepad,
|
|
Mouse,
|
|
SuperMultitap,
|
|
SuperScope,
|
|
Justifier,
|
|
Justifiers,
|
|
|
|
Satellaview,
|
|
SuperDisc,
|
|
S21FX,
|
|
};};
|
|
};
|
|
|
|
struct Interface : Emulator::Interface {
|
|
using Emulator::Interface::load;
|
|
|
|
Interface();
|
|
|
|
auto manifest() -> string override;
|
|
auto title() -> string override;
|
|
auto videoFrequency() -> double override;
|
|
auto videoColors() -> uint32 override;
|
|
auto videoColor(uint32 color) -> uint64 override;
|
|
auto audioFrequency() -> double override;
|
|
|
|
auto loaded() -> bool override;
|
|
auto sha256() -> string override;
|
|
auto load(uint id) -> bool override;
|
|
auto save() -> void override;
|
|
auto unload() -> void override;
|
|
|
|
auto connect(uint port, uint device) -> void override;
|
|
auto power() -> void override;
|
|
auto reset() -> void override;
|
|
auto run() -> void override;
|
|
|
|
auto rtc() -> bool override;
|
|
auto rtcsync() -> void override;
|
|
|
|
auto serialize() -> serializer override;
|
|
auto unserialize(serializer&) -> bool override;
|
|
|
|
auto cheatSet(const string_vector&) -> void override;
|
|
|
|
auto cap(const string& name) -> bool override;
|
|
auto get(const string& name) -> any override;
|
|
auto set(const string& name, const any& value) -> bool override;
|
|
};
|
|
|
|
struct Settings {
|
|
bool blurEmulation = true;
|
|
bool colorEmulation = true;
|
|
bool scanlineEmulation = true;
|
|
|
|
uint controllerPort1 = 0;
|
|
uint controllerPort2 = 0;
|
|
uint expansionPort = 0;
|
|
bool random = true;
|
|
};
|
|
|
|
extern Interface* interface;
|
|
extern Settings settings;
|
|
|
|
}
|