mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-24 07:02:27 +01:00
byuu says: Lots of improvements. We're now able to start executing some V30MZ instructions. 32 of 256 opcodes implemented so far. I hope this goes without saying, but there's absolutely no point in loading WS/WSC games right now. You won't see anything until I have the full CPU and partial PPU implemented. ROM bank 2 works properly now, the I/O map is 16-bit (address) x 16-bit (data) as it should be*, and I have a basic disassembler in place (adding to it as I emulate new opcodes.) (* I don't know what happens if you access an 8-bit port in 16-bit mode or vice versa, so for now I'm just treating the handlers as always being 16-bit, and discarding the upper 8-bits when not needed.)
25 lines
483 B
C++
25 lines
483 B
C++
struct System {
|
|
enum class Revision : uint {
|
|
WonderSwan, //SW-001 (ASWAN)
|
|
WonderSwanColor, //WSC-001 (SPHINX)
|
|
SwanCrystal, //SCT-001 (SPHINX2)
|
|
};
|
|
|
|
auto revision() const -> Revision;
|
|
|
|
auto init() -> void;
|
|
auto term() -> void;
|
|
auto load(Revision) -> void;
|
|
auto power() -> void;
|
|
auto run() -> void;
|
|
|
|
struct Information {
|
|
string manifest;
|
|
} information;
|
|
|
|
privileged:
|
|
Revision _revision = Revision::WonderSwan;
|
|
};
|
|
|
|
extern System system;
|