Skip to content

Commit

Permalink
ipc, vi and thp
Browse files Browse the repository at this point in the history
  • Loading branch information
shibbo committed Oct 30, 2024
1 parent f0c2d9f commit 64b582f
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 66 deletions.
25 changes: 16 additions & 9 deletions config/RMGK01/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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:
Expand All @@ -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
Expand Down
34 changes: 17 additions & 17 deletions config/RMGK01/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
20 changes: 10 additions & 10 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -2415,14 +2415,14 @@ def JSysLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]:
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")
]
),

Expand All @@ -2438,7 +2438,7 @@ def JSysLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]:
SDKLib(
"fs",
[
Object(NonMatching, "RVL_SDK/fs/fs.c")
Object(Matching, "RVL_SDK/fs/fs.c")
]
),

Expand Down Expand Up @@ -2479,9 +2479,9 @@ def JSysLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]:
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")
]
),
Expand Down Expand Up @@ -2618,7 +2618,7 @@ def JSysLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]:
[
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"),
]
),

Expand All @@ -2633,8 +2633,8 @@ def JSysLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]:
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")
]
),

Expand Down Expand Up @@ -2711,7 +2711,7 @@ def JSysLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]:
"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")
]
),
Expand Down
9 changes: 8 additions & 1 deletion src/RVL_SDK/ipc/ipcProfile.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -57,4 +64,4 @@ static void DelReqInfo(void* ptr, s32 fd) {
break;
}
}
}
}
4 changes: 2 additions & 2 deletions src/RVL_SDK/ipc/ipcclt.c
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ void IpcReplyHandler(__OSInterrupt interrupt, OSContext* context) {
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);

Expand Down Expand Up @@ -848,4 +848,4 @@ IOSError IOS_IoctlvReboot(IOSFd fd, s32 cmd, u32 readCount, u32 writeCount, IOSI

finish:
return ret;
}
}
51 changes: 26 additions & 25 deletions src/RVL_SDK/sc/scapi_prdinfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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];
Expand Down Expand Up @@ -133,4 +134,4 @@ s8 SCGetProductGameRegion(void) {
}

return -1;
}
}
4 changes: 2 additions & 2 deletions src/RVL_SDK/vi/i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down Expand Up @@ -237,4 +237,4 @@ s32 __VISendI2CData(u8 slaveAddr, u8 *pData, s32 nBytes) {

OSRestoreInterrupts(enabled);
return 1;
}
}

0 comments on commit 64b582f

Please sign in to comment.