I made some changes ....
Code:
VolUp:
    GOSUB SendPreAmble
    ' 01010111 10101010 1
    ' Each individual byte reversed
    OutBuffer[0] = %11101010
    OutBuffer[1] = %01010101  ; modified
    OutBuffer[2] = %00000001
    
    BitsToSend = 17
    
    GOSUB SendBits
    GOSUB SendPostAmble
    
    OutBuffer[0] = %11101010
    OutBuffer[1] = %01010101  ; modified
    OutBuffer[2] = %00000001
    
        BitsToSend = 17
    
    GOSUB SendBits
    GOSUB SendPostAmble
    
    OutBuffer[0] = %11101010
    OutBuffer[1] = %01010101  ; modified
    OutBuffer[2] = %00000001
    
        BitsToSend = 17
    
    GOSUB SendBits
    GOSUB SendFinalAmble    
RETURN
and added this :
Code:
SendFinalAmble:
' 01111111 11111111 11111111 11111111 11111111 11111111 11111111 111111
    OutBuffer[0] = %11111110
    OutBuffer[1] = %11111111
    OutBuffer[2] = %11111111
    OutBuffer[3] = %11111111
    OutBuffer[4] = %11111111
    OutBuffer[5] = %11111111
    OutBuffer[6] = %11111111
    OutBuffer[7] = %11111111
    
    BitsToSend = 54
    
    GOSUB SendBits
RETURN
...and in Proteus look fine !