comparison libblastem.c @ 2046:0f2855db27ea proprietary

Backed out changeset 94f37e4b1469
author Michael Pavone <pavone@retrodev.com>
date Tue, 21 Sep 2021 23:19:06 -0700
parents f77d36a975ff
children 275da208aa75
comparison
equal deleted inserted replaced
2045:b119e0de9a70 2046:0f2855db27ea
272 } 272 }
273 273
274 /* Gets region of memory. */ 274 /* Gets region of memory. */
275 RETRO_API void *retro_get_memory_data(unsigned id) 275 RETRO_API void *retro_get_memory_data(unsigned id)
276 { 276 {
277 switch (id) { 277 if (id == RETRO_MEMORY_SYSTEM_RAM)
278 case RETRO_MEMORY_SYSTEM_RAM: 278 {
279 switch (stype) { 279 switch (stype)
280 case SYSTEM_GENESIS: { 280 {
281 case SYSTEM_GENESIS:
282 {
281 genesis_context *gen = (genesis_context *)current_system; 283 genesis_context *gen = (genesis_context *)current_system;
282 return (uint8_t *)gen->work_ram; 284 return (uint8_t *)gen->work_ram;
283 } 285 }
286 break;
284 #ifndef NO_Z80 287 #ifndef NO_Z80
285 case SYSTEM_SMS: { 288 case SYSTEM_SMS:
289 {
286 sms_context *sms = (sms_context *)current_system; 290 sms_context *sms = (sms_context *)current_system;
287 return sms->ram; 291 return sms->ram;
288 } 292 }
293 break;
289 #endif 294 #endif
290 } 295 }
291 break;
292 case RETRO_MEMORY_SAVE_RAM:
293 if (stype == SYSTEM_GENESIS) {
294 genesis_context *gen = (genesis_context *)current_system;
295 if (gen->save_type != SAVE_NONE)
296 return gen->save_storage;
297 }
298 break;
299 default:
300 break;
301 } 296 }
302 return NULL; 297 return NULL;
303 } 298 }
304 299
305 RETRO_API size_t retro_get_memory_size(unsigned id) 300 RETRO_API size_t retro_get_memory_size(unsigned id)
306 { 301 {
307 switch (id) { 302 if (id == RETRO_MEMORY_SYSTEM_RAM)
308 case RETRO_MEMORY_SYSTEM_RAM: 303 {
309 switch (stype) { 304 switch (stype)
305 {
310 case SYSTEM_GENESIS: 306 case SYSTEM_GENESIS:
311 return RAM_WORDS * sizeof(uint16_t); 307 return RAM_WORDS * sizeof(uint16_t);
312 #ifndef NO_Z80 308 #ifndef NO_Z80
313 case SYSTEM_SMS: 309 case SYSTEM_SMS:
314 return SMS_RAM_SIZE; 310 return SMS_RAM_SIZE;
315 #endif 311 #endif
316 } 312 }
317 break;
318 case RETRO_MEMORY_SAVE_RAM:
319 if (stype == SYSTEM_GENESIS) {
320 genesis_context *gen = (genesis_context *)current_system;
321 if (gen->save_type != SAVE_NONE)
322 return gen->save_size;
323 }
324 break;
325 default:
326 break;
327 } 313 }
328 return 0; 314 return 0;
329 } 315 }
330 316
331 //blastem render backend API implementation 317 //blastem render backend API implementation