The music is probably the reason why it doesn’t work on hardware because when I took it off, it worked. Also, while trying to optimize it, I made an effect that looks really cool and runs on hardware. Hardware doesn’t like the scrolling background for some reason and just crashes, but the effect that I made (using 1x1 sprites) works. Here’s the version that runs on hardware:
Also, as @edubsky said, how did you get the custom color palette? Also, @edubsky, that extension is actually on a post from @UnsignedArduino.