This patch allows the player to have reversed gravity. Included are two gravity blocks and two UberASM for levels for gravity controlled by on-off blocks and gravity controlled by controller button presses; read the readme for more details.
All the versions included in this patch are not working.
The controlled_gravity seems to double-trigger, the on_off_gravity softlocks the player and the blocks turn Mario invisible. I changed the freeRAM because I am using the SSPs, but there is definetly something wrong with this.
I'm not certain what might have caused it, but the controlled_gravity version included seems to not function properly. The ON/OFF block version functions correctly and perfectly. But even on a clean ROM the controlled_gravity version will double trigger every time that I press any button that I assign to change gravity, such that Mario does an odd flip in place that clips through ledges and gravity remains whatever it was beforehand. As a result, it is impossible to ever switch gravity, only maintain whatever gravity direction it was before. My theory is it has to do with the freeRAM interaction, but I'm not entirely certain, my debugging was not conclusive.