I decided to change to use a reflected playfield and drop the updating of PF0 for the upper platforms. PF0's still used to draw the horizon as well as the lowest platform.
Doing this means the snowman can always drop down on the left and right sides of the level. It also adds an additional constraint to the kernel in that you must update PF2 at cycle 48 in order for the left and right sides of the screen to be different; however, it frees up 12 cycles per scanline in the ice and platform kernels as well as 18 bytes of RAM.
While I hadn't yet look into adding the melt trail or carrot nose, I did add a demonstration of vertically moving platforms. To maintain a stable image this requires the height of two zones to be changed - one increasing while the other decreasing by the same amount. If you look closely you can see some motion blur on one of the platforms in the above image.
Blog entry covers November 11(PM), 2007