From 0af4721cb6535d899633dd4272b60881b6400b94 Mon Sep 17 00:00:00 2001 From: gbeauche <> Date: Mon, 8 May 2006 23:32:58 +0000 Subject: [PATCH] Don't read from 0xf8000090 during MacOS (8.5, 9.0) installation. Is this an OpenFirmware check for OldWorld 604-based machines? XXX I have code pending that makes it possible to use PowerMac ID #3035 and model 510 (PowerMac G3 Series). However, I have a regression with one of my MacOS 8.6 disks. This is non-standard anyway since it was installed from the iMac DV 8.6 discs ("yellow" not generic) with MOL -- SheepShaver can't cope with it. So I am not surprised it breaks. Otherwise, 8.5 -> 9.0.4 were fine with it. BTW, the "regression" is Native Resource Manager is not installed and the boot gets mad later. FWIW, it's the same as for MacOS 9.1. A resource is very likely not loaded. --- SheepShaver/src/rsrc_patches.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/SheepShaver/src/rsrc_patches.cpp b/SheepShaver/src/rsrc_patches.cpp index 0b57ad40..3baf7095 100644 --- a/SheepShaver/src/rsrc_patches.cpp +++ b/SheepShaver/src/rsrc_patches.cpp @@ -579,6 +579,26 @@ void CheckLoad(uint32 type, int16 id, uint16 *p, uint32 size) p[(base + 0x1a) >> 1] = htons(0x6064); D(bug(" patch1 applied\n")); } + + } else if (type == FOURCC('i','n','f','n') && (id == 129 || id == 200)) { + D(bug("infn %d found\n", id)); + size >>= 1; + while (size--) { + if (PM(0,0x203c) && PM(1,0xf800) && PM(2,0x0000) && PM(4,0x2040) && PM(5,0x1028) && PM(6,0x0090)) { + // Don't read from 0xf8000090 during MacOS (8.5, 9.0) installation + p[0] = htons(M68K_NOP); + p[1] = htons(M68K_NOP); + p[2] = htons(M68K_NOP); + p[3] = htons(M68K_NOP); + p[4] = htons(M68K_NOP); + p[5] = htons(M68K_NOP); + p[6] = htons(0x7000); // moveq #0,d0 + D(bug(" patch 1 applied\n")); + break; + } + p++; + } + } }