The free space is now 162 bytes.
Surprised myself I got that much back. You weren't at zero bytes left, there was 20 bytes.
I don't know if you can do anything with 162 bytes, but there's a lot of suggestions (which is my weakest skill - game logic). I'll take sound, art, layout, music, optimization over "efficient game logic" any day.
Like in my DK Arcade 2600, if Byte Knight and RevEng and Omegamatrix and others hadn't helped get the bugs out of DPC+ batari Basic and coded animation arcade-like game logic, my version would have had fireballs going back and forth like the Coleco original. I got as far as The Carpenter being able to climb and walk around the Rivet level 4.
I changed the highscore code to Random Terrain's code. That used bytes.
Then I removed more music data, and put some same code in a gosub subroutine.
The "set optimization noinlinedata" saves a nice chunk of ROM. It just means to have data statements outside of loops and your program doesn't run through them - which where I logically put data statement naturally.
I just learned that the always recommended "set smartbranching on" actually is _supposed_ to put in goto's after then's that are going to a label 127 bytes or more "out of range", but it misses sometimes and it's a pain to track down the needed goto that's causing your program not to compile.
I now just don't use "then goto" if I know the label is close, and then later start at the top and remove the goto after a "then goto" and compile, and go through each one, and if one causes a non-compile I'll put it back, and that one big optimization pass I always do, especially when you have code over 6 4K banks like the batari Basic 1.1 DPC+ kernel lets you use. (Bank 0 is nearly all full of bB code, so there's Bank 1, 2, 3, 4, 5 & 6 to code into a 32K ROM.
It's challenging and fun to make a good game in 4K.
FLAPPY was my 2nd game in the 1.0 bB 4K size, and I went for near Activision quality and game play like Barnstorming. Barnstorming is trying to beat the clock and get a faster finish time in a course that ends. Mine is opposite in that you try to stay flapping in the air for as long as you can, and then you want to play again to get an even higher score. The difficulty speed tops out after 40 points and if you can "flap" that fast it can either be a challenge or monotonous
It's even more challenging to try to optimize and compress such small, efficient code.
But for me it's a fun hobby!