comparison genesis.c @ 1688:395f684c5379

Fixed the most glaring issues in libretro build
author Mike Pavone <pavone@retrodev.com>
date Sun, 20 Jan 2019 16:24:22 -0800
parents 6909c5d0bbb5
children 319d90025d50
comparison
equal deleted inserted replaced
1687:6c54bb5fe3b3 1688:395f684c5379
31 31
32 //TODO: Figure out the exact value for this 32 //TODO: Figure out the exact value for this
33 #define LINES_NTSC 262 33 #define LINES_NTSC 262
34 #define LINES_PAL 313 34 #define LINES_PAL 313
35 35
36 #ifdef IS_LIB
37 #define MAX_SOUND_CYCLES 1000
38 #else
36 #define MAX_SOUND_CYCLES 100000 39 #define MAX_SOUND_CYCLES 100000
40 #endif
37 41
38 void genesis_serialize(genesis_context *gen, serialize_buffer *buf, uint32_t m68k_pc) 42 void genesis_serialize(genesis_context *gen, serialize_buffer *buf, uint32_t m68k_pc)
39 { 43 {
40 start_section(buf, SECTION_68000); 44 start_section(buf, SECTION_68000);
41 m68k_serialize(gen->m68k, m68k_pc, buf); 45 m68k_serialize(gen->m68k, m68k_pc, buf);
1068 load_state(&gen->header, gen->header.delayed_load_slot - 1); 1072 load_state(&gen->header, gen->header.delayed_load_slot - 1);
1069 gen->header.delayed_load_slot = 0; 1073 gen->header.delayed_load_slot = 0;
1070 resume_68k(gen->m68k); 1074 resume_68k(gen->m68k);
1071 } 1075 }
1072 } 1076 }
1077 #ifndef IS_LIB
1073 bindings_release_capture(); 1078 bindings_release_capture();
1074 vdp_release_framebuffer(gen->vdp); 1079 vdp_release_framebuffer(gen->vdp);
1075 render_pause_source(gen->ym->audio); 1080 render_pause_source(gen->ym->audio);
1076 render_pause_source(gen->psg->audio); 1081 render_pause_source(gen->psg->audio);
1082 #endif
1077 } 1083 }
1078 1084
1079 static void start_genesis(system_header *system, char *statefile) 1085 static void start_genesis(system_header *system, char *statefile)
1080 { 1086 {
1081 genesis_context *gen = (genesis_context *)system; 1087 genesis_context *gen = (genesis_context *)system;
1114 } 1120 }
1115 1121
1116 static void resume_genesis(system_header *system) 1122 static void resume_genesis(system_header *system)
1117 { 1123 {
1118 genesis_context *gen = (genesis_context *)system; 1124 genesis_context *gen = (genesis_context *)system;
1125 #ifndef IS_LIB
1119 render_set_video_standard((gen->version_reg & HZ50) ? VID_PAL : VID_NTSC); 1126 render_set_video_standard((gen->version_reg & HZ50) ? VID_PAL : VID_NTSC);
1120 bindings_reacquire_capture(); 1127 bindings_reacquire_capture();
1121 vdp_reacquire_framebuffer(gen->vdp); 1128 vdp_reacquire_framebuffer(gen->vdp);
1122 render_resume_source(gen->ym->audio); 1129 render_resume_source(gen->ym->audio);
1123 render_resume_source(gen->psg->audio); 1130 render_resume_source(gen->psg->audio);
1131 #endif
1124 resume_68k(gen->m68k); 1132 resume_68k(gen->m68k);
1125 handle_reset_requests(gen); 1133 handle_reset_requests(gen);
1126 } 1134 }
1127 1135
1128 static void inc_debug_mode(system_header *system) 1136 static void inc_debug_mode(system_header *system)
1132 } 1140 }
1133 1141
1134 static void request_exit(system_header *system) 1142 static void request_exit(system_header *system)
1135 { 1143 {
1136 genesis_context *gen = (genesis_context *)system; 1144 genesis_context *gen = (genesis_context *)system;
1145 gen->m68k->target_cycle = gen->m68k->current_cycle;
1137 gen->m68k->should_return = 1; 1146 gen->m68k->should_return = 1;
1138 } 1147 }
1139 1148
1140 static void persist_save(system_header *system) 1149 static void persist_save(system_header *system)
1141 { 1150 {