Fred 8
        Disk Magazine
      
Submitted by Dan Dooré on Thursday, May 17, 2018 - 14:56.
Download
Release Year
1991
Copyrights
Copyrights Granted
Copyright Provenance
Description
Issue 8
| Item | Author | Description | 
|---|---|---|
| Menu | Brian McConnell | |
| Magazine | Release of Klax, Video reviews | |
| Freviews | Visually, GM-Base, Enceladus 2 | |
| Magnifier | William McGugan | Enlarges sections of screen | 
| MIDI stuff | Ian Slavin | Simple MIDI software | 
| Trip-a-tron | Ian Slavin | Colour-cycling effects | 
| Notepad | Dan Brice | Text-editor variant | 
| MC pt 3 | Steve Taylor | Machine Code Made Easy - Part 3 Ports; memory paging; sprite prog/demo | 
| Ptbbitem | Brian McConnell | Continuation of pointless drivel | 
| Show report | Report of All Formats Show | |
| No Way Back | Masters of Magic | Basic Shoot-‘em-up, sequel became Parallax | 
| FREDbase | Brent Stevens | Database program | 
| Compatibles | Search: “Paul Sweeny”, Colin MacDonald | Sam-compatible spectrum titles | 
| Screen$ | Ian Slavin, Andrew Green, Allan Norton, Leon Gieriat | Pictures. | 
| FPC 3 | Results of number-ordering competition | 
Magazine
                        WELCOME TO FRED 8                      1
    1 : THIS PAGE            11 : QUESTIONNAIRE RESULTS
    2 : FREDITORIAL          12 : THE NEW RULES
    3 : THE LATEST           13 : NAUGHTY SOFTWARE
    4 : NEWS                 14 : GM_SOFTWARE
    5 : LETTERS              15 : STUCK-ON-A-GAME?
    6 : LETTERS CTD.         16 : WHAT WOULD YOU ASK?
    7 : HI-FLYERS            17 : THE EMPTY PAGE
    8 : WHAT'S ON THE BOX?   18 : PD SECTION
    9 : WHAT'S.. CTD         19 : PD SECTION CTD.
    10: CLASSIFIEDS          20 : THE END
    Q & A - UP OR DOWN 5 PAGES      ) OR USE THE
    O & P - UP OR  DOWN 1 PAGE      ) CURSOR KEYS
    SPACE OR DOT - SELECT PAGE
    C - CHANGE COLOURS
    Q - QUIT
                           FREDITORIAL                         2
  My dear cherubs , welcome to (yet!) another issue of FRED.Come
on I've got to sound posh - some very important people read FRED
- Hi Alan,Bruce and Colin,Mark,Richard (and Rob??),Nicko as well
as anyone else who happens to be famous.
  Sadly this is another issue with a distinct lack of  news  but
don't hold me to blame - it's not exactly getting to me  by  the
barrel-load (or even the bucket-load).No screenshots either  I'm
afraid to say but I'm sure I've made up for it in programs.
  A million thanks to all the program contributors , this is one
article I am getting by the barrel-load ; but don't stop!
  FRED is expanding rapidly (ie the readership is big enough  to
make or break a product!) and I am  hoping  to  develop  another
idea in the near future if thinks continue in the present manner
- yes , another bargain for the punters but I'm hoping to earn a
couple of quid as well - more details in the future.
  Obviously you are still putting up with  only  me  writing  as
I've had no complaints yet. But this issue has been put together
rather rapidly (I finish my last exam the day before this issue
goes out so you'll have to put up with me again.              CM
                           THE LATEST                          3
  Yes , the very latest - considering I am writing this  at  ten
to eight on Friday night , just before I leave  for  London  and
I'm desperately trying to fill the last two pages.
  So I guess I can start by telling you that just this morning I
received six pages for Compatibles but I  had  an  exam  to  sit
today and all the copying to do so I'm  afraid  you'll  have  to
read "The Shadow"'s bletherings next month - Now there IS a good
reason to buy it!
  I woudl very much like to thank everyone who has sent  in  the
tonne's of stuff for  future  issues!  and  to  Andy  Jones  for
helping me (check the posting place on your envelopes!!)
  I'll finish off by saying (as I've still  got  pages  16,17,18
,19 and 20 to write before I get on the train!) thank you to all
you "older" readers of FRED (not by age!) for sticking  with  me
all this time and helping me get all the new readers I've got.
  OK , I'll continue writing on another page now but  I  hope  I
