mirror of
https://github.com/decompme/decomp.me.git
synced 2026-02-14 01:29:24 -06:00
Initial Saturn support (#728)
* Saturn support * linter issues * Fix black formatting issues * Try fixing ci * Try 3.10.0 * Try 3.9 * Update asm-differ hash --------- Co-authored-by: sozud <sozud@users.noreply.github.com>
This commit is contained in:
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@@ -7,7 +7,7 @@ on:
|
||||
jobs:
|
||||
full_test_and_build:
|
||||
name: full test and build
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
@@ -45,6 +45,7 @@ jobs:
|
||||
binutils-aarch64-linux-gnu \
|
||||
binutils-mips-linux-gnu \
|
||||
binutils-powerpc-linux-gnu \
|
||||
binutils-sh-elf \
|
||||
dos2unix \
|
||||
libprotobuf-dev \
|
||||
libnl-route-3-dev \
|
||||
@@ -54,7 +55,7 @@ jobs:
|
||||
- name: Install apt dependencies (cached)
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1
|
||||
with:
|
||||
packages: docker-ce docker-ce-cli containerd.io docker-compose-plugin binutils-aarch64-linux-gnu binutils-mips-linux-gnu binutils-powerpc-linux-gnu dos2unix libprotobuf-dev libnl-route-3-dev libncurses5 protobuf-compiler wine software-properties-common
|
||||
packages: docker-ce docker-ce-cli containerd.io docker-compose-plugin binutils-aarch64-linux-gnu binutils-mips-linux-gnu binutils-powerpc-linux-gnu binutils-sh-elf dos2unix libprotobuf-dev libnl-route-3-dev libncurses5 protobuf-compiler wine software-properties-common
|
||||
version: 1.0
|
||||
- name: Install DOSEMU
|
||||
run: |-
|
||||
@@ -162,7 +163,8 @@ jobs:
|
||||
docker build backend \
|
||||
-t decompme_backend \
|
||||
--build-arg ENABLE_WII_GC_SUPPORT=YES \
|
||||
--build-arg ENABLE_PS1_SUPPORT=YES
|
||||
--build-arg ENABLE_PS1_SUPPORT=YES \
|
||||
--build-arg ENABLE_SATURN_SUPPORT=YES
|
||||
- name: Run tests
|
||||
run: |-
|
||||
mkdir -p sandbox && chmod 777 sandbox
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:20.04 as base
|
||||
FROM ubuntu:22.04 as base
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
@@ -6,8 +6,8 @@ RUN apt-get update && apt-get install -y \
|
||||
python3-pip \
|
||||
python3 \
|
||||
python-is-python3 \
|
||||
python3.9-venv \
|
||||
python3.9-dev
|
||||
python3.10-venv \
|
||||
python3.10-dev
|
||||
|
||||
|
||||
FROM base AS nsjail
|
||||
@@ -37,6 +37,7 @@ RUN apt-get -y update && apt-get install -y \
|
||||
binutils-mips-linux-gnu \
|
||||
binutils-powerpc-linux-gnu \
|
||||
binutils-aarch64-linux-gnu \
|
||||
binutils-sh-elf \
|
||||
curl \
|
||||
gcc-mips-linux-gnu \
|
||||
git \
|
||||
@@ -50,7 +51,7 @@ RUN apt-get -y update && apt-get install -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | \
|
||||
POETRY_VERSION=1.3.1 POETRY_HOME=/etc/poetry python3.9 -
|
||||
POETRY_VERSION=1.3.1 POETRY_HOME=/etc/poetry python3.10 -
|
||||
|
||||
COPY --from=nsjail /nsjail/nsjail /bin/nsjail
|
||||
|
||||
@@ -60,6 +61,7 @@ COPY --from=ghcr.io/decompals/wibo:0.2.4 /usr/local/sbin/wibo /usr/bin/
|
||||
ARG ENABLE_NDS_SUPPORT
|
||||
ARG ENABLE_PS1_SUPPORT
|
||||
ARG ENABLE_WII_GC_SUPPORT
|
||||
ARG ENABLE_SATURN_SUPPORT
|
||||
RUN if [ "${ENABLE_NDS_SUPPORT}" = "YES" ] || \
|
||||
[ "${ENABLE_PS1_SUPPORT}" = "YES" ] || \
|
||||
[ "${ENABLE_WII_GC_SUPPORT}" = "YES" ]; then \
|
||||
@@ -68,8 +70,9 @@ RUN if [ "${ENABLE_NDS_SUPPORT}" = "YES" ] || \
|
||||
wine; \
|
||||
fi
|
||||
|
||||
# ps1 specifics
|
||||
RUN if [ "${ENABLE_PS1_SUPPORT}" = "YES" ] ; then \
|
||||
# install dos2unix and dosemu2 for ps1 and saturn
|
||||
RUN if [ "${ENABLE_PS1_SUPPORT}" = "YES" ] || \
|
||||
[ "${ENABLE_SATURN_SUPPORT}" = "YES" ]; then \
|
||||
apt-get update && \
|
||||
apt-get install -y -o APT::Immediate-Configure=false \
|
||||
dos2unix software-properties-common && \
|
||||
@@ -97,9 +100,10 @@ ENV ENABLE_N64_SUPPORT=${ENABLE_N64_SUPPORT}
|
||||
ENV ENABLE_NDS_SUPPORT=${ENABLE_NDS_SUPPORT}
|
||||
ENV ENABLE_PS1_SUPPORT=${ENABLE_PS1_SUPPORT}
|
||||
ENV ENABLE_SWITCH_SUPPORT=${ENABLE_SWITCH_SUPPORT}
|
||||
ENV ENABLE_SATURN_SUPPORT=${ENABLE_SATURN_SUPPORT}
|
||||
|
||||
RUN python3.9 -m pip install requests tqdm \
|
||||
&& python3.9 /compilers/download.py \
|
||||
RUN python3.10 -m pip install requests tqdm \
|
||||
&& python3.10 /compilers/download.py \
|
||||
&& rm -rf /compilers/download_cache/
|
||||
|
||||
RUN mkdir -p /etc/fonts
|
||||
|
||||
@@ -604,6 +604,19 @@ def download_ps1():
|
||||
shutil.rmtree(compilers_path)
|
||||
|
||||
|
||||
def download_saturn():
|
||||
if host_os != LINUX:
|
||||
print("saturn compilers unsupported on " + host_os.name)
|
||||
return
|
||||
|
||||
download_zip(
|
||||
url="https://github.com/sozud/saturn-compilers/archive/refs/heads/main.zip",
|
||||
)
|
||||
|
||||
shutil.move(f"{COMPILERS_DIR}/saturn-compilers-main/cygnus-2.7-96Q3", COMPILERS_DIR)
|
||||
shutil.rmtree(f"{COMPILERS_DIR}/saturn-compilers-main")
|
||||
|
||||
|
||||
def download_ps2():
|
||||
if host_os != LINUX:
|
||||
print("ps2 compilers unsupported on " + host_os.name)
|
||||
@@ -817,6 +830,8 @@ def main(args):
|
||||
download_nds()
|
||||
if should_download("ps1"):
|
||||
download_ps1()
|
||||
if should_download("saturn"):
|
||||
download_saturn()
|
||||
if should_download("ps2"):
|
||||
download_ps2()
|
||||
if should_download("switch"):
|
||||
|
||||
@@ -16,6 +16,7 @@ from coreapp.flags import (
|
||||
COMMON_GCC_PS1_FLAGS,
|
||||
COMMON_IDO_FLAGS,
|
||||
COMMON_MWCC_FLAGS,
|
||||
COMMON_GCC_SATURN_FLAGS,
|
||||
Flags,
|
||||
)
|
||||
|
||||
@@ -32,6 +33,7 @@ from coreapp.platforms import (
|
||||
PS1,
|
||||
PS2,
|
||||
SWITCH,
|
||||
SATURN,
|
||||
)
|
||||
|
||||
import platform as platform_stdlib
|
||||
@@ -130,6 +132,11 @@ class GCCPS1Compiler(GCCCompiler):
|
||||
flags: ClassVar[Flags] = COMMON_GCC_PS1_FLAGS
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class GCCSaturnCompiler(GCCCompiler):
|
||||
flags: ClassVar[Flags] = COMMON_GCC_SATURN_FLAGS
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class IDOCompiler(Compiler):
|
||||
is_ido: ClassVar[bool] = True
|
||||
@@ -334,6 +341,21 @@ PSYQ46 = GCCPS1Compiler(
|
||||
cc=PSYQ_CC,
|
||||
)
|
||||
|
||||
# Saturn
|
||||
SATURN_CC = (
|
||||
'cat "$INPUT" | unix2dos > dos_src.c && cp -r ${COMPILER_DIR}/* . && '
|
||||
+ '(HOME="." dosemu -quiet -dumb -f ${COMPILER_DIR}/dosemurc -K . -E "G:\RUN_CPP.BAT dos_src.c -o src_proc.c") && '
|
||||
+ '(HOME="." dosemu -quiet -dumb -f ${COMPILER_DIR}/dosemurc -K . -E "G:\RUN_CC1.BAT -quiet ${COMPILER_FLAGS} src_proc.c -o cc1.o") && '
|
||||
+ '(HOME="." dosemu -quiet -dumb -f ${COMPILER_DIR}/dosemurc -K . -E "G:\RUN_AS.BAT cc1.o -o as.o") && '
|
||||
+ 'cp as.o "$OUTPUT"'
|
||||
)
|
||||
|
||||
CYGNUS_2_7_96Q3 = GCCSaturnCompiler(
|
||||
id="cygnus-2.7-96Q3",
|
||||
platform=SATURN,
|
||||
cc=SATURN_CC,
|
||||
)
|
||||
|
||||
# PS2
|
||||
EE_GCC29_990721 = GCCCompiler(
|
||||
id="ee-gcc2.9-990721",
|
||||
@@ -889,6 +911,8 @@ _all_compilers: List[Compiler] = [
|
||||
PSYQ43,
|
||||
PSYQ45,
|
||||
PSYQ46,
|
||||
# Saturn
|
||||
CYGNUS_2_7_96Q3,
|
||||
# PS2
|
||||
EE_GCC29_990721,
|
||||
EE_GCC29_991111,
|
||||
@@ -1068,6 +1092,12 @@ _all_presets = [
|
||||
PSYQ43,
|
||||
"-O2 -G8",
|
||||
),
|
||||
# Saturn
|
||||
Preset(
|
||||
"Castlevania: Symphony of the Night",
|
||||
CYGNUS_2_7_96Q3,
|
||||
"-O2 -m2 -fsigned-char",
|
||||
),
|
||||
# N64
|
||||
Preset("AeroGauge", IDO53, "-O2 -mips2"),
|
||||
Preset("AeroGauge JP Kiosk Demo", IDO53, "-O2 -mips1"),
|
||||
|
||||
@@ -159,3 +159,8 @@ COMMON_GCC_PS1_FLAGS: Flags = [
|
||||
FlagSet(id="sdata_limit", flags=["-G0", "-G4", "-G8"]),
|
||||
FlagSet(id="endianness", flags=["-mel", "-meb"]),
|
||||
]
|
||||
|
||||
COMMON_GCC_SATURN_FLAGS: Flags = [
|
||||
FlagSet(id="gcc_opt_level", flags=["-O0", "-O1", "-O2", "-O3"]),
|
||||
FlagSet(id="gcc_arch", flags=["-m2"]),
|
||||
]
|
||||
|
||||
@@ -229,6 +229,34 @@ PS1 = Platform(
|
||||
.set noat
|
||||
.set noreorder
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
SATURN = Platform(
|
||||
id="saturn",
|
||||
name="Saturn",
|
||||
description="SH2 (big-endian)",
|
||||
arch="sh2",
|
||||
assemble_cmd='sh-elf-as --isa=sh2 --big -o "$OUTPUT" "$INPUT"',
|
||||
objdump_cmd="sh-elf-objdump",
|
||||
nm_cmd="sh-elf-nm",
|
||||
diff_flags=COMMON_DIFF_FLAGS,
|
||||
asm_prelude="""
|
||||
.macro .late_rodata
|
||||
.section .rodata
|
||||
.endm
|
||||
|
||||
.macro glabel label
|
||||
.global \label
|
||||
.type \label, @function
|
||||
\label:
|
||||
.endm
|
||||
|
||||
.macro jlabel label
|
||||
\label:
|
||||
.endm
|
||||
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
@@ -687,6 +715,7 @@ _platforms: OrderedDict[str, Platform] = OrderedDict(
|
||||
"irix": IRIX,
|
||||
"n64": N64,
|
||||
"ps1": PS1,
|
||||
"saturn": SATURN,
|
||||
"ps2": PS2,
|
||||
"gc_wii": GC_WII,
|
||||
"nds_arm9": NDS_ARM9,
|
||||
|
||||
2
backend/poetry.lock
generated
2
backend/poetry.lock
generated
@@ -51,7 +51,7 @@ watchdog = "^2.2.0"
|
||||
type = "git"
|
||||
url = "https://github.com/simonlindholm/asm-differ.git"
|
||||
reference = "HEAD"
|
||||
resolved_reference = "857b39804a6f764634483cff7adc168a2f3e5c87"
|
||||
resolved_reference = "f51abc54f7e2fc5c1eb1f4d148cea4f769a95b1d"
|
||||
|
||||
[[package]]
|
||||
name = "attrs"
|
||||
|
||||
@@ -21,6 +21,7 @@ services:
|
||||
ENABLE_WII_GC_SUPPORT: "NO"
|
||||
# dont install clang by default
|
||||
ENABLE_SWITCH_SUPPORT: "NO"
|
||||
ENABLE_SATURN_SUPPORT: "NO"
|
||||
cap_drop:
|
||||
- all
|
||||
cap_add:
|
||||
|
||||
@@ -24,6 +24,7 @@ const ICON_SOURCES = {
|
||||
"GBA SVG by Andrew Vester from NounProject.com": "https://thenounproject.com/icon/gameboy-advanced-752507/",
|
||||
"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",
|
||||
}
|
||||
|
||||
type Contributor = {
|
||||
|
||||
@@ -8,6 +8,7 @@ import LogoN64 from "./n64.svg"
|
||||
import LogoNDS from "./nds.svg"
|
||||
import LogoPS1 from "./ps1.svg"
|
||||
import LogoPS2 from "./ps2.svg"
|
||||
import LogoSaturn from "./saturn.svg"
|
||||
import LogoSwitch from "./switch.svg"
|
||||
import UnknownIcon from "./unknown.svg"
|
||||
|
||||
@@ -24,6 +25,7 @@ const ICONS = {
|
||||
"ps2": LogoPS2,
|
||||
"n3ds": LogoN3DS,
|
||||
"switch": LogoSwitch,
|
||||
"saturn": LogoSaturn,
|
||||
}
|
||||
|
||||
export const PLATFORMS = Object.keys(ICONS)
|
||||
|
||||
74
frontend/src/components/PlatformSelect/saturn.svg
Normal file
74
frontend/src/components/PlatformSelect/saturn.svg
Normal file
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 2256.5 2159" style="enable-background:new 0 0 2256.5 2159;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
.st1{clip-path:url(#SVGID_00000096049663418414059460000000972504797246249862_);}
|
||||
.st2{clip-path:url(#SVGID_00000178918104309191491020000001424944884008209286_);}
|
||||
.st3{fill:none;}
|
||||
.st4{clip-path:url(#SVGID_00000007400752937962189910000018206638909408396677_);}
|
||||
.st5{clip-path:url(#SVGID_00000143594391465293869750000008404068775594437271_);}
|
||||
.st6{clip-path:url(#SVGID_00000128445614609333370790000010989631603983360665_);}
|
||||
.st7{clip-path:url(#SVGID_00000057149824424857242930000015318011502517931680_);}
|
||||
.st8{clip-path:url(#SVGID_00000160190808649031057620000009187834126064238505_);fill:#FFFFFF;}
|
||||
.st9{clip-path:url(#SVGID_00000044172618876974205510000007448168465286109090_);}
|
||||
.st10{clip-path:url(#SVGID_00000042724634326681887000000000702859628276573060_);}
|
||||
.st11{clip-path:url(#SVGID_00000029034940619356473990000008858538420123492243_);}
|
||||
.st12{clip-path:url(#SVGID_00000173126794050801131160000005021718413099703955_);fill:#FFFFFF;}
|
||||
.st13{clip-path:url(#SVGID_00000006688695127262404820000009474509465500079783_);fill:#FFFFFF;}
|
||||
.st14{clip-path:url(#SVGID_00000007428680830644875190000009295955572275367605_);}
|
||||
.st15{clip-path:url(#SVGID_00000068658212444333387730000018433216410646321045_);}
|
||||
.st16{display:none;}
|
||||
.st17{display:inline;}
|
||||
.st18{clip-path:url(#SVGID_00000017507309674013714740000004097991678477762968_);fill:#FFFFFF;}
|
||||
.st19{clip-path:url(#SVGID_00000170267170501532919820000013921238700924158868_);}
|
||||
.st20{clip-path:url(#SVGID_00000132773868189638397610000010867409193212017824_);}
|
||||
.st21{clip-path:url(#SVGID_00000042720481556129023220000002049532405962672033_);}
|
||||
.st22{clip-path:url(#SVGID_00000029026716462107761630000011230376469975999920_);}
|
||||
.st23{clip-path:url(#SVGID_00000091700938372187670860000012676075324797772932_);}
|
||||
.st24{clip-path:url(#SVGID_00000072998803429888445670000016717322730887464380_);}
|
||||
.st25{clip-path:url(#SVGID_00000031904969806740640390000003636967646686150832_);fill:#FFFFFF;}
|
||||
.st26{clip-path:url(#SVGID_00000137107454975909210650000012183828045981588144_);}
|
||||
.st27{clip-path:url(#SVGID_00000114051174006415414230000016349436918103647886_);}
|
||||
.st28{clip-path:url(#SVGID_00000016764115671389512620000004288924356393049472_);}
|
||||
</style>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M1161.9,1120c-74.5,0-146.9-14.6-215-43.4c-65.9-27.8-125-67.7-175.6-118.5 c-50.6-50.6-90.5-109.7-118.4-175.6c-28.8-67.9-43.4-140.3-43.4-215c0-74.5,14.6-146.9,43.4-215c28-65.9,67.8-125,118.4-175.6 c50.8-50.8,109.9-90.7,175.6-118.4c68.3-28.8,140.6-43.4,215-43.4c74.5,0,146.9,14.6,215,43.4c65.9,27.8,125,67.7,175.6,118.5 c50.6,50.6,90.5,109.7,118.4,175.6c28.8,67.9,43.4,140.3,43.4,215c0,74.5-14.6,146.9-43.4,215c-27.8,65.9-67.7,125-118.5,175.6 c-50.6,50.6-109.7,90.5-175.6,118.4C1309,1105.4,1236.7,1120,1161.9,1120z"/>
|
||||
<path d="M1161.9,30.3c72.5,0,143,14.2,209.1,42.2c64,27,121.5,65.8,170.8,115.2c49.3,49.3,88.1,106.8,115.2,170.8 c28,66.2,42.2,136.6,42.2,209.1c0,72.5-14.2,143-42.2,209.1c-27,64-65.8,121.5-115.2,170.8c-49.3,49.3-106.8,88.1-170.8,115.2 c-66.2,28-136.6,42.2-209.1,42.2c-72.5,0-143-14.2-209.1-42.2c-64-27-121.5-65.8-170.8-115.2c-49.3-49.3-88.1-106.8-115.2-170.8 c-28-66.2-42.2-136.6-42.2-209.1s14.2-143,42.2-209.1c27.1-64,65.9-121.5,115.2-170.8c49.4-49.4,106.8-88.2,170.8-115.2 C1019,44.5,1089.4,30.3,1161.9,30.3 M1161.9,0c-76.5,0-150.8,15-220.9,44.5C873.5,73.1,812.8,114,760.6,166.2 c-52,52-93,112.7-121.7,180.4l0,0l0,0c-29.6,70-44.6,144.3-44.6,220.9c0,76.8,15,151.2,44.6,220.9 c28.7,67.7,69.6,128.4,121.7,180.4c52,52.1,112.7,93.1,180.4,121.7c70,29.6,144.3,44.6,220.9,44.6c76.8,0,151.2-15,220.9-44.6 c67.7-28.7,128.4-69.6,180.4-121.7c52.1-52,93.1-112.7,121.7-180.4c29.6-70,44.6-144.3,44.6-220.9c0-76.8-15-151.2-44.6-220.9 c-28.7-67.7-69.6-128.4-121.7-180.4c-52-52.1-112.7-93.1-180.4-121.7C1312.8,15,1238.5,0,1161.9,0L1161.9,0z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M591.3,797.1c24.4-5.6,49.8-12,76.1-19c-0.2-0.4-0.4-0.9-0.6-1.3c-19.4-45.7-32.1-93.5-38.1-142.6 c-8.1,2.2-16.1,4.4-24,6.5c-112.2,30.2-173.9,37.8-206.4,35c-21.6-1.9-26.7-21.9-20.4-34c2.2-4.5,5.1-9.2,8.6-14.3 c37.2-53.4,125.5-113.5,250-172.6c7-32.8,17.1-65,30.3-96.2c15.3-36.1,34.4-70.2,56.9-101.9c-183,71.3-376.8,169.6-458.4,286.8 C208.7,625,218.6,695,237,739.2C283.5,851.4,442.1,831.4,591.3,797.1z"/>
|
||||
<path d="M1541.8,187.6c2,2,4.1,4.1,6.1,6.2c110.4-15.6,209.3-22.7,287-19.7c41,1.6,75.4-30.2,77-71.2c1.6-41-30.2-75.4-71.2-77 c-120.9-4.6-287.2,12.7-468.1,47.1C1435.9,100.1,1492.9,138.6,1541.8,187.6z"/>
|
||||
<path d="M2080.4,421.2c-7-43.9-30.8-79.2-69-102.1c-73.2-44.3-196.4-37.7-371.2,3.4c6,11.7,11.6,23.7,16.8,36 c14.4,34,25.1,69.2,32.2,105.1c132-29.9,195.1-29.1,224.2-24.3c14.3,2.5,22.9,17.2,18.1,30.8c-7,20-22.9,39.7-33.7,51.8 c-42.8,47.9-114.7,97.9-208.1,146.3c-7,37.1-18,73.3-32.8,108.4c-13.8,32.7-30.7,63.6-50.4,92.7c183.7-76.6,324.2-163.1,401-248.8 C2066.7,554.7,2091.2,487.7,2080.4,421.2z"/>
|
||||
<path d="M782,947.5c-4.6-4.6-9.1-9.3-13.5-14c-114,13.1-221.3,17.8-315.2,13c-41.3-2.2-76.3,29.9-77.9,71.2 c-1.6,41,30.8,75,71.5,77c27,1.3,54.7,1.9,83,1.9c126.2,0,266.8-13.2,412.9-38.2C882.8,1031.6,828.7,994.3,782,947.5z"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M1009.9,1757.2H752.1c-21.4,0-38.7,17.4-38.7,38.7s17.4,38.7,38.7,38.7h90.1v278.1c0,21.4,17.4,38.7,38.7,38.7 c21.4,0,38.7-17.4,38.7-38.7v-278.1h90.1c21.4,0,38.7-17.4,38.7-38.7C1048.6,1774.5,1031.3,1757.2,1009.9,1757.2z"/>
|
||||
<path d="M672.3,1816.3c-20.1-41-59-76.6-101.6-76.6s-81.5,35.6-101.6,76.6c-34.9,71.2-67.9,163.5-101,282.3 c-5.9,20.9,6.4,42.6,27.3,48.4c3.5,1,7.1,1.4,10.6,1.4c17.2,0,33-11.4,37.8-28.8c7.3-26.2,14.6-50.9,21.9-74.5h210 c7.3,23.5,14.5,48.3,21.9,74.5c5.9,20.9,27.5,33.1,48.4,27.3c20.9-5.9,33.1-27.5,27.3-48.4 C740.3,1979.7,707.2,1887.4,672.3,1816.3z M491.4,1967.6c15.9-44.6,32-83.3,48.3-116.8c7-14.2,18.3-32.5,31-32.5 s24,18.3,31,32.5c16.3,33.4,32.4,72.1,48.3,116.8H491.4z"/>
|
||||
<path d="M363.8,2023c-5-63.1-56.1-110.9-117.2-110.9c-1.3,0-2.5,0-3.8,0.1h-35.4c-0.2,0-0.5,0-0.7,0l-85.9-0.1h-1.6 c-21.5,0.8-39.6-16.4-41.6-39.3c-1.2-17.9,7.6-35.7,18.8-38.2l2.2-0.6c50.4-14.4,158.3-10.6,196,3c20.2,7.3,42.4-3.2,49.6-23.3 c7.3-20.2-3.2-42.4-23.3-49.6c-55.6-20-179.8-22.5-242.6-4.9c-48.5,11.6-82,62.6-78,119.2v0.3c5,63.1,56.1,110.9,117.2,110.9 c1.3,0,2.5,0,3.8-0.1h35.4c0.2,0,0.5,0,0.7,0l85.9,0.1h1.6c21.5-0.9,39.5,16.4,41.6,39.3c1.2,17.9-7.6,35.7-18.8,38.2l-2.2,0.6 c-50.4,14.4-158.3,10.6-196-3c-20.2-7.3-42.4,3.2-49.6,23.3c-7.3,20.2,3.2,42.4,23.3,49.6c30.6,11,81.7,16.6,132.1,16.6 c41.4,0,82.2-3.8,110.6-11.8c48.5-11.6,82-62.6,78-119.2L363.8,2023L363.8,2023z"/>
|
||||
<path d="M1411.3,1740.5c-21.1,0-38.1,17-38.1,38.1v235.7c0,36.4-51.9,68.4-111.1,68.4c-59.1,0-111.1-32-111.1-68.4v-235.7 c0-21.1-17-38.1-38.1-38.1s-38.1,17-38.1,38.1v235.7c0,40.5,21.7,79.3,59.6,106.3c34.6,24.7,79.9,38.3,127.6,38.3 s93-13.6,127.6-38.3c37.9-27,59.6-65.8,59.6-106.3v-235.7C1449.4,1757.6,1432.3,1740.5,1411.3,1740.5z"/>
|
||||
<path d="M1757.4,2000.4c-2.6-2.4-1-6.9,2.5-7.1c70.8-4.4,91.9-57.6,95.5-102.6c0-0.1,0-0.2,0-0.3c2.3-32-10.2-66-33.4-90.9 c-18-19.3-50.9-42.4-105.9-42.4c-40.9,0-86.8,0.7-125.8,1.9c-64.3,2-68.8,3.6-74.8,5.9c-15.3,5.5-25.6,20-25.6,36.3v309.5 c0,22,18.4,39.7,40.7,38.7c20.9-1,36.9-19,36.9-39.8v-272.2c33.9-1.4,90.3-2.7,148.7-2.7c21.8,0,38.3,6,49.2,17.7 c11,11.8,13.2,25.8,12.7,32.4c-0.9,11.9-4.1,47.2-67.5,47.2h-33.3c-17,0-33,9.7-39.7,25.2c-7.3,16.5-3.3,35.5,9.8,47.8 l145.9,136.8c7.5,7.1,17,10.5,26.5,10.5c10.3,0,20.7-4.1,28.2-12.2c14.6-15.6,13.8-40.2-1.8-54.8L1757.4,2000.4z"/>
|
||||
<path d="M2218.2,1757.8c-21.1,0-38.2,17-38.2,38.2v217.3l-218.3-242.8c-10.6-11.8-27.3-15.7-42.1-10.1s-24.5,19.9-24.5,35.6 v316.9c0,21.1,17,38.2,38.2,38.2c21.1,0,38.2-17,38.2-38.2v-217.3l218.3,242.8c7.4,8.2,17.8,12.6,28.4,12.6 c4.5,0,9.2-0.8,13.6-2.5c14.7-5.6,24.5-19.9,24.5-35.6V1796C2256.4,1774.8,2239.3,1757.8,2218.2,1757.8z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M1799.4,1343.4c-20.1-41-59-76.6-101.6-76.6s-81.5,35.6-101.6,76.6c-34.9,71.2-67.9,163.5-101,282.3 c-5.9,20.9,6.4,42.6,27.3,48.4c3.5,1,7.1,1.4,10.6,1.4c17.2,0,33-11.4,37.8-28.8c7.3-26.2,14.6-50.9,21.9-74.5h210 c7.3,23.5,14.5,48.3,21.9,74.5c5.9,20.9,27.5,33.1,48.4,27.3c20.9-5.9,33.1-27.5,27.3-48.4 C1867.4,1506.9,1834.3,1414.5,1799.4,1343.4z M1618.5,1494.7c15.9-44.6,32-83.3,48.3-116.8c7-14.2,18.3-32.5,31-32.5 c12.7,0,24,18.3,31,32.5c16.3,33.4,32.4,72.1,48.3,116.8H1618.5z"/>
|
||||
<path d="M1485,1490.8c0-1-0.1-2.1-0.2-3.1c0-0.3-0.1-0.5-0.1-0.8c-0.1-1-0.3-2-0.5-3c0-0.3-0.1-0.5-0.2-0.7 c-0.2-1-0.5-2-0.8-2.9c-0.1-0.3-0.2-0.5-0.2-0.7c-0.3-0.9-0.6-1.9-1-2.8c-0.1-0.3-0.2-0.5-0.3-0.8c-0.4-0.9-0.8-1.8-1.3-2.6 c-0.1-0.3-0.3-0.5-0.4-0.7c-0.5-0.8-1-1.6-1.5-2.4c-0.2-0.2-0.3-0.5-0.5-0.7c-0.5-0.8-1.1-1.5-1.7-2.3c-0.2-0.2-0.4-0.4-0.6-0.7 c-0.6-0.7-1.2-1.4-1.9-2.1c-0.2-0.2-0.4-0.4-0.6-0.6c-0.7-0.6-1.3-1.3-2.1-1.9c-0.2-0.2-0.5-0.4-0.7-0.6 c-0.7-0.6-1.4-1.1-2.2-1.6c-0.3-0.2-0.5-0.4-0.8-0.5c-0.8-0.5-1.5-1-2.3-1.4c-0.3-0.2-0.6-0.3-0.9-0.5c-0.8-0.4-1.6-0.8-2.4-1.1 c-0.4-0.2-0.7-0.3-1.1-0.5c-0.8-0.3-1.6-0.6-2.4-0.9c-0.4-0.1-0.9-0.3-1.3-0.4c-0.8-0.2-1.5-0.4-2.3-0.6c-0.5-0.1-1-0.2-1.5-0.3 c-0.8-0.1-1.5-0.3-2.3-0.4c-0.5-0.1-1.1-0.1-1.6-0.1s-1-0.1-1.5-0.1c-0.3,0-0.5,0-0.8,0c-0.2,0-0.4,0-0.6,0h-146.7 c-21.4,0-38.7,17.4-38.7,38.7c0,21.4,17.4,38.7,38.7,38.7h102.7c-17.8,72-75.1,84-115,84c-79.2,0-134.5-59.9-134.5-145.7 c0-62.5,64.1-119.5,134.5-119.5c43.1,0,75.1,9.8,110.3,33.7c17.8,12,41.8,7.5,53.9-10.3c12-17.7,7.5-41.8-10.3-53.9 c-47.9-32.6-95.4-47.1-153.8-47.1c-54.9,0-107.5,20.8-148.2,58.4c-40.6,37.5-63.8,88.1-63.8,138.7c0,65.1,21.7,121.3,62.6,162.5 c38.8,39.1,91.9,60.6,149.3,60.6c54,0,101.4-15.5,137.3-45c29.8-24.4,57.5-70.9,60.4-153.8c0-0.4,0-0.7,0-1.1c0-0.1,0-0.2,0-0.3 C1485.1,1491.2,1485,1491,1485,1490.8z"/>
|
||||
<path d="M1037.2,1601.2H855.1v-87.6h127.4c21.4,0,38.7-17.4,38.7-38.7c0-21.4-17.4-38.7-38.7-38.7H855.1v-74.2h182.1 c21.4,0,38.7-17.4,38.7-38.7c0-21.4-17.4-38.7-38.7-38.7H816.4c-21.4,0-38.7,17.4-38.7,38.7v316.9c0,21.4,17.4,38.7,38.7,38.7 h220.8c21.4,0,38.7-17.4,38.7-38.7C1075.9,1618.6,1058.6,1601.2,1037.2,1601.2z"/>
|
||||
<path d="M744.2,1550.1c-5-63.1-56.1-110.9-117.2-110.9c-1.3,0-2.5,0-3.8,0.1h-35.4c-0.2,0-0.5,0-0.7,0l-85.9-0.1h-1.6 c-21.5,0.8-39.6-16.4-41.6-39.3c-1.2-17.9,7.6-35.7,18.8-38.2l2.2-0.6c50.4-14.4,158.3-10.6,196,3c20.2,7.3,42.4-3.2,49.6-23.3 c7.3-20.2-3.2-42.4-23.3-49.6c-55.6-20-179.8-22.5-242.6-4.9c-48.5,11.6-82,62.6-78,119.2v0.3c5,63.1,56.1,110.9,117.2,110.9 c1.3,0,2.5,0,3.8-0.1h35.4c0.2,0,0.5,0,0.7,0l85.9,0.1h1.6c21.5-0.9,39.5,16.4,41.6,39.3c1.2,17.9-7.6,35.7-18.8,38.2l-2.2,0.6 c-50.4,14.4-158.3,10.6-196-3c-20.2-7.3-42.4,3.2-49.6,23.3c-7.3,20.2,3.2,42.4,23.3,49.6c30.6,11,81.7,16.6,132.1,16.6 c41.4,0,82.2-3.8,110.6-11.8c48.5-11.6,82-62.6,78-119.2V1550.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<defs>
|
||||
<path id="SVGID_00000047757432968032457270000016806470745178228124_" d="M1699.2,567.6c0-72.5-14.1-143-42.2-209.1 c-10.3-24.2-22.2-47.5-35.7-69.8C1599,252.1,624.6,495,624.6,567.6s14.1,143,42.2,209.1c12.9,30.5,28.5,59.5,46.6,86.9 C733.2,893.6,1699.2,640.1,1699.2,567.6z"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_00000083058477662341932100000014656964928652289977_">
|
||||
<use xlink:href="#SVGID_00000047757432968032457270000016806470745178228124_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<path style="clip-path:url(#SVGID_00000083058477662341932100000014656964928652289977_);" d="M529.9,1096.6 c-28.3,0-56-0.6-83-1.9c-40.7-1.9-73.1-35.9-71.5-77c1.6-41.3,36.6-73.5,77.9-71.2c231.5,11.8,545-34,838.8-122.1 c287.1-86.5,513.5-199.4,605.8-302.4c10.8-12.1,26.7-31.8,33.7-51.8c4.8-13.7-3.8-28.3-18.1-30.8c-30.8-5.1-99.8-5.7-248.3,29.9 c-157.7,37.8-353.9,103-543.4,166.3C925.2,701,739.8,762.7,591.3,797.1c-149.1,34.3-307.8,54.4-354.2-57.9 C218.6,695,208.7,625,265.3,543.3c122.4-175.8,497.3-309.1,709.7-372.7c318.6-96,658.5-152.6,865.5-144.7 c41,1.6,72.8,35.9,71.2,77c-1.6,41-35.9,72.8-77,71.2c-192.1-7.3-512.9,46.7-817.9,138c-320.5,96-562.2,216.9-630.6,315.1 c-3.5,5.1-6.4,9.9-8.6,14.3c-6.4,12.1-1.3,32.1,20.4,34c32.4,2.9,94.1-4.8,206.4-35c134.8-35.9,297.3-88.7,469.7-146.3 c492.2-164.1,801-257.6,937.1-175.2c38.2,22.9,62,58.2,69,102.1c10.8,66.5-13.7,133.6-72.8,199.4 c-111.3,124.3-356.8,250.3-673.5,345.3C1054.6,1050.2,766.8,1096.6,529.9,1096.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -106,6 +106,8 @@
|
||||
"psyq4.5": "PSYQ4.5 (gcc 2.91.66)",
|
||||
"psyq4.6": "PSYQ4.6 (gcc 2.95.2)",
|
||||
|
||||
"cygnus-2.7-96Q3": "cygnus-2.7-96Q3 SOA-960904",
|
||||
|
||||
"armcc_opt_level": "Optimization level",
|
||||
"armcc_opt_level.-O0": "No optimization",
|
||||
"armcc_opt_level.-O1": "Some optimization",
|
||||
|
||||
Reference in New Issue
Block a user