Editing Talk:LV2 Functions and Syscalls
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
temp fix workarea | |||
= Functions = | |||
=== | === string.h === | ||
{| class="wikitable" | |||
{| class="wikitable | |||
|- | |- | ||
!Function | |||
!Notes | |||
!Offset in 3.55 | |||
!Offset in 3.41 | |||
!Offset in 3.15 | |||
!Offset in 3.10 | |||
!Offset in 3.01 | |||
!Offset in 2.76 | |||
|- | |- | ||
| | |char *strcpy(char *dest, const char *src) | ||
| | | | ||
|0x4E684 | |||
|0x4D2F0 | |||
|0x4CDAC | |||
|0X4CDA8 | |||
|0x4AAC4 | |||
|0x469B8 | |||
|- | |||
|int strlen(char *str) | |||
| | |||
|0x4E6AC | |||
|0x4D318 | |||
|0X4CDD4 | |||
|0X4CDD0 | |||
|0x4AAEC | |||
|0x469E0 | |||
|- | |- | ||
| | |char *strcat(char *destination, const char *source) | ||
| | | | ||
|0x4E5B4 | |||
|0x4D220 | |||
|0x4CCDC | |||
| | |||
| | |||
| | |||
|- | |||
|char *strchr(const char* str, char chr) | |||
| | |||
|0x4E5EC | |||
|0x4D258 | |||
|0x4CD14 | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | |char *strrchr(const char* str, char chr) | ||
| | | | ||
| | |||
| | |||
|0x4CEE4 | |||
| | |||
| | |||
| | |||
|- | |||
|int strcmp(const char *s1, const char *s2) | |||
| | |||
|0x4E630 | |||
|0x4D29C | |||
|0x4CD58 | |||
| | |||
| | |||
| | |||
|- | |||
|int strncmp(const char *s1, const char *s2, size_t n) | |||
| | |||
|0x4E6D8 | |||
|0x4D344 | |||
|0X4CE00 | |||
|0X4CDFC | |||
|0x4AB18 | |||
|0x46A0C | |||
|- | |- | ||
| | |char *strncpy(char *destination, const char *source, size_t num) | ||
| | | | ||
|0x4E74C | |||
|0x4D3B8 | |||
|0x4CE74 | |||
| | |||
| | |||
| | |||
|- | |||
|int memcmp(void *v1, void *v2, size_t n) | |||
| | |||
|0x4D7E8 | |||
|0x4C454 | |||
|0x4BF10 | |||
| | |||
| | |||
| | |||
|- | |||
|void *memchr(void *s, int c, size_t n) | |||
| | |||
| | |||
| | |||
|0x4BEC0 | |||
| | |||
| | |||
| | |||
|- | |||
|void *memcpy(void *dest, const void *src, size_t n) | |||
| | |||
|0x7C3A4 | |||
|0x7C01C | |||
|0X7BE9C | |||
|0X7BE98 | |||
|0x77E84 | |||
|0x7395C | |||
|- | |||
|void *memset(void *s, int c, size_t n) | |||
| | |||
|0x4E4D8 | |||
|0x4D144 | |||
|0X4CC00 | |||
|0X4CBFC | |||
|0x4A95C | |||
|0x46850 | |||
|- | |- | ||
|} | |} | ||
=== | === stdio.h === | ||
{| class="wikitable" | |||
!Function | |||
!Notes | |||
{| class="wikitable | !Offset in 3.55 | ||
!Offset in 3.41 | |||
! | !Offset in 3.15 | ||
! | |||
! | |||
! | |||
|- | |- | ||
| | |int snprintf(char *str, size_t size, char *format, ...) | ||
| | | | ||
|0x4F86C | |||
|0x4E4D8 | |||
|0x4DF94 | |||
|- | |- | ||
| | |int sprintf(char *str, char *format, ...) | ||
| | | | ||
|0x4F900 | |||
|0x4E56C | |||
|0x4E028 | |||
|- | |- | ||
| | |int printf(char *format, ...) | ||
| | |This prints to the serial debug console. | ||
| | |0x29285C | ||
| | |0x28A654 | ||
|0x28A11C | |||
| | |||
|- | |- | ||
|} | |} | ||
=== | === lv2 === | ||
{| class="wikitable" | |||
{| class="wikitable | |||
|- | |- | ||
!Function | |||
!Notes | |||
!Offset in 3.41 | |||
!Offset in 3.15 | |||
!Offset in 3.10 | |||
!Offset in 3.01 | |||
!Offset in 2.76 | |||
|- | |- | ||
| | |void* alloc(size_t size, int unk) | ||
| | |unk is possibly pool? PSGroove uses 0x27. | ||
|0x62088 | |||
|0x61CF0 | |||
|0x61CEC | |||
|0x5DF4C | |||
|0x59D54 | |||
|- | |- | ||
| | |void dealloc(void* ptr, int unk) | ||
| | |unk is possibly pool? Should be the same value of unk given to alloc. | ||
|0x624C8 | |||
|0x62138 | |||
|0x62134 | |||
|0x5E38C | |||
|0x5A194 | |||
|- | |- | ||
| | |void process_utils::create_initial_system_process(). | ||
|Called to start the first userspace process, which is normally "sys_init_osd.self" but it can also launch recovery mode or update mode. | |||
|0x287D50 | |||
|0x287858 | |||
| | | | ||
| | | | ||
| | | | ||
|- | |||
|void Panic(int unk) | |||
|This function does not return. | |||
(It seems that the offset point to a location that will cause panic after, not the real panic function, use with caution) | |||
|0x288568 | |||
| | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | |USBGetDeviceDescriptor | ||
|USB function | |||
|0xd2998 | |||
|0xd3474 | |||
| | |||
| | |||
|0xCCD2C | |||
|- | |- | ||
| | |USBOpenEndpoint | ||
| | | | ||
| | |0xd29c4 | ||
|0xd34ac | |||
| | |||
| | |||
|0xCCD58 | |||
|- | |||
|USBControlTransfer | |||
| | |||
|0xd292c | |||
|0xd3408 | |||
| | |||
| | |||
|0xCCCC0 | |||
|- | |||
|USBRegisterDriver | |||
| | |||
|0xd22d8 | |||
|0xd2978 | |||
| | |||
| | |||
|0xCC6A0 | |||
|- | |||
|} | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|} | |||
= | === Lv2 System Table Offset === | ||
{| class="wikitable" | |||
{| class="wikitable | !FW version | ||
!Offset | |||
|- | |- | ||
| | |3.55 | ||
| | |0x346570 | ||
|- | |- | ||
| | |3.55 dex | ||
| | |0x361578 | ||
|- | |- | ||
| | |3.41 | ||
| | |0x2EB128 | ||
|- | |- | ||
| | |3.40 | ||
| | |0x2EB128 | ||
|- | |- | ||
| | |3.30 | ||
| | |0x2EA728 | ||
|- | |- | ||
| | |3.21 | ||
| | |0x2EA8A0 | ||
|- | |- | ||
| | |3.15 | ||
| | |0x2EA820 | ||
|- | |- | ||
| | |3.10 | ||
| | |0x2EA820 | ||
|- | |- | ||
| | |3.01 | ||
| | |0x2CFB40 | ||
|- | |- | ||
| | |2.76 | ||
| | |0x2C4318 | ||
|- | |- | ||
|} | |} |