This patch reduces the width of the "static camera region" (the range where the screen doesn't scroll left or right by the player) to a single pixel, removes the auto "look ahead" feature in smw and makes the screen always centered with the player (ignoring L/R scrolling, but still has the reduced "static camera region").
Update: Added a newer version (with the old version in case you want it) that makes the screen tightly follow Mario vertically (the vertical scroll area is also reduced to a single line) when you set the vertical scroll to "vertical scroll at will". This is more ASM-flexible. See readme for details. And also allow the bottom 16x16 row to be seen (both).
Another update: Also include a non-instant-scroll to prevent player-warp glitches.
v3.2 update: Fixed a crash on vertical levels due to a hijack at $00F77B.
v3.3 fixed a missing SA-1 [|!addr] at line 324, which caused the screen shaking issue (or snapping scroll on Bsnes+) on SA-1 vertical levels when using the non-instant scroll.
v3.4 fixed a broken compatibility with LM v3.20 and v3.21.
Tested with: Lunar Magic 3.20, asar 1.71, SA-1 1.32, Snes9x 1.60. Works fine, so accepted.
This update didn't change anything in the code but fixed an issue with Lunar Magic 3.20 and 3.21 (a certain code was changed in 3.20 so an hijack has to be moved in this patch). Note that this version is not compatible with earlier versions of LM (<= 3.11). If you need it, you can grab Center Scroll 3.3 from the version history.