I think some of the KEY_ constants are not mapped correctly. I added a .proc to wait until all controller buttons are unpressed in this repo:
https://github.com/jeffythedragonslayer/lorom-template-with-waitpadup
Here is the control flow when holding down, and then releasing each of the buttons.
START loops at wait_button_start, then fallsthrough the rest
SELECT(back) loops at wait_button_select, then fallsthrough the rest
A loops at wait_button_b, then fallsthrough
B fallsthrough everything
X loops at wait_button_y, then fallsthrough the rest
Y fallsthrough everything
LEFT loops at wait_button_up, then fallsthrough the rest
RIGHT loops at wait_button_right, then fallsthrough the rest
UP loops at up, then fallsthrough the rest
DOWN loops at wait_button_down, then fallsthrough the rest
RBUMP fallsthrough everything
LBUMP fallsthrough everything
Tested on Mesen-SX with an XOTICPC GX7 gamepad. Also, I suggest renaming these constants to BUTTON_
I think some of the KEY_ constants are not mapped correctly. I added a .proc to wait until all controller buttons are unpressed in this repo:
https://github.com/jeffythedragonslayer/lorom-template-with-waitpadup
Here is the control flow when holding down, and then releasing each of the buttons.
Tested on Mesen-SX with an XOTICPC GX7 gamepad. Also, I suggest renaming these constants to BUTTON_