see some of you tomorrow and remember -  where  there's  FRED  ,
there's hope .Meaning off course , that if I can  get  something
like FRED off the ground , then so can you.
                              NEWS                             4
  Well I'll kick off by telling you that it should be out  later
this month along with Klax (OK , so who didn't get the pun??)
  For  any  of  you  with  the  Megabyte  upgrade  you  will  be
interested to know  that  STEVE's  SOFTWARE's  SC_FILER  can  be
easily altered to use up all the memory.
  As announced at the SAMinar in December , ENIGMA were  getting
someone to do a coupe version of the AMIGA utility - AMOS !!They
had gotten all the  paperwork  drawn  up  and  the  program  was
looking good but the programmer now seems  to  have  disappeared
off the face of the earth.
  Alan Miles has recently returned from a coupe selling trip  to
Poland! Apparently it went very well and sales will pick up soon
over there.I wonder when I'll get my first Polish reader??
  Nick Roberts kindly gave me another mention in CRASH  (ish  85
p20) so thanks again Nicko.(At least some of the press have good
taste! - of course , I do as well!)
  The modem I mentioned last month was announced on the  hotline
as well as a hard drive so something is definitely happening  in
those areas. No more about the mouse as yet though....
                          LETTERS PAGE                         5
Dear Colin,
  Thanks for your FRED magazine. Its very well presented and has
excellent content. I'm responding to you plea for help: I have a
512K double drive machine and  I  would  love  to  help  in  the
production of FRED. I do a lot of programming  in  BASIC  and  I
have a quite a few programs I could contribute.  Some  of  which
are on this disk. Unfortunately I can't program in machine  code
(yet!). But I could do some of the editing of  readers  software
and write some of the editorial etc. Only dont ask me to do  any
art work. Hope this is of any help. I see you use the method  of
detecting the escape button as  detailed  in  the  Enigma  news-
letter. There is a better method, that Dr. Wright  used  in  his
demos on the DOS disk. First you have to use ON ERROR  err  then
define a procedure such as:
100 def proc err
110 beep 1,71
120 boot
130 endproc
those areas. No more about the mouse as yet though....
                           LETTERS CTD                         6
  This is better when you want to use esacape to return to the
title  program,  main  menu  etc.  because  you  dont  have   to
continualy check for escape being pressed.
  I'd better tell you about myself: I'm 16. I've had a  Spectrum
for ages and a Coupe since July '90. My main use for  the  Coupe
is for programming but I wouldn't say no to the odd game!. I  do
have exams coming up (Higher prelims) but they'll be  over  soon
and I'll be able to devote all my time to my friend  and  yours,
SAM. Long live the SAM!!!!!!
                                     Regards,
                                           William McGugan.
  Thanks William , he's sent in some VERY  interesting  programs
so I hope to include them in FRED9.
  Another one with Higher prelims eh? Yes ,  I  know  all  about
them but by know I'll have finished them  (hoorah!  he  said  in
typical Famous Five dialogue)
                            HI-FLYERS                          7
  Yes,it's back again with everyone's highest scores.....
  TETRIS,FRED3 -  DAN BRICE got 9320 with 271 lines!
  "  "    "    -  BRIAN MCCONNELL got 191 lines.
  "  "    "    -  I got 6710 with 190 lines (catching up!)
  "  "    "    -  J Hampton got 6406 with 186 lines
  SPHERA,ENIGMA-  KEVIN MILLINGTON completed it on the  22nd  of
                  December with a score of 2,076,000.
  "  "    "    -  I completed Sphera on  my  11th  shot  with  a
                  score of 2,183,000 - CM
  DEFENDERS,ENIGMA-Although I cheated I  killed  Ming  and  went
                  back to the start and finished it with a
                  superb score of 530,200! - CM
  If you've got a truely amazing score on any game or  have  any
