diff options
author | neonloop | 2021-08-04 15:09:12 +0000 |
---|---|---|
committer | neonloop | 2021-08-04 15:09:12 +0000 |
commit | 99632f66e74fc57c463072be312d634aeb67bc61 (patch) | |
tree | e4ccaf52b93d04c69865d82556e2ce4cd3a6c599 /core.h | |
download | picoarch-99632f66e74fc57c463072be312d634aeb67bc61.tar.gz picoarch-99632f66e74fc57c463072be312d634aeb67bc61.tar.bz2 picoarch-99632f66e74fc57c463072be312d634aeb67bc61.zip |
Initial commit
Diffstat (limited to 'core.h')
-rw-r--r-- | core.h | 52 |
1 files changed, 52 insertions, 0 deletions
@@ -0,0 +1,52 @@ +#ifndef _CORE_H__ +#define _CORE_H__ + +#include "libretro.h" + +struct core_cbs { + bool initialized; + void *handle; + void (*retro_init)(void); + void (*retro_deinit)(void); + void (*retro_api_version)(void); + void (*retro_get_system_info)(struct retro_system_info *info); + void (*retro_get_system_av_info)(struct retro_system_av_info *info); + void (*retro_set_controller_port_device)(unsigned port, unsigned device); + void (*retro_reset)(void); + void (*retro_run)(void); + size_t (*retro_serialize_size)(void); + bool (*retro_serialize)(void *data, size_t size); + bool (*retro_unserialize)(const void *data, size_t size); + void (*retro_cheat_reset)(void); + void (*retro_cheat_set)(unsigned index, bool enabled, const char *code); + bool (*retro_load_game)(const struct retro_game_info *game); + bool (*retro_load_game_special)(unsigned game_type, const struct retro_game_info *info, size_t num_info); + void (*retro_unload_game)(void); + unsigned (*retro_get_region)(void); + void *(*retro_get_memory_data)(unsigned id); + size_t (*retro_get_memory_size)(unsigned id); + retro_audio_buffer_status_callback_t retro_audio_buffer_status; +}; + +extern struct core_cbs current_core; + +extern double sample_rate; +extern double frame_rate; +extern double aspect_ratio; +extern int audio_buffer_size_override; +extern int state_slot; + +void config_file_name(char *buf, size_t len, int is_game); + +void sram_read(void); +void sram_write(void); + +void state_file_name(char *name, size_t size, int slot); +int state_read(void); +int state_write(void); + +int core_load(const char *corefile); +int core_load_content(const char *path); +void core_unload(void); + +#endif |