I'm not hating you, I was only asking that few points.
Also now that I take a closer look to the code, let me make you some fast improvments as suggestions:
You make one menu loop for each menu option (3 loops in total); that's bad but I'll not blame you for that (because in the past, I also did that lol).
Also each time you move the cursor you clean the whole screen with an
ACLS which causes the screen to go black for a few moments while it loads the same GRP again. I recommend you to remplace this
ACLS with a normal
CLS, so the text gets remplaced with the newer one according the cursor while keeping the GRP.
About the 3 menus, I'll make just only one looking similar to this:
CUR=1
LOAD "GRP4:BREAKB",0
SPSET 0,8,112,279,170
SPOFS 0,0,3,1024
SPSCALE 0,2,2
SPSET 1,128,0,32,32
SPOFS 1,170,15
SPSCALE 1,2,2
SPSET 2,160,0,32,32
SPOFS 2,60,15
SPSCALE 2,2,2
SPSET 3,192,0,32,32
SPOFS 3,270,10
SPSCALE 3,2,2
@MENU
CLS
IF CUR==1 THEN LOCATE 6,9:PRINT ">TELEPORTER"
IF CUR!=1 THEN LOCATE 7,9:PRINT "TELEPORTER"
IF CUR==2 THEN LOCATE 23,9:PRINT ">BOMB"
IF CUR!=2 THEN LOCATE 23,9:PRINT "BOMB"
IF CUR==3 THEN LOCATE 35,9:PRINT ">SHOVEL"
IF CUR!=3 THEN LOCATE 36,9:PRINT "SHOVEL"
IF CUR==1 AND BUTTON(2)==32 THEN GOTO @TELE
IF CUR==2 AND BUTTON(2)==32 THEN GOTO @BOMB
IF CUR==3 AND BUTTON(2)==32 THEN GOTO @SHOVEL
IF BUTTON(2)==8 AND CUR!=3 THEN INC CUR
IF BUTTON(2)==4 AND CUR!=1 THEN DEC CUR
WAIT 1
GOTO @MENU