mirror of
https://github.com/wiiu-env/libiosuhax.git
synced 2024-11-27 03:24:16 +01:00
Add support for reading the seeprom.
This commit is contained in:
parent
fbfbd3ef7c
commit
9faa95af56
2
Makefile
2
Makefile
@ -11,7 +11,7 @@ TOPDIR ?= $(CURDIR)
|
||||
include $(DEVKITPRO)/wut/share/wut_rules
|
||||
|
||||
export VER_MAJOR := 1
|
||||
export VER_MINOR := 0
|
||||
export VER_MINOR := 1
|
||||
export VER_PATCH := 0
|
||||
|
||||
VERSION := $(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)
|
||||
|
@ -72,6 +72,8 @@ int IOSUHAX_kern_read32(uint32_t address, uint32_t *out_buffer, uint32_t count);
|
||||
|
||||
int IOSUHAX_read_otp(uint8_t * out_buffer, uint32_t size);
|
||||
|
||||
int IOSUHAX_read_seeprom(uint8_t * out_buffer, uint32_t offset, uint32_t size);
|
||||
|
||||
int IOSUHAX_ODM_GetDiscKey(uint8_t * discKey);
|
||||
|
||||
int IOSUHAX_SVC(uint32_t svc_id, uint32_t *args, uint32_t arg_cnt);
|
||||
|
@ -199,6 +199,37 @@ int IOSUHAX_read_otp(uint8_t * out_buffer, uint32_t size) {
|
||||
return res;
|
||||
}
|
||||
|
||||
extern int bspRead(const char*, uint32_t, const char*, uint32_t, uint16_t*);
|
||||
|
||||
int IOSUHAX_read_seeprom(uint8_t * out_buffer, uint32_t offset, uint32_t size) {
|
||||
if(out_buffer == NULL || offset > 0x200 || offset & 0x01) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
uint32_t sizeInShorts = size >> 1;
|
||||
uint32_t offsetInShorts = offset >> 1;
|
||||
int32_t maxReadCount = 0x100 - offsetInShorts;
|
||||
|
||||
if(maxReadCount <= 0){
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint32_t count = sizeInShorts > maxReadCount ? maxReadCount : sizeInShorts;
|
||||
uint16_t *ptr = (uint16_t *) out_buffer;
|
||||
|
||||
int res = 0;
|
||||
|
||||
for(int i = 0; i < count; i++) {
|
||||
if(bspRead("EE", offsetInShorts + i, "access", 2, ptr) != 0) {
|
||||
return -2;
|
||||
}
|
||||
res += 2;
|
||||
ptr++;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
int IOSUHAX_kern_read32(uint32_t address, uint32_t *out_buffer, uint32_t count) {
|
||||
if (iosuhaxHandle < 0)
|
||||
return iosuhaxHandle;
|
||||
|
Loading…
Reference in New Issue
Block a user