From 0168835456308db664fb024d3b61dde609abf9ee Mon Sep 17 00:00:00 2001 From: mrdudz Date: Sat, 28 Jun 2025 18:17:37 +0200 Subject: [PATCH] handle extra address mode(s) for 65CE02 in the scanner --- src/ca65/scanner.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ca65/scanner.c b/src/ca65/scanner.c index 143e83981..1b3673150 100644 --- a/src/ca65/scanner.c +++ b/src/ca65/scanner.c @@ -1285,7 +1285,7 @@ Again: break; case 'S': - if ((CPU == CPU_4510) || (CPU == CPU_45GS02) || (CPU == CPU_65816)) { + if ((CPU == CPU_65CE02) || (CPU == CPU_4510) || (CPU == CPU_45GS02) || (CPU == CPU_65816)) { CurTok.Tok = TOK_S; return; } @@ -1312,7 +1312,7 @@ Again: CurTok.Tok = TOK_OVERRIDE_ZP; return; } else { - if ((CPU == CPU_4510) || (CPU == CPU_45GS02)) { + if ((CPU == CPU_65CE02) || (CPU == CPU_4510) || (CPU == CPU_45GS02)) { CurTok.Tok = TOK_Z; return; } @@ -1324,7 +1324,8 @@ Again: } break; case 2: - if ((CPU == CPU_4510 || CPU == CPU_45GS02) && + /* FIXME: make sure we only alias "sp" to "s" when its really needed */ + if (((CPU == CPU_65CE02) || (CPU == CPU_4510) || (CPU == CPU_45GS02)) && (toupper (SB_AtUnchecked (&CurTok.SVal, 0)) == 'S') && (toupper (SB_AtUnchecked (&CurTok.SVal, 1)) == 'P')) {