From 97a7b48332c217909b799169cf4177e0423f4a53 Mon Sep 17 00:00:00 2001 From: sozud <122322823+sozud@users.noreply.github.com> Date: Tue, 7 Oct 2025 14:56:15 -0700 Subject: [PATCH 1/2] Add more dreamcast compilers --- backend/compilers/compilers.linux.yaml | 7 ++++++ backend/coreapp/compilers.py | 23 +++++++++++++++++++ .../src/lib/i18n/locales/en/compilers.json | 7 ++++++ 3 files changed, 37 insertions(+) diff --git a/backend/compilers/compilers.linux.yaml b/backend/compilers/compilers.linux.yaml index 7d209b6a8..42819b173 100644 --- a/backend/compilers/compilers.linux.yaml +++ b/backend/compilers/compilers.linux.yaml @@ -183,6 +183,13 @@ saturn: - cygnus-2.7-96Q3 dreamcast: + - shc-v5.0r10 + - shc-v5.0r26 + - shc-v5.0r28 + - shc-v5.0r31 + - shc-v5.0r32 + - shc-v5.1r01 + - shc-v5.1r08 - shc-v5.1r11 macosx: diff --git a/backend/coreapp/compilers.py b/backend/coreapp/compilers.py index 04a150aaf..9536a5980 100644 --- a/backend/coreapp/compilers.py +++ b/backend/coreapp/compilers.py @@ -509,6 +509,16 @@ def available_platforms() -> List[Platform]: cc=SATURN_CC, ) +# earlier shc doesn't accept -fpu=single or -aggressive=2 +DREAMCAST_CC_V50R10 = ( + 'cat "$INPUT" | unix2dos > dos_src.c && ' + "cp -r ${COMPILER_DIR}/bin/* . && " + "(SHC_LIB=. SHC_TMP=. ${WINE} ${COMPILER_DIR}/bin/shc.exe dos_src.c ${COMPILER_FLAGS} -comment=nonest -cpu=sh4 -division=cpu -endian=little -extra=a=1800 -pic=0 -macsave=0 -sjis -string=const -object=dos_src.obj) && " + "${WIBO} ${COMPILER_DIR}/bin/elfcnv.exe dos_src.obj ${OUTPUT}" +) + +SHC_V50R10 = SHCCompiler(id="shc-v5.0r10", platform=DREAMCAST, cc=DREAMCAST_CC_V50R10) + DREAMCAST_CC = ( 'cat "$INPUT" | unix2dos > dos_src.c && ' "cp -r ${COMPILER_DIR}/bin/* . && " @@ -516,6 +526,12 @@ def available_platforms() -> List[Platform]: "${WIBO} ${COMPILER_DIR}/bin/elfcnv.exe dos_src.obj ${OUTPUT}" ) +SHC_V50R26 = SHCCompiler(id="shc-v5.0r26", platform=DREAMCAST, cc=DREAMCAST_CC) +SHC_V50R28 = SHCCompiler(id="shc-v5.0r28", platform=DREAMCAST, cc=DREAMCAST_CC) +SHC_V50R31 = SHCCompiler(id="shc-v5.0r31", platform=DREAMCAST, cc=DREAMCAST_CC) +SHC_V50R32 = SHCCompiler(id="shc-v5.0r32", platform=DREAMCAST, cc=DREAMCAST_CC) +SHC_V51R01 = SHCCompiler(id="shc-v5.1r01", platform=DREAMCAST, cc=DREAMCAST_CC) +SHC_V51R08 = SHCCompiler(id="shc-v5.1r08", platform=DREAMCAST, cc=DREAMCAST_CC) SHC_V51R11 = SHCCompiler(id="shc-v5.1r11", platform=DREAMCAST, cc=DREAMCAST_CC) # PS2 @@ -1561,6 +1577,13 @@ def available_platforms() -> List[Platform]: # Saturn CYGNUS_2_7_96Q3, # Dreamcast + SHC_V50R10, + SHC_V50R26, + SHC_V50R28, + SHC_V50R31, + SHC_V50R32, + SHC_V51R01, + SHC_V51R08, SHC_V51R11, # PS2 IOP_GCC281, diff --git a/frontend/src/lib/i18n/locales/en/compilers.json b/frontend/src/lib/i18n/locales/en/compilers.json index d7b65ebff..e5e082143 100644 --- a/frontend/src/lib/i18n/locales/en/compilers.json +++ b/frontend/src/lib/i18n/locales/en/compilers.json @@ -196,6 +196,13 @@ "gcc2.7.2.2-mipsel": "gcc 2.7.2.2 + maspsx", "gcc2.7.2.3-mipsel": "gcc 2.7.2.3 + maspsx", + "shc-v5.0r10": "SHC v5.0 (Release 10)", + "shc-v5.0r26": "SHC v5.0 (Release 26)", + "shc-v5.0r28": "SHC v5.0 (Release 28)", + "shc-v5.0r31": "SHC v5.0 (Release 31)", + "shc-v5.0r32": "SHC v5.0 (Release 32)", + "shc-v5.1r01": "SHC v5.1 (Release 1)", + "shc-v5.1r08": "SHC v5.1 (Release 8)", "shc-v5.1r11": "SHC v5.1 (Release 11)", "psyq3.3": "PSYQ3.3 (gcc 2.6.0 + aspsx 2.21)", From f82741d79b5619c8433fe3b6ab54a619a6e83180 Mon Sep 17 00:00:00 2001 From: sozud <122322823+sozud@users.noreply.github.com> Date: Tue, 14 Oct 2025 06:12:45 -0700 Subject: [PATCH 2/2] Add more compilers --- backend/compilers/compilers.linux.yaml | 3 +++ backend/coreapp/compilers.py | 6 ++++++ frontend/src/lib/i18n/locales/en/compilers.json | 3 +++ 3 files changed, 12 insertions(+) diff --git a/backend/compilers/compilers.linux.yaml b/backend/compilers/compilers.linux.yaml index 42819b173..a6f0b6fc0 100644 --- a/backend/compilers/compilers.linux.yaml +++ b/backend/compilers/compilers.linux.yaml @@ -189,8 +189,11 @@ dreamcast: - shc-v5.0r31 - shc-v5.0r32 - shc-v5.1r01 + - shc-v5.1r03 + - shc-v5.1r04 - shc-v5.1r08 - shc-v5.1r11 + - shc-v5.1r13 macosx: - gcc-5026 diff --git a/backend/coreapp/compilers.py b/backend/coreapp/compilers.py index 9536a5980..e392c0424 100644 --- a/backend/coreapp/compilers.py +++ b/backend/coreapp/compilers.py @@ -531,8 +531,11 @@ def available_platforms() -> List[Platform]: SHC_V50R31 = SHCCompiler(id="shc-v5.0r31", platform=DREAMCAST, cc=DREAMCAST_CC) SHC_V50R32 = SHCCompiler(id="shc-v5.0r32", platform=DREAMCAST, cc=DREAMCAST_CC) SHC_V51R01 = SHCCompiler(id="shc-v5.1r01", platform=DREAMCAST, cc=DREAMCAST_CC) +SHC_V51R03 = SHCCompiler(id="shc-v5.1r03", platform=DREAMCAST, cc=DREAMCAST_CC) +SHC_V51R04 = SHCCompiler(id="shc-v5.1r04", platform=DREAMCAST, cc=DREAMCAST_CC) SHC_V51R08 = SHCCompiler(id="shc-v5.1r08", platform=DREAMCAST, cc=DREAMCAST_CC) SHC_V51R11 = SHCCompiler(id="shc-v5.1r11", platform=DREAMCAST, cc=DREAMCAST_CC) +SHC_V51R13 = SHCCompiler(id="shc-v5.1r13", platform=DREAMCAST, cc=DREAMCAST_CC) # PS2 IOP_GCC281 = GCCPS2Compiler( @@ -1583,8 +1586,11 @@ def available_platforms() -> List[Platform]: SHC_V50R31, SHC_V50R32, SHC_V51R01, + SHC_V51R03, + SHC_V51R04, SHC_V51R08, SHC_V51R11, + SHC_V51R13, # PS2 IOP_GCC281, IOP_GCC2952_102, diff --git a/frontend/src/lib/i18n/locales/en/compilers.json b/frontend/src/lib/i18n/locales/en/compilers.json index e5e082143..9771aea6c 100644 --- a/frontend/src/lib/i18n/locales/en/compilers.json +++ b/frontend/src/lib/i18n/locales/en/compilers.json @@ -202,8 +202,11 @@ "shc-v5.0r31": "SHC v5.0 (Release 31)", "shc-v5.0r32": "SHC v5.0 (Release 32)", "shc-v5.1r01": "SHC v5.1 (Release 1)", + "shc-v5.1r03": "SHC v5.1 (Release 3)", + "shc-v5.1r04": "SHC v5.1 (Release 4)", "shc-v5.1r08": "SHC v5.1 (Release 8)", "shc-v5.1r11": "SHC v5.1 (Release 11)", + "shc-v5.1r13": "SHC v5.1 (Release 13)", "psyq3.3": "PSYQ3.3 (gcc 2.6.0 + aspsx 2.21)", "psyq3.5": "PSYQ3.5 (gcc 2.6.0 + aspsx 2.34)",