Skip to content

Commit 19fb126

Browse files
authored
Merge pull request #88 from RevoSucks/new_splat
rebase repo to use C GLOBAL_ASM files and update splat to latest.
2 parents c6266df + 76859af commit 19fb126

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+2684
-81
lines changed

requirements.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ PyYAML
33
pylibyaml
44
pypng
55
colorama
6-
spimdisasm>=1.6.3
6+
spimdisasm>=1.27.0
77
rabbitizer>=1.2.0
88
pygfxd
99
tqdm
1010
intervaltree
1111
n64img
12+
crunch64

splat.yaml

+81-76
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
name: Pokemon Stadium (North America)
22
basename: pokestadium
33
options:
4-
find-file-boundaries: True
54
compiler: IDO
65
symbol_addrs_path: tools/symbol_addrs.txt
76
target_path: baserom.z64
87
basename: pokestadium
98
base_path: .
109
ld_script_path: pokestadium.ld
10+
platform: n64
11+
ld_legacy_generation: true
1112
segments:
1213
- name: header
1314
type: header
@@ -39,13 +40,13 @@ segments:
3940
- [0x2EC0, c, memory_main] # handles the main global pool
4041
- [0x3640, c, memory] # memory_pool
4142
- [0x3A80, c, util]
42-
- [0x3FB0, asm] # PRES-JPEG decoder
43-
- [0x5580, asm] # there's a split here according to PAL
43+
- [0x3FB0, c] # PRES-JPEG decoder
44+
- [0x5580, c] # there's a split here according to PAL
4445
- [0x60A0, c, reset] # soft reset effect
4546
- [0x6430, c, controller] # controller code
4647
- [0x6A40, c]
47-
- [0x6BC0, asm] #
48-
- [0x75F0, asm] # stage loader
48+
- [0x6BC0, c] #
49+
- [0x75F0, c] # stage loader
4950
- [0x8EC0, c, crash_screen] # crash handler
5051
- [0x9D20, c, profiler]
5152
- [0xAF00, c, math_util]
@@ -56,77 +57,77 @@ segments:
5657
- [0xC3F0, hasm, yay0] # Yay0 decoder
5758
- [0xC4B0, bin, libleo_bootdisk] # These are libleo's bootdisk and bootstrap files, but
5859
- [0xC910, bin, libleo_bootstrap] # have issues being disassembled, so are bins for now.
59-
- [0xC970, asm]
60-
- [0xCE80, asm] #
61-
- [0xD470, asm] #
60+
- [0xC970, c]
61+
- [0xCE80, c] #
62+
- [0xD470, c] #
6263
- [0xDDC0, c]
6364
- [0xE1C0, c]
64-
- [0xE570, asm] #
65-
- [0xE890, asm] #
66-
- [0x11BA0, asm] #
67-
- [0x12D80, asm] #
68-
- [0x17300, asm] #
69-
- [0x18140, asm] # dp model animations
70-
- [0x18480, asm] # dp model animations
71-
- [0x19840, asm] # alternative pkm textures
72-
- [0x1AB70, asm] # vs screen code
73-
- [0x1C720, asm] #
74-
- [0x1CF30, asm] # dp list code
75-
- [0x20330, asm] # some cache cleaner
76-
- [0x20470, asm] # dp list for UI and icons
77-
- [0x225A0, asm] #
78-
- [0x22630, asm] # registered pkm stats
79-
- [0x26820, asm] # save data code
80-
- [0x29BA0, asm] # scenary code
81-
- [0x2C1C0, asm] # scenary cache cleaner
82-
- [0x2D340, asm] # pkm lab pc code
83-
- [0x2E110, asm] # stack cleaner
84-
- [0x2E460, asm] # pkm lab pokedex code
85-
- [0x2FEA0, asm] # minigames code
86-
- [0x30640, asm] # gallery code
87-
- [0x32D10, asm]
88-
- [0x334D0, asm]
89-
- [0x33E30, asm]
90-
- [0x33FE0, asm]
91-
- [0x37370, asm]
92-
- [0x373A0, asm] # battle code
93-
- [0x38BB0, asm] #
94-
- [0x3D140, asm] # music code
65+
- [0xE570, c] #
66+
- [0xE890, c] #
67+
- [0x11BA0, c] #
68+
- [0x12D80, c] #
69+
- [0x17300, c] #
70+
- [0x18140, c] # dp model animations
71+
- [0x18480, c] # dp model animations
72+
- [0x19840, c] # alternative pkm textures
73+
- [0x1AB70, c] # vs screen code
74+
- [0x1C720, c] #
75+
- [0x1CF30, c] # dp list code
76+
- [0x20330, c] # some cache cleaner
77+
- [0x20470, c] # dp list for UI and icons
78+
- [0x225A0, c] #
79+
- [0x22630, c] # registered pkm stats
80+
- [0x26820, c] # save data code
81+
- [0x29BA0, c] # scenary code
82+
- [0x2C1C0, c] # scenary cache cleaner
83+
- [0x2D340, c] # pkm lab pc code
84+
- [0x2E110, c] # stack cleaner
85+
- [0x2E460, c] # pkm lab pokedex code
86+
- [0x2FEA0, c] # minigames code
87+
- [0x30640, c] # gallery code
88+
- [0x32D10, c]
89+
- [0x334D0, c]
90+
- [0x33E30, c]
91+
- [0x33FE0, c]
92+
- [0x37370, c]
93+
- [0x373A0, c] # battle code
94+
- [0x38BB0, c] #
95+
- [0x3D140, c] # music code
9596
- [0x43520, c] #
9697
- [0x435B0, c] #
97-
- [0x435D0, asm] # pkm lab cries code
98-
- [0x45720, asm] # music code
99-
- [0x46680, asm] # speech code
100-
- [0x47B60, asm] # sound code
101-
- [0x485C0, asm] # moves code
102-
- [0x48C60, asm] # move effects code
103-
- [0x490A0, asm] # audio functions to 0x50C00
98+
- [0x435D0, c] # pkm lab cries code
99+
- [0x45720, c] # music code
100+
- [0x46680, c] # speech code
101+
- [0x47B60, c] # sound code
102+
- [0x485C0, c] # moves code
103+
- [0x48C60, c] # move effects code
104+
- [0x490A0, c] # audio functions to 0x50C00
104105
- [0x49190, bin]
105-
- [0x49790, asm]
106-
- [0x49BA0, asm]
107-
- [0x49DC0, asm]
108-
- [0x4A360, asm]
109-
- [0x4A3E0, asm]
110-
- [0x4B940, asm]
111-
- [0x4BA90, asm]
112-
- [0x4BDC0, asm]
113-
- [0x4CBC0, asm]
114-
- [0x4F410, asm]
106+
- [0x49790, c]
107+
- [0x49BA0, c]
108+
- [0x49DC0, c]
109+
- [0x4A360, c]
110+
- [0x4A3E0, c]
111+
- [0x4B940, c]
112+
- [0x4BA90, c]
113+
- [0x4BDC0, c]
114+
- [0x4CBC0, c]
115+
- [0x4F410, c]
115116
- [0x4F7F0, c]
116-
- [0x4F870, asm]
117-
- [0x4FDB0, asm]
118-
- [0x4FE60, asm]
119-
- [0x4FF50, asm]
120-
- [0x50120, asm]
121-
- [0x50860, asm]
122-
- [0x50990, asm]
123-
- [0x50A00, asm]
124-
- [0x50C20, asm]
125-
- [0x50CC0, asm]
126-
- [0x517A0, asm] # yay0 audio decoder
127-
- [0x51850, asm]
128-
- [0x518A0, asm]
129-
- [0x51B20, asm]
117+
- [0x4F870, c]
118+
- [0x4FDB0, c]
119+
- [0x4FE60, c]
120+
- [0x4FF50, c]
121+
- [0x50120, c]
122+
- [0x50860, c]
123+
- [0x50990, c]
124+
- [0x50A00, c]
125+
- [0x50C20, c]
126+
- [0x50CC0, c]
127+
- [0x517A0, c] # yay0 audio decoder
128+
- [0x51850, c]
129+
- [0x518A0, c]
130+
- [0x51B20, c]
130131
- [0x51BC0, c, libleo/readwrite]
131132
- [0x51C50, c, libleo/leofunc]
132133
- [0x520C0, c, libleo/leoint]
@@ -355,9 +356,9 @@ segments:
355356

