I can't really tell the proper name for this effect, this one just sticked when we refered to it back then when it was new. I remember first seeing it on "virgill dreams" musicdisk and some weeks later I coded and optimized it up while sitting at geometry class (luckily leunam was by my side taking class-notes ;) to use it for "trashcan issue #4 english edition" when entering and exiting articles.
Anyways, how is it coded? Well you need some setup to try your hand at it... ingredients:
1. Whatever color picture you have around, just make sure it's less than 128 colors so you have a bitplane free.
2. A 320x256 greyscale picture, with some white and some black parts, and greys in-between.
3. A color palette with first 128 colors for the picture and later 128 colors with black.
4. A 256 color copperlist, so that you show the picture and a zeroed area for the last bitplane.
Now enter a loop for each frame:
1. get current frame number (CFM from now on)
2. enter a pixel loop, reading from greyscale picture (8bit/pixel) (G value) and writing to 8th bitplane (1bit/pixel) (P value)
3. sub CFM from G and...
4a. if result is negative, set P = 0
4b. if result is positive, set P = 1
5. plot P
Now, plotting value 0 means the scren pixel remain between 0 and 127, so it uses the normal palette... but plotting value 1 means the pixels goes above 128 which are all black colors... voilá you have a water wipe!
Optimizing the routine...
1. Don't plot each pixel separate, but accumulate 32 pixels into a register and then "move.l" into the bitplane... this optimises step 5.
2. Instead of accumulating the pixels into the register by plotting into it at different bit-positions, plot always at the same bit-position... this optimises step 5.
3. Find some way to relate the "sub" from the grayscale image to the calculation for value P... this optimises step 4.
4. Find some way to combine the optimisations for step 4 and 5.
5. Find a way to use the effect against a ham screen instead of a paletted one... remember that all you need is a way to make the pixels invisible. this way you can also use the routine for paletted 8bpl screens.
Reachable goal: when properly optimized, the routine can take only 2 instructions per pixel, which is speedy enough for running it fullscreen on 030/28 machine I tested it on.
Some places you can see this effect used:
.
virgill dreams musicdisk by essence
.
synthesis by network (in true "oh shit we can't fade a superhires ham8 picture" style ;)
.
extralife by abyss (gorgeous grayscale maps for the effect)