Back to basics. Food only for a couple of days and see what that does. If he's firm, add things back one at a time. If not you may be feeding him too much or the wrong thing. I figure you're watching him closely for signs that something else is not right and will deal with that accordingly.