On Dec 18, 2017, at 2:44 AM, Segher Boessenkool <segher@kernel.crashing.org> wrote:

On Mon, Dec 18, 2017 at 01:13:49AM -0500, Jd Lyons wrote:
On Dec 18, 2017, at 12:48 AM, Segher Boessenkool <segher@kernel.crashing.org> wrote:
On Mon, Dec 18, 2017 at 12:05:17AM -0500, Jd Lyons wrote:
Still bombing out at the same place:

401002a :  [ 0xe34 ]

byte-load: exception caught!

: xe33  $find invert IF ABORT THEN ;
: xe34
  " us" xe33 TO x9a7
  " case-closed?" $find invert IF 2drop ['] 0 THEN
  TO x9a8 ;

So the thing that throws is fcode e33, when trying to find the word "us".

(Btw, "invert" is weird here; I suppose it was coded as its synonym "not".
In some other Forth systems "not" is a synonym for "0=", which makes more
sense here.  Either works as long as $find returns a canonical true/false,
as it supposed to).

So, implement "us", and you'll get further :-)  It's just like "ms", but
microseconds, instead; so you could do

: us ( n -- )  d# 1000 / 1+ ms ;

(which waits way too long for short timeouts, of course).


Ok, thanks, that makes since. I did see the “case-closed?” When I searched for 0xe34 in the detoked rom, but I wan’t sure what to make of it.

So, the “us” word is unimplemented in Openbios, and we need to add it to get past this part?

Exactly.  And I gave a (not super great) implementation above, enough to
see if you get further :-)

Ok, I see, the code you gave was a command for Openbios, I kept trying to find where to add it to the source, thinking it was C code;-)

Only got one byte further:



       (offset) 5 
401000d : (compile)  [ 0xe05 ]
401000e : (compile) b(endcase) [ 0xc5 ]
401000f : (compile) over [ 0x48 ]
4010010 : (compile) b(to) [ 0xc3 ]
4010014 : (compile)  [ 0xe36 ]
4010016 : (compile) encode+ [ 0x112 ]
4010017 : (compile) 2dup [ 0x53 ]
4010018 : (compile) b(to) [ 0xc3 ]
401001b : (compile) b(to) [ 0xc3 ]
401001f : (compile)  [ 0xc7b ]
4010021 : (compile) property [ 0x110 ]
4010022 : (compile) b(;) [ 0xc2 ]
4010023 : b(') [ 0x11 ]
4010026 : b(to) [ 0xc3 ]
401002a :  [ 0xe34 ]
401002c :  [ 0xdff ]

byte-load: exception caught!
 ok
1 > 





Segher