43 dmat[0].dest = (
void *)(romdrv_info.text_start + romdrv_info.text_size + romdrv_info.data_size + 0x40);
47 SyncDCache(dmat[0].src, ((u8 *)dmat[0].src) + dmat[0].size);
48 if (sceSifGetOtherData(&rdata, dmat[0].dest, dmat[0].src, dmat[0].size, 0) < 0)
50 data = UNCACHED_SEG(dmat[0].src);
52 if (data[0] != 0xBFC00000 || data[1] <= data[0] || data[2] <= data[1])
56 data[3] = (u32)iop_reset_addr;
60 data[5] = data[3] + romdir_size;
62 sceSifWriteBackDCache(dmat[0].src, dmat[0].size);
63 while (!(trid = sceSifSetDma(dmat,
sizeof(dmat) /
sizeof(dmat[0]))));
64 while (sceSifDmaStat(trid) >= 0);