completed it then get in touch and I'll print it.
                       WHAT'S ON THE BOX?                      8
  Well not a lot so that's why , in a  series  of  one  ,  I  am
bringing you a brief guide to what's what at  your  local  video
rental store.(if you've got a video!)
  LOOK WHO'S TALKING-15-Hilarious  comedy  about  a  baby  whose
thoughts are spoken by Bruce Willis.Great fun.
  PRETTY WOMAN-15-Great romantic/comedy film about a buisnessman
picking up Julia Roberts and her inexperience with modern life.
  WAR OF THE ROSES-15-Another fantastic comedy,not to be missed.
Shows just how far wrong a marriage can go.Don't miss it.
  WHEN HARRY MET SALLY-15-Poor attempt at  comedy,I  only  found
one scene remotely funny but it might appeal.
  THE KRAYS-18-True story about  the  notorious  gangsters,great
film but some parts are pretty gory. (which is why I liked it!)
  A.W.O.L.-18-Beat-em-up galore starring JEAN CLAUDE  VAN-DAMME.
Good film although JEAN looks more like action man!!!
  ROBOCOP 2-18-Not out yet (but I saw it in October!)  but  it's
almost as good as  the  original.The  British  version  will  be
edited though.ie. they've missed out the good bits!
  TOTAL RECALL-18-Fantastic film starring Arnie.Very original.
                       WHAT'S ON THE BOX? CTD                  9
  DIRTY ROTTEN SCOUNDRELS-PG-Another brilliant Steve Martin film
about two corrupt men who get caught at their own game.
  PET SEMETARY-18-Based on Stephen King's book,this is a  pretty
good film but only a few moments out of  the  entire  film  will
have you throwing up in disgust.Good though.
  CLASS OF 1999-18-Brilliant film about the future in education,
run by robots! It's absolutely magic,don't miss this!
  DEAD POET'S  SOCIETY-15-Robin  Williams  plays  teacher  in  a
"weird" story about school life and what pupils get up to....
  TANGO & CASH-18-Stallone is a cop who teams up with his  enemy
and blows everyone else up.Pretty naff really.
  LETHAL WEAPON 2-18-The two cops are back again and  this  time
it's better than LW1 but not what it could be.
  GOOD MORNING VIETNAM-15-Another killer of a  film  with  Robin
Williams as an army DJ with a voice for comedy and the truth.
   Well,I'll leave it at that but I hope you'll find this useful
-if you can advise on a couple of films send  your  comments  in
and maybe,just maybe i'll do another article or two.
                       CLASSIFIEDS/LINEAGE                    10
@ FOR SALE-SPECTRUM SOFTWARE. lots  of  games,  very  reasonable
prices. For list  send  SSAE  to:  PAUL  SWEENEY,   [redacted]
@ THANKS to those who offered to help with the copying of FRED.
@ I'm not exactly loaded with adverts this month so  I  guess  I
can use it to tell you that this space is free to whoever  wants
to use it .Just send your message (on disc) to me and  I'll  put
it on the next issue.
@ If you have ANY articles , reviews etc then PLEASE  send  them
for inclusion in FRED as (once again) I had to do every page  in
the magazine and reviews this month.
@ All these silly messages are just wasting away a good magazine
aren't they? No? Oh! It wasn't any  good  in  the  first  place?
Right , now I know.Oh yeah - If you want a  chat  then  I  don't
mind being phoned (just stick to the hours given on p.20)
                      QUESTIONNAIRE RESULTS                   11
  Thanks to the 13% of people who bought FRED6 for answering the
questionnaire - I've got a better idea for the next one....
  Of the people who answered it here are the results :
  1 : AGE GROUP ; 75% under 16,10% 16-25 and 15% 26-39
  2 : AGE OF COUPE ; 80% around a year,20% around 6 months
  3 : THOUGHTS ON COUPE  ;  55%  Brilliant,20%  Excellant,others
   include "not used to full capacity" and "priceless"
  4 : PAST COMPUTERS ; 55% 48K Spectrum,20%  +2  Spectrum,others
   include Amiga's,BBC's and some less well known ones.
  5 : FUTURE COMPUTER? ; 95% No,5% say another coupe!!
  6 : FAVE  TYPE  OF  GAME  ;  45%  Shoot-em-ups,20%  All,others
   include "brain games",spaceships & cars and arcade adventures
  7 : ADD-ONS ; 33% wants Megabytes,33% want Mouses (or  Mice?),
   others include 2nd drives and SAMBUS
  8 : HARDWARE WANTED ; 33% Mice others  say  "enough  hardware"
   and modems,sound samplers and hard drives.
  9 : THOUGHTS ON FRED  ;  33%  Excellant,20%  Brilliant  others
   include interesting,informative,dynamite and 8/10.
  10: PRICE ; average is - £2 , varied between £1 and £5!
                    NEW RULES ON CONTRIBUTIONS                12
  The SCPDSA have now just started up and they want to "clean up
the PD software".What they mean is that  a  contract  is  to  be
drawn if any software is donated to PD ie FRED.
  This "contract" must be on similar lines to "I , MR X ,  STATE
THAT I HAVE DONATED MY  SOFTWARE  -  DETAILS  -  TO  WONKA's  PD
LIBRARY" or whatever.It  must  be  signed  by  both  parties  ie
contributor and PD supplier .So the next time you  give  me  any
stuff for FRED , If you could write something like that and sign
it accordingly , I will then copy it twice and send one copy  to
the SCPDSA for recording.
  Sorry , to hinder you but it just keeps everything  legal  and
makes sure  no  more  little  mistakes  are  made.Remember  your
address and full details of product.
  I would like to thank the SCPDSA for all it's help and support
to FRED and I look forward to FRED being in your catalogue!!!
  "All Public Domain software contains a copyright,not  allowing
the software to be sold on a profit or  commission  basis,unless
with the consent of the author but can be distributed freely
among individuals." So there! That IS the law!!
                      NAUGHTY SOFTWARE.....                   13
  With the release of the video digitiser , I think I can safely
presume a LOT of XXX/adult programs like  strip  poker  will  be
released in the near future.I personally  have  nothing  against
such programs as long as they are of a high standard (come on  ,
you know I didn't mean it like that!) so I would like to be able
to offer a service of making such programs available  ,  if  you
have any X rated stuff then send it to me and I will put it  all
on one disc.Cost - £1.50 , £1 for my costs and 50p to producers.
  The SCPDSA state , on rules 5 and 7 that all  software  of  an
explicit nature must have suitable  warnings  and  available  to
adults only.
  To enforce this , when ordering "X1" you MUST  pay  by  cheque
and phone me just to let me hear your voice,if I am not in  just
ask when I'll be back and phone later.
  This disc IS NOT out yet but if  you  have  any  contributions
then please send them in (profits will be split equally  between
contributors).
  And if you have a strong point of view  on  the  subject  then
make a letter out of it!!!
                           GM_SOFTWARE                        14
  GM_BASE at  present  can  only  handle  250  records  so  I've
included their explanation for this being the case :
  "The limitation to 250 records has been imposed on us  due  to
problems beyond our control. Suffice to say that we have a  copy
that is configured to 1000 records which presents no problems as
far as the program is concerned, but which SamDOS does.  We  are
still talking to Andy Wright about this problem, and as soon  as
possible hope to send details of how to alter existing  programs
so that the database can handle more than the present 250 recs."
  The pair are also looking into making a masterDOS  version  of
GM_BASE but this is only a possibility.
  Not only are they doing this but they have also  started  work
on GM_CALC,the spreadsheet! "It is already at  the  stage  where
text, numeric and /or formula  input  is  accepted....It  is  at
present  configured  to  26  columns  by  15  rows,  each   cell
comprising 9 chars. The screen (mode 3) displays 7  cols  by  15
rows and the cursor keys scroll the display as required."
  Sounds pretty impressive to me! No dates but expect to see  it
fairly soon. Address on review of GM_BASE.
                        STUCK-ON-A-GAME?                      15
 In case you're STILL stuck Famous Five then  here's more.
  You'll need the stuff from the pantry and garden  (except  the
onion) .Do this by leaving some one  next  to  the  kitchen  and
getting Julian to turn on the radio and then ask Joanna for  the
gloves.Become Anne and take the  goodies.  When  on  the  island
after Timmy has gone down the hole examine the hole ,  wear  the
gloves and pull the bushes up.When the storm starts get into the
stone room until it's over .Then  eat  the  cake  and  take  the
crumbs to the tower and drop them.Take the sticks  and  get  the
paper from round the sandwiches and light it.  Use  the  burning
paper to light the sticks which will warm you up.
  Next go to the Eastern tip  of  the  island  and  examine  the
heather.Tie the rope ( from the Shed ) to the stump and go  down
to the cave.Get Dick or Julian to smash the crate open  for  the
axe.Take it and go West then  board  the  ship.In  the  Captains
cabin examine the seawood to find the cupboard.Julian can  smash
it open with the axe to find the wooden box.....
  On the crab etc on Sphera just go to the top and hold fire.
  On Futureball type ..HAPPY in the High Score table.
                       WHAT WOULD YOU ASK?                    16
  I have just managed to get the Directors at ENIGMA  VARIATIONS
(Richard Naylor and Mark Greenshields) to agree  to  one  of  my
little ideas. As I think FRED readers deserve better I  am  able
to bring the oppertunity to you to ask the  men  in  control  of
ENIGMA anything you want! Yes,just send a question or two to  me
and I will put ENIGMA on the spot for you.In the  slight  chance
that I'll get more than half a dozen questions  I'll  just  pick
the best few.By "best" I mean NOT questions like "What  are  you
releasing next?" or "Why hasn't my Sphera arrived yet?" OK?
  This is your chance to ask what you want but just make sure  I
get your question(s) before issue 9 goes out. I suppose this  is
the nearest you'll get to a competition for a good few months so
make it worth your (and mine!) time.
  I'd like to thank Richard Naylor for agreeing to this - you'll
find out next month just what he's let himself in for....
  Send your questions to me at FRED , not ENIGMA and  make  sure
they arrive during February or you'll never know the  answer  to
whatever has had you puzzling since you read this title.
  On Futureball type ..HAPPY in the High Score table.
                         THE EMPTY PAGE                       17
 and you thought I was kidding!!!!!!!! ha ha! ha ha!
                     WOT'S ON THE DISC THEN?                  18
 Firstly I can bring you the  Magnifier  from  William  McGugan.
Full  instructions  are  given  but  basically  it  enlarges   /
magnifies any part of a screen you wish.
  Dan Brice sent in this notepad proggy - on the menu press keys
A , B , C etc to load up whichever note you require . Again full
instructions are given upon loading up the  "noteA"  note  so  I
won't bother going into detailed descriptions.
  If you couldn't get your Sprite Designer to  work  last  month
it's because I renumbered it ! If you load it in then  put  this
disc in and type "merge "spritalter"" and  re-save  the  program
you should have a fully working copy .Thanks again and sorry  to
Adam Perry.
  Ian Slavin sent in a bundle of stuff here : The first  is  the
MIDI software , unfortunatly I don't have any MIDI  stuff  so  I
havn't seen it in action but the concert looks pretty good (well
, of what I've seen of it!)
  His "trip-a-tron" programs are also here.They are  brilliantly
done swirly sorts of patterns . Just load them up  (all  ten  of
them!) and watch them rotate!
                 SO WOT'S ON THE DISC THEN? CTD               19
  At this time I havn't seen it but there  will  be  an  utterly
magic game from Stuart Leonardi and Neil Holmes  on.  Called  NO
Way Back I've only heard descriptions of it over the  phone  but
it sounds totally brilliant but don't take my word for it - load
it up and see for yourself! (now where have I heard that before?
  Steve "wizard" Taylor has again  followed  up  his  great  m/c
articles but this time it's getting more complicated although he
has even programmed a little (well , not so  little!)  demo  for
you. The usual keys etc apply.
  Brian has done yet another Mad Bitty except he's found another
name for it! But I'll leave you to read it  for  yourself  .I've
had very mixed comments about this from very witty and  original
to complete crap so please let me know your thoughts on  this  -
in fact on as many different sections of FRED as possible
  Very few screens this month due to the rather large  game  but
they're all done by readers ( Leon Gieriat , Allan Norton ,  Ian
Slavin and Andrew Green).Thanks you guys
  Well that wraps up that , I don't think I've  missed  anything
but if I did - work it out for yourself!!
                             BYE BYE                          20
  I'D LIKE TO THANK EVERYONE WHO HAS CONTRIBUTED IN ANY  WAY  TO
THIS ISSUE OF FRED :
  Brian McConnell            Steven Taylor
  William McGugan            Daniel Brice
  Ian Slavin                 Brent Stevens
  Neil Holmes                Stuart Leonardo
  Colin Jordan               Dean Maile
                          FRED 9 out the first Sunday in
                          March - don't miss it!
COLIN MACDONALD
 [redacted]
                                or Weekends
Programming Competition
                             FPC3                             1
  Well , I received three entries to this one so I suppose  it's
doing better. As you may remember , I  asked  you  to  design  a
program which randomized then sorted them out.
  I have decided to winner is....William McGugan as not only was
his program the best set out but it was also by far the  fastest
as you will see.
  There were several ways of randomizing the numbers ,  these  3
all used similar methods but I knew a faster method (that I used
to shuffle cards of an old Spectrum game of mine! (card shuffler
idea copyright CM 1988!) so i have included the few lines  which
"shuffle" the numbers in approx 2.5  secs.  It  is  possible  to
lessen it slightly by changeing the FOR...NEXT loop from 100  to
around 75 which would still be pretty random.
  Dan Brice's program sorted the numbers using the exchange  (or
"bubble-sort") idea which is why it is so slow , the others used
a select-exchange routine which can prove very fast depending on
how it's coded.
  Thanks to William McGugan (the winner) and the two runners  up
(A.Thomson and Dan Brice).
                              FPC4
  Hmmm, I'm running out of ideas for these compo's fast but  how
about a scroller! You must design a scrolling  message  BUT  the
winner will be the one who uses the most obscure  way  of  doing
it. I don't mean wasteful  or  awkward  but  just  a  completely
different way from usual scrollys. Obviously it must be readable
(ie not too fast or slow and reasonably clear).
  I doubt many people will try this one but if YOU do then  send
it by March the 3rd to the usual address.
                              FPC3
                             ======
           1 : William McGugan
           2 : A. Thomson
           3 : Dan Brice
           4 : CM
           5 : FRED
Machine Code Tutorial #3
Bonjour! Mes petits choufleurs, et bienventure.
Yes, 'tis I again with part 3 (yup, THREE!) of the series. Today
we shall be looking at somethings I hope will be of relevance to
all you budding coders out there. After a short bit on ports,
we'll head straight into building a program.
But first in this 15 page bumper issue...
                          PORTS
                         ======
   Ports are the vital parts of your coupé that allow you to
talk to it from the keyboard, joystick, mouse etc. They also
allow your coupé to talk back to a printer, tape recorder etc.
   So, as you can see we need a way in machine code to control
what goes in (INPUT) and comes out (OUTPUT) from them.
   Your coupé can address 64k (that's 65536) of ports, and the
commands for doing so are pretty simple:
   IN (xx),A   ; ( must be A )
   OUT (xx),A  ; ( or B or C or D etc )
xx can be any 8-bit port number.
   "Hmmm,"I hear you cry."How do we get a 16 bit number into an
8 bit one?"
   Well, the way in which it works is quite complicated, but to
make matters easier I shall present a simple method: Firstly,
most of the useful ports lie between 0 and 255, so this ain't a
problem. For the ones that don't we simply use:
   LD BC,xxxx ; Port number
   IN (C),A
or OUT (C),A  ; ( or B or C or D etc )
OK?
For example, to set the border colour to 3:
   LD A,3
   OUT (254),A  ; 254 is the BORDER port
Simple eh?
                      MEMORY PAGING
                     ===============
   So, where is all this getting us? Well, the answer is simple:
   To help us page memory.
   Now, before I go any further, I will suggest that if you are
keen to do some coding you should get SAMCO's Advanced Technical
Manual. It can explain the paging process in more detail than I
have time or space for. But simply, there are 3 ports to choose
which parts of the 256k (or 512k) memory to wish to have present
in the CPU's 64k addressing range. Think of it like a TV -
although there are 4 (or more!) channels always going, you
select the one you want to see. In the same way, the coupé
always has its 256/512k memory there, but the processor can only
'see' 64k at a time. OK?
   Well, in order to manage this memory, the 256/512k is split
into 16/32 PAGES each 16k long. You choose which two ADJACENT
pages go into low memory (0-7FFF) and which go into high memory
(8000-FFFF). Two ports are used to do this:
*  LMPR (250 dec) - the number in this port equals the page
 number in 0-3FFF. The page following this ( 0&1, 1&2 etc ) goes
 in at 4000-7FFF.
*  HMPR (251 dec) - just as above, except that the pages go in
 at 8000 and C000
*  VMPR (250 dec) - this chooses which page(s) the current
 screen is held in.
   However, the ports don't just control the RAM pages in memory
The coupé has 2 16k pages of ROM - ROM0 & ROM1. ROM0 is present
in 0-3FFF if BIT 5 of LMPR is reset. ROM1 is present in
C000-FFFF if BIT 6 of LMPR is set. Also, BITS 5 & 6 of VMPR
select the screen mode (0-3). To sumarise:-
* LMPR      D0 to D4 - page number 0-31
            D5       - ROM0 present if 0
            D6       - ROM1 present if 1
            D7       - prevents writing to RAM in 0-3FFF if 1
* HMPR      D0 to D4 - page number 0-31
* VMPR      D0 to D4 - page number (0-31)
            D5 , D6  - MODE number (0-3)
   There is one thing to note about VMPR - with modes 1 and 2
screens, only 1 16k page is needed, but with modes 3 and 4 a
whopping 24k is required. This means 2 pages must be set aside
and VMPR holds the number of the first one. BUT this MUST be an
even number (0-31)
   For example:
   LD   A,%00100000
   OUT  (250),A
   This puts page 0 into 0-3FFF and page 1 into 4000-7FFF. It
also freezes out ROM0 to make way for the RAM pages.
   OK? Good, then lets's do....a program!!!
;           SPRITE & MASK PROGRAM BY STEVE TAYLOR
;           =====================================
;
            ORG  #6000          ;  Start address
SPRITE      IN   A,(HMPR)       ;  Get the current contents of
            LD   (HMPRSTORE),A  ;   HMPR and store them.
            LD   (SPSTORE),SP   ;  Store where the stack was
                                ;   in case we page it out.
            LD   SP,STACKSPACE  ;  Use a temporary stack.
            LD   A,L            ;  L contains the sprite's page.
            OUT  (HMPR),A       ;  Put it into 8000-BFFF
            LD   L,0            ;  H contains the sprite number.
            CP   A              ;  Clear the carry flag.
            RL   H              ;  HL now holds the sprite
                                ;  no x 512 : 512 bytes / sprite
            SET  7,H            ;  Setting bit 7 of H is like
                                ;   adding #8000 to HL. This
                                ;   makes sure the sprite data
                                ;   is in 8000-FFFF
            LD   A,L            ;  Make A=0
            RR   D              ;  A bit of maths here - the Y
            RRA                 ;   coord is in D with the X
            OR   E              ;   coord in E. Because each
            LD   E,A            ;   line on a mode 3/4 screen is
                                ;   128 bytes long we simply
                                ;   divide D by 2 to find the
                                ;   line's address. We then
                                ;   merge the spare bit with E
                                ;   for the final address in DE
            LD   B,32           ;  32 pixels length
SP1         LD   A,D            ;  This bit will check if
            AND  %11000000      ;   the sprite will go off the
            CP   %11000000      ;   bottom of the screen
            JR   Z,SP6
            PUSH BC
            LD   B,16           ;  32 pixels width = 16 bytes
SP2         LD   C,0            ;  We shall use C as a mask byte
            LD   A,(HL)         ;  Get the byte to print
            AND  %11110000      ;  Check the first nibble
            JR   NZ,SP3
            LD   C,%11110000    ;  Set the MSN* of the mask
SP3         LD   A,(HL)
            AND  %00001111      ;  Check the second nibble
            JR   NZ,SP4
            LD   A,%00001111    ;  Set the LSN* of the mask
            OR   C
            LD   C,A
SP4         LD   A,(DE)         ;  Get the screen byte
            AND  C              ;  Cut out the mask
            OR   (HL)           ;  Merge in the sprite
            LD   (DE),A         ;  Put it on the screen
            INC  HL             ;  Move on the counters
            INC  DE
            LD   A,E
            AND  %01111111      ;  Test for off-screen
            JR   Z,OFFSCREEN
            DJNZ SP2            ;  Loop back
SP5         PUSH HL             ;  We add 112 to DE to move down
            LD   HL,112         ;   a line. The result goes into
            ADD  HL,DE          ;   HL but EX DE,HL switches
            EX   DE,HL          ;   round the registers again.
            POP  HL
            POP  BC
            DJNZ SP1            ;  Loop back
SP6         LD  A,(HMPRSTORE)   ;  Restore everything to what
            OUT (HMPR),A        ;   it was on entry
            LD  SP,(SPSTORE)
            RET                 ;  Go bye-bye
OFFSCREEN   DEC B               ;  We've already done INCs for
            JR  Z,SP5           ;   this part of the loop
OFF1        INC HL              ;  Move on the counters without
            INC DE              ;   touching the screen for as
            DJNZ OFF1           ;   many times as necessary.
            JR  SP5
HMPRSTORE   DB  0               ; * NB. MSN and LSN stand for
SPSTORE     DW  0               ;       MOST significant and
            DS  14              ;       LEAST significant
STACKSPACE  DW  0               ;       nibbles.
HMPR        EQU 251             ;       ( 1 nibble = 4 bits )
   Phew! Don't worry, it doesn't take long to type in. In fact,
I'm so generous I've supplied it already coded ( PRESS 'D' FOR
THE DEMO ). It is located at #6000 when you assemble it, but you
should make sure you put in it the space after the second page
of the screen. ALSO, when you call it, do this first :-
1. Disable interupts by using the command DI
2. Page the screen into 0-7FFF so that the sprite routine will
   be at 6000
3. Make sure the page no. (0-15) of your sprite data is in L
4. Make sure the sprite no. (0-64) is in H
5. Make sure the X coord (0-127) is in E
6. Make sure the Y coord (0-191) is in D
OK?
   Your sprites should be 32*32 pixels in size (16*32 bytes).
You can use any colours for them except palette 0. Any nibble
that is 0 is not printed; instead the background is shown
through. This effect is called MASKING and prevents a horrible
block appearing around your graphic.
   To prepare your sprites I suggest you draw them with FLASH.
Once you've saved your screen, write a small BASIC program to
load in the screen and then GRAB all the sprites in turn. Once a
sprite has been GRABbed into a$, POKE a$(3 TO) into memory. Then
save this data.
   That's about it for this month folks. If you have any queries
problems ( preferably m/c related ) or a routine to blow my mind
feel free to write to me at :-  [redacted]
and I'll try to reply on screen.
   This is just a (very!) simple demonstration of my sprite
routine. If you want to use the routine in your own programs
feel free, but note that it MUST be located in the spare 8k in a
page after the screen which must be paged in from 8000 onwards.
   The demo uses 2 screens - the one we can see and another back
or dummy screen. For every frame it clears the dummy screen,
adds on the sprites and the logo and switches VMPR to point to
this screen ( the other screen is now the dummy ). Although this
uses twice the memory, it is a useful trick if you need fast,
flicker-free animation.
   If you fancy disassembling the program code, it lies at #8000
and works without interupts, so be careful if you use
breakpoints - don't enable them before continuing.
                #------------------------------#
                I  PRESS ANY KEY FOR THE DEMO  I
                #------------------------------#
