Re: hosed nvram on OldWorld Mac
On 3 Feb, this message from Andrew Sharp echoed through cyberspace:
> No, I'm getting no output on the monitor.
Important side-note: control video hardware as initialized by OF is
notoriously bad at doing monitor timings. By default (i.e. after a PRAM
reset) it sets up some weird mode that resembles 640x480@60HZ, but
Depending on your monitor, it may or may not sync to this sh... My old
Phlips 17B does, my newer Dell P990 doesn't.
If that is your problem, get yourself a serial console, reset PRAM, and
boot with cmd-opt-O-F into OF, set your terminal to 38400 and conectit
with a null-modem cable to the modem port. You should have the OF user
>From there, do like this (from a mail from some time ago...):
Fixes for Apple OpenFirmware 1.0.5
Alan Mimms (firstname.lastname@example.org)
Sun, 17 Aug 1997 19:08:19 +0000
I have finally had enough with the buggy screen and disk drivers in Apple's
Open Firmware on PowerMac 7200, 7500, 7600, 8500, 9500, and probably some
others I'm forgetting. So I have written some NVRAMRC based patches to
Open Firmware to hack around the bugs enough for my purposes anyway. I
hope the hacks may help you too.
Start up and break into your Open Firmware -- Cmd-Opt-O-F during the boot
beep held down until the "user interface" for Open Firmware comes up on
your screen or, if you're smart, your serial port. The banner printed by
Open Firmware shows the Open Firmware version. These patches ONLY apply to
Open Firmware version 1.0.5. Other versions will crash if these patches
can be applied at all!
Type at the prompt:
and hit control-L to see the cryptic stuff that is part of your Open
Firmware's startup sequence. This stuff patches various bugs in the ROM.
Hit control-N enough times that you no longer see a new line of
gobbledegook every time several times in a row. This means you're at the
bottom. Either paste the following into a terminal session (NOTE: must be
at least a dozen or so ms delay between characters and maybe 100ms between
lines to work right!) or else enter the following lines very very carefully:
' write value &W
: -&We &W swap - execute ;
: P1 4D8 -&We false 548 -&We ;
&W FC + ' P1 BLpatch
: P2 0C 2 ms ;
&W E0 + ' P2 BLpatch device-end
boot-device ['] $boot catch drop
." -Waiting for boot-device" cr
d# 500 ms
Note that ALL whitespace above except for the line indentation is REQUIRED.
FORTH is a very very very strange "language". It may be safe to leave the
line indentation as I have it above when pasting if you wish. It's
wasteful but who cares?
At the end of this laborious typing (or pasting) session hit control-C (yes
that's right: control-C is the end of editing session character in Open
Firmware). Then type at the prompt
to save the changed NVRAMRC variable into NVRAM.
The first block fixes a bug in the via-cuda driver in which not enough time
is given for the device to settle when it is told to set the video
controller's clocks up.
The second block defines a FORTH word that can be used in place of the
normal boot-command contents to wait for the disk to spin up before
attempting to really boot. This avoids the standard "black screen the
first time you power on the computer each day" problem.
Then type at the prompt
setenv boot-command wBoot
This sets up the default command executed on auto-boot (normally on power
on) to run the above disk spinup waiting hack.
FYI: the reason I know about this stuff is that I worked for about two
years as the Copland booting guy. Sheesh...
Please don't inundate me with a bazillion questions about Open Firmware. I
have a real job and it takes 60+ hours a week of my time. I get PAID to do
it. I just did this to fix MY PPC Linux box and I wanted to help you folks
out a teeny bit if I could. No, I don't work at Apple anymore. Cancelling
Copland was the last straw. I worked there more than nine years. (sigh)
A copy of the universe is not what is required of art; one of the damned
things is ample. -- Rebecca West, The Creators, by Daniel J. Boorstin
Hope this helps
Michel Lanners | " Read Philosophy. Study Art.
23, Rue Paul Henkes | Ask Questions. Make Mistakes.
L-1710 Luxembourg |
email email@example.com |
http://www.cpu.lu/~mlan | Learn Always. "