725 |
|
else |
726 |
|
return false; |
727 |
|
|
728 |
+ |
// Check that other ROM addresses point to really free regions |
729 |
+ |
if (ntohl(*(uint32 *)(ROM_BASE + CHECK_LOAD_PATCH_SPACE)) != 0x6b636b63) |
730 |
+ |
return false; |
731 |
+ |
if (ntohl(*(uint32 *)(ROM_BASE + PUT_SCRAP_PATCH_SPACE)) != 0x6b636b63) |
732 |
+ |
return false; |
733 |
+ |
if (ntohl(*(uint32 *)(ROM_BASE + GET_SCRAP_PATCH_SPACE)) != 0x6b636b63) |
734 |
+ |
return false; |
735 |
+ |
if (ntohl(*(uint32 *)(ROM_BASE + ADDR_MAP_PATCH_SPACE)) != 0x6b636b63) |
736 |
+ |
return false; |
737 |
+ |
|
738 |
|
// Apply patches |
739 |
|
if (!patch_nanokernel_boot()) return false; |
740 |
|
if (!patch_68k_emul()) return false; |
2240 |
|
uint8 pb[SIZEOF_IOParam]; |
2241 |
|
|
2242 |
|
// Install floppy driver |
2243 |
< |
if (ROMType == ROMTYPE_NEWWORLD) { |
2243 |
> |
if (ROMType == ROMTYPE_NEWWORLD || ROMType == ROMTYPE_GOSSAMER) { |
2244 |
|
|
2245 |
< |
// Force installation of floppy driver with NewWorld ROMs |
2245 |
> |
// Force installation of floppy driver with NewWorld and Gossamer ROMs |
2246 |
|
r.a[0] = ROM_BASE + sony_offset; |
2247 |
|
r.d[0] = (uint32)SonyRefNum; |
2248 |
|
Execute68kTrap(0xa43d, &r); // DrvrInstallRsrvMem() |