1 #ifndef _emucore__hpp__included__
2 #define _emucore__hpp__included__
10 #include "library/framebuffer.hpp"
11 #include "library/controller-data.hpp"
12 #include "interface/romtype.hpp"
16 std::set
<std::string
> get_sram_set();
18 extern port_type
* core_port_types
[];
20 extern core_core
* emulator_core
;
23 struct emucore_callbacks
26 virtual ~emucore_callbacks() throw();
27 //Get the input for specified control.
28 virtual int16_t get_input(unsigned port
, unsigned index
, unsigned control
) = 0;
29 //Set the input for specified control (used for system controls, only works in readwrite mode).
30 //Returns the actual value of control (may differ if in readonly mode).
31 virtual int16_t set_input(unsigned port
, unsigned index
, unsigned control
, int16_t value
) = 0;
33 virtual void timer_tick(uint32_t increment
, uint32_t per_second
) = 0;
34 //Get the firmware path.
35 virtual std::string
get_firmware_path() = 0;
37 virtual std::string
get_base_path() = 0;
38 //Get the current time.
39 virtual time_t get_time() = 0;
41 virtual time_t get_randomseed() = 0;
43 virtual void output_frame(framebuffer_raw
& screen
, uint32_t fps_n
, uint32_t fps_d
) = 0;
46 extern struct emucore_callbacks
* ecore_callbacks
;
57 uint8_t (*iospace_rw
)(uint64_t offset
, uint8_t data
, bool write
);
60 std::list
<vma_info
> get_vma_list();