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
#------------------------------#
