bsnes/higan/sfc/coprocessor/sharprtc/sharprtc.hpp

48 lines
1.0 KiB
C++

struct SharpRTC : Coprocessor {
static auto Enter() -> void;
auto enter() -> void;
auto init() -> void;
auto load() -> void;
auto unload() -> void;
auto power() -> void;
auto reset() -> void;
auto sync() -> void;
auto read(uint addr, uint8 data) -> uint8;
auto write(uint addr, uint8 data) -> void;
auto serialize(serializer&) -> void;
enum class State : uint { Ready, Command, Read, Write } rtc_state;
int rtc_index;
uint second;
uint minute;
uint hour;
uint day;
uint month;
uint year;
uint weekday;
//memory.cpp
auto rtc_read(uint4 addr) -> uint4;
auto rtc_write(uint4 addr, uint4 data) -> void;
auto load(const uint8* data) -> void;
auto save(uint8* data) -> void;
//time.cpp
static const uint daysinmonth[12];
auto tick_second() -> void;
auto tick_minute() -> void;
auto tick_hour() -> void;
auto tick_day() -> void;
auto tick_month() -> void;
auto tick_year() -> void;
auto calculate_weekday(uint year, uint month, uint day) -> uint;
};
extern SharpRTC sharprtc;