diff options
author | aliaspider | 2014-12-10 11:06:17 +0100 |
---|---|---|
committer | aliaspider | 2014-12-10 11:06:17 +0100 |
commit | ad485d434adfa2f01e643e321b9e23c17df1edd0 (patch) | |
tree | d65155f033c3baca32e4a0a0e8b3de559f94f3db /libretro.c | |
parent | 13d5e9c87586736b94097683e05bd1fd1e3b93ae (diff) | |
download | picogpsp-ad485d434adfa2f01e643e321b9e23c17df1edd0.tar.gz picogpsp-ad485d434adfa2f01e643e321b9e23c17df1edd0.tar.bz2 picogpsp-ad485d434adfa2f01e643e321b9e23c17df1edd0.zip |
implement retro_serialize/unserialize
Diffstat (limited to 'libretro.c')
-rw-r--r-- | libretro.c | 31 |
1 files changed, 11 insertions, 20 deletions
@@ -21,15 +21,6 @@ struct retro_perf_callback perf_cb; static cothread_t main_thread; static cothread_t cpu_thread; -/* to be removed */ -u32 savestate_slot = 0; -void get_savestate_filename_noshot(u32 slot, char* name_buffer) -{ - (void) slot; - sprintf(name_buffer, "dummy.svs"); -} -/* ------------ */ - void switch_to_main_thread(void) { co_switch(main_thread); @@ -95,7 +86,7 @@ void retro_get_system_av_info(struct retro_system_av_info* info) info->geometry.max_height = GBA_SCREEN_HEIGHT; info->geometry.aspect_ratio = 0; // 59.72750057 hz - info->timing.fps = ((float)(16 * 1024 * 1024)) / (308 * 228 * 4); + info->timing.fps = ((float) GBC_BASE_RATE) / (308 * 228 * 4); info->timing.sample_rate = GBA_SOUND_FREQUENCY; } @@ -167,28 +158,28 @@ void retro_reset() size_t retro_serialize_size() { - // return SAVESTATE_SIZE; - return 0; + return GBA_STATE_MEM_SIZE; } bool retro_serialize(void* data, size_t size) { - // if (size < SAVESTATE_SIZE) - return false; + if (size != GBA_STATE_MEM_SIZE) + return false; - // gba_save_state(data); + memset (data,0, GBA_STATE_MEM_SIZE); + gba_save_state(data); - // return true; + return true; } bool retro_unserialize(const void* data, size_t size) { - // if (size < SAVESTATE_SIZE) - return false; + if (size != GBA_STATE_MEM_SIZE) + return false; - // gba_load_state(data); + gba_load_state(data); - // return true; + return true; } void retro_cheat_reset() {} |