To pause buffer the trick, we frame advance with pauses and buffer inputs from the pause screen.
Lets start with frame advancing.
To put it simply, this means starting from a pause screen, unpausing, and then pausing the game again (ideally) on the next frame. We do this by using the B button to unpause and pressing + or - immediately after to repause.
It takes some practice but it can become consistent, though trying to advance single frames can be a little tricky — if you go one frame long and press B and + two frames apart it usually isn’t a big deal, but if you go one frame short and press B and + on the same frame, you will end up simply unpausing the game and will generally kill the attempt.
One way to avoid this is by pressing B followed by + and then -, so that if you hit B and + on the same frame, - serves as a fallback. This can work quite well, but it can’t really be used for pauses where you intend to reference the map screen.
Another useful practice is to only aim for single frames when you actually need it. For most of this trick, two frame advances work just fine.
Now for buffering inputs.
We can hold certain inputs on the pause screen and have them execute on the first frame after unpausing. Combined with frame advancing, we are able to emulate a string of frame perfect inputs. This combination is pause buffering.