Subject: Re: Open Firmware 3 Boot, revisited
To: Chris Tribo <ctribo@dtcc.edu>
From: Dan LaBell <dan4l-nospam@verizon.net>
List: port-macppc
Date: 02/28/2005 16:51:16
Generally, forth is postfix and either interprets tokens (sep. by 
whitespace) as numbers or address and places them on the stack, or as a 
'word' or function and runs it.  However, words can manipulate the line 
being read, taking over the parsing, that's why you need a space around 
", it's actually an operator like +, but it takes over parsing and 
reads until next " , makes that into a string , (allocates memory for 
it) and leaves address on the stack.  So " screen" output, is actually 
passing an address to output.

>>> setenv boot-command " screen" output boot

Setenv also parses the line, that's how it apparently provides 
"prefix/normal" interface.
Also, it means you can't just paste other forth stuff into it, because 
it won't work.
Mainly, because setenv isn't really 'normal' forth, also, neither is 
boot, for that matter.
To make matters more confusing, the trick only works in interpreted 
mode when there's an line being parsed in, in 'compiled mode' or inside 
a function, it won't.  I rediscovered this aspect of forth, when I was 
experimenting with an interactive boot menu,  since I factored my menu 
into other functions, I hit a snag as I couldn't just use straight 
forward boot commands I was used to.

At any rate, the CD just wants to set the output once, for 1 boot only, 
and doesn't mess w/ the nvram, setenv sets nvram. In fact, it should 
already be 'screen', but if it needs setting I think:
  setenv output-device screen
would work, you can check current setting with printenv.

What's the machine doing right now? Also, wasn't that for machines were 
OF defaulted to serial?  Machines where option-command-o-f would put 
the ok prompt on a serial line?.
Isn't this a mini?  I'm thinking you want you leave boot-command alone, 
and try boot-file.
And experiment maybe by wrapping the boot file: make a text file, boot 
that
and, at the bottom execute boot again with your parameters: something 
like:
------------of.boot--------------
\ need comment first line
." boot1" cr
" screen" output
." boot2" cr
boot hd:,\ofwboot.xcf
----------------------------------
Changing last line to match, what you need, sorry I deleted the email 
w/ the boot command. I don't know if you need to set output, but this 
way you can rip from other boot scripts,
it will parse the same way. Boot like boot hd:,\of.boot .

On Monday, February 28, 2005, at 12:09 PM, Chris Tribo wrote:

> I think " screen" output is for the CHRP snag key boot script on the 
> install CD. If you're using it in OF shouldn't it be "output screen"? 
> I don't have an OF 3.x machine that I can test that on at the moment.
>
> On Feb 28, 2005, at 9:25 AM, Donald Lee wrote:
>
>> At 12:16 PM +0100 2/28/05, Daniel Eggert wrote:
>>> On Feb 27, 2005, at 2:12 AM, Donald Lee wrote:
>>>
>>>>>>>>>> "Donald" == Donald Lee <MacPPC1@caution.icompute.com> writes:
>>>>>
>>>>>    Donald> There was a problem a while back with Quicksilver
>>>>>    Donald> machines, where the problem turned out to be solved by
>>>>>    Donald> setting the OF output to the screen..... Same sort of
>>>>>    Donald> symptoms..... I don't remember details offhand...
>>>>>
>>>>> You mean
>>>>>
>>>>>  http://mail-index.netbsd.org/port-macppc/2004/09/05/0000.html
>>>>>
>> [snip]
>>>
>>> I guess what the message tries to say, is that I should
>>>    setenv boot-command " screen" output boot
>>> but that does not help. The screen still stays black (no sync) when 
>>> I have
>>>    setenv auto-boot? true
>>>
>>> Maybve it's something Mac mini-specific?
>>>
>>> /Daniel
>>
>> I don't know.  I only tried it.  I don't pretend to understand it.
>> (well,  maybe a litt.e ;-> )
>>
>> -dgl-
>