mirror of
https://github.com/SMGCommunity/Petari.git
synced 2024-11-23 05:29:50 +00:00
ipc
, vi
and thp
This commit is contained in:
parent
f0c2d9f246
commit
64b582f9fc
@ -9384,7 +9384,7 @@ JSystem/J3DGraphAnimator/J3DModelData.cpp:
|
||||
JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp:
|
||||
.text start:0x80431CA0 end:0x804329D8
|
||||
.data start:0x805E9A60 end:0x805E9A68
|
||||
.bss start:0x8060FC28 end:0x80638CF8
|
||||
.bss start:0x8060FC28 end:0x80638CE0
|
||||
.sdata start:0x806B2750 end:0x806B2758
|
||||
.sdata2 start:0x806C1B30 end:0x806C1B38
|
||||
|
||||
@ -9412,7 +9412,7 @@ JSystem/J3DGraphAnimator/J3DCluster.cpp:
|
||||
|
||||
JSystem/J3DGraphAnimator/J3DJoint.cpp:
|
||||
.text start:0x804383C8 end:0x80438C9C
|
||||
.rodata start:0x8055C370 end:0x8055C4D8
|
||||
.rodata start:0x8055C370 end:0x8055C3F8
|
||||
.sbss start:0x806B72A8 end:0x806B72B8
|
||||
.sdata2 start:0x806C1B80 end:0x806C1BA0
|
||||
|
||||
@ -9542,20 +9542,22 @@ RVL_SDK/gd/GDTexture.c:
|
||||
.sdata2 start:0x806C1C98 end:0x806C1CA0
|
||||
|
||||
RVL_SDK/kpad/KPAD.c:
|
||||
.data start:0x805EA578 end:0x805EA618
|
||||
.data start:0x805EA578 end:0x805EA5D0
|
||||
.sdata start:0x806B2788 end:0x806B27F8
|
||||
.sbss start:0x806B72C8 end:0x806B72E0
|
||||
.sdata2 start:0x806C1CA0 end:0x806C1D10
|
||||
.sdata2 start:0x806C1CA0 end:0x806C1D08
|
||||
|
||||
RVL_SDK/gd/GDTransform.c:
|
||||
.text start:0x8044F838 end:0x80452EDC
|
||||
|
||||
RVL_SDK/thp/THPDec.c:
|
||||
.text start:0x80452EDC end:0x804562AC
|
||||
.bss start:0x80638CF8 end:0x80639120
|
||||
.rodata start:0x8055C3F8 end:0x8055C488
|
||||
.data start:0x805EA5D0 end:0x805EA618
|
||||
.bss start:0x80638CE0 end:0x80638E30
|
||||
.sdata start:0x806B27F8 end:0x806B2800
|
||||
.sbss start:0x806B72E0 end:0x806B7408
|
||||
.sdata2 start:0x806C1D10 end:0x806C1D30
|
||||
.sdata2 start:0x806C1D08 end:0x806C1D28
|
||||
|
||||
RVL_SDK/thp/THPAudio.c:
|
||||
.text start:0x804562AC end:0x80456740
|
||||
@ -9592,7 +9594,7 @@ RVLFaceLib/RFL_NANDAccess.c:
|
||||
extabindex start:0x80006A90 end:0x80006B44
|
||||
.text start:0x804598A4 end:0x8045B458
|
||||
.data start:0x805EA7C8 end:0x805EA820
|
||||
.sdata2 start:0x806C1D30 end:0x806C1D38
|
||||
.sdata2 start:0x806C1D28 end:0x806C1D38
|
||||
.sbss2 start:0x806C2918 end:0x806C2920
|
||||
|
||||
RVLFaceLib/RFL_Model.c:
|
||||
@ -9711,12 +9713,14 @@ RVL_SDK/nwc24/NWC24Parser.c:
|
||||
RVL_SDK/nwc24/NWC24MsgCommit.c:
|
||||
.text start:0x80467B88 end:0x80469DC0
|
||||
.data start:0x805EAE30 end:0x805EB0D8
|
||||
.bss start:0x80638E30 end:0x80638E60
|
||||
.sdata start:0x806B28A8 end:0x806B2940
|
||||
.sbss start:0x806B7458 end:0x806B7460
|
||||
|
||||
RVL_SDK/nwc24/NWC24Schedule.c:
|
||||
.text start:0x80469DC0 end:0x8046A794
|
||||
.data start:0x805EB0D8 end:0x805EB138
|
||||
.bss start:0x80638E60 end:0x80638FE0
|
||||
.sbss start:0x806B7460 end:0x806B7470
|
||||
|
||||
RVL_SDK/nwc24/NWC24DateParser.c:
|
||||
@ -10692,7 +10696,7 @@ RVL_SDK/nand/NANDCheck.c:
|
||||
RVL_SDK/nand/NANDLogging.c:
|
||||
.text start:0x804CFCA4 end:0x804D0274
|
||||
.data start:0x80600820 end:0x80600868
|
||||
.bss start:0x8066C400 end:0x806781C0
|
||||
.bss start:0x8066C400 end:0x806748A0
|
||||
.sdata start:0x806B2C10 end:0x806B2C18
|
||||
.sbss start:0x806B7A68 end:0x806B7A70
|
||||
|
||||
@ -10726,14 +10730,17 @@ RVL_SDK/ipc/ipcMain.c:
|
||||
|
||||
RVL_SDK/ipc/ipcclt.c:
|
||||
.text start:0x804D3408 end:0x804D4D78
|
||||
.bss start:0x806748A0 end:0x80674940
|
||||
.sdata start:0x806B2D48 end:0x806B2D50
|
||||
.sbss start:0x806B7AA0 end:0x806B7AB0
|
||||
|
||||
RVL_SDK/ipc/memory.c:
|
||||
.text start:0x804D4D78 end:0x804D529C
|
||||
.bss start:0x80674940 end:0x806749C0
|
||||
|
||||
RVL_SDK/ipc/ipcProfile.c:
|
||||
.text start:0x804D529C end:0x804D5460
|
||||
.bss start:0x806749C0 end:0x80674AC0
|
||||
.sbss start:0x806B7AB0 end:0x806B7AB8
|
||||
|
||||
RVL_SDK/fs/fs.c:
|
||||
@ -10750,7 +10757,7 @@ RVL_SDK/wpad/WPAD.c:
|
||||
.text start:0x804D6B84 end:0x804DE36C
|
||||
.rodata start:0x80561D38 end:0x80561D78
|
||||
.data start:0x80600B38 end:0x80600EF0
|
||||
.bss start:0x806781C0 end:0x80678238
|
||||
.bss start:0x80674AC0 end:0x80678238
|
||||
.sdata start:0x806B2D60 end:0x806B2D78
|
||||
.sbss start:0x806B7AE0 end:0x806B7B10
|
||||
.sdata2 start:0x806C2290 end:0x806C22A8
|
||||
|
@ -43446,8 +43446,8 @@ lbl_8055C3D8 = .rodata:0x8055C3D8; // type:object size:0x8 data:double
|
||||
lbl_8055C3E0 = .rodata:0x8055C3E0; // type:object size:0x8 data:double
|
||||
lbl_8055C3E8 = .rodata:0x8055C3E8; // type:object size:0x8 data:double
|
||||
lbl_8055C3F0 = .rodata:0x8055C3F0; // type:object size:0x8 data:double
|
||||
lbl_8055C3F8 = .rodata:0x8055C3F8; // type:object size:0x50
|
||||
lbl_8055C448 = .rodata:0x8055C448; // type:object size:0x40 data:double
|
||||
__THPJpegNaturalOrder = .rodata:0x8055C3F8; // type:object size:0x50
|
||||
__THPAANScaleFactor = .rodata:0x8055C448; // type:object size:0x40 data:double
|
||||
lbl_8055C488 = .rodata:0x8055C488; // type:object size:0x40 data:4byte
|
||||
lbl_8055C4C8 = .rodata:0x8055C4C8; // type:object size:0x10 data:4byte
|
||||
scParts2Arc$3514 = .rodata:0x8055C4D8; // type:object size:0x14 scope:local align:4
|
||||
@ -60221,7 +60221,7 @@ USER_DIR_LIST = .data:0x806007F0; // type:object size:0x2C scope:global align:4
|
||||
lbl_806008F8 = .data:0x806008F8; // type:object size:0x120 data:4byte
|
||||
@2459 = .data:0x80600A18; // type:object size:0x28 scope:local align:4
|
||||
ProductAreaAndStringTbl = .data:0x80600A40; // type:object size:0x46 scope:global align:4 data:byte
|
||||
lbl_80600A88 = .data:0x80600A88; // type:object size:0x18 data:byte
|
||||
ProductGameRegionAndStringTbl = .data:0x80600A88; // type:object size:0x18 data:byte
|
||||
@1118 = .data:0x80600AA0; // type:object size:0x22 scope:local align:4 data:string
|
||||
@1177 = .data:0x80600AC4; // type:object size:0x46 scope:local align:4 data:string
|
||||
@1687 = .data:0x80600B10; // type:object size:0x21 scope:local align:4 data:string
|
||||
@ -61187,9 +61187,9 @@ lbl_80630CA0 = .bss:0x80630CA0; // type:object size:0x85F
|
||||
lbl_806314FF = .bss:0x806314FF; // type:object size:0x7C1
|
||||
lbl_80631CC0 = .bss:0x80631CC0; // type:object size:0x6FE0
|
||||
lbl_80638CA0 = .bss:0x80638CA0; // type:object size:0x40 data:float
|
||||
lbl_80638CE0 = .bss:0x80638CE0; // type:object size:0x18 data:4byte
|
||||
__THPMCUBuffer = .bss:0x80638CE0; // type:object size:0x18 data:4byte
|
||||
__THPLCWork512 = .bss:0x80638CF8; // type:object size:0xC scope:global align:4 data:4byte
|
||||
lbl_80638D20 = .bss:0x80638D20; // type:object size:0x100
|
||||
__THPIDCTWorkspace = .bss:0x80638D20; // type:object size:0x100
|
||||
__THPLCWork672 = .bss:0x80638E20; // type:object size:0xC scope:global align:4 data:4byte
|
||||
lbl_80638E30 = .bss:0x80638E30; // type:object size:0x30
|
||||
lbl_80638E60 = .bss:0x80638E60; // type:object size:0x180
|
||||
@ -61335,8 +61335,8 @@ Control = .bss:0x8066C700; // type:object size:0x190 scope:local data:4byte
|
||||
ConfBuf = .bss:0x8066C8A0; // type:object size:0x4000 scope:local
|
||||
lbl_806708A0 = .bss:0x806708A0; // type:object size:0x4000
|
||||
__responses = .bss:0x806748A0; // type:object size:0x50 scope:local data:4byte
|
||||
lbl_80674900 = .bss:0x80674900; // type:object size:0x40
|
||||
lbl_80674940 = .bss:0x80674940; // type:object size:0x80 data:4byte
|
||||
__rpcBuf = .bss:0x80674900; // type:object size:0x40
|
||||
__heaps = .bss:0x80674940; // type:object size:0x80 data:4byte
|
||||
IpcFdArray = .bss:0x806749C0; // type:object size:0x80 scope:local data:4byte
|
||||
IpcReqPtrArray = .bss:0x80674A40; // type:object size:0x80 scope:local data:4byte
|
||||
lbl_80674AC0 = .bss:0x80674AC0; // type:object size:0x30
|
||||
@ -66664,18 +66664,18 @@ __THPInfo = .sbss:0x806B72E4; // type:object size:0x4 scope:global align:4 data:
|
||||
__THPWorkArea = .sbss:0x806B72E8; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
__THPOldGQR6 = .sbss:0x806B72EC; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
__THPOldGQR5 = .sbss:0x806B72F0; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_806B7300 = .sbss:0x806B7300; // type:object size:0x20 data:4byte
|
||||
lbl_806B7320 = .sbss:0x806B7320; // type:object size:0x20 data:4byte
|
||||
lbl_806B7340 = .sbss:0x806B7340; // type:object size:0x4 data:4byte
|
||||
Gq = .sbss:0x806B7300; // type:object size:0x4 data:4byte
|
||||
Gwid = .sbss:0x806B7320; // type:object size:0x4 data:4byte
|
||||
Gbase = .sbss:0x806B7340; // type:object size:0x4 data:4byte
|
||||
__THPHuffmanCodeTab = .sbss:0x806B7344; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
__THPHuffmanSizeTab = .sbss:0x806B7348; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
__THPHuffmanBits = .sbss:0x806B734C; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_806B7360 = .sbss:0x806B7360; // type:object size:0x20 data:4byte
|
||||
lbl_806B7380 = .sbss:0x806B7380; // type:object size:0x20 data:4byte
|
||||
lbl_806B73A0 = .sbss:0x806B73A0; // type:object size:0x20 data:4byte
|
||||
lbl_806B73C0 = .sbss:0x806B73C0; // type:object size:0x20 data:4byte
|
||||
lbl_806B73E0 = .sbss:0x806B73E0; // type:object size:0x20 data:4byte
|
||||
lbl_806B7400 = .sbss:0x806B7400; // type:object size:0x4 data:4byte
|
||||
Vachuff = .sbss:0x806B7360; // type:object size:0x4 data:4byte
|
||||
Uachuff = .sbss:0x806B7380; // type:object size:0x4 data:4byte
|
||||
Yachuff = .sbss:0x806B73A0; // type:object size:0x4 data:4byte
|
||||
Vdchuff = .sbss:0x806B73C0; // type:object size:0x4 data:4byte
|
||||
Udchuff = .sbss:0x806B73E0; // type:object size:0x4 data:4byte
|
||||
Ydchuff = .sbss:0x806B7400; // type:object size:0x4 data:4byte
|
||||
sRFLManager = .sbss:0x806B7408; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
sRFLLastReason = .sbss:0x806B740C; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_806B7410 = .sbss:0x806B7410; // type:object size:0x8 data:byte
|
||||
@ -67030,7 +67030,7 @@ ItemIDOffsetTblOffset = .sbss:0x806B7A80; // type:object size:0x4 scope:global a
|
||||
IsDevKit = .sbss:0x806B7A84; // type:object size:0x1 scope:local data:byte
|
||||
lbl_806B7A85 = .sbss:0x806B7A85; // type:object size:0x1 data:byte
|
||||
Initialized = .sbss:0x806B7A86; // type:object size:0x1 scope:local data:byte
|
||||
lbl_806B7A88 = .sbss:0x806B7A88; // type:object size:0x1 data:byte
|
||||
Initialized = .sbss:0x806B7A88; // type:object size:0x1 data:byte
|
||||
IPCCurrentBufferLo = .sbss:0x806B7A8C; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
IPCCurrentBufferHi = .sbss:0x806B7A90; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
IPCBufferLo = .sbss:0x806B7A94; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
|
20
configure.py
20
configure.py
@ -2415,14 +2415,14 @@ config.libs = [
|
||||
SDKLib(
|
||||
"esp",
|
||||
[
|
||||
Object(NonMatching, "RVL_SDK/esp/esp.c")
|
||||
Object(Matching, "RVL_SDK/esp/esp.c")
|
||||
]
|
||||
),
|
||||
|
||||
SDKLib(
|
||||
"euart",
|
||||
[
|
||||
Object(NonMatching, "RVL_SDK/euart/euart.c")
|
||||
Object(Matching, "RVL_SDK/euart/euart.c")
|
||||
]
|
||||
),
|
||||
|
||||
@ -2438,7 +2438,7 @@ config.libs = [
|
||||
SDKLib(
|
||||
"fs",
|
||||
[
|
||||
Object(NonMatching, "RVL_SDK/fs/fs.c")
|
||||
Object(Matching, "RVL_SDK/fs/fs.c")
|
||||
]
|
||||
),
|
||||
|
||||
@ -2479,9 +2479,9 @@ config.libs = [
|
||||
SDKLib(
|
||||
"ipc",
|
||||
[
|
||||
Object(NonMatching, "RVL_SDK/ipc/ipcMain.c"),
|
||||
Object(NonMatching, "RVL_SDK/ipc/ipcclt.c"),
|
||||
Object(NonMatching, "RVL_SDK/ipc/memory.c"),
|
||||
Object(Matching, "RVL_SDK/ipc/ipcMain.c"),
|
||||
Object(Matching, "RVL_SDK/ipc/ipcclt.c"),
|
||||
Object(Matching, "RVL_SDK/ipc/memory.c"),
|
||||
Object(NonMatching, "RVL_SDK/ipc/ipcProfile.c")
|
||||
]
|
||||
),
|
||||
@ -2618,7 +2618,7 @@ config.libs = [
|
||||
[
|
||||
Object(NonMatching, "RVL_SDK/sc/scsystem.c"),
|
||||
Object(NonMatching, "RVL_SDK/sc/scapi.c"),
|
||||
Object(NonMatching, "RVL_SDK/sc/scapi_prdinfo.c"),
|
||||
Object(Matching, "RVL_SDK/sc/scapi_prdinfo.c"),
|
||||
]
|
||||
),
|
||||
|
||||
@ -2633,8 +2633,8 @@ config.libs = [
|
||||
SDKLib(
|
||||
"thp",
|
||||
[
|
||||
Object(NonMatching, "RVL_SDK/thp/THPDec.c"),
|
||||
Object(NonMatching, "RVL_SDK/thp/THPAudio.c")
|
||||
Object(Matching, "RVL_SDK/thp/THPDec.c"),
|
||||
Object(Matching, "RVL_SDK/thp/THPAudio.c")
|
||||
]
|
||||
),
|
||||
|
||||
@ -2711,7 +2711,7 @@ config.libs = [
|
||||
"vi",
|
||||
[
|
||||
Object(NonMatching, "RVL_SDK/vi/vi.c"),
|
||||
Object(NonMatching, "RVL_SDK/vi/i2c.c"),
|
||||
Object(Matching, "RVL_SDK/vi/i2c.c"),
|
||||
Object(NonMatching, "RVL_SDK/vi/vi3in1.c")
|
||||
]
|
||||
),
|
||||
|
@ -8,6 +8,13 @@ static u32 IpcReqPtrArray[32];
|
||||
static void AddReqInfo(void *, s32);
|
||||
static void DelReqInfo(void *, s32);
|
||||
|
||||
static s32 IPCGetQueueStatus(u32 i) {
|
||||
if (i > 32) {
|
||||
return -1;
|
||||
}
|
||||
return IpcFdArray[i];
|
||||
}
|
||||
|
||||
void IPCiProfInit(void) {
|
||||
u32 i;
|
||||
|
||||
@ -57,4 +64,4 @@ static void DelReqInfo(void* ptr, s32 fd) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -166,7 +166,7 @@ err:
|
||||
return;
|
||||
}
|
||||
|
||||
void IpcAckHandler(__OSInterrupt interrupt, OSContext* context) {
|
||||
static void IpcAckHandler(__OSInterrupt interrupt, OSContext* context) {
|
||||
IPCWriteReg(1, (IPCReadReg(1) & (1 << 5 | 1 << 4)) | 1 << 1);
|
||||
ACRWriteReg(0x30, 0x40000000);
|
||||
|
||||
@ -848,4 +848,4 @@ err:
|
||||
|
||||
finish:
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
@ -14,36 +14,20 @@ static SCProductAreaAndString ProductAreaAndStringTbl[] = {
|
||||
3, "AUS",
|
||||
4, "BRA",
|
||||
5, "TWN",
|
||||
6, "ROC",
|
||||
7, "KOR",
|
||||
8, "HKG",
|
||||
9, "ASI",
|
||||
10, "LTN",
|
||||
11, "SAF",
|
||||
12, "CHN",
|
||||
5, "ROC",
|
||||
6, "KOR",
|
||||
7, "HKG",
|
||||
8, "ASI",
|
||||
9, "LTN",
|
||||
10, "SAF",
|
||||
11, "CHN",
|
||||
-1
|
||||
};
|
||||
|
||||
BOOL SCGetProductAreaString(char* buf, u32 bufSize) {
|
||||
static BOOL SCGetProductAreaString(char* buf, u32 bufSize) {
|
||||
return __SCF1("AREA", buf, bufSize);
|
||||
}
|
||||
|
||||
s8 SCGetProductArea(void) {
|
||||
char buf[4];
|
||||
SCProductAreaAndString* p = ProductAreaAndStringTbl;
|
||||
|
||||
if (SCGetProductAreaString(buf, sizeof(buf))) {
|
||||
while (p->area != -1) {
|
||||
if (strcmp(p->string, buf) == 0) {
|
||||
return p->area;
|
||||
}
|
||||
|
||||
p++;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
BOOL __SCF1(const char* keyword, char* buf, u32 bufSize) {
|
||||
BOOL result = FALSE;
|
||||
@ -104,6 +88,23 @@ BOOL __SCF1(const char* keyword, char* buf, u32 bufSize) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
s8 SCGetProductArea(void) {
|
||||
char buf[4];
|
||||
SCProductAreaAndString* p = ProductAreaAndStringTbl;
|
||||
|
||||
if (SCGetProductAreaString(buf, sizeof(buf))) {
|
||||
while (p->area != -1) {
|
||||
if (strcmp(p->string, buf) == 0) {
|
||||
return p->area;
|
||||
}
|
||||
|
||||
p++;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
s8 game;
|
||||
char string[3];
|
||||
@ -133,4 +134,4 @@ s8 SCGetProductGameRegion(void) {
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ static BOOL __VISetSDA(u32 value) {
|
||||
}
|
||||
|
||||
static u32 __VIGetSDA(void) {
|
||||
u32 reg = busRd32(0xCD8000C0);
|
||||
u32 reg = busRd32(0xCD8000C8);
|
||||
return (u32)((reg >> 15) & 1);
|
||||
}
|
||||
|
||||
@ -237,4 +237,4 @@ s32 __VISendI2CData(u8 slaveAddr, u8 *pData, s32 nBytes) {
|
||||
|
||||
OSRestoreInterrupts(enabled);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user