OK I do not know anything about MikroBasic, I know a little "C" and it looks similar, Know this,
PBP variables are global, whereas C and I think Microbasic are not all global, in c you can make temporary variables that release the registers when not called, all this means is you will encounter variables in mikro and C that are not declared up front, and in converting you will have to, also PBP does not do FP math and uses unsigned integers unless you compile with PBL in which case you will have to use 18Fseries chips.
here is a few lines to get you started . . .
Code:
dim sync_flag,                   ' in the sync routine if this flag is set
    one_seq,                     ' counts the number of "logic one" in series
    data_in,                     ' gets data bit depending on data_in_1st and data_in_2nd
    data_index,                  ' marks position in data arrey
    cnt,                         ' interrupt counter
    cnt1, cnt2 as byte           ' auxiliary counters
    
    data as byte[256]
    data_valid as byte[64]
    
    bad_synch as byte            ' variable for detecting bad synchronisation
becomes
Code:
sync_flag  VAR BIT                      ' in the sync routine if this flag is set
one_seq    VAR BYTE                     ' counts the number of "logic one" in series
data_in    VAR WORD                     ' gets data bit depending on data_in_1st and data_in_2nd
data_index VAR BYTE                     ' marks position in data arrey
cnt        VAR BYTE                     ' interrupt counter
cnt1       VAR BYTE
cnt2       VAR BYTE                     ' auxiliary counters
    

data       VAR BYTE[256]               ' huge 256 byte array
data_valid VAR BYTE[64]                ' 64 byte array
    
bad_synch VAR BYTE                     ' variable for detecting bad synchronisation