Name: | Reverse Gravity |
Author: | MarioE |
Added: | |
Version History: | View |
Tool: | Asar |
Requires Free Space: | Yes |
Bug Fix: | No |
Featured: | No |
Description: | 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. |
Tags: | gravity lorom physics reversed sa-1 upside down |
Comments: | 21 (jump to comments) |
Download
4.59 KiB | 1,289 downloads
Comments (21)
In order to flip gravity in your code, use JSL $location; modify the !flip_gravity defines in the included ASM.
And people end up overlooking this, and forget to change the !flip_gravity define.
That aside, I dislike this method either, since every time the patch is reapplied, that output address that is displayed in Asar tends to change. It'd be much better if the patch made a simple dummy JSL hijack in a fixed spot, thus making it not necessary to keep changing the damn ROM address define every time.
If you wish to use the controlled_gravity.asm version of this patch, remove lines 34 and 17 to make it work as intended.
If you wish to use the controlled_gravity.asm version of this patch, remove lines 34 and 17 to make it work as intended.
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 share the same sentiments, I tried using this patch, specifically the On/Off Gravity, but every time I would hit an On/Off block, the game would crash.
This is a cool idea, I just wish it worked.
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.
!flip_gravity = $909BC2
main:
LDA #$80 ;disable jump
TRB $16
TRB $18
LDA $16 ;check A and B buttons
BNE flip
LDA $18
BNE flip
RTL
flip:
LDA $7D
EOR #$FF
BEQ flip2
JSL !flip_gravity
STA $7D
RTL
flip2:
RTL
Did you look at the address it gives you when you apply using asar? That is the address used by the gravity blocks. Therefore, its default address is invalid, copy that code and paste that address as "!flip_gravity".