Ok so I have an ASM that wants to check if you bonk your head so I want to read $77 and check if the up bit is set but when I run my code the accumulator is always set to 0 when I do a LDA $77 no matter what the actual value of $77 is, I checked the memory in real time and even when standing on the ground the value is always 04 in the memory as it should be but the accumulator still always returns 00 for some reason.
At this point I have the code running all the time and even on the ground it returns 00 which confuses me.
I'm basically trying to have diagonal up pipes, so far the code is just a custom block I put in with GPS, after some testing with someone else I figured that code is ran after the STZ $77 and before it sets the value every frame.
That is the case except in one edge case when I hit the slope helper block in the middle of the 2 slope ceiling blocks in which case $77 is 08 as expected at that moment and then it does what I want.
For reference I'm just throwing the value in the coin counter which does increment my coins as it should when it works.
I'm guessing I'm gonna need to learn uberASM to just store the value somewhere else for what I need.
EDIT : I was also trying to debug this with the block on the ground and just being in the block which is why I had the code with the 04 that was just to try to know why $77 wasn't working which then always returned 00 no matter what I did
EDIT 2: fixed my problem by hijacking some code to read the value when I needed to