ares-openbsd/desktop-ui/emulator/emulators.cpp

253 行
5.3 KiB
C++

#ifdef CORE_A26
namespace ares::Atari2600 {
auto load(Node::System& node, string name) -> bool;
auto option(string name, string value) -> bool;
}
#include "atari-2600.cpp"
#endif
#ifdef CORE_CV
namespace ares::ColecoVision {
auto load(Node::System& node, string name) -> bool;
}
#include "colecovision.cpp"
#endif
#ifdef CORE_MYVISION
namespace ares::MyVision {
auto load(Node::System& node, string name) -> bool;
}
#include "myvision.cpp"
#endif
#ifdef CORE_FC
namespace ares::Famicom {
auto load(Node::System& node, string name) -> bool;
}
#include "famicom.cpp"
#include "famicom-disk-system.cpp"
#endif
#ifdef CORE_GB
namespace ares::GameBoy {
auto load(Node::System& node, string name) -> bool;
}
#include "game-boy.cpp"
#include "game-boy-color.cpp"
#endif
#ifdef CORE_GBA
namespace ares::GameBoyAdvance {
auto load(Node::System& node, string name) -> bool;
}
#include "game-boy-advance.cpp"
#endif
#ifdef CORE_MD
namespace ares::MegaDrive {
auto load(Node::System& node, string name) -> bool;
}
#include "mega-drive.cpp"
#include "mega-32x.cpp"
#include "mega-cd.cpp"
#include "mega-cd-32x.cpp"
#endif
#ifdef CORE_MS
namespace ares::MasterSystem {
auto load(Node::System& node, string name) -> bool;
}
#include "master-system.cpp"
#include "game-gear.cpp"
#endif
#ifdef CORE_MSX
namespace ares::MSX {
auto load(Node::System& node, string name) -> bool;
}
#include "msx.cpp"
#include "msx2.cpp"
#endif
#ifdef CORE_N64
namespace ares::Nintendo64 {
auto load(Node::System& node, string name) -> bool;
auto option(string name, string value) -> bool;
}
#include "nintendo-64.cpp"
#include "nintendo-64dd.cpp"
#endif
#ifdef CORE_NG
namespace ares::NeoGeo {
auto load(Node::System& node, string name) -> bool;
}
#include "neo-geo-aes.cpp"
#include "neo-geo-mvs.cpp"
#endif
#ifdef CORE_NGP
namespace ares::NeoGeoPocket {
auto load(Node::System& node, string name) -> bool;
}
#include "neo-geo-pocket.cpp"
#include "neo-geo-pocket-color.cpp"
#endif
#ifdef CORE_PCE
namespace ares::PCEngine {
auto load(Node::System& node, string name) -> bool;
auto option(string name, string value) -> bool;
}
#include "pc-engine.cpp"
#include "pc-engine-cd.cpp"
#include "supergrafx.cpp"
#include "supergrafx-cd.cpp"
#endif
#ifdef CORE_PS1
namespace ares::PlayStation {
auto load(Node::System& node, string name) -> bool;
}
#include "playstation.cpp"
#endif
#ifdef CORE_SATURN
namespace ares::Saturn {
auto load(Node::System& node, string name) -> bool;
}
#include "saturn.cpp"
#endif
#ifdef CORE_SFC
namespace ares::SuperFamicom {
auto load(Node::System& node, string name) -> bool;
auto option(string name, string value) -> bool;
}
#include "super-famicom.cpp"
#endif
#ifdef CORE_SG
namespace ares::SG1000 {
auto load(Node::System& node, string name) -> bool;
}
#include "sg-1000.cpp"
#endif
#ifdef CORE_WS
namespace ares::WonderSwan {
auto load(Node::System& node, string name) -> bool;
auto option(string name, string value) -> bool;
}
#include "wonderswan.cpp"
#include "wonderswan-color.cpp"
#include "pocket-challenge-v2.cpp"
#endif
#ifdef CORE_SPEC
namespace ares::ZXSpectrum {
auto load(Node::System& node, string name) -> bool;
auto option(string name, string value) -> bool;
}
#include "zx-spectrum.cpp"
#include "zx-spectrum-128.cpp"
#endif
#include "arcade.cpp"
auto Emulator::construct() -> void {
emulators.append(new Arcade);
#ifdef CORE_A26
emulators.append(new Atari2600);
#endif
#ifdef CORE_WS
emulators.append(new WonderSwan);
emulators.append(new WonderSwanColor);
emulators.append(new PocketChallengeV2);
#endif
#ifdef CORE_CV
emulators.append(new ColecoVision);
#endif
#ifdef CORE_MYVISION
emulators.append(new MyVision);
#endif
#ifdef CORE_MSX
emulators.append(new MSX);
emulators.append(new MSX2);
#endif
#ifdef CORE_PCE
emulators.append(new PCEngine);
emulators.append(new PCEngineCD);
emulators.append(new SuperGrafx);
emulators.append(new SuperGrafxCD);
#endif
#ifdef CORE_FC
emulators.append(new Famicom);
emulators.append(new FamicomDiskSystem);
#endif
#ifdef CORE_SFC
emulators.append(new SuperFamicom);
#endif
#ifdef CORE_N64
emulators.append(new Nintendo64);
emulators.append(new Nintendo64DD);
#endif
#ifdef CORE_GB
emulators.append(new GameBoy);
emulators.append(new GameBoyColor);
#endif
#ifdef CORE_GBA
emulators.append(new GameBoyAdvance);
#endif
#ifdef CORE_SG
emulators.append(new SG1000);
#endif
#ifdef CORE_MS
emulators.append(new MasterSystem);
emulators.append(new GameGear);
#endif
#ifdef CORE_MD
emulators.append(new MegaDrive);
emulators.append(new Mega32X);
emulators.append(new MegaCD);
emulators.append(new MegaCD32X);
#endif
#ifdef CORE_SATURN
emulators.append(new Saturn);
#endif
#ifdef CORE_NG
emulators.append(new NeoGeoAES);
emulators.append(new NeoGeoMVS);
#endif
#ifdef CORE_NGP
emulators.append(new NeoGeoPocket);
emulators.append(new NeoGeoPocketColor);
#endif
#ifdef CORE_PS1
emulators.append(new PlayStation);
#endif
#ifdef CORE_SPEC
emulators.append(new ZXSpectrum);
emulators.append(new ZXSpectrum128);
#endif
}