Skip to content

Commit 89f5ab5

Browse files
authored
Merge pull request #102 from Kelebek1/1C720
1C720
2 parents 9810afa + d505018 commit 89f5ab5

24 files changed

+8749
-640
lines changed

include/functions.h

+20-20
Original file line numberDiff line numberDiff line change
@@ -3,45 +3,45 @@
33

44
#include "ultra64.h"
55

6-
extern void func_80057FD0(void *, int);
7-
extern s32 func_8005A990(OSPiHandle *);
6+
void func_80057FD0(void *, int);
7+
s32 func_8005A990(OSPiHandle *);
88

99
// bcopy.s
10-
extern void _bcopy(void *, void *, u32);
10+
void _bcopy(void *, void *, u32);
1111

1212
// 3FB0.s
13-
extern void func_80003B30(void *, s32, s32, s32); // types unknown
14-
extern void func_80004200();
13+
void func_80003B30(void *, s32, s32, s32); // types unknown
14+
void func_80004200();
1515

1616
// 5580.s
17-
extern void func_80004CC0(OSThread *, s32, s32);
18-
extern void func_80004CF4(void *); // types unknown
19-
extern void func_80004D20(void *); // types unknown
20-
extern void func_800052B4(void);
21-
extern void func_800053B4(void *, s32); // types unknown
22-
extern void func_80005328(void *); // types unknown
17+
void func_80004CC0(OSThread *, s32, s32);
18+
void func_80004CF4(void *); // types unknown
19+
void func_80004D20(void *); // types unknown
20+
void func_800052B4(void);
21+
void func_800053B4(void *, s32); // types unknown
22+
void func_80005328(void *); // types unknown
2323

2424
// C030.s
25-
extern s32 func_8000B4C4(void);
25+
s32 func_8000B4C4(void);
2626

2727
// Yay0.s
28-
extern void Yay0_Decompress(void* src, void* dst);
28+
void Yay0_Decompress(void* src, void* dst);
2929

3030
// D470.s
31-
extern void func_8000C8F8(void);
32-
extern void func_8000CEE4(s32, s32, void *, OSMesgQueue *);
33-
extern void func_8000D0B4(s32, s32, s32, void *, s32, OSMesgQueue *);
31+
void func_8000C8F8(void);
32+
void func_8000CEE4(s32, s32, void *, OSMesgQueue *);
33+
void func_8000D0B4(s32, s32, s32, void *, s32, OSMesgQueue *);
3434

3535
// DDC0.s
36-
extern void func_8000D564(void);
36+
void func_8000D564(void);
3737

3838
// E570.s
39-
extern void func_8000D970(OSPfs *);
39+
void func_8000D970(OSPfs *);
4040

4141
// 29BA0.s
42-
extern void func_8002B274(s32, s32);
42+
void func_8002B274(s32, s32);
4343

4444
// exception_set.s
45-
extern void set_watch_lohi(s32);
45+
void set_watch_lohi(s32);
4646

4747
#endif

include/global.h

+46-5
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,62 @@ typedef unsigned int uintptr_t;
1414
#include "gfx.h"
1515
#include "color.h"
1616

