Casting a negative value??

Looks like this has to do with the Roomba ROI. Unioning is not working with the roomba (but although it does work when I pass it a negative value as it should). Neither does the shift-OR approach...Something about the way the roomba sends these negative values does not work with this code...