romdevtools 0.44.0 → 0.56.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +293 -0
- package/examples/n64/platformer/main.c +158 -0
- package/examples/n64/puzzle/main.c +117 -0
- package/examples/n64/racing/main.c +147 -0
- package/examples/n64/shmup/main.c +122 -0
- package/examples/n64/sports/main.c +127 -0
- package/examples/ps1/platformer/main.c +158 -0
- package/examples/ps1/puzzle/main.c +125 -0
- package/examples/ps1/racing/main.c +147 -0
- package/examples/ps1/shmup/main.c +192 -0
- package/examples/ps1/sports/main.c +127 -0
- package/examples/ps1/sprite_move/main.c +38 -0
- package/package.json +9 -2
- package/src/analysis/analyze.js +169 -29
- package/src/analysis/decompile.js +4 -0
- package/src/analysis/decompiler/sleigh/mips.ldefs +25 -0
- package/src/analysis/decompiler/sleigh/mips32.pspec +78 -0
- package/src/analysis/decompiler/sleigh/mips32be.cspec +107 -0
- package/src/analysis/decompiler/sleigh/mips32be.sla +211162 -0
- package/src/analysis/decompiler/sleigh/mips32le.cspec +106 -0
- package/src/analysis/decompiler/sleigh/mips32le.sla +210624 -0
- package/src/analysis/rizin.js +22 -1
- package/src/cores/capabilities.js +90 -2
- package/src/cores/registry.js +12 -0
- package/src/host/LibretroGL.js +270 -0
- package/src/host/LibretroGLBridge.js +836 -0
- package/src/host/LibretroHost.js +144 -3
- package/src/host/callbacks.js +18 -2
- package/src/host/coreLoader.js +49 -2
- package/src/host/cpu-state.js +27 -0
- package/src/host/framebuffer.js +14 -1
- package/src/host/glOptionalDep.js +60 -0
- package/src/host/n64-ai-state.js +43 -0
- package/src/host/ps1-spu-state.js +65 -0
- package/src/host/retroConstants.js +14 -0
- package/src/mcp/tools/disasm.js +2 -0
- package/src/mcp/tools/frame.js +18 -9
- package/src/mcp/tools/lifecycle.js +1 -1
- package/src/mcp/tools/platform-tools.js +20 -4
- package/src/mcp/tools/platforms.js +38 -4
- package/src/mcp/tools/project.js +100 -0
- package/src/mcp/tools/rendering-context.js +2 -1
- package/src/mcp/tools/toolchain.js +1 -1
- package/src/platforms/n64/lib/c/n64.c +196 -0
- package/src/platforms/n64/lib/c/n64.h +68 -0
- package/src/platforms/ps1/lib/c/psx.c +200 -0
- package/src/platforms/ps1/lib/c/psx.h +83 -0
- package/src/toolchains/index.js +35 -0
- package/src/toolchains/mips-c/lib/be/libc.a +0 -0
- package/src/toolchains/mips-c/lib/be/libgcc.a +0 -0
- package/src/toolchains/mips-c/lib/be/libm.a +0 -0
- package/src/toolchains/mips-c/lib/el/libc.a +0 -0
- package/src/toolchains/mips-c/lib/el/libm.a +0 -0
- package/src/toolchains/mips-c/lib/n64-crt0.s +21 -0
- package/src/toolchains/mips-c/lib/n64-ipl3.s +30 -0
- package/src/toolchains/mips-c/lib/n64.ld +15 -0
- package/src/toolchains/mips-c/lib/ps1-crt0.s +20 -0
- package/src/toolchains/mips-c/lib/ps1.ld +15 -0
- package/src/toolchains/mips-c/lib/softint.c +37 -0
- package/src/toolchains/mips-c/mips-c.js +155 -0
- package/src/toolchains/mips-elf-gcc/gcc.js +130 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
|
|
3
|
+
<compiler_spec>
|
|
4
|
+
<data_organization>
|
|
5
|
+
<pointer_size value="4"/>
|
|
6
|
+
<float_size value="4" />
|
|
7
|
+
<double_size value="8" />
|
|
8
|
+
<long_double_size value="8" />
|
|
9
|
+
<size_alignment_map>
|
|
10
|
+
<entry size="1" alignment="1" />
|
|
11
|
+
<entry size="2" alignment="2" />
|
|
12
|
+
<entry size="4" alignment="4" />
|
|
13
|
+
<entry size="8" alignment="8" />
|
|
14
|
+
</size_alignment_map>
|
|
15
|
+
</data_organization>
|
|
16
|
+
|
|
17
|
+
<stackpointer register="sp" space="ram"/>
|
|
18
|
+
<funcptr align="2"/>
|
|
19
|
+
<global>
|
|
20
|
+
<range space="ram"/>
|
|
21
|
+
<range space="register" first="0x2000" last="0x2fff"/>
|
|
22
|
+
</global>
|
|
23
|
+
<returnaddress>
|
|
24
|
+
<register name="ra"/>
|
|
25
|
+
</returnaddress>
|
|
26
|
+
<default_proto>
|
|
27
|
+
<prototype name="__stdcall" extrapop="0" stackshift="0">
|
|
28
|
+
<input>
|
|
29
|
+
<pentry minsize="1" maxsize="8" metatype="float">
|
|
30
|
+
<register name="f12_13"/>
|
|
31
|
+
</pentry>
|
|
32
|
+
<pentry minsize="1" maxsize="8" metatype="float">
|
|
33
|
+
<register name="f14_15"/>
|
|
34
|
+
</pentry>
|
|
35
|
+
<pentry minsize="1" maxsize="4">
|
|
36
|
+
<register name="a0"/>
|
|
37
|
+
</pentry>
|
|
38
|
+
<pentry minsize="1" maxsize="4">
|
|
39
|
+
<register name="a1"/>
|
|
40
|
+
</pentry>
|
|
41
|
+
<pentry minsize="1" maxsize="4">
|
|
42
|
+
<register name="a2"/>
|
|
43
|
+
</pentry>
|
|
44
|
+
<pentry minsize="1" maxsize="4">
|
|
45
|
+
<register name="a3"/>
|
|
46
|
+
</pentry>
|
|
47
|
+
<pentry minsize="1" maxsize="500" align="4">
|
|
48
|
+
<addr offset="16" space="stack"/>
|
|
49
|
+
</pentry>
|
|
50
|
+
</input>
|
|
51
|
+
<output>
|
|
52
|
+
<pentry minsize="1" maxsize="8" metatype="float">
|
|
53
|
+
<register name="f0_1"/>
|
|
54
|
+
</pentry>
|
|
55
|
+
<pentry minsize="1" maxsize="4">
|
|
56
|
+
<register name="v0"/>
|
|
57
|
+
</pentry>
|
|
58
|
+
<pentry minsize="5" maxsize="8">
|
|
59
|
+
<addr space="join" piece1="v1" piece2="v0"/>
|
|
60
|
+
</pentry>
|
|
61
|
+
</output>
|
|
62
|
+
<unaffected>
|
|
63
|
+
<register name="s0"/>
|
|
64
|
+
<register name="s1"/>
|
|
65
|
+
<register name="s2"/>
|
|
66
|
+
<register name="s3"/>
|
|
67
|
+
<register name="s4"/>
|
|
68
|
+
<register name="s5"/>
|
|
69
|
+
<register name="s6"/>
|
|
70
|
+
<register name="s7"/>
|
|
71
|
+
<register name="s8"/>
|
|
72
|
+
<register name="sp"/>
|
|
73
|
+
<register name="gp"/>
|
|
74
|
+
<register name="f20"/>
|
|
75
|
+
<register name="f22"/>
|
|
76
|
+
<register name="f24"/>
|
|
77
|
+
<register name="f26"/>
|
|
78
|
+
<register name="f28"/>
|
|
79
|
+
<register name="f30"/>
|
|
80
|
+
</unaffected>
|
|
81
|
+
<localrange>
|
|
82
|
+
<range space="stack" first="0xfff0bdc0" last="0xffffffff"/>
|
|
83
|
+
<range space="stack" first="0" last="15"/> <!-- This is backup storage space for register params, but we treat as locals -->
|
|
84
|
+
</localrange>
|
|
85
|
+
</prototype>
|
|
86
|
+
</default_proto>
|
|
87
|
+
<prototype name="processEntry" extrapop="0" stackshift="0">
|
|
88
|
+
<input pointermax="4">
|
|
89
|
+
<pentry minsize="1" maxsize="4">
|
|
90
|
+
<register name="v0"/>
|
|
91
|
+
</pentry>
|
|
92
|
+
<pentry minsize="1" maxsize="500" align="4">
|
|
93
|
+
<addr offset="0" space="stack"/>
|
|
94
|
+
</pentry>
|
|
95
|
+
</input>
|
|
96
|
+
<output killedbycall="true">
|
|
97
|
+
<pentry minsize="1" maxsize="4">
|
|
98
|
+
<register name="v0"/>
|
|
99
|
+
</pentry>
|
|
100
|
+
</output>
|
|
101
|
+
<unaffected>
|
|
102
|
+
<register name="sp"/>
|
|
103
|
+
</unaffected>
|
|
104
|
+
</prototype>
|
|
105
|
+
|
|
106
|
+
</compiler_spec>
|