Talk:LV2 Functions and Syscalls

From PS3 Developer wiki
Revision as of 19:04, 17 September 2011 by Euss (talk | contribs) (Created page with "temp fix workarea = Functions = === string.h === {| class="wikitable" |- !Function !Notes !Offset in 3.55 !Offset in 3.41 !Offset in 3.15 !Offset in 3.10 !Offset in 3.01 !Offs...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

temp fix workarea

Functions

string.h

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

Function Notes 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

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

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