[OpenBIOS] Found out why replacing '\r' with '\n' works

Segher Boessenkool segher at kernel.crashing.org
Sun Jul 17 18:12:10 CEST 2016


On Sun, Jul 17, 2016 at 03:18:22PM +0100, Mark Cave-Ayland wrote:
> > hex
> > 20 cells CREATE stash  VARIABLE #stash  #stash off
> > : stash-push  stash #stash cells + !  1 stash +! ;
> > : stash-pop   -1 stash +!  stash #stash cells + @ ;
> > : >r  state @ IF postpone >r EXIT THEN  stash-push ;
> > : r>  state @ IF postpone r> EXIT THEN  stash-pop ;
> > : r@  state @ IF postpone r@ EXIT THEN  stash-pop dup stash-push ;

> This weekend I had a chunk of time to dig into this, and I think I now
> have something that works. Looking at the OpenBOOT source, they
> reference what they call a pseudo r-stack to enable r-stack words to
> execute in interpret mode so I've followed a simlar pattern for OpenBIOS
> based upon your work above.

I did type it without any testing, hope it works ;-)

> Another interesting part of the patchset was that the original patch to
> split on 0d as well as 0a is actually correct, but the regression in
> yaboot is caused by a separate bug in evaluate not correctly preserving
> the stack across statements split by newlines.

That explains some things :-)

> I'll post the patchset shortly, so tests and reviews are welcome. I know
> Ben H was really keen to get OS 9 booting under QEMU 2.7 out of the box
> if at all possible.

Excellent!  Thank you for all the hard work.


Segher



More information about the OpenBIOS mailing list