[OpenBIOS] patch to allow Mac OS 9 to boot

Programmingkid programmingkidx at gmail.com
Tue Feb 2 21:11:40 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 remember you saying that Mac OS 9 reorders the return stack. If that is true, then in theory this problem could be fixed by placing a bunch of no-ops in the stack before Mac OS 9 reorders it. 

Stack Before:	   Stack with no-ops:
   func1		func1
   func2		func2
   func3		func3
			no-op1
			no-op2
			no-op3
			no-op4
			no-op5
			
Then when Mac OS 9 does its reordering, it would look like this:

Reordered stack:
     func1
     func2
     func3
     no-op2
     no-op4
     no-op3
     no-op1
     Mac OS 9 code

No harm would be done. In theory this shouldn't hurt other operating systems since the no-ops would do nothing. What do you think?		




More information about the OpenBIOS mailing list