mirror of
https://github.com/PrimeDecomp/prime.git
synced 2026-07-12 18:18:56 -07:00
@@ -13,7 +13,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
version: [0, 1]
|
||||
version: [0, 1, kor]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
@@ -22,6 +22,11 @@ endif
|
||||
NAME := mp1
|
||||
VERSION ?= 0
|
||||
|
||||
VERSION_NUM := $(VERSION)
|
||||
ifeq ($(VERSION),kor)
|
||||
VERSION_NUM := 2
|
||||
endif
|
||||
|
||||
BUILD_DIR := build/$(NAME).$(VERSION)
|
||||
|
||||
# Inputs
|
||||
@@ -93,7 +98,7 @@ FRANK := tools/franklite.py
|
||||
INCLUDES := -i include/
|
||||
ASM_INCLUDES := -I include/
|
||||
|
||||
ASFLAGS := -mgekko $(ASM_INCLUDES) --defsym version=$(VERSION)
|
||||
ASFLAGS := -mgekko $(ASM_INCLUDES) --defsym version=$(VERSION_NUM)
|
||||
ifeq ($(VERBOSE),1)
|
||||
# this set of LDFLAGS outputs warnings.
|
||||
LDFLAGS := $(MAPGEN) -fp fmadd -nodefaults
|
||||
@@ -104,8 +109,8 @@ LDFLAGS := $(MAPGEN) -fp fmadd -nodefaults -w off
|
||||
endif
|
||||
CFLAGS_1.2 = -proc gekko -nodefaults -Cpp_exceptions off -RTTI off -fp fmadd -fp_contract on -O4,p -maxerrors 1 -enum int -inline auto -MMD $(INCLUDES)
|
||||
CFLAGS_MUSYX = -proc gekko -nodefaults -Cpp_exceptions off -RTTI off -fp fmadd -str reuse,pool,readonly -O4,p -maxerrors 1 -enum int -inline auto -MMD $(INCLUDES)
|
||||
CFLAGS = $(CFLAGS_1.2) -use_lmw_stmw on -str reuse,pool,readonly -gccinc -inline deferred,noauto -common on
|
||||
CFLAGS_ZLIB = $(CFLAGS_1.2) -use_lmw_stmw on -str reuse,pool,readonly -gccinc -inline deferred,auto
|
||||
CFLAGS = $(CFLAGS_1.2) -use_lmw_stmw on -str reuse,pool,readonly -gccinc -nosyspath -inline deferred,noauto -common on
|
||||
CFLAGS_ZLIB = $(CFLAGS_1.2) -use_lmw_stmw on -str reuse,pool,readonly -gccinc -nosyspath -inline deferred,auto
|
||||
CFLAGS_1.2 += -str reuse
|
||||
|
||||
ifeq ($(VERBOSE),0)
|
||||
|
||||
@@ -8,6 +8,7 @@ This repository builds the following DOLs:
|
||||
```
|
||||
949c5ed7368aef547e0b0db1c3678f466e2afbff build/mp1.0/main.dol (USA 0-00)
|
||||
860141f9671fc141ce8f55448643f713bc64b349 build/mp1.1/main.dol (USA 0-01)
|
||||
52316d2a71c0d18c84f054fd6f1e58bdd7bf0ded build/mp1.kor/main.dol (KOR)
|
||||
```
|
||||
|
||||
Dependencies
|
||||
|
||||
@@ -24,6 +24,8 @@ lbl_803F0100:
|
||||
.4byte 0x00100007
|
||||
.4byte 0
|
||||
|
||||
.if version < 2
|
||||
|
||||
.global lbl_803F0148
|
||||
lbl_803F0148:
|
||||
|
||||
@@ -173,6 +175,7 @@ lbl_803F04EC:
|
||||
.asciz "\n\n\nEr is een fout opgetreden.\nZet de NINTENDO GAMECUBE uit en\nraadpleeg de handleiding van de\nNintendo GameCube voor nadere\ninstructies."
|
||||
.balign 4
|
||||
|
||||
.endif
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
.include "macros.inc"
|
||||
|
||||
.if version < 2
|
||||
|
||||
.section .sdata
|
||||
.balign 8
|
||||
.global lbl_805A8AB0
|
||||
@@ -12,13 +14,6 @@ lbl_805A8AB4:
|
||||
# ROM: 0x3F6454
|
||||
.4byte lbl_803F01B8
|
||||
|
||||
|
||||
.section .sbss
|
||||
.balign 8
|
||||
.global lbl_805A9820
|
||||
lbl_805A9820:
|
||||
.skip 0x8
|
||||
|
||||
.section .sdata2
|
||||
.balign 8
|
||||
.global lbl_805AEB20
|
||||
@@ -43,9 +38,18 @@ lbl_803D8570:
|
||||
.4byte lbl_803F046C
|
||||
.4byte lbl_803F04EC
|
||||
|
||||
.endif
|
||||
|
||||
.section .sbss
|
||||
.balign 8
|
||||
.global lbl_805A9820
|
||||
lbl_805A9820:
|
||||
.skip 0x8
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.if version < 2
|
||||
|
||||
.global ShowMessage
|
||||
ShowMessage:
|
||||
/* 80374D40 00371CA0 7C 08 02 A6 */ mflr r0
|
||||
@@ -122,6 +126,8 @@ lbl_80374E18:
|
||||
/* 80374E34 00371D94 7C 08 03 A6 */ mtlr r0
|
||||
/* 80374E38 00371D98 4E 80 00 20 */ blr
|
||||
|
||||
.endif
|
||||
|
||||
.global __DVDPrintFatalMessage
|
||||
__DVDPrintFatalMessage:
|
||||
/* 80374E3C 00371D9C 7C 08 02 A6 */ mflr r0
|
||||
|
||||
@@ -735,6 +735,8 @@ lbl_80384230:
|
||||
/* 80384240 003811A0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80384244 003811A4 4E 80 00 20 */ blr
|
||||
|
||||
.if version < 2
|
||||
|
||||
.global OSGetLanguage
|
||||
OSGetLanguage:
|
||||
/* 80384248 003811A8 7C 08 02 A6 */ mflr r0
|
||||
@@ -767,6 +769,8 @@ lbl_8038428C:
|
||||
/* 803842AC 0038120C 7C 08 03 A6 */ mtlr r0
|
||||
/* 803842B0 00381210 4E 80 00 20 */ blr
|
||||
|
||||
.endif
|
||||
|
||||
.global OSGetWirelessID
|
||||
OSGetWirelessID:
|
||||
/* 803842B4 00381214 7C 08 02 A6 */ mflr r0
|
||||
|
||||
@@ -99,7 +99,7 @@ SetErrorHandlers:
|
||||
/* 802D6950 002D38B0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802D6954 002D38B4 4E 80 00 20 */ blr
|
||||
|
||||
.if version == 1
|
||||
.if version >= 1
|
||||
|
||||
.global ErrorHandler
|
||||
ErrorHandler:
|
||||
|
||||
@@ -68,7 +68,7 @@ lbl_8034F938:
|
||||
/* 8034F940 0034C8A0 90 03 00 10 */ stw r0, 0x10(r3)
|
||||
/* 8034F944 0034C8A4 4E 80 00 20 */ blr
|
||||
|
||||
.if version == 1
|
||||
.if version >= 1
|
||||
|
||||
.global internalCallback__8CDvdFileFlP11DVDFileInfo
|
||||
internalCallback__8CDvdFileFlP11DVDFileInfo:
|
||||
|
||||
@@ -374,7 +374,7 @@ lbl_80345AAC:
|
||||
/* 80345B00 00342A60 D0 81 00 74 */ stfs f4, 0x74(r1)
|
||||
/* 80345B04 00342A64 D0 41 00 78 */ stfs f2, 0x78(r1)
|
||||
lbl_80345B08:
|
||||
/* 80345B08 00342A68 80 AD A5 F0 */ lwz r5, lbl_805A91B0@sda21(r13)
|
||||
/* 80345B08 00342A68 80 AD A5 F0 */ lwz r5, sRenderer__13CCubeRenderer@sda21(r13)
|
||||
/* 80345B0C 00342A6C 88 85 03 18 */ lbz r4, 0x318(r5)
|
||||
/* 80345B10 00342A70 54 80 CF FF */ rlwinm. r0, r4, 0x19, 0x1f, 0x1f
|
||||
/* 80345B14 00342A74 41 82 00 A4 */ beq lbl_80345BB8
|
||||
@@ -750,7 +750,7 @@ lbl_80346064:
|
||||
/* 8034607C 00342FDC 7C 03 02 14 */ add r0, r3, r0
|
||||
/* 80346080 00342FE0 90 01 00 3C */ stw r0, 0x3c(r1)
|
||||
lbl_80346084:
|
||||
/* 80346084 00342FE4 80 6D A5 F0 */ lwz r3, lbl_805A91B0@sda21(r13)
|
||||
/* 80346084 00342FE4 80 6D A5 F0 */ lwz r3, sRenderer__13CCubeRenderer@sda21(r13)
|
||||
/* 80346088 00342FE8 80 81 00 3C */ lwz r4, 0x3c(r1)
|
||||
/* 8034608C 00342FEC 88 03 03 18 */ lbz r0, 0x318(r3)
|
||||
/* 80346090 00342FF0 83 64 00 00 */ lwz r27, 0(r4)
|
||||
@@ -806,7 +806,7 @@ lbl_80346108:
|
||||
lbl_8034614C:
|
||||
/* 8034614C 003430AC 80 81 00 3C */ lwz r4, 0x3c(r1)
|
||||
/* 80346150 003430B0 38 A0 00 00 */ li r5, 0
|
||||
/* 80346154 003430B4 80 6D A5 F0 */ lwz r3, lbl_805A91B0@sda21(r13)
|
||||
/* 80346154 003430B4 80 6D A5 F0 */ lwz r3, sRenderer__13CCubeRenderer@sda21(r13)
|
||||
/* 80346158 003430B8 3A E0 00 00 */ li r23, 0
|
||||
/* 8034615C 003430BC 82 64 00 00 */ lwz r19, 0(r4)
|
||||
/* 80346160 003430C0 38 C4 00 04 */ addi r6, r4, 4
|
||||
@@ -1809,7 +1809,7 @@ lbl_80346F48:
|
||||
/* 80346F70 00343ED0 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80346F74 00343ED4 48 03 47 E5 */ bl GXSetTevKColorSel
|
||||
lbl_80346F78:
|
||||
/* 80346F78 00343ED8 80 6D A5 F0 */ lwz r3, lbl_805A91B0@sda21(r13)
|
||||
/* 80346F78 00343ED8 80 6D A5 F0 */ lwz r3, sRenderer__13CCubeRenderer@sda21(r13)
|
||||
/* 80346F7C 00343EDC 7F BD FA 14 */ add r29, r29, r31
|
||||
/* 80346F80 00343EE0 4B F7 55 C1 */ bl GetRealReflection__13CCubeRendererFv
|
||||
/* 80346F84 00343EE4 7F 84 E3 78 */ mr r4, r28
|
||||
|
||||
@@ -624,7 +624,7 @@ lbl_8035BD4C:
|
||||
/* 8035BD58 00358CB8 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 8035BD5C 00358CBC 4E 80 00 20 */ blr
|
||||
|
||||
.if version == 1
|
||||
.if version >= 1
|
||||
|
||||
.global Update__12CMoviePlayerFf
|
||||
Update__12CMoviePlayerFf:
|
||||
|
||||
@@ -1923,8 +1923,9 @@ lbl_803D8368:
|
||||
# ROM: 0x3D5368
|
||||
.asciz "??(??)"
|
||||
.balign 4
|
||||
.if version < 2
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
|
||||
.endif
|
||||
|
||||
+152
-148
File diff suppressed because it is too large
Load Diff
@@ -3107,12 +3107,21 @@ lbl_8002797C:
|
||||
/* 80027A3C 0002499C 48 31 93 49 */ bl Lock__6CTokenFv
|
||||
/* 80027A40 000249A0 80 1F 00 18 */ lwz r0, 0x18(r31)
|
||||
/* 80027A44 000249A4 38 E0 00 00 */ li r7, 0
|
||||
.if version >= 2
|
||||
/* 80027ABC 00024A1C 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80027AC0 00024A20 41 82 00 14 */ beq lbl_80027A60
|
||||
/* 80027AC4 00024A24 41 80 00 1C */ blt lbl_80027A6C
|
||||
/* 80027AC8 00024A28 2C 00 00 03 */ cmpwi r0, 3
|
||||
/* 80027A58 000249B8 40 80 00 08 */ bge lbl_80027A6C
|
||||
/* 80027A5C 000249BC 48 00 00 10 */ b lbl_80027A68
|
||||
.else
|
||||
/* 80027A48 000249A8 2C 00 00 02 */ cmpwi r0, 2
|
||||
/* 80027A4C 000249AC 41 82 00 1C */ beq lbl_80027A68
|
||||
/* 80027A50 000249B0 40 80 00 1C */ bge lbl_80027A6C
|
||||
/* 80027A54 000249B4 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80027A58 000249B8 40 80 00 08 */ bge lbl_80027A60
|
||||
/* 80027A5C 000249BC 48 00 00 10 */ b lbl_80027A6C
|
||||
.endif
|
||||
lbl_80027A60:
|
||||
/* 80027A60 000249C0 38 E0 00 00 */ li r7, 0
|
||||
/* 80027A64 000249C4 48 00 00 08 */ b lbl_80027A6C
|
||||
|
||||
@@ -1016,7 +1016,7 @@ lbl_8019A64C:
|
||||
lbl_8019A684:
|
||||
/* 8019A684 001975E4 88 12 00 1C */ lbz r0, 0x1c(r18)
|
||||
/* 8019A688 001975E8 3B 20 00 00 */ li r25, 0
|
||||
/* 8019A68C 001975EC 80 6D A5 F0 */ lwz r3, lbl_805A91B0@sda21(r13)
|
||||
/* 8019A68C 001975EC 80 6D A5 F0 */ lwz r3, sRenderer__13CCubeRenderer@sda21(r13)
|
||||
/* 8019A690 001975F0 3B 00 00 00 */ li r24, 0
|
||||
/* 8019A694 001975F4 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 8019A698 001975F8 39 C3 00 E4 */ addi r14, r3, 0xe4
|
||||
|
||||
@@ -127,12 +127,16 @@ MetroidBuildInfo:
|
||||
.ascii "!#$MetroidBuildInfo!#$"
|
||||
.global BuildString
|
||||
BuildString:
|
||||
.if version == 1
|
||||
.if version == 2
|
||||
.asciz "Build v1.097 12/19/2002 16:03:43"
|
||||
.asciz "AD"
|
||||
.elseif version == 1
|
||||
.asciz "Build v1.093 11/5/2002 19:50:01"
|
||||
.asciz "PAD"
|
||||
.else
|
||||
.asciz "Build v1.088 10/29/2002 2:21:25"
|
||||
.endif
|
||||
.asciz "PAD"
|
||||
.endif
|
||||
.balign 4
|
||||
|
||||
.global lbl_803CC5C4
|
||||
|
||||
+470
-43
File diff suppressed because it is too large
Load Diff
@@ -6404,7 +6404,7 @@ lbl_80290894:
|
||||
/* 802908A8 0028D808 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802908AC 0028D80C 4E 80 00 20 */ blr
|
||||
|
||||
.if version == 1
|
||||
.if version >= 1
|
||||
|
||||
.global AcceptScriptMsg__12COmegaPirateF20EScriptObjectMessage9TUniqueIdR13CStateManager
|
||||
AcceptScriptMsg__12COmegaPirateF20EScriptObjectMessage9TUniqueIdR13CStateManager:
|
||||
|
||||
@@ -3803,7 +3803,7 @@ lbl_80005CE0:
|
||||
/* 80005CF4 00002C54 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80005CF8 00002C58 4E 80 00 20 */ blr
|
||||
|
||||
.if version == 1
|
||||
.if version >= 1
|
||||
|
||||
.global CheckReset__5CMainFv
|
||||
CheckReset__5CMainFv:
|
||||
@@ -4310,7 +4310,7 @@ GetResourceIdByName__11CResFactoryCFPCc:
|
||||
/* 800060AC 0000300C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800060B0 00003010 4E 80 00 20 */ blr
|
||||
|
||||
.if version == 1
|
||||
.if version >= 1
|
||||
|
||||
.global AddPaksAndFactories__18CGameGlobalObjectsFv
|
||||
AddPaksAndFactories__18CGameGlobalObjectsFv:
|
||||
@@ -7247,8 +7247,10 @@ main:
|
||||
/* 80008518 00005478 7C 9E 23 78 */ mr r30, r4
|
||||
/* 8000851C 0000547C 93 A1 00 14 */ stw r29, 0x14(r1)
|
||||
/* 80008520 00005480 7C 7D 1B 78 */ mr r29, r3
|
||||
.if version < 2
|
||||
/* 80008524 00005484 38 60 00 01 */ li r3, 1
|
||||
/* 80008528 00005488 48 36 C8 A5 */ bl DVDSetAutoFatalMessaging
|
||||
.endif
|
||||
/* 8000852C 0000548C 48 2C E3 D1 */ bl SetErrorHandlers
|
||||
/* 80008530 00005490 3C 60 80 45 */ lis r3, sMainSpace@ha
|
||||
/* 80008534 00005494 37 E3 75 60 */ addic. r31, r3, sMainSpace@l
|
||||
|
||||
+3
-2
@@ -1,8 +1,9 @@
|
||||
#!/bin/bash -e
|
||||
VERSION="${VERSION:=0}"
|
||||
OBJDUMP="$DEVKITPPC/bin/powerpc-eabi-objdump -D -bbinary -EB -mpowerpc -M gekko"
|
||||
if [ ! -z "$1" ]; then
|
||||
OPTIONS="--start-address=$(($1)) --stop-address=$(($2))"
|
||||
fi
|
||||
$OBJDUMP $OPTIONS baserom.dol > baserom.dump
|
||||
$OBJDUMP $OPTIONS build/mp1.0/main.dol > main.dump
|
||||
$OBJDUMP $OPTIONS versions/$VERSION/baserom.dol > baserom.dump
|
||||
$OBJDUMP $OPTIONS build/mp1.$VERSION/main.dol > main.dump
|
||||
diff -u --color=always baserom.dump main.dump
|
||||
|
||||
Reference in New Issue
Block a user