When DRIP runs, it produces no messages or other signs of its activity, installing itself inline with INT 8, the clock interrupt. It remains totally dormant until SCROLL LOCK is depressed, then remaining active until SCROLL LOCK is depressed again. When active, each time the clock interrupt executes (about every 1/22 second), it decrements a timer value which is a pseusdorandom value of varying maximum limit to see if it DRIP is due to run. If so, it examines the screen memory to locate a character on the screen which has free space beneath it. That character is moved downscreen until it either falls off the screen entirely, or encounters another character in its fall and comes to rest over it.The result is that randomly selected characters on the screen appear to 'fall off the screen'.
The interval between activations of the program is a pseudorandom function with a maximum value which decreases by a half every 64 characters moved, so that by the time a few hundred characters have been moved, it is running reasonably continuously.
DRIP is capable of moving one character on the screen at a time. However, for a variation, DRIP may be run more than once, installing a copy of itself each time it is run. The result is that there will be a maximum number of simultaneously moving characters equal to the number of installed copies.
|