changeset 2120:91ed3c4cdfd9

Fix the regression in Stellar Fire while still passing RET/DMNA tests
author Michael Pavone <pavone@retrodev.com>
date Thu, 10 Mar 2022 20:45:50 -0800
parents 5ec2f97365a2
children 76ea19e8b1a9
files segacd.c
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/segacd.c	Tue Mar 08 23:28:06 2022 -0800
+++ b/segacd.c	Thu Mar 10 20:45:50 2022 -0800
@@ -581,7 +581,7 @@
 		cd->gate_array[reg] &= 0xFFC0;
 		if (changed & BIT_MEM_MODE) {
 			//FIXME: ram banks are supposed to be interleaved when in 2M mode
-			cd->main_swap_request = old_bank_toggle != cd->bank_toggle;
+			cd->main_swap_request = cd->bank_toggle && !old_bank_toggle;
 			if (value & BIT_MEM_MODE) {
 				//switch to 1M mode
 				gen->m68k->mem_pointers[cd->memptr_start_index + 1] = (value & BIT_RET) ? cd->word_ram + 0x10000 : cd->word_ram;