17+
typedef struct unk_D_86002F58_004_00C_028 {
18+
/* 0x00 */ char pad0[4];
19+
/* 0x04 */ u8 unk_04;
20+
/* 0x05 */ u8 unk_05;
21+
/* 0x06 */ char pad6[6];
22+
/* 0x0C */ s32* unk_0C;
23+
/* 0x10 */ s32* unk_10;
24+
} unk_D_86002F58_004_00C_028; // size >= 0x14
25+
26+
typedef unk_D_86002F58_004_00C_028* (*unk_D_86002F58_004_00C_028_func)(s32, s32);
27+
28+
typedef struct unk_D_86002F58_004_00C {
29+
/* 0x00 */ char unk_00[0x28];
30+
/* 0x28 */ unk_D_86002F58_004_00C_028_func unk_28;
31+
} unk_D_86002F58_004_00C; // size >= 0x2C
32+
33+
typedef struct unk_D_86002F58_004_010 {
34+
/* 0x00 */ u8 unk_00;
35+
/* 0x01 */ char unk_01[0x23];
36+
/* 0x24 */ s32 unk_24;
37+
/* 0x28 */ s32 unk_28;
38+
} unk_D_86002F58_004_010; // size >= 0x2C
39+
1740
typedef struct unk_D_86002F58_004 {
18-
/* 0x000 */ char pad0[0xC];
19-
/* 0x00C */ s32 unk_00C;
20-
/* 0x010 */ s8 unk_010[0x10];
41+
/* 0x000 */ char pad0[1];
42+
/* 0x001 */ u8 unk_001;
43+
/* 0x002 */ u8 unk_002;
44+
/* 0x003 */ char pad3[9];
45+
/* 0x00C */ unk_D_86002F58_004_00C* unk_00C;
46+
/* 0x010 */ unk_D_86002F58_004_010* unk_010;
47+
/* 0x014 */ char unk014[0x4];
48+
/* 0x018 */ s16 unk_018;
49+
/* 0x01A */ s16 unk_01A;
50+
/* 0x01C */ u8 unk_01C;
51+
/* 0x01D */ u8 unk_01D;
52+
/* 0x01E */ char unk01E[0x2];
2153
/* 0x020 */ s16 unk_020;
2254
/* 0x024 */ f32 unk_024;
2355
/* 0x028 */ f32 unk_028;
2456
/* 0x02C */ f32 unk_02C;
2557
/* 0x030 */ f32 unk_030;
2658
/* 0x034 */ f32 unk_034;
2759
/* 0x038 */ f32 unk_038;
28-
/* 0x03C */ char pad3C[0xC];
60+
/* 0x03C */ s32 unk_03C;
61+
/* 0x040 */ s16 unk_040;
62+
/* 0x044 */ s32 unk_044;
2963
/* 0x048 */ s32 unk_048;
3064
/* 0x04C */ u32 unk_04C;
31-
/* 0x050 */ char pad50[0x56];
65+
/* 0x050 */ char pad50[4];
66+
/* 0x054 */ s16 unk_054;
67+
/* 0x058 */ s32 unk_058;
68+
/* 0x05C */ char pad5C[4];
69+
/* 0x060 */ s32 unk_060;
70+
/* 0x064 */ char pad64[0x3C];
71+
/* 0x0A0 */ s32 unk_0A0;
72+
/* 0x0A4 */ char padA4[2];
3273
/* 0x0A6 */ s8 unk_0A6;
3374
/* 0x0A7 */ char padA7[5];
3475
/* 0x0AC */ f32 unk_0AC;

include/libleo/internal.h

+43-43
Original file line numberDiff line numberDiff line change
@@ -157,49 +157,49 @@ extern const s32 LEORAM_BYTE[7];
157157
#define ASIC_HARD_RESET_CODE 0xaaaa0000
158158

159159
// Functions
160-
extern u8 leoAnalize_asic_status(void);
161-
extern u8 leoChk_asic_ready(u32 asic_cmd);
162-
extern u8 leoChk_done_status(u32 asic_cmd);
163-
extern u8 leoSend_asic_cmd_i(u32 asic_cmd, u32 asic_data);
164-
extern u8 leoWait_mecha_cmd_done(u32 asic_cmd);
165-
extern u8 leoSend_asic_cmd_w(u32 asic_cmd, u32 asic_data);
166-
extern u8 leoSend_asic_cmd_w_nochkDiskChange(u32 asic_cmd, u32 asic_data);
167-
extern u8 leoDetect_index_w(void);
168-
extern u8 leoRecal_i(void);
169-
extern u8 leoRecal_w(void);
170-
extern u8 leoSeek_i(u16 rwmode);
171-
extern u8 leoSeek_w(void);
172-
extern s32 leoRecv_event_mesg(s32 control);
173-
extern u32 leoChk_err_retry(u32 sense);
174-
extern u8 leoChk_cur_drvmode(void);
175-
extern void leoDrive_reset(void);
176-
extern u32 leoChkUnit_atten(void);
177-
extern u32 leoRetUnit_atten(void);
178-
extern void leoClrUA_RESET(void);
179-
extern void leoClrUA_MEDIUM_CHANGED(void);
180-
extern void leoSetUA_MEDIUM_CHANGED(void);
181-
extern void leoInitUnit_atten(void);
182-
extern void leoClr_queue(void);
183-
extern void leointerrupt(void*);
184-
extern void leomain(void*);
185-
extern void leoRead_common(u32 offset);
186-
extern void leoClrUA_MEDIUM_CHANGED(void);
187-
extern void leoSetUA_MEDIUM_CHANGED(void);
188-
extern s32 leoC2_Correction(void);
189-
extern void leoC2_single_ecc(void);
190-
extern void leoC2_double_ecc(void);
191-
extern void leoC2_3_ecc(void);
192-
extern void leoC2_4_ecc(void);
193-
extern s32 leoAlpha_mult(s32 i, s32 k);
194-
extern s32 leoAlpha_div(s32 i, s32 k);
195-
extern s32 leoVerifyRTC(u8 yearhi, u8 yearlo);
196-
extern u8 __locReadTimer(__LOCTime* time);
197-
extern u8 __locSetTimer(__LOCTime* time);
198-
extern s32 __leoSetReset(void);
199-
extern s32 __osLeoInterrupt(void);
200-
extern u16 leoLba_to_vzone(u32 lba);
201-
extern u16 leoLba_to_phys(u32 lba);
202-
extern void leoSet_mseq(u16 rwmode);
160+
u8 leoAnalize_asic_status(void);
161+
u8 leoChk_asic_ready(u32 asic_cmd);
162+
u8 leoChk_done_status(u32 asic_cmd);
163+
u8 leoSend_asic_cmd_i(u32 asic_cmd, u32 asic_data);
164+
u8 leoWait_mecha_cmd_done(u32 asic_cmd);
165+
u8 leoSend_asic_cmd_w(u32 asic_cmd, u32 asic_data);
166+
u8 leoSend_asic_cmd_w_nochkDiskChange(u32 asic_cmd, u32 asic_data);
167+
u8 leoDetect_index_w(void);
168+
u8 leoRecal_i(void);
169+
u8 leoRecal_w(void);
170+
u8 leoSeek_i(u16 rwmode);
171+
u8 leoSeek_w(void);
172+
s32 leoRecv_event_mesg(s32 control);
173+
u32 leoChk_err_retry(u32 sense);
174+
u8 leoChk_cur_drvmode(void);
175+
void leoDrive_reset(void);
176+
u32 leoChkUnit_atten(void);
177+
u32 leoRetUnit_atten(void);
178+
void leoClrUA_RESET(void);
179+
void leoClrUA_MEDIUM_CHANGED(void);
180+
void leoSetUA_MEDIUM_CHANGED(void);
181+
void leoInitUnit_atten(void);
182+
void leoClr_queue(void);
183+
void leointerrupt(void*);
184+
void leomain(void*);
185+
void leoRead_common(u32 offset);
186+
void leoClrUA_MEDIUM_CHANGED(void);
187+
void leoSetUA_MEDIUM_CHANGED(void);
188+
s32 leoC2_Correction(void);
189+
void leoC2_single_ecc(void);
190+
void leoC2_double_ecc(void);
191+
void leoC2_3_ecc(void);
192+
void leoC2_4_ecc(void);
193+
s32 leoAlpha_mult(s32 i, s32 k);
194+
s32 leoAlpha_div(s32 i, s32 k);
195+
s32 leoVerifyRTC(u8 yearhi, u8 yearlo);
196+
u8 __locReadTimer(__LOCTime* time);
197+
u8 __locSetTimer(__LOCTime* time);
198+
s32 __leoSetReset(void);
199+
s32 __osLeoInterrupt(void);
200+
u16 leoLba_to_vzone(u32 lba);
201+
u16 leoLba_to_phys(u32 lba);
202+
void leoSet_mseq(u16 rwmode);
203203

204204
extern s32 __leoActive;
205205
extern s32 __leoResetCalled;

include/variables.h

+17-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef _VARIABLES_H_
22
#define _VARIABLES_H_
33

4-
#include "ultra64.h"
4+
#include "global.h"
55

66
// thread pris
77
#define THREAD_PRI_IDLE_INIT 100
@@ -27,7 +27,6 @@ extern u32 D_1000000;
2727
extern u32 D_3000000;
2828
extern u32 D_5000000;
2929
extern u32 D_6000000;
30-
extern u32 D_800AC840;
3130
extern u32 D_8D000000;
3231

3332
typedef struct unk_D_80068BA0 {
@@ -87,4 +86,20 @@ typedef struct unk_D_800A7440 {
8786
} unk_D_800A7440; // size >= 0x8
8887
extern unk_D_800A7440 D_800A7440;
8988

89+
extern struct unk_D_86002F58_004 D_800AC840;
90+
extern struct unk_D_86002F58_004 D_800AC858;
91+
extern struct unk_D_86002F58_004* D_8006F09C;
92+
93+
extern s32 D_8006F050[];
94+
extern s16 D_8006F05C[];
95+
extern f32 D_8006F064[];
96+
97+
typedef struct unk_D_8006FF00 {
98+
/* 0x00 */ char unk_00[0x10];
99+
/* 0x10 */ s16 unk_10;
100+
/* 0x12 */ s16 unk_12;
101+
/* 0x14 */ char unk_14[0x8];
102+
} unk_D_8006FF00; // size = 0x1C
103+
extern unk_D_8006FF00 D_8006FF00[];
104+
90105
#endif

0 commit comments

Comments
 (0)