Leave. Your last job did not value you or your work. Don't invest your soul into a project unless it's well run (or you're the one running it) and you reap some of the rewards.
I worked some weekends for a project at my last company because it was urgent (it was behind schedule and they "burned the ships"). Then they canceled the project and fired the lead developer on it.
[Edit]: And after I gave notice, I was given more flexibility so I worked hard to code some desperately needed changes to a neglected project core to the business. The changes I made in the last two weeks were so valuable that the internal customers agreed to shut down the floor for a while in the middle of the day to deploy my changes. Then, on my way out the door, the company told me that they wouldn't pay out my unused PTO.