From my inspection of the code, I believe the jump length and height is a constant. Just a single table is used to define the path. What changes is the starting x position of the first jump as it comes out the left side of the screen. It's a random value from -8 to 7. The rate at which they are spawned increases with each level. Level 5 and above are the same as level 4.
Thanks Perry! That's basically what I assumed: within a level there's just a phase shift as variation. One question I would have: is the random number distribution (approximately) uniform, or is there an intentional non-uniform distribution. I was wondering because one startegy guide I found assumes two types of springs. But that may be just a coincidence.
I would have some more qustions about the other enemies, but let's wait with that until I've done the hammer, so I know if I even have memory left to make the enemies more flexible.