[OpenBIOS] [PATCH 5/10] Add draw-rectangle to the display package
Mark Cave-Ayland
mark.cave-ayland at siriusit.co.uk
Fri Aug 19 23:28:01 CEST 2011
On 16/08/11 02:25, William Hahne wrote:
> On Mon, Aug 15, 2011 at 6:57 AM, Mark Cave-Ayland
> <mark.cave-ayland at siriusit.co.uk> wrote:
>> Ah I see - so the real bug is that OpenBIOS can't add the word correctly? Do
>> you have any DEBUG_CIF traces so we can determine the Forth being sent to
>> OpenBIOS and come up with a fix for that?
>
> I would recommend looking at the BootX source directly for this. If
> you look at http://opensource.apple.com/source/BootX/BootX-45/bootx.tproj/sl.subproj/display.c?txt
> line 403. You can see that it just throws the phandle directly into
> active-package. The device package implementation in OpenBIOS expects
> active-package to only be set by calling the active-package! word. If
> it is set directly then it doesn't actually change the active-package.
So looking at the OpenBIOS code I can see that active-package! not only
changes the active-package value, but also switches in the private
wordlist for that package. I wonder how OBP does it? I can only assume
that there is a hook in the dictionary search routine which interrogates
the private wordlist first based upon the current value of active-package.
I have a feeling in the back of my mind that I've seen Fcode elsewhere
that does a similar thing in some of my SPARC investigations, so it
seems like a strong assumption held by various developers. Perhaps it
may be possible to alter the $find word to search the active-package
wordlist first if set to a non-zero value?
> I would like to note that this particular patch is optional for
> booting Mac OS X. It is just nice since it allows the Apple logo to be
> displayed.
Understood.
ATB,
Mark.
--
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063
Sirius Labs: http://www.siriusit.co.uk/labs
More information about the OpenBIOS
mailing list