Mercurial > repos > blastem
view sft_mapper.c @ 2419:0871f555eff6
Fix some CD-ROM emulation issues and make timing better match my MCD2. Seems to fix or at least improve video playback in Iron Helix and Power Rangers
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 18 Jan 2024 23:03:58 -0800 |
parents | fd68fe5f723e |
children |
line wrap: on
line source
#include "genesis.h" void* sft_wukong_write_b(uint32_t address, void *context, uint8_t value) { if (!(address & 1)) { return context; } m68k_context *m68k = context; genesis_context *gen = m68k->system; printf("wukong mapper write: %X - %X\n", address, value); uint16_t *old = m68k->mem_pointers[gen->mapper_start_index]; if (value & 0x80) { m68k->mem_pointers[gen->mapper_start_index] = gen->cart; } else { m68k->mem_pointers[gen->mapper_start_index] = gen->cart + 1 * 1024 * 1024; } if (old != m68k->mem_pointers[gen->mapper_start_index]) { m68k_invalidate_code_range(m68k, 0x200000, 0x3C0000); } return context; } void* sft_wukong_write_w(uint32_t address, void *context, uint16_t value) { return sft_wukong_write_b(address | 1, context, value); }