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

Programmingkid programmingkidx at gmail.com
Mon Apr 18 16:29:25 CEST 2016


On Apr 17, 2016, at 10:36 PM, Segher Boessenkool wrote:

> On Sun, Apr 17, 2016 at 08:36:28PM -0500, Segher Boessenkool 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 ;
> 
> With IMMEDIATE after these last three words, of course.  Bah.

Thank you for the code. This is what I used:

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 ; IMMEDIATE
: r>  state @ IF postpone r> EXIT THEN  stash-pop ; IMMEDIATE
: r@  state @ IF postpone r@ EXIT THEN  stash-pop dup stash-push ; IMMEDIATE

When I tried booting Mac OS 9.2 at OpenBIOS revision 1395, 
with only your code added, I saw this:

>> Dictionary space overflow: dicthead=000c3fe4 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fe4 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fe4 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fe4 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fe4 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fe4 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fe4 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fe5 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fe6 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fe7 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fe8 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fe9 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fea dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3feb dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fec dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3fed dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3ff0 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3ff4 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3ff8 dictlimit=00080000
>> Dictionary space overflow: dicthead=000c3ffc dictlimit=00080000
n?????X???dH$ < ?|!
A?| ?x!@| d|h?<???8???|??N? K??H ?K???H (K???K??K??K??|qC?|{?`c |{?|qB?LdK??K??K??K??K??K??K??K???K??K??K??K??K??K??K??K??|1C?| &|2C?< ?|!
A?| ?x!@| d|0B?8!???|B??A?a?? ??(??0??8?@?!H?AP?aX??`????????????!??A??a????????????????!??A??a??????????h|B??p|	??x|???8!??<`??8c??|i?N?!8!?h??p|? ?x|	???|???A?a? ?(??0??8?@?!H?AP?aX?`???????????!??A??a??????????????!??A??a???????Ld|1C?| &|2C?< ?|!
A?| ?x!@| d|0B?8!???|B??A?a?? ??(??0??8?@?!H?AP?aX??`????????????!??A??a????????????????!??A??a??????????h|B??p|	??x|???8!??<`??8c?`|i?N?!8!?h??p|? ?x|	???|???A?a? ?(??0??8?@?!H?AP?aX?`???????????!??A??a??????????????!??A??a???????Ld|1C?| &|2C?< ?|!
A?| ?x!@| d|0B?8!???|B????a
                           ????????? ?!$?A(?a,??0??4|B??8|	??<|??@8!??<`??8c??|i?N?!H?|1C?| &|2C?< ?|!
A?| ?x!@| d|0B?8!???|B????a
                           ????????? ?!$?A(?a,??0??4|B??8|	??<|??@8!??<`??8c?`|i?N?!H8!?4??8|? ?<|	??@|????a
                                 ????????? ?!$?A(?a,??0?!Ld8<`?|cA?

With my patch I saw mostly the same thing except there was also a message that said "this image is not for this platform". I think this proves that the '\r' to '\n' patch is needed.


More information about the OpenBIOS mailing list