1839 |
|
*lp = htonl(0x38600000); // li r3,0 |
1840 |
|
} |
1841 |
|
|
1842 |
+ |
// FIXME: Fake reading from [HpChk]+4 (the callchain reports some function from DriverServicesLib) |
1843 |
+ |
if (1) { |
1844 |
+ |
uint32 hpchk_offset = find_rom_resource(FOURCC('n','l','i','b'), 10); |
1845 |
+ |
static const uint8 hpchk_dat[] = {0x80, 0x80, 0x03, 0x16, 0x94, 0x21, 0xff, 0xb0, 0x83, 0xc4, 0x00, 0x04}; |
1846 |
+ |
if ((base = find_rom_data(hpchk_offset, hpchk_offset + 0x3000, hpchk_dat, sizeof(hpchk_dat))) == 0) return false; |
1847 |
+ |
D(bug("hpchk %08lx\n", base)); |
1848 |
+ |
lp = (uint32 *)(ROM_BASE + base); |
1849 |
+ |
*lp = htonl(0x80800000 + XLM_ZERO_PAGE); // lwz r4,(zero page) |
1850 |
+ |
} |
1851 |
+ |
|
1852 |
|
// Patch Name Registry |
1853 |
|
static const uint8 name_reg_dat[] = {0x70, 0xff, 0xab, 0xeb}; |
1854 |
|
if ((base = find_rom_data(0x300, 0x380, name_reg_dat, sizeof(name_reg_dat))) == 0) return false; |
2196 |
|
|
2197 |
|
#if DISABLE_SCSI && 0 |
2198 |
|
// Fake SCSIGlobals |
2199 |
< |
static const uint8 fake_scsi_globals[32] = {0,}; |
2190 |
< |
WriteMacInt32(0xc0c, (uint32)fake_scsi_globals); |
2199 |
> |
WriteMacInt32(0xc0c, SheepMem::ZeroPage()); |
2200 |
|
#endif |
2201 |
|
|
2202 |
|
// Open .Sony driver |