27#define HDL_INFO_MAGIC 0xDEADFEED
28#define HDL_GAME_DATA_OFFSET 0x100000
30#define HDLFS_GAME_TITLE_LEN 160
31#define HDLFS_STARTUP_PTH_LEN 60
45 s8 gamename[HDLFS_GAME_TITLE_LEN];
47 u8 ops2l_compat_flags;
50 s8 startup[HDLFS_STARTUP_PTH_LEN];
57extern u8 IOBuffer[IOBUFFER_SIZE_SECTORS * 512];
59int hdlUpdateGameSliceInfo(
int device, u32 main,
int part, u32 OldPartStart, u32 NewPartStart)
61 u32 InfoLBA, DataOffset;
66 InfoLBA = main + (HDL_GAME_DATA_OFFSET + 4096) / 512;
68 if ((result = sceAtaDmaTransfer(device, IOBuffer, InfoLBA,
sizeof(
hdl_game_info_t) / 512, ATA_DIR_READ)) == 0) {
70 DataOffset = ((
hdl_game_info_t *)IOBuffer)->part_specs[part].data_start - OldPartStart;
71 ((
hdl_game_info_t *)IOBuffer)->part_specs[part].data_start = NewPartStart + DataOffset;
72 result = sceAtaDmaTransfer(device, IOBuffer, InfoLBA,
sizeof(
hdl_game_info_t) / 512, ATA_DIR_WRITE);