
I had to look up Axelay vids on Youtube to remember just what the effect looked like
Looks to me that it isn't perspective correct, more like those "melting screen" tricks used in the early Amiga demo scene stuff. Replicating it depends on a number of factors. What are you programing with (language, DirectX, OpenGL, etc.), game screen resolution, and target platform (modern PC, old Pentiums, iPhone, etc.)
Simplest way if useing Direct3D/OpenGL is to use the 3D hardware to render it for you. 3D model is a stack or grid of quads with either verticies or U/V texture cords modified to reflect the look you want. Then just useing the hardware U/V texture offsets to 'scroll' through the landscape.
If you are comfortable with math you could render the screen out tile by tile by verticaly stretching/shrinking each tile respective of where it fits onscreen...easy with hardware support for this, more difficult if you roll your own routines to do as such. But with modern hardware and even a resonable screen resolution you shouldn't need assembly to do this either.
Another way is to treat the scrolling backgrounds as a bunch of sprites 1 pixal tall and as wide as the background need be. Number these sprites in sequence, say from the top of the background to the bottom. And if you draw these sprites onscreen in a linear fashion, sprite 0 at the top, sprite 1 is one pixel below that, sprite 2 is 1 pixel below that, etc. You end up drawing the background as a flat surface. However if you instead follow a sine wave or a spline instead of a linear function as you "walk" along the Y axis. You can end up with something approximenting the effect you seek.
Hope this helps
