From d2dbd74b7e0dbd4c1bc3ea86162de63693ab1d94 Mon Sep 17 00:00:00 2001 From: Exant64 Date: Mon, 10 Jun 2024 12:12:46 +0300 Subject: [PATCH 1/7] SHC support --- backend/Dockerfile | 5 ++++ backend/compilers/compilers.linux.yaml | 3 ++ backend/coreapp/compilers.py | 29 +++++++++++++++++++ backend/coreapp/flags.py | 10 +++++++ backend/coreapp/platforms.py | 13 +++++++++ docker-compose.yaml | 1 + frontend/src/app/(navfooter)/credits/page.tsx | 1 + .../PlatformSelect/PlatformIcon.tsx | 2 ++ .../components/PlatformSelect/dreamcast.svg | 9 ++++++ .../src/lib/i18n/locales/en/compilers.json | 10 +++++++ 10 files changed, 83 insertions(+) create mode 100644 frontend/src/components/PlatformSelect/dreamcast.svg diff --git a/backend/Dockerfile b/backend/Dockerfile index 2dde2a46c..d0492c0fb 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -77,8 +77,10 @@ RUN add-apt-repository -y ppa:dosemu2/ppa && \ ARG ENABLE_MSDOS_SUPPORT ARG ENABLE_PS2_SUPPORT ARG ENABLE_WIN32_SUPPORT +ARG ENABLE_DREAMCAST_SUPPORT RUN if [ "${ENABLE_MSDOS_SUPPORT}" = "YES" ] || \ [ "${ENABLE_PS2_SUPPORT}" = "YES" ] || \ + [ "${ENABLE_DREAMCAST_SUPPORT}" = "YES" ] || \ [ "${ENABLE_WIN32_SUPPORT}" = "YES" ]; then \ dpkg --add-architecture i386 && apt-get update && \ apt-get install -y -o APT::Immediate-Configure=false \ @@ -130,6 +132,7 @@ USER user RUN if [ "${ENABLE_MSDOS_SUPPORT}" = "YES" ] || \ [ "${ENABLE_NDS_ARM9_SUPPORT}" = "YES" ] || \ [ "${ENABLE_PS2_SUPPORT}" = "YES" ] || \ + [ "${ENABLE_DREAMCAST_SUPPORT}" = "YES" ] || \ [ "${ENABLE_WIN32_SUPPORT}" = "YES" ]; then \ wineboot --init; \ fi @@ -140,6 +143,7 @@ ENV PATH="$PATH:/etc/poetry/bin" ARG ENABLE_GBA_SUPPORT ARG ENABLE_MACOSX_SUPPORT ARG ENABLE_N3DS_SUPPORT +ARG ENABLE_DREAMCAST_SUPPORT ARG ENABLE_N64_SUPPORT ARG ENABLE_NDS_ARM9_SUPPORT ARG ENABLE_PS1_SUPPORT @@ -151,6 +155,7 @@ ENV ENABLE_GC_WII_SUPPORT=${ENABLE_GC_WII_SUPPORT} ENV ENABLE_MACOSX_SUPPORT=${ENABLE_MACOSX_SUPPORT} ENV ENABLE_MSDOS_SUPPORT=${ENABLE_MSDOS_SUPPORT} ENV ENABLE_N3DS_SUPPORT=${ENABLE_N3DS_SUPPORT} +ENV ENABLE_DREAMCAST_SUPPORT=${ENABLE_DREAMCAST_SUPPORT} ENV ENABLE_N64_SUPPORT=${ENABLE_N64_SUPPORT} ENV ENABLE_NDS_ARM9_SUPPORT=${ENABLE_NDS_ARM9_SUPPORT} ENV ENABLE_PS1_SUPPORT=${ENABLE_PS1_SUPPORT} diff --git a/backend/compilers/compilers.linux.yaml b/backend/compilers/compilers.linux.yaml index b8bfcd462..914100f34 100644 --- a/backend/compilers/compilers.linux.yaml +++ b/backend/compilers/compilers.linux.yaml @@ -169,6 +169,9 @@ psp: saturn: - cygnus-2.7-96Q3 +dreamcast: + - shc-v5.1r11 + macosx: - gcc-5026 - gcc-5363 diff --git a/backend/coreapp/compilers.py b/backend/coreapp/compilers.py index f609dbc36..b49a7baa8 100644 --- a/backend/coreapp/compilers.py +++ b/backend/coreapp/compilers.py @@ -9,6 +9,7 @@ from coreapp.flags import ( COMMON_ARMCC_FLAGS, COMMON_CLANG_FLAGS, + COMMON_SHC_FLAGS, COMMON_GCC_FLAGS, COMMON_GCC_PS1_FLAGS, COMMON_GCC_PS2_FLAGS, @@ -36,6 +37,7 @@ PS2, PSP, SATURN, + DREAMCAST, SWITCH, WIN32, Platform, @@ -106,6 +108,10 @@ class ArmccCompiler(Compiler): flags: ClassVar[Flags] = COMMON_ARMCC_FLAGS library_include_flag: str = "-J" +@dataclass(frozen=True) +class SHCCompiler(Compiler): + flags: ClassVar[Flags] = COMMON_SHC_FLAGS + library_include_flag: str = "" @dataclass(frozen=True) class GCCCompiler(Compiler): @@ -502,6 +508,27 @@ def available_platforms() -> List[Platform]: cc=SATURN_CC, ) +DREAMCAST_CC = ( + "echo ${OUTPUT} && " + "echo pwd is $(pwd) && " + 'cat "$INPUT" | unix2dos > dos_src.c && ' + 'cp -r ${COMPILER_DIR}/bin/*.* /tmp/ && ' + 'export SHC_LIB=Z:\\\\tmp && ' + 'export SHC_TMP=Z:\\\\tmp && ' + 'echo "$SHC_LIB" && ' + '(${WINE} /tmp/shc.exe dos_src.c ${COMPILER_FLAGS} -comment=nonest -cpu=sh4 -division=cpu -fpu=single -endian=little -extra=a=1800 -pic=0 -macsave=0 \ +-sjis -loop -string=const -round=nearest -inline -aggressive=2 -object=dos_src.obj) && ' + # '(WIBO_DEBUG="" ${WIBO} ${COMPILER_DIR}/bin/asmsh.exe dos_src.src -cpu=sh4 -endian=little -sjis -object=dos_src.obj) && ' + "(${WIBO} ${COMPILER_DIR}/bin/elfcnv.exe dos_src.obj dos_src.o) && " + 'cp dos_src.o "$OUTPUT"' +) + +SHC_V51R11 = SHCCompiler( + id="shc-v5.1r11", + platform=DREAMCAST, + cc=DREAMCAST_CC +) + # PS2 EE_GCC29_990721 = GCCPS2Compiler( id="ee-gcc2.9-990721", @@ -1496,6 +1523,8 @@ def available_platforms() -> List[Platform]: MWCCPSP_3_0_1_219, # Saturn CYGNUS_2_7_96Q3, + # Dreamcast + SHC_V51R11, # PS2 EE_GCC29_990721, EE_GCC29_991111, diff --git a/backend/coreapp/flags.py b/backend/coreapp/flags.py index 9c31b5b92..2c9ba680c 100644 --- a/backend/coreapp/flags.py +++ b/backend/coreapp/flags.py @@ -109,6 +109,16 @@ def to_json(self) -> Dict[str, Union[str, List[str]]]: Checkbox(id="clang_no_exceptions", flag="-fno-exceptions"), ] +COMMON_SHC_FLAGS: Flags = [ + FlagSet( + id="shc_opt_level", flags=["-optimize=0", "-optimize=1"] + ), + FlagSet( + id="shc_opt_type", flags=["-speed", "-size"] + ), + Checkbox(id="shc_debug", flag="-debug"), +] + COMMON_GCC_FLAGS: Flags = [ FlagSet(id="gcc_opt_level", flags=["-O0", "-O1", "-O2", "-O3"]), FlagSet( diff --git a/backend/coreapp/platforms.py b/backend/coreapp/platforms.py index e028e664a..bf2a47716 100644 --- a/backend/coreapp/platforms.py +++ b/backend/coreapp/platforms.py @@ -164,6 +164,18 @@ def from_id(platform_id: str) -> Platform: diff_flags=COMMON_DIFF_FLAGS, ) +DREAMCAST = Platform( + id="dreamcast", + name="Dreamcast", + description="SH4 (little-endian)", + arch="sh4", + assemble_cmd='sh-elf-as --isa=sh4 --little --relax -o "$OUTPUT" "$PRELUDE" "$INPUT"', + objdump_cmd="sh-elf-objdump", + nm_cmd="sh-elf-nm", + diff_flags=COMMON_DIFF_FLAGS, + has_decompiler=False, +) + PS2 = Platform( id="ps2", name="PlayStation 2", @@ -241,6 +253,7 @@ def from_id(platform_id: str) -> Platform: "ps2": PS2, "psp": PSP, "saturn": SATURN, + "dreamcast": DREAMCAST, "macosx": MACOSX, "msdos": MSDOS, "win32": WIN32, diff --git a/docker-compose.yaml b/docker-compose.yaml index 06447dfd5..9f893fe14 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -23,6 +23,7 @@ services: ENABLE_MSDOS_SUPPORT: "NO" ENABLE_PS2_SUPPORT: "NO" ENABLE_WIN32_SUPPORT: "NO" + ENABLE_DREAMCAST_SUPPORT: "NO" # dont install clang by default ENABLE_SWITCH_SUPPORT: "NO" # dont install dosemu by default diff --git a/frontend/src/app/(navfooter)/credits/page.tsx b/frontend/src/app/(navfooter)/credits/page.tsx index 21a14039f..15f230927 100644 --- a/frontend/src/app/(navfooter)/credits/page.tsx +++ b/frontend/src/app/(navfooter)/credits/page.tsx @@ -26,6 +26,7 @@ const ICON_SOURCES = { "Happy Mac by NiloGlock": "https://commons.wikimedia.org/wiki/File:Happy_Mac.svg", "Tiger-like-x by Althepal": "https://commons.wikimedia.org/wiki/File:Tiger-like-x.svg", "Saturn by JustDanPatrick": "https://upload.wikimedia.org/wikipedia/commons/archive/7/78/20220518145749%21Sega_Saturn_Black_Logo.svg", + "Dreamcast by Sega": "https://en.wikipedia.org/wiki/File:Dreamcast_logo.svg", "MS-DOS by Microsoft": "https://commons.wikimedia.org/wiki/File:Msdos-icon.svg", "Windows 9x by Microsoft": "https://commons.wikimedia.org/wiki/File:Windows_Logo_(1992-2001).svg", "PerSPire Font by Sean Liew": "https://www.fontspace.com/sean-liew", diff --git a/frontend/src/components/PlatformSelect/PlatformIcon.tsx b/frontend/src/components/PlatformSelect/PlatformIcon.tsx index c93cdf0ae..716453736 100644 --- a/frontend/src/components/PlatformSelect/PlatformIcon.tsx +++ b/frontend/src/components/PlatformSelect/PlatformIcon.tsx @@ -10,6 +10,7 @@ import LogoPS1 from "./ps1.svg" import LogoPS2 from "./ps2.svg" import LogoPSP from "./psp.svg" import LogoSaturn from "./saturn.svg" +import LogoDreamcast from "./dreamcast.svg" import LogoSwitch from "./switch.svg" import UnknownIcon from "./unknown.svg" import LogoWin32 from "./win32.svg" @@ -30,6 +31,7 @@ const ICONS = { "n3ds": LogoN3DS, "switch": LogoSwitch, "saturn": LogoSaturn, + "dreamcast": LogoDreamcast } export const PLATFORMS = Object.keys(ICONS) diff --git a/frontend/src/components/PlatformSelect/dreamcast.svg b/frontend/src/components/PlatformSelect/dreamcast.svg new file mode 100644 index 000000000..362945ced --- /dev/null +++ b/frontend/src/components/PlatformSelect/dreamcast.svg @@ -0,0 +1,9 @@ + + + image/svg+xml + + + Layer 1 + + + \ No newline at end of file diff --git a/frontend/src/lib/i18n/locales/en/compilers.json b/frontend/src/lib/i18n/locales/en/compilers.json index 0e0bd7723..3a68efa4f 100644 --- a/frontend/src/lib/i18n/locales/en/compilers.json +++ b/frontend/src/lib/i18n/locales/en/compilers.json @@ -177,6 +177,8 @@ "gcc2.91.66-mipsel": "gcc 2.91.66 + maspsx", "gcc2.95.2-mipsel": "gcc 2.95.2 + maspsx", + "shc-v5.1r11": "SHC v5.1 (Release 11)", + "psyq3.3": "PSYQ3.3 (gcc 2.6.0 + aspsx 2.21)", "psyq3.5": "PSYQ3.5 (gcc 2.6.0 + aspsx 2.34)", "psyq3.6": "PSYQ3.6 (gcc 2.7.2 + aspsx 2.34)", @@ -365,6 +367,14 @@ "msvc_fastcall": "__fastcall calling convention", "msvc_stdcall": "__stdcall calling convention", + "shc_opt_level": "Optimization level", + "shc_opt_level.-optimize=0": "Optimization: off", + "shc_opt_level.-optimize=1": "Optimization: on", + "shc_opt_type": "Optimization type", + "shc_opt_type.speed": "Optimization for speed", + "shc_opt_type.size": "Optimization for size", + "shc_debug": "Debug", + "psyq_opt_level": "Optimization level", "psyq_opt_level.-O0": "No optimization", "psyq_opt_level.-O1": "Some optimization", From 5235f614f80e5a007c79e10b3048e3209129f7a2 Mon Sep 17 00:00:00 2001 From: Exant64 Date: Mon, 10 Jun 2024 12:18:54 +0300 Subject: [PATCH 2/7] fixed platform icon order --- frontend/src/components/PlatformSelect/PlatformIcon.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/PlatformSelect/PlatformIcon.tsx b/frontend/src/components/PlatformSelect/PlatformIcon.tsx index 716453736..e600d47f2 100644 --- a/frontend/src/components/PlatformSelect/PlatformIcon.tsx +++ b/frontend/src/components/PlatformSelect/PlatformIcon.tsx @@ -1,3 +1,4 @@ +import LogoDreamcast from "./dreamcast.svg" import LogoGBA from "./gba.svg" import LogoGCWii from "./gc_wii.svg" import LogoIRIX from "./irix.svg" @@ -10,7 +11,6 @@ import LogoPS1 from "./ps1.svg" import LogoPS2 from "./ps2.svg" import LogoPSP from "./psp.svg" import LogoSaturn from "./saturn.svg" -import LogoDreamcast from "./dreamcast.svg" import LogoSwitch from "./switch.svg" import UnknownIcon from "./unknown.svg" import LogoWin32 from "./win32.svg" @@ -31,7 +31,7 @@ const ICONS = { "n3ds": LogoN3DS, "switch": LogoSwitch, "saturn": LogoSaturn, - "dreamcast": LogoDreamcast + "dreamcast": LogoDreamcast, } export const PLATFORMS = Object.keys(ICONS) From 91d05da684c8f53317fc0ff100213aa154a42870 Mon Sep 17 00:00:00 2001 From: Exant64 Date: Mon, 10 Jun 2024 12:29:17 +0300 Subject: [PATCH 3/7] remove unnecessary ARG in dockerfile --- backend/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index d0492c0fb..3eef0b52b 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -143,7 +143,6 @@ ENV PATH="$PATH:/etc/poetry/bin" ARG ENABLE_GBA_SUPPORT ARG ENABLE_MACOSX_SUPPORT ARG ENABLE_N3DS_SUPPORT -ARG ENABLE_DREAMCAST_SUPPORT ARG ENABLE_N64_SUPPORT ARG ENABLE_NDS_ARM9_SUPPORT ARG ENABLE_PS1_SUPPORT From 3ce5c7c49ab7bcb6455ea6aafe2eb4b43d7ed7cd Mon Sep 17 00:00:00 2001 From: Exant64 Date: Mon, 10 Jun 2024 12:42:21 +0300 Subject: [PATCH 4/7] tidied up dreamcast CC, moved some flags to settings --- backend/coreapp/compilers.py | 6 +----- backend/coreapp/flags.py | 5 +++++ frontend/src/lib/i18n/locales/en/compilers.json | 5 +++++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/backend/coreapp/compilers.py b/backend/coreapp/compilers.py index b49a7baa8..2d8655430 100644 --- a/backend/coreapp/compilers.py +++ b/backend/coreapp/compilers.py @@ -509,16 +509,12 @@ def available_platforms() -> List[Platform]: ) DREAMCAST_CC = ( - "echo ${OUTPUT} && " - "echo pwd is $(pwd) && " 'cat "$INPUT" | unix2dos > dos_src.c && ' 'cp -r ${COMPILER_DIR}/bin/*.* /tmp/ && ' 'export SHC_LIB=Z:\\\\tmp && ' 'export SHC_TMP=Z:\\\\tmp && ' - 'echo "$SHC_LIB" && ' '(${WINE} /tmp/shc.exe dos_src.c ${COMPILER_FLAGS} -comment=nonest -cpu=sh4 -division=cpu -fpu=single -endian=little -extra=a=1800 -pic=0 -macsave=0 \ --sjis -loop -string=const -round=nearest -inline -aggressive=2 -object=dos_src.obj) && ' - # '(WIBO_DEBUG="" ${WIBO} ${COMPILER_DIR}/bin/asmsh.exe dos_src.src -cpu=sh4 -endian=little -sjis -object=dos_src.obj) && ' +-sjis -string=const -aggressive=2 -object=dos_src.obj) && ' "(${WIBO} ${COMPILER_DIR}/bin/elfcnv.exe dos_src.obj dos_src.o) && " 'cp dos_src.o "$OUTPUT"' ) diff --git a/backend/coreapp/flags.py b/backend/coreapp/flags.py index 2c9ba680c..038666577 100644 --- a/backend/coreapp/flags.py +++ b/backend/coreapp/flags.py @@ -116,7 +116,12 @@ def to_json(self) -> Dict[str, Union[str, List[str]]]: FlagSet( id="shc_opt_type", flags=["-speed", "-size"] ), + FlagSet( + id="shc_round", flags=["-round=zero", "-round=nearest"] + ), Checkbox(id="shc_debug", flag="-debug"), + Checkbox(id="shc_loop", flag="-loop"), + Checkbox(id="shc_inline", flag="-inline"), ] COMMON_GCC_FLAGS: Flags = [ diff --git a/frontend/src/lib/i18n/locales/en/compilers.json b/frontend/src/lib/i18n/locales/en/compilers.json index 3a68efa4f..5c46408ea 100644 --- a/frontend/src/lib/i18n/locales/en/compilers.json +++ b/frontend/src/lib/i18n/locales/en/compilers.json @@ -373,7 +373,12 @@ "shc_opt_type": "Optimization type", "shc_opt_type.speed": "Optimization for speed", "shc_opt_type.size": "Optimization for size", + "shc_round": "Floating-point rounding options", + "shc_round.-round=zero": "Round to zero", + "shc_round.-round=nearest": "Round to nearest", "shc_debug": "Debug", + "shc_loop": "Loop unrolling", + "shc_inline": "Inline static functions", "psyq_opt_level": "Optimization level", "psyq_opt_level.-O0": "No optimization", From 669b76d5be1d2cefeb9a7a158d9658fa215781fa Mon Sep 17 00:00:00 2001 From: Exant64 Date: Mon, 10 Jun 2024 12:42:45 +0300 Subject: [PATCH 5/7] enable dreamcast support in CI --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 248e21aac..40c564aad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -169,6 +169,7 @@ jobs: --build-arg ENABLE_GC_WII_SUPPORT=YES \ --build-arg ENABLE_PS2_SUPPORT=YES \ --build-arg ENABLE_SATURN_SUPPORT=YES \ + --build-arg ENABLE_DREAMCAST_SUPPORT=YES \ --build-arg ENABLE_WIN32_SUPPORT=YES - name: Run tests run: |- From d84ed65dd1df6af13bb8ddacd7e5aa984b04216d Mon Sep 17 00:00:00 2001 From: Exant64 Date: Mon, 10 Jun 2024 12:52:48 +0300 Subject: [PATCH 6/7] fixed formatting --- backend/coreapp/compilers.py | 18 ++++++++---------- backend/coreapp/flags.py | 12 +++--------- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/backend/coreapp/compilers.py b/backend/coreapp/compilers.py index 2d8655430..6037f84d2 100644 --- a/backend/coreapp/compilers.py +++ b/backend/coreapp/compilers.py @@ -108,11 +108,13 @@ class ArmccCompiler(Compiler): flags: ClassVar[Flags] = COMMON_ARMCC_FLAGS library_include_flag: str = "-J" + @dataclass(frozen=True) class SHCCompiler(Compiler): flags: ClassVar[Flags] = COMMON_SHC_FLAGS library_include_flag: str = "" + @dataclass(frozen=True) class GCCCompiler(Compiler): is_gcc: ClassVar[bool] = True @@ -510,20 +512,16 @@ def available_platforms() -> List[Platform]: DREAMCAST_CC = ( 'cat "$INPUT" | unix2dos > dos_src.c && ' - 'cp -r ${COMPILER_DIR}/bin/*.* /tmp/ && ' - 'export SHC_LIB=Z:\\\\tmp && ' - 'export SHC_TMP=Z:\\\\tmp && ' - '(${WINE} /tmp/shc.exe dos_src.c ${COMPILER_FLAGS} -comment=nonest -cpu=sh4 -division=cpu -fpu=single -endian=little -extra=a=1800 -pic=0 -macsave=0 \ --sjis -string=const -aggressive=2 -object=dos_src.obj) && ' + "cp -r ${COMPILER_DIR}/bin/*.* /tmp/ && " + "export SHC_LIB=Z:\\\\tmp && " + "export SHC_TMP=Z:\\\\tmp && " + "(${WINE} /tmp/shc.exe dos_src.c ${COMPILER_FLAGS} -comment=nonest -cpu=sh4 -division=cpu -fpu=single -endian=little -extra=a=1800 -pic=0 -macsave=0 \ +-sjis -string=const -aggressive=2 -object=dos_src.obj) && " "(${WIBO} ${COMPILER_DIR}/bin/elfcnv.exe dos_src.obj dos_src.o) && " 'cp dos_src.o "$OUTPUT"' ) -SHC_V51R11 = SHCCompiler( - id="shc-v5.1r11", - platform=DREAMCAST, - cc=DREAMCAST_CC -) +SHC_V51R11 = SHCCompiler(id="shc-v5.1r11", platform=DREAMCAST, cc=DREAMCAST_CC) # PS2 EE_GCC29_990721 = GCCPS2Compiler( diff --git a/backend/coreapp/flags.py b/backend/coreapp/flags.py index 038666577..dbcfebd8b 100644 --- a/backend/coreapp/flags.py +++ b/backend/coreapp/flags.py @@ -110,15 +110,9 @@ def to_json(self) -> Dict[str, Union[str, List[str]]]: ] COMMON_SHC_FLAGS: Flags = [ - FlagSet( - id="shc_opt_level", flags=["-optimize=0", "-optimize=1"] - ), - FlagSet( - id="shc_opt_type", flags=["-speed", "-size"] - ), - FlagSet( - id="shc_round", flags=["-round=zero", "-round=nearest"] - ), + FlagSet(id="shc_opt_level", flags=["-optimize=0", "-optimize=1"]), + FlagSet(id="shc_opt_type", flags=["-speed", "-size"]), + FlagSet(id="shc_round", flags=["-round=zero", "-round=nearest"]), Checkbox(id="shc_debug", flag="-debug"), Checkbox(id="shc_loop", flag="-loop"), Checkbox(id="shc_inline", flag="-inline"), From 29ac4c17bb44ac9830e912eb15cca4054ffda283 Mon Sep 17 00:00:00 2001 From: Exant64 Date: Mon, 10 Jun 2024 14:09:23 +0300 Subject: [PATCH 7/7] cleaned up cc even more as per mkst's advice --- backend/coreapp/compilers.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/backend/coreapp/compilers.py b/backend/coreapp/compilers.py index 6037f84d2..2591079c4 100644 --- a/backend/coreapp/compilers.py +++ b/backend/coreapp/compilers.py @@ -512,13 +512,9 @@ def available_platforms() -> List[Platform]: DREAMCAST_CC = ( 'cat "$INPUT" | unix2dos > dos_src.c && ' - "cp -r ${COMPILER_DIR}/bin/*.* /tmp/ && " - "export SHC_LIB=Z:\\\\tmp && " - "export SHC_TMP=Z:\\\\tmp && " - "(${WINE} /tmp/shc.exe dos_src.c ${COMPILER_FLAGS} -comment=nonest -cpu=sh4 -division=cpu -fpu=single -endian=little -extra=a=1800 -pic=0 -macsave=0 \ --sjis -string=const -aggressive=2 -object=dos_src.obj) && " - "(${WIBO} ${COMPILER_DIR}/bin/elfcnv.exe dos_src.obj dos_src.o) && " - 'cp dos_src.o "$OUTPUT"' + "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 -fpu=single -endian=little -extra=a=1800 -pic=0 -macsave=0 -sjis -string=const -aggressive=2 -object=dos_src.obj) && " + "${WIBO} ${COMPILER_DIR}/bin/elfcnv.exe dos_src.obj ${OUTPUT}" ) SHC_V51R11 = SHCCompiler(id="shc-v5.1r11", platform=DREAMCAST, cc=DREAMCAST_CC)