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).
Segher