I don’t know, this maybe an issue with the way we have defined “us”.

Looking through the SLOF code it seems they call it like this in the timebase.fs:

: tb@  ( -- tb )
   BEGIN tbu@ tbl@ tbu@ rot over <> WHILE 2drop REPEAT
   20 lshift swap ffffffff and or
;

: milliseconds ( -- ms ) tb@ d# 1000 * tb-frequency / ;
: microseconds ( -- us ) tb@ d# 1000000 * tb-frequency / ;

: ms ( ms-to-wait -- ) milliseconds + BEGIN milliseconds over >= UNTIL drop ;
: get-msecs ( -- n ) milliseconds ;
: us  ( us-to-wait -- )  microseconds +  BEGIN microseconds over >= UNTIL  drop ;

Not sure if I can port/hack this code over, the copier seems to have trouble with tbu@ tbl@?