PROGRAM PITSTOP
Your Sinclair, May 1990

Pitstop paves the way yet again! Direct from the smelliest
bed in Kent, Jonathan Davies presents, among others, the
program all you SAM owners out there have been waiting for
- it makes your Speccy games compatible! Hooray!!

You'll have to excuse me if my typing's a bit scruffy this month - I'm
writing this in bed. It's a bit tricky with all the wires and things,
and the darkness makes seeing what I'm doing a little harder than
usual, but there's nothing like the warmth and security of one's own
duvet to contrast with the hardship of academic life. Anyway, I'd
better get a move on as it's nearly lunchtime.

First up this month we've got a real cracker - not only Pitstop's very
first SAM program, by Richard Bagnall, but also a pretty nifty
procedure to get your "incompatible" games working on the new machine,
courtesy Richard Webb. Then there's the first part of Malcolm
Goodman's triff loading routine. It's a miracle!

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

SAM STUFF

Da-daaa! Here it is - the first ever SAM Coupe program to appear in
Pitstop. An historic occasion indeed. The only slight snag is that I
haven't a clue what it does. Being an impoverished student means that
ownership of an actual SAM is something realised only in my dreams.
Thus I haven't actually been able to try the program out.

It looks good, though, as it should do coming from Richard Bagnall. It
appears to put on some kind of a graphical display, so type it in and
do whatever you have to do on a SAM to get it running. Once you've
done that, wait for the counter on the screen to reach zero before you
come to any conclusions.

  10 REM SKY WORMS SAM COUPE ONLY
  20 REM ORIGINAL IDEA BY D.P. ALLEN
  30 RECORD TO a$
  40 DIM r(3): LET r(1)=10,r(2)=22,r(3)=30
  50 DIM d(3): LET d(1)=-1,d(2)=1,d(3)=-1,b=4,yos=-18
  60 DO
  70 FOR f=0 TO 4 STEP .02: LET a=6.3*f/4
  80 LET x=96+64*COS a+27*(COS a*COS (a*b)-SIN a*SIN (a*b))
  90 LET y=96+64*SIN a+27*(SIN a*COS (a*b)+COS a*SIN (a*b))
 100 PEN 7: PLOT RND(255),191
 110 PEN b-3: CIRCLE 255-x*.6,y,r(1)
 120 PEN b: CIRCLE x,y,r(2)
 130 PEN b-1: CIRCLE 255-x*1.35,y,r(3)
 140 SCROLL 4,16
 150 PRINT #1; AT 1,0; INT((7-b)*400-(f*100))
 160 FOR g=1 TO 3
 170 IF r(g)=6 OR r(g)=35 THEN LET d(g)=-d(g)
 180 LET r(g)=r(g)+d(g): NEXT g: NEXT f
 190 LET b=b+1: LOOP UNTIL b>6: RECORD STOP
 200 CLS: FOR f=1 TO LEN a$ STEP 23
 210 BLITZ a$(f TO f+22): SCROLL 4,16
 220 NEXT f: GOTO 200

And if you thought that was impressive then just take a gander at
this. Behold - the procedure to get all those non-compatible Speccy
games up and running on your SAM. Incredible but true. Apparently
Richard Webb wasn't too happy about only being able to run half his
collection on the new machine, so, being an enterprising sort of chap,
he set about solving the problem. And here's his solution.

All that's needed, he says, is a standard
Speccy and a couple of blank tapes ...
1) Turn on the Spectrum and save its ROM to tape by typing:
   SAVE "SPECCYROM" CODE 0,16384.
2) Load the Emulator program into the SAM and press the ESC key when
   prompted to "Play Spectrum tape now".
3) Load the Spectrum ROM into the SAM by typing:
   LOAD "SPECCYROM" CODE 65536
4) Add the following lines to the Basic Loader program -
 55 LOAD "SPECCYROM" CODE 65536
135 SAVE "SPECCYROM" CODE 65536,16384
(To speed up loading, add DEVICE T35: to the start of line 100.)
5) Find the blank tape to save the final version of the Emulator program
   onto and do so by typing RUN 100. (Do not rewind the tape when finished.)
6) Turn on the Spectrum again and type in the following Basic program -
10 RANDOMIZE USR 0.
7) Save the program to the tape after the new version of the Emulator
   program by typing SAVE "ROMRUM" LINE 10.
8) Reset the SAM and load the new version of the Emulator from the start
   of the tape by pressing F7.

You should should now possess a standard Spectrum wrapped up in an
endearing Coupe case. 48K Speccy games can be loaded by typing LOAD ""
(J, Sym P Sym P in case you've forgotten already), and you should find
that about 95% of them work. The ones that don't are probably a bit
crap anyway. Brilliant or what?

Of course, it may not be within your capabilities to surpass the
brilliance of Richard's humble offering (although who knows?) but if
you've got a SAM and you've come up with a juicy little program then
do drop me a line. Perhaps by then I'll have wangled one for myself.
(Fat chance. Ed)

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

VARITURBO (part 1)
by Malcolm Goodman

Loading routines have always been popular in Pitstop in the past, so
here's another one. This time, as well as just turning the border
funny colours and making things move a bit faster, Malcolm Goodman's
effort loads things in at two different speeds at the same time.

The only trouble is that it's so long I've had to split it into two
with the Basic bit coming first. By all means bash it in and save with
SAVE "VARITURBO" LINE 10, but sadly you're going to have to wait for
the June issue to key in the rest. Ho hum. [Part 2 was actually
printed in the August issue. JimG]

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.

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


BREAKOUT
by David Robertson

Nothing's more annoying, I always think, than those people who find it
amusing to wait until you've finished your latest masterpiece and then
press Break and muck about with it. Well, apart from the teaspoon you
always find at the bottom of the washing-up bowl when you tip the
water out, maybe. And adverts on telly that start off looking as
though they're going to be really exciting, and then turn out to be
for some kind of investment savings insurance plan. But I can't think
of anything else.

David Robertson has come up with the solution this time, in the form
of a couple of lines of Basic that, once run, will generate a block of
code that can be saved out and incorporated into the program you want
to protect. Once you've got the code in memory, calling it with
RANDOMIZE USR 60000 (or wherever you've chosen to put the code - it's
relocatable) will lock out the Break key and cause any other error to
crash the computer. Be careful how you use it, though, and make sure
you RANDOMIZE USR whatever after using Load and Save.
