OPTION STRICT forces the user to declare any variable used in the program. For example, if you use OPTION STRICT and then use A=2, it will give an error. To fix this problem, you replace A=2 with VAR A=2 to declare the variable. OPTION STRICT is often used in complex programs, with all the variables being declared at the beginning of the program. Strings will also be affected by OPTION STRICT.
You might want to do BGMSTOP -1 which forcibly stops all audio (for example if a user-defined instrument was set to never release and just kept on playing forever).
You may also want to specify thr number of sprites and backgrounds for the top screen in the XSCREEN. VISIBLE shouldn't be necessary as that is handled by ACLS.
Any particular reason you're making the graphics screen pop-out?
Thanks, that's exactly the kind of answer I was looking for!
I use GPRIO at the beginning because I don't plan on changing its value in the game.
What's the point of limiting the number of sprites and backgrounds?
A certain number of sprites and backgrounds are allocated to the bottom screen by default if left unspecified. I forget exactly how many, but that's bitten me unexpectedly before. So if you want to use all of the sprites and backgrounds on the top screen, you'll have to specify that.