comparison segacd.c @ 2278:5a21bc0ec583

Implement turbo/slo mo for Sega CD
author Michael Pavone <pavone@retrodev.com>
date Mon, 02 Jan 2023 13:08:49 -0800
parents 54cd40fc0da5
children 9ead0fe69d9b
comparison
equal deleted inserted replaced
2277:9e578fd493e1 2278:5a21bc0ec583
1536 main_cpu_map[3].buffer = cd->word_ram; 1536 main_cpu_map[3].buffer = cd->word_ram;
1537 main_cpu_map[4].buffer = cd->word_ram + 0x10000; 1537 main_cpu_map[4].buffer = cd->word_ram + 0x10000;
1538 *num_chunks = sizeof(main_cpu_map) / sizeof(*main_cpu_map); 1538 *num_chunks = sizeof(main_cpu_map) / sizeof(*main_cpu_map);
1539 return main_cpu_map; 1539 return main_cpu_map;
1540 } 1540 }
1541
1542 void segacd_set_speed_percent(segacd_context *cd, uint32_t percent)
1543 {
1544 uint32_t scd_cycle = gen_cycle_to_scd(cd->genesis->ym->current_cycle, cd->genesis);
1545 scd_run(cd, scd_cycle);
1546 uint32_t new_clock = ((uint64_t)SCD_MCLKS * (uint64_t)percent) / 100;
1547 rf5c164_adjust_master_clock(&cd->pcm, new_clock);
1548 cdd_fader_set_speed_percent(&cd->fader, percent);
1549 }