356357
# Start of .rodata
357358
- [0x7BAC0, .rodata, rsp]
358-
- [0x7BB10, rodata, rom_rodata_7BB10]
359+
- [0x7BB10, rodata]
359360
- [0x7BB20, .rodata, util]
360-
- [0x7BB50, rodata, rom_rodata_7BB50]
361+
- [0x7BB50, rodata]
361362
- [0x7BBE0, .rodata, crash_screen]
362363
- [0x7BFA0, .rodata, profiler]
363364
- [0x7BFC0, .rodata, gb_tower]
@@ -419,14 +420,18 @@ segments:
419420
# .bss
420421
- {vram: 0x8007F190, type: .bss, name: main}
421422
- {vram: 0x80081900, type: .bss, name: rsp}
422-
- {vram: 0x80083CA0, type: .bss, name: unk_bss}
423+
- {vram: 0x80083CA0, type: bss, name: unk_bss}
423424
- {vram: 0x800A6070, type: .bss, name: memory_main}
424-
- {vram: 0x800A60B0, type: .bss, name: unk_bss_4}
425+
- {vram: 0x800A60B0, type: bss, name: unk_bss_4}
425426
- {vram: 0x800A7320, type: .bss, name: controller}
426-
- {vram: 0x800A7420, type: .bss, name: unk_bss_3}
427+
- {vram: 0x800A7420, type: bss, name: unk_bss_3}
427428
- {vram: 0x800A74C0, type: .bss, name: crash_screen}
428429
- {vram: 0x800A7EA0, type: .bss, name: profiler}
429-
- {vram: 0x800A8100, type: .bss, name: unk_bss_2}
430+
- {vram: 0x800A8100, type: bss, name: unk_bss_2}
431+
- {vram: 0x80100740, type: .bss, name: libleo/driverominit}
432+
- {vram: 0x801007C0, type: bss, name: unk_bss_5}
433+
- {vram: 0x80101090, type: .bss, name: libleo/leomseq_tbl}
434+
- {vram: 0x801010D0, type: bss, name: unk_bss_6}
430435
- {vram: 0x80103880, type: .bss, name: libultra/gu/rotate}
431436
- {vram: 0x80103890, type: .bss, name: libultra/os/timerintr}
432437
- {vram: 0x801038E4, type: .bss, name: libultra/io/cartrominit}

src/11BA0.c

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
#include "common.h"
2+
3+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80010FA0.s")
4+
5+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80010FDC.s")
6+
7+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_8001103C.s")
8+
9+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011088.s")
10+
11+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_800110E0.s")
12+
13+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_800111A4.s")
14+
15+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_800111FC.s")
16+
17+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011258.s")
18+
19+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_800112BC.s")
20+
21+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011320.s")
22+
23+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_800113AC.s")
24+
25+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_800113F8.s")
26+
27+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011484.s")
28+
29+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011504.s")
30+
31+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_8001156C.s")
32+
33+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_800115F0.s")
34+
35+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011660.s")
36+
37+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_800116C0.s")
38+
39+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011720.s")
40+
41+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_800117A8.s")
42+
43+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011814.s")
44+
45+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_800118D0.s")
46+
47+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011938.s")
48+
49+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011A3C.s")
50+
51+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011ABC.s")
52+
53+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011B10.s")
54+
55+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011B94.s")
56+
57+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011BF4.s")
58+
59+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011C98.s")
60+
61+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011CF0.s")
62+
63+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011DAC.s")
64+
65+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011E68.s")
66+
67+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011EB4.s")
68+
69+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80011FC8.s")
70+
71+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80012044.s")
72+
73+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80012094.s")
74+
75+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_800120DC.s")
76+
77+
#pragma GLOBAL_ASM("asm/nonmatchings/11BA0/func_80012120.s")

0 commit comments

Comments
 (0)