What happens when Serial1 is directly connected to Serial2/3 on Mega 2560?

This is the exact code that was producing the funny y on my board (and it still is):

And it should!

edit: You are checking Serial3 for characters, then trying to read Serial1. Nothing there. It is in Serial3's buffer.