Surely you want Serial.print(ff, HEX); rather than just Serial.print(ff);
if you want the output to look the same.
Having said that, it looks like serial.print is assuming you have passed a long rather than a char, which I don't understand yet.
Paul