Hi thanks for the review. I can't believe you beat every level. I didn't expect that to happen but it makes me really glad someone was able to accomplish that.
I spent a fair bit of time with trying to scale the difficulty and you're exactly right towards the last two sets of difficulty they do feel very similar and once you get good with the longer move puzzles it gets quite easy.
Thanks for pointing out the issue in level 600. I accidentally deleted a char (when commenting my code?) and so the bottom rightmost block didn't appear.
There actually is a reset button but I guess I didn't make it obvious enough. Pressing Select resets the level.
The random mode is a nice idea. I'll think about adding that.
The cursor bug is weird I'm not sure how that happened. During development there was some cursor issues exactly like you described and I can't exactly remember what caused them but it had to do with the level loading out of order. It could very well be an emulation but I think you're right that it's a memory issue. You might not of noticed this but I break up the levels into banks and try to mitigate the loading time by using constants within the banks. So for instance, level ~1452 should take a bit longer to load then the level immediately after it. (Or something like that it's been a while since I comprehended the code).
Do you have any examples of how that bug first gets triggered? It could have to do with bank switching so it could be a specific level completion that triggers it that I never caught. How many levels do you beat before it happens? Did returning to menu fix it? By resetting the game I assume you mean cycling the power.
Thanks for enjoying the game so much it really warms my heart!