mirror of
https://github.com/kanjitalk755/macemu.git
synced 2024-12-18 02:29:34 +00:00
- Add checks against ROM patches space
- Make sure to also load the floppy disk driver with Gossamer ROMs so that exfs feature can work too
This commit is contained in:
parent
c9b8dd6628
commit
974ebd5d91
@ -725,6 +725,17 @@ bool PatchROM(void)
|
|||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
// Check that other ROM addresses point to really free regions
|
||||||
|
printf("%08x\n", ntohl(*(uint32 *)(ROM_BASE + CHECK_LOAD_PATCH_SPACE)));
|
||||||
|
if (ntohl(*(uint32 *)(ROM_BASE + CHECK_LOAD_PATCH_SPACE)) != 0x6b636b63)
|
||||||
|
return false;
|
||||||
|
if (ntohl(*(uint32 *)(ROM_BASE + PUT_SCRAP_PATCH_SPACE)) != 0x6b636b63)
|
||||||
|
return false;
|
||||||
|
if (ntohl(*(uint32 *)(ROM_BASE + GET_SCRAP_PATCH_SPACE)) != 0x6b636b63)
|
||||||
|
return false;
|
||||||
|
if (ntohl(*(uint32 *)(ROM_BASE + ADDR_MAP_PATCH_SPACE)) != 0x6b636b63)
|
||||||
|
return false;
|
||||||
|
|
||||||
// Apply patches
|
// Apply patches
|
||||||
if (!patch_nanokernel_boot()) return false;
|
if (!patch_nanokernel_boot()) return false;
|
||||||
if (!patch_68k_emul()) return false;
|
if (!patch_68k_emul()) return false;
|
||||||
@ -2230,9 +2241,9 @@ void InstallDrivers(void)
|
|||||||
uint8 pb[SIZEOF_IOParam];
|
uint8 pb[SIZEOF_IOParam];
|
||||||
|
|
||||||
// Install floppy driver
|
// Install floppy driver
|
||||||
if (ROMType == ROMTYPE_NEWWORLD) {
|
if (ROMType == ROMTYPE_NEWWORLD || ROMType == ROMTYPE_GOSSAMER) {
|
||||||
|
|
||||||
// Force installation of floppy driver with NewWorld ROMs
|
// Force installation of floppy driver with NewWorld and Gossamer ROMs
|
||||||
r.a[0] = ROM_BASE + sony_offset;
|
r.a[0] = ROM_BASE + sony_offset;
|
||||||
r.d[0] = (uint32)SonyRefNum;
|
r.d[0] = (uint32)SonyRefNum;
|
||||||
Execute68kTrap(0xa43d, &r); // DrvrInstallRsrvMem()
|
Execute68kTrap(0xa43d, &r); // DrvrInstallRsrvMem()
|
||||||
|
Loading…
Reference in New Issue
Block a user