[OpenBIOS] Increasing dictionary space size

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Mon Apr 25 20:33:45 CEST 2016


On 25/04/16 14:29, Programmingkid wrote:

>> Last time I checked the MacOS 9.2 bootscript, the allot was done as a
>> function of subtracting from a value taken from the r-stack. Given that
>> we already know the r-stack has been corrupted at this point, I suspect
>> that the value you get back is bogus which is why you see an attempt for
>> such a large allot.
> 
> Actually I made a patch that fixes the r-stack corruption. Here it is: http://www.openfirmware.info/pipermail/openbios/2016-April/009350.html
> 
> The patch works by replacing all >r and r> words with other words that work on a completely different stack. 
> 
> The value that is allocated on a real Macintosh is pretty big also. So I am curtain the script is working as it should on OpenBIOS.

Are you able to show your worked example from the bootscript line by
line with both the r-stack and d-stack? From looking at the source I
just don't see how this can work looking at the outermost r-stack
commands from the OS 9 bootscript:

here >r
...
r> here - allot

I would expect this to allocate the difference between the dictionary
pointer at the start and end of the first section which is going to be
very small, unless something has already gone wrong (which given the
inner loop also uses r-stack commands is very likely at this point).


ATB,

Mark.




More information about the OpenBIOS mailing list