CODE _sdcSel SDC_CSLOW OUTnA, ;CODE
CODE _sdcDesel SDC_CSHIGH OUTnA, ;CODE
( Computes n into crc c with polynomial 0x1021 )
CODE _crc16  ( c n -- c )
    HL POPqq, ( n ) DE POPqq, ( c )
    A L LDrr, D XORr, D A LDrr,
    B 8 LDrn,
    BEGIN,
        E SLAr, D RLr,
        IFC, ( msb is set, apply polynomial )
            A D LDrr, 0x10 XORn, D A LDrr,
            A E LDrr, 0x21 XORn, E A LDrr,
        THEN,
    DJNZ, AGAIN,
    DE PUSHqq,
;CODE