Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- THE BLOB MANIP:
- In action: https://cdn.discordapp.com/attachments/104346010041458688/581991381330034688/2019-05-26_01-32-38.mp4
- This only works if a bomb trigger is used to start the fight and there is no music.
- There are four sword slash sounds. Slash the sword until one of sounds 2 or 3 occur,
- then hold the sword. The quick kill will work, assuming positioning is correct.
- Sound 0: https://cdn.discordapp.com/attachments/104346010041458688/582625747521503235/sword_00.wav
- Sound 1: https://cdn.discordapp.com/attachments/104346010041458688/582625766601392163/sword_01.wav
- Sound 2: https://cdn.discordapp.com/attachments/104346010041458688/582625773811400715/sword_02.wav
- Sound 3: https://cdn.discordapp.com/attachments/104346010041458688/582625778739707935/sword_03.wav
- HOW IT WORKS:
- RNG depends on the frame counter [ffe7], the LY register [ff40], and the previous RNG
- value. LY (the current scanline being rendered) is fairly consistent when there's no
- music, so we need not worry about it. (Although it's possible that slight variance in
- LY could cause occasional failures.)
- The blob always checks RNG when [frameCounter]%4 == 3 (maybe mod 8?). Bits 0 and 1 of
- the frame counter will affect the blob's decision. But since those bits are
- consistent, we only need to "prepare" the RNG value accordingly.
- The sound the sword makes depends directly on what the current stored RNG value is.
- There are four distinct sounds, which tell you what the current value modulo 4 is. The
- lowest bit will be discarded since there's a "shift right" operation, but we can still
- influence bit 1, the second lowest bit. This is why sword sounds 0/1 and 2/3 act the
- same.
- BROADER APPLICABILITY:
- What this manip does is it affects the lowest bit of the RNG, meaning it can be used
- to force 50/50 decisions one way or another. But the circumstances are very specific.
- LY becomes extremely variable when music is playing, making it unlikely that similar
- manips could be done in other situations.
- The blob's frame rule, where he always checks RNG while the frame counter has
- a particular value, is also important. This might not be uncommon, though. Many
- animations in link's awakening depend on the frame counter, rather than an internal
- timer. Try freezing the frame counter [ffe7] to see how messed up everything gets.
- ROM addresses:
- 00:2812: "Get RNG value" function
- 15:525e: Blob decides whether to disappear
- RAM addresses:
- 1:d368: Write here to play music
- 1:d369: Write 00 here to stop music
- ffe7: Frame counter
- fff3: Write here to play a sound effect
Advertisement
Add Comment
Please, Sign In to add comment