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