namespace SNES { namespace Info { static const char Name[] = "bsnes"; static const char Version[] = "067.22"; static const unsigned SerializerVersion = 12; } } //#define DEBUGGER #define CHEAT_SYSTEM #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace nall; #ifdef DEBUGGER #define debugvirtual virtual #else #define debugvirtual #endif namespace SNES { typedef int8_t int8; typedef int16_t int16; typedef int32_t int32; typedef int64_t int64; typedef uint8_t uint8; typedef uint16_t uint16; typedef uint32_t uint32; typedef uint64_t uint64; struct Processor { cothread_t thread; unsigned frequency; int64 clock; inline void create(void (*entrypoint_)(), unsigned frequency_) { if(thread) co_delete(thread); thread = co_create(65536 * sizeof(void*), entrypoint_); frequency = frequency_; clock = 0; } inline void serialize(serializer &s) { s.integer(frequency); s.integer(clock); } inline Processor() : thread(0) {} }; struct ChipDebugger { virtual bool property(unsigned id, string &name, string &value) = 0; }; #include #include #include #include #if defined(PROFILE_ACCURACY) #include "profile-accuracy.hpp" #elif defined(PROFILE_COMPATIBILITY) #include "profile-compatibility.hpp" #elif defined(PROFILE_PERFORMANCE) #include "profile-performance.hpp" #endif #include #include #include #include #include #include #include } namespace nall { template<> struct has_size { enum { value = true }; }; template<> struct has_size { enum { value = true }; }; } #undef debugvirtual