Mercurial > repos > blastem
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 { |