This is pretty darn awesome! I especially congratulate you on being able to re-create the theme music so closely. However, there are a few improvements I could recommend doing, they may be fairly simple to do.
First, the pause button you have implemented on pressing O is completely unnecessary and is, honestly, a waste of an input -- PICO-8 already provides players with a pause button (P by default). How about making the O button perform a rotation in the other direction instead? For example, have O rotate clockwise and X counter-clockwise, or vice versa.
Secondly, there's no hard-drop function (instantly drop a block in it's pre-selected position). This means you have to awkwardly hold the down arrow and wait until the block drops, which is something I find quite annoying, especially considering the speed on the first levels is rather slow. How about using the UP button to do that?
A completely minor suggestion, but a sound effect for lines being cleared would be very nice. This isn't part of the Guideline, I don't think, but it's something every official Tetris game has in one form or another.
Finally, there's no "hold" feature. This is already a part of the guideline and something modern Tetris games, technically speaking, must have, but it would be a pain to implement and would require you to find an extra button somewhere (maybe O+X at the same time?). It would be great if you could implement that, but I do understand it would be difficult to do so.
At last, I do have a couple major complaints that affect the playability of the game in major ways.
First, there's an issue with your top-out algorithm that I fail to understand. Sometimes it will tell me the game is over when there's still two lines free on the top of the well. What is that about?
Secondly, the minimal size of the well is 10x22, yours is 9x14. Height can be above 22 if you wish (making the game easier), but it still has to be much taller than what you already have, and your width is wrong, which affects the gameplay significantly.
Please don't get this rant wrong -- I'm not saying your game is bad, infact, this is great work, but I do think that if you improve it further it will be even better.
On an entirely and completely minor note, your cart PNG doesn't have a title/author on it and instead has an unrelated comment. Your code should start with the two lines in the following format:
-- Game name
-- By author name
These two lines will then be printed by PICO-8 on the cart's PNG, making the cart easily identifiable as that of your game.
[Please log in to post a comment]