: F
    FBUF _type FBUF EDPOS @ _cpos ( a1 a2 )
    BEGIN
        C@+ ROT ( a2+1 c2 a1 ) C@+ ROT ( a2+1 a1+1 c1 c2 )
        = NOT IF DROP FBUF THEN
        SWAP OVER C@ 0xd = ( a1 a2 f1 )
        OVER BLK) = OR ( a1 a2 f1|f2 )
    UNTIL
    DUP BLK) < IF BLK( - FBUF + -^ EDPOS ! THEN
    EDPOS @ 64 / _pln DROP
;