#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 #include #include #include #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