Ah I see you've increased the resolution there Zparticle, the speed is faster than blitz2d and maybe blitz plus for sure, I don't think that Bmax is fast enough to do this at 640 X 480 as it's running too slow to use in a demo here, however good job on converting it to Bmax, you've kept the integrity of the original effect intact.
On cool maps, basically all the cool map does is to provide a value to cool each pixel as it travels up the screen. In my original code and the one you converted, it does this by plotting some points and then doing several anti-alias blur passes on the fire to make a nice map to scroll up at the same rate as the flames. Each frame the corresponding pixel to the fire particle is darkened by the value in the corresponding map.
You could draw your own map using something as simple as microsoft paint, load it in and read each pixel, then blur the map a bit. This way you can contain words or pictures in your flames if you like.
As far as the warp map goes, it involves linear texture mapping if you want to do it properly. The whole screen is divided into an imaginary wonky grid, with each square of the grid being affected by some sine value, you texture map the imaginary wonky squares into a straight grid pattern, done recursively this gives a nice flow effect with swirling flames.
Texture mapping the screen like this is far too slow for Blitz2D or even Blitzmax I would guess at 640X480 so you can get some quite satisfactory results with some careful use of sine tables on the fire buffer.
It's funny that you should pick now to convert this code to Bmax as I've been busy writing a freebasic version, I will release the source when I've finished the effect. If you are interested in doing pixel pushing like this at higher resolutions then you'd be far better off using C++ or Freebasic instead of Blitz.
I've included the freebasic exe for now to give you a speed comparison.
Nb. This effect is very, very unfinished at the moment and will look wuite different when it's completed.