[OpenBIOS] patch to allow Mac OS 9 to boot

Programmingkid programmingkidx at gmail.com
Thu Feb 4 19:41:10 CET 2016


On Feb 2, 2016, at 3:02 PM, Mark Cave-Ayland wrote:

> On 02/02/16 15:19, Programmingkid wrote:
> 
>> On Feb 2, 2016, at 6:08 AM, Tarl Neustaedter wrote:
>> 
>>> On 2016-Feb-1 23:08 , Programmingkid wrote:
>>>> This is most of the patch that is needed to make OpenBIOS successfully boot Mac OS 9. From the bootstrap.fs file, the 0a means linefeed. The file also says the 0d means carret '^'? If this patch is to look for linefeeds and carriage returns, why use the carret character here? 
>>> 
>>> 0d is carriage return. "carret" means carriage return, not "^", which
>>> would be "caret".
>> 
>> Thank you very much for the clarification. I request that the name be changed to carriage_return. 
>> 
>> Mark, would you accept that patch?
> 
> To be honest I'm not particularly keen on having this hack on a hack -
> I'd much rather we figure out a way to handle r-stack commands in a
> normal context rather than relying on something which happens to work
> out of sheer luck :(

I was wondering why you think there is a problem with r-stack commands. I haven't found anything that indicates they are a problem. Mac OS 9 does use R> and >R a lot, but they don't seem to cause any problems. The problem seems to be with the missing CR-LF patch. I tested this patch with Fedora and Debian. They both boot. There is an exception message that is printed, but that doesn't appear to stop any of the OS's from booting. It could be something else that is causing problems. 

This is the Debian error message:

method:interpret: exception -13 caught
^mem isn’t unique.
^mmu isn’t unique.

Here is the Fedora error message:

milliseconds:interpret: exception -13 caught
^mem isn’t unique.
^mmu isn’t unique.

Exception -13 is an undefined word. 

^mem and ^mmu are both defined in the yaboot file in Fedora. I assume the "isn't unique" message is because something already defined both words. I don't know if they are being defined twice or more, but they aren't already defined in OpenBIOS. 

Now I think I know what is wrong with Fedora. It is with the milliseconds word. The function is surrounded by NULL characters on either side. Maybe they are interfering with the interpret word.

OpenBIOS does appear to have the milliseconds word defined in methods.c. 


More information about the OpenBIOS mailing list