PROGRAM PITSTOP
Your Sinclair, August 1990

What!? No, it can't be. It is? Cripes ... Well, potty proggers,
it seems you've finally hit the jackpot - Variturbo is BACK! 
Hurrah! (Well, it made JONATHAN DAVIES smile at least. Gave us
the shock of our lives.)

That was quite a curry I got through last night. I can't remember what
it was called, but it was great.

Incidentally, I do hope they've come to their senses over my new
photo. Andy "Street Hawk" Ounsted's helmet doesn't really go with that
shirt at all. And anyway, I couldn't see anything wrong with the old
"photo booth" job. Which reminds me, the lease on the photo booth
expires this week, so I'll be looking for new accommodation. I had my
heart set on a rather spacious telephone box just round the corner,
but then I found out it was phonecard-only. Always the way.

But on with the show, and I'll just have a quick rummage in the
postbag. (Rummage.) Nya ha! Here, at last, is the second half of
Malcolm Goodman's Variturbo. Well worth the wait I can assure you. And
what's this? A fab masked sprite routine, no less, from the amazing
Rick O'Neill, wittily titled (or perhaps not) Maskulinity. (Help! I'm
beginning to sound like Barry Norman.)

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

MASKULINITY
by Rick O'Neill

Right, hands up who knows what a masked sprite is. Hmm. Well, perhaps
I'd better explain. You see, the trouble with ordinary sprites is that
they tend to leave a trail of devastation behind them. Move them over
a background of any kind and they'll tend to muck it up completely.
Not so with masked sprites. These little devils cunningly keep a copy
of whatever they pass over and replace it when they move on. They also
have the advantage that you can see through them, where appropriate.

This is where Pitstop veteran Rick O'Neill's handiwork comes in. He's
done all the hard work for you, and has come up with a complete
masking package which even boasts its own demo.

As you might expect, getting it going isn't going to be easy. On the
face of it, this one looks like a straight "type in the Basic, save it
with SAVE "SPRITE" LINE 9800, and then type in the hex using the hex
loader and save that after the Basic" job. And indeed it is. Do so,
run it and you'll find yourself staring at the wonderful demo routine.
This, however, is just a taste of things to come. The next step is to
do your own thing with it, a much more tricky feat altogether.

The first step is to define your sprites, and store them in memory.
They're stored upside-down (it sez 'ere), a row at a time, with two
bytes for the sprite being followed by two bytes for the mask each
time (the mask shows which sections of the background are to be
blanked out and then restored each time the sprite is moved). The
program also needs to store a copy of the background screen, so plonk
one at any address that's a multiple of 256 by doing RANDOMIZE USR
33316 (or 33327 if you've already stored one). The best way of doing
all this is to make use of the relocation routine in the Basic
program, which should explain it all miles better than I ever could.

Then poke in the X and Y coordinates and the sprite number (check out
the Basic once again for details) and RANDOMIZE USR 32768 to set the
ball rolling (or alien, spaceship, elephant or whatever).
Alternatively, machine code fans can call Start Address + 4, with IX
holding the address of the sprite information. The format is
x-coordinate, y-coordinate, sprite number followed by three bytes used
for information about the last sprite printed.

And if you can work out what's going on there you probably ought to be
contributing to Pitstop yourself.

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

VARITURBO (part 2)
by Malcolm Goodman

[see the May'95 ZIP file for the full program.  JimG]

Cor blimey - here, finalement, is the missing half of Variturbo.
What's that, you ask? Well, it's Malcolm Goodman's corking
saver/loader routine, that's what.

The massive list of numbers beneath is the hex, which should be typed
in with the hex loader and saved after the Basic you typed in before.
While you're at it, Malc informs me of a couple of minor modifications
that need to be made to the Basic. In line 650 change 65250 to 65200
(twice), and in line 670 change the 65250 to 65200.

Once you've done this, the rest should be simple. The Basic program
contains all you'll need to manipulate the routine to your heart's
content. On running it you'll be given a demo to show you what's what,
and then you'll be prompted for the various parameters the program
needs to save your own code for you.

The results are impressive, so get to it.
