[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