From 253af1ed07214685dbe1d5a7b042fec30d97831c Mon Sep 17 00:00:00 2001 From: mrdudz Date: Sat, 3 Sep 2022 18:36:40 +0200 Subject: [PATCH] Force 16bit address for absolute-indirect-x-indexed in 65816 mode. should fix issue #1846 (and hopefully not break anything :)) --- src/ca65/instr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ca65/instr.c b/src/ca65/instr.c index 834edfb5f..d0d7ce64c 100644 --- a/src/ca65/instr.c +++ b/src/ca65/instr.c @@ -1298,7 +1298,7 @@ static void EmitCode (EffAddr* A) break; case 2: - if (CPU == CPU_65816 && (A->AddrModeBit & (AM65_ABS | AM65_ABS_X | AM65_ABS_Y))) { + if (CPU == CPU_65816 && (A->AddrModeBit & (AM65_ABS | AM65_ABS_X | AM65_ABS_Y | AM65_ABS_X_IND))) { /* This is a 16 bit mode that uses an address. If in 65816, ** mode, force this address into 16 bit range to allow ** addressing inside a 64K segment.