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