From 8615c244d93660bd8448125b3730b24f8f29707e Mon Sep 17 00:00:00 2001 From: mrdudz Date: Sun, 22 Jun 2025 21:07:38 +0200 Subject: [PATCH] add initial target for mega65, also added c65 where missing. reworked from #1792 --- src/ca65/main.c | 4 ++++ src/cc65/codegen.c | 2 ++ src/cc65/main.c | 8 ++++++++ src/common/target.c | 2 ++ src/common/target.h | 1 + 5 files changed, 17 insertions(+) diff --git a/src/ca65/main.c b/src/ca65/main.c index 682e9be7f..f113bc812 100644 --- a/src/ca65/main.c +++ b/src/ca65/main.c @@ -342,6 +342,10 @@ static void SetSys (const char* Sys) NewSymbol ("__SYM1__", 1); break; + case TGT_MEGA65: + CBMSystem ("__MEGA65__"); + break; + case TGT_KIM1: NewSymbol ("__KIM1__", 1); break; diff --git a/src/cc65/codegen.c b/src/cc65/codegen.c index e55a318d6..17618e5ff 100644 --- a/src/cc65/codegen.c +++ b/src/cc65/codegen.c @@ -202,6 +202,8 @@ void g_preamble (void) case CPU_65C02: AddTextLine ("\t.setcpu\t\t\"65C02\""); break; case CPU_65816: AddTextLine ("\t.setcpu\t\t\"65816\""); break; case CPU_HUC6280: AddTextLine ("\t.setcpu\t\t\"HUC6280\""); break; + case CPU_4510: AddTextLine ("\t.setcpu\t\t\"4510\""); break; + case CPU_45GS02: AddTextLine ("\t.setcpu\t\t\"45GS02\""); break; default: Internal ("Unknown CPU: %d", CPU); } diff --git a/src/cc65/main.c b/src/cc65/main.c index 5b951dc56..abed6acae 100644 --- a/src/cc65/main.c +++ b/src/cc65/main.c @@ -301,6 +301,14 @@ static void SetSys (const char* Sys) DefineNumericMacro ("__SYM1__", 1); break; + case TGT_C65: + cbmsys ("__C65__"); + break; + + case TGT_MEGA65: + cbmsys ("__MEGA65__"); + break; + case TGT_KIM1: DefineNumericMacro ("__KIM1__", 1); break; diff --git a/src/common/target.c b/src/common/target.c index 1544c215b..51e015adc 100644 --- a/src/common/target.c +++ b/src/common/target.c @@ -187,6 +187,7 @@ static const TargetEntry TargetMap[] = { { "kim1", TGT_KIM1 }, { "lunix", TGT_LUNIX }, { "lynx", TGT_LYNX }, + { "mega65", TGT_MEGA65, }, { "module", TGT_MODULE }, { "nes", TGT_NES }, { "none", TGT_NONE }, @@ -243,6 +244,7 @@ static const TargetProperties PropertyTable[TGT_COUNT] = { { "c65", CPU_4510, BINFMT_BINARY, CTPET }, { "cx16", CPU_65C02, BINFMT_BINARY, CTPET }, { "sym1", CPU_6502, BINFMT_BINARY, CTNone }, + { "mega65", CPU_45GS02, BINFMT_BINARY, CTPET }, { "kim1", CPU_6502, BINFMT_BINARY, CTNone }, { "rp6502", CPU_65C02, BINFMT_BINARY, CTNone }, { "agat", CPU_6502, BINFMT_BINARY, CTAgat }, diff --git a/src/common/target.h b/src/common/target.h index d6c9fc35b..c5c8455a0 100644 --- a/src/common/target.h +++ b/src/common/target.h @@ -87,6 +87,7 @@ typedef enum { TGT_C65, TGT_CX16, TGT_SYM1, + TGT_MEGA65, TGT_KIM1, TGT_RP6502, TGT_AGAT,