mirror of
https://github.com/decompme/decomp.me.git
synced 2026-05-05 06:21:43 -05:00
Add IRIX as a platform (#594)
Also cleaned up the flags a bit. Possibly the Pascal one should be renamed to match, but I didn't want to fiddle with all the names again. Going to try to stop agonising over the logo now! Co-authored-by: pixel-stuck <mathmcclintic@gmail.com>
This commit is contained in:
@@ -21,6 +21,7 @@ from coreapp.flags import (
|
||||
from coreapp.platforms import (
|
||||
GBA,
|
||||
GC_WII,
|
||||
IRIX,
|
||||
MACOS9,
|
||||
MACOSX,
|
||||
N3DS,
|
||||
@@ -307,6 +308,29 @@ EE_GCC296 = GCCCompiler(
|
||||
cc='"${COMPILER_DIR}"/bin/ee-gcc -c -B "${COMPILER_DIR}"/bin/ee- $COMPILER_FLAGS "$INPUT" -o "$OUTPUT"',
|
||||
)
|
||||
|
||||
# IRIX
|
||||
IDO53_IRIX = IDOCompiler(
|
||||
id="ido5.3_irix",
|
||||
platform=IRIX,
|
||||
cc='IDO_CC="${COMPILER_DIR}/cc" "${COMPILER_DIR}/cc" -c -Xcpluscomm -G0 -non_shared -woff 649,838,712 -32 ${COMPILER_FLAGS} -o "${OUTPUT}" "${INPUT}"',
|
||||
base_id="ido5.3",
|
||||
)
|
||||
|
||||
IDO71_IRIX = IDOCompiler(
|
||||
id="ido7.1_irix",
|
||||
platform=IRIX,
|
||||
cc='IDO_CC="${COMPILER_DIR}/cc" "${COMPILER_DIR}/cc" -c -Xcpluscomm -G0 -non_shared -woff 649,838,712 -32 ${COMPILER_FLAGS} -o "${OUTPUT}" "${INPUT}"',
|
||||
base_id="ido7.1",
|
||||
)
|
||||
|
||||
IDO71PASCAL = IDOCompiler(
|
||||
id="ido7.1Pascal",
|
||||
platform=IRIX,
|
||||
cc='IDO_CC="${COMPILER_DIR}/cc" "${COMPILER_DIR}/cc" -c -Xcpluscomm -G0 -non_shared ${COMPILER_FLAGS} -o "${OUTPUT}" "${INPUT}"',
|
||||
base_id="ido7.1",
|
||||
language=Language.PASCAL,
|
||||
)
|
||||
|
||||
# N64
|
||||
IDO53 = IDOCompiler(
|
||||
id="ido5.3",
|
||||
@@ -320,15 +344,6 @@ IDO71 = IDOCompiler(
|
||||
cc='IDO_CC="${COMPILER_DIR}/cc" "${COMPILER_DIR}/cc" -c -Xcpluscomm -G0 -non_shared -Wab,-r4300_mul -woff 649,838,712 -32 ${COMPILER_FLAGS} -o "${OUTPUT}" "${INPUT}"',
|
||||
)
|
||||
|
||||
# Pascal IDO
|
||||
IDO71PASCAL = IDOCompiler(
|
||||
id="ido7.1Pascal",
|
||||
platform=N64,
|
||||
cc='IDO_CC="${COMPILER_DIR}/cc" "${COMPILER_DIR}/cc" -c -Xcpluscomm -G0 -non_shared ${COMPILER_FLAGS} -o "${OUTPUT}" "${INPUT}"',
|
||||
base_id="ido7.1",
|
||||
language=Language.PASCAL,
|
||||
)
|
||||
|
||||
GCC272KMC = GCCCompiler(
|
||||
id="gcc2.7.2kmc",
|
||||
platform=N64,
|
||||
@@ -705,6 +720,9 @@ _all_compilers: List[Compiler] = [
|
||||
GCC272SNEW,
|
||||
GCC281,
|
||||
GCC281SNCXX,
|
||||
# IRIX
|
||||
IDO53_IRIX,
|
||||
IDO71_IRIX,
|
||||
IDO71PASCAL,
|
||||
# GC_WII
|
||||
MWCC_233_144,
|
||||
@@ -917,34 +935,41 @@ _all_presets = [
|
||||
"-O2 -g2 -mips3",
|
||||
diff_flags=["-Mreg-names=32"],
|
||||
),
|
||||
# IRIX
|
||||
Preset(
|
||||
"IDO 5.3 cc",
|
||||
IDO53,
|
||||
"-O1 -KPIC -mips1",
|
||||
IDO53_IRIX,
|
||||
"-KPIC -mips1 -O1 -fullwarn",
|
||||
diff_flags=["-Mreg-names=32"],
|
||||
),
|
||||
Preset(
|
||||
"IDO 5.3 libraries",
|
||||
IDO53,
|
||||
"-O2 -KPIC -mips1",
|
||||
IDO53_IRIX,
|
||||
"-KPIC -mips1 -O2 -fullwarn",
|
||||
diff_flags=["-Mreg-names=32"],
|
||||
),
|
||||
Preset(
|
||||
"IDO 7.1 cc",
|
||||
IDO71,
|
||||
"-O1 -KPIC -mips2",
|
||||
IDO71_IRIX,
|
||||
"-KPIC -mips2 -O1 -fullwarn",
|
||||
diff_flags=["-Mreg-names=32"],
|
||||
),
|
||||
Preset(
|
||||
"IDO 7.1 libraries",
|
||||
IDO71,
|
||||
"-O2 -KPIC -mips2",
|
||||
IDO71_IRIX,
|
||||
"-KPIC -mips2 -O2 -fullwarn",
|
||||
diff_flags=["-Mreg-names=32"],
|
||||
),
|
||||
Preset(
|
||||
"IDO 7.1 Pascal",
|
||||
IDO71PASCAL,
|
||||
"-O2 -KPIC -mips2",
|
||||
"-KPIC -mips2 -O2 -fullwarn",
|
||||
diff_flags=["-Mreg-names=32"],
|
||||
),
|
||||
Preset(
|
||||
"7.1 N64 SDK",
|
||||
IDO71_IRIX,
|
||||
"-KPIC -mips2 -g -fullwarn",
|
||||
diff_flags=["-Mreg-names=32"],
|
||||
),
|
||||
# GC_WII
|
||||
|
||||
@@ -84,6 +84,77 @@ N64 = Platform(
|
||||
.set gp=64
|
||||
|
||||
|
||||
# Float register aliases (o32 ABI)
|
||||
|
||||
.set $fv0, $f0
|
||||
.set $fv0f, $f1
|
||||
.set $fv1, $f2
|
||||
.set $fv1f, $f3
|
||||
.set $ft0, $f4
|
||||
.set $ft0f, $f5
|
||||
.set $ft1, $f6
|
||||
.set $ft1f, $f7
|
||||
.set $ft2, $f8
|
||||
.set $ft2f, $f9
|
||||
.set $ft3, $f10
|
||||
.set $ft3f, $f11
|
||||
.set $fa0, $f12
|
||||
.set $fa0f, $f13
|
||||
.set $fa1, $f14
|
||||
.set $fa1f, $f15
|
||||
.set $ft4, $f16
|
||||
.set $ft4f, $f17
|
||||
.set $ft5, $f18
|
||||
.set $ft5f, $f19
|
||||
.set $fs0, $f20
|
||||
.set $fs0f, $f21
|
||||
.set $fs1, $f22
|
||||
.set $fs1f, $f23
|
||||
.set $fs2, $f24
|
||||
.set $fs2f, $f25
|
||||
.set $fs3, $f26
|
||||
.set $fs3f, $f27
|
||||
.set $fs4, $f28
|
||||
.set $fs4f, $f29
|
||||
.set $fs5, $f30
|
||||
.set $fs5f, $f31
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
IRIX = Platform(
|
||||
id="irix",
|
||||
name="IRIX",
|
||||
description="MIPS (big-endian, PIC)",
|
||||
arch="mips",
|
||||
assemble_cmd='mips-linux-gnu-as -march=vr4300 -mabi=32 -KPIC -o "$OUTPUT" "$INPUT"',
|
||||
objdump_cmd="mips-linux-gnu-objdump",
|
||||
nm_cmd="mips-linux-gnu-nm",
|
||||
diff_flags=COMMON_DIFF_FLAGS + COMMON_MIPS_DIFF_FLAGS,
|
||||
asm_prelude="""
|
||||
.macro .late_rodata
|
||||
.section .rodata
|
||||
.endm
|
||||
|
||||
.macro .late_rodata_alignment align
|
||||
.endm
|
||||
|
||||
.macro glabel label
|
||||
.global \label
|
||||
.type \label, @function
|
||||
\label:
|
||||
.endm
|
||||
|
||||
.macro dlabel label
|
||||
.global \label
|
||||
\label:
|
||||
.endm
|
||||
|
||||
.set noat
|
||||
.set noreorder
|
||||
.set gp=64
|
||||
|
||||
|
||||
# Float register aliases (o32 ABI)
|
||||
|
||||
.set $fv0, $f0
|
||||
@@ -528,6 +599,7 @@ _platforms: OrderedDict[str, Platform] = OrderedDict(
|
||||
{
|
||||
"dummy": DUMMY,
|
||||
"switch": SWITCH,
|
||||
"irix": IRIX,
|
||||
"n64": N64,
|
||||
"ps1": PS1,
|
||||
"ps2": PS2,
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
"gcc2.8.1": "GCC 2.8.1",
|
||||
"ido5.3": "IDO 5.3",
|
||||
"ido7.1": "IDO 7.1",
|
||||
"ido5.3_irix": "IDO 5.3",
|
||||
"ido7.1_irix": "IDO 7.1",
|
||||
"ido7.1Pascal": "IDO 7.1 Pascal",
|
||||
"mwcc_20_72": "2.0 build 72 (MW 1.2base)",
|
||||
"mwcc_20_79": "2.0 build 79 (MW 1.2sp2)",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import LogoGBA from "./gba.svg"
|
||||
import LogoGCWii from "./gc_wii.svg"
|
||||
import LogoIRIX from "./irix.svg"
|
||||
import LogoMacOS from "./macos9.svg"
|
||||
import LogoMacOSX from "./macosx.svg"
|
||||
import LogoN3DS from "./n3ds.svg"
|
||||
@@ -13,6 +14,7 @@ import UnknownIcon from "./unknown.svg"
|
||||
const ICONS = {
|
||||
"gba": LogoGBA,
|
||||
"gc_wii": LogoGCWii,
|
||||
"irix": LogoIRIX,
|
||||
"nds_arm9": LogoNDS,
|
||||
"n64": LogoN64,
|
||||
"ps1": LogoPS1,
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="180.03" height="188.062" viewBox="0 0 47.633 49.758" stroke="#000" stroke-width="1.058" stroke-linejoin="round" xmlns:v="https://vecta.io/nano"><path d="M20.336.529a2.38 2.38 0 0 0-1.16.318l-13.43 7.75a2.38 2.38 0 0 0-.006 4.121l12.301 7.143.006 1.854-1.605.924L4.09 15.584A2.38 2.38 0 0 0 .53 17.658l.037 15.506a2.38 2.38 0 0 0 3.568 2.059l12.316-7.094 1.025.586v1.174l-12.27 7.182a2.38 2.38 0 0 0 .016 4.119l13.445 7.727a2.38 2.38 0 0 0 3.566-2.064l.002-14.23 1.58-.924 1.578.924.002 14.23a2.38 2.38 0 0 0 3.568 2.064l13.443-7.727a2.38 2.38 0 0 0 .018-4.119l-12.271-7.182v-1.174l1.025-.586 12.316 7.094a2.38 2.38 0 0 0 3.57-2.059l.037-15.506a2.38 2.38 0 0 0-3.562-2.074L31.19 22.639l-1.605-.924.006-1.854 12.301-7.143a2.38 2.38 0 0 0-.006-4.121L28.455.848a2.38 2.38 0 0 0-3.572 2.055l-.047 14.213-1.02.592-1.021-.594-.047-14.211A2.38 2.38 0 0 0 20.336.529zm-2.338 6.496l.023 7.318-6.332-3.678zm11.635 0l6.309 3.643-6.332 3.676zM5.301 21.762l6.359 3.631-6.342 3.652zm37.029 0l-.018 7.283-6.342-3.652zm-19.518.857a2.38 2.38 0 0 0 2.006 0l-.002.461a2.38 2.38 0 0 0 1.193 2.072l.4.23a2.38 2.38 0 0 0-1.006 1.727l-.387-.227a2.38 2.38 0 0 0-2.404 0l-.385.227a2.38 2.38 0 0 0-1.006-1.729l.398-.229a2.38 2.38 0 0 0 1.193-2.072zm7.344 12.787l6.32 3.699-6.318 3.631zm-12.682.002l-.002 7.328-6.316-3.631z" fill="#44c2b3"/><path d="M46.789 16.471a2.38 2.38 0 0 0-3.248-.887l-16.756 9.57-.193.111a2.38 2.38 0 0 0-1.199 2.068l.004 19.518a2.38 2.38 0 0 0 2.381 2.381m2.381-6.496l-.004-14.021 12.176-6.953m-37.03 0l12.176 6.953-.004 14.021m4.762 4.115l.004-19.518a2.38 2.38 0 0 0-1.199-2.068l-.193-.111-16.756-9.57a2.38 2.38 0 0 0-3.248.887m4.897-3.752l16.688 9.689.191.111a2.38 2.38 0 0 0 2.393 0l16.879-9.801m-5.949-2.051l-12.125 7.039-12.127-7.041" fill="none" stroke-linecap="round"/></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
Reference in New Issue
Block a user