Fred 29
Disk Magazine
Submitted by Dan Dooré on Friday, May 18, 2018 - 17:13.
Download
Release Year
1993
Copyrights
Copyrights Granted
Copyright Provenance
Description
Issue 29
| Item | Author | Description |
|---|---|---|
| Menu | Andy Monk | |
| Magazine | Days Of Sorcery, Spritemaster Released | |
| Letters | Games Master Show Report | |
| Screens | Stefan Drissen | F29 Retaliator (PC), Leisure Suit Larry III (PC), Space Quest III (PC) |
| Scads Mk II | Glen Cooke | Compiled Version Of Fred 25 Demo |
| Sprites | Stefan Drissen | Article+Demo Of Fast Sprite-Placing |
| Compo Time! | Details Of Monster Fred Compo | |
| Spaceworm 2 | Ben Wyatt | Sequel To Spaceworm Game (Never...) |
| Mc Pt 20 | Steve Taylor | MC 20 Sprite Routines |
| Music Demo 2 | Martin Mckenzie Richard Fox |
Music demo from Enigma Tape Magazine |
| E-Tunes | Andy Monk Craig Turberfield | Music Done On E-tracker |
| T-Eml! | Duncan Marsden | Extra Levels For Triltex Editor |
| Mouse Progs | Ben Wyatt | Progs For Mouse Owners |
| Spell Bug Fixer | Fix Bug In Spell Master | |
| Bounce | Hydrex | Bouncey-Patterny Thing (!?) |
| Snail Race | Ben Wyatt | Shock! Horror! Gambling In Fred! |
| Hang Man | Chris Ainsley | Classic School Time-Waster On Sam |
Magazine
BM The First FRED of '93
Yeah, yeah, Happy New Year. Some of the more sadistic readers
among you may be amused to hear that as a result of wandering
around Dundee for most of 31st December/1st January, I'm now
left with a b*****d of a cold and have just about forgotten what
it felt like to be able to breathe through my nose. In fact, I'm
beginning to wonder what the concept of "taste" is all about as
well. Funny the way mushrooms suddenly become edible as soon as
the sniffles start isn't it?
So. Has anybody else managed to make New Year's Resolutions? Or
is it only us Scottish sorts that bother? My New Year's
Resolution - decided upon at 1:24pm on 1st January when I woke
up - was to stop drinking so much. It lasted until 7:30pm on 2nd
January, and wouldn't really come very highly in the "Top 100
Feats of Willpower".
In case anybody's interested - small six-week-old dogs barking
constantly from 9am onwards are NOT among the more advisable
hangover cures...
BM Blah Blah
Hum. Telly was a bit poor this year wasn't it? Apart from Monty
Python's Quest for the Holy Grail there was nothing even close
to being worth learning how to work the video for. Oh no, wait a
minute - there was the Queen's Speech! Yay! 10 minutes of
non-stop action, a tense plot and some superb scenery. Smashing
stuff, ho ho ho.
It has to be said that the most memorable thing about this
Christmas was cheerfully "singing" (ahem!) the first verse to
"Always Look on the Bright Side of Life" from Life of Brian at 1
o'clock in the morning in the middle of Dundee along with some
Australian I met up town and whose name I have no idea
whatsoever.
By the way, for Christmas I got an enlargement of the cynicism
and sarcasm glands, which explains the past couple of pages...
CM Colin's Editorial Contribution
Hi there! How you all doing? Hope Brian is taking good care of
you. Yes? That's good to hear. (Too right - Brian).
A brief run-down :
You should have received (or be receiving shortly) a mailshot
from West Coast Computers Ltd with some good news. It's all
explained in this so if you haven't got it yet - just be patient
We couldn't arrange the Wop Gamma demo for this month - but it
is being worked on and should be ready for next month.
Blue Alpha Electronics now have their phone line installed and
the number is [redacted]. Phone before sending anything in.
Rumours are afoot about an imminent take-over of a SAM
magazine.. possibly more news in the newsletter.
CM Bad Boyz
Over the last month or two, I've had numerous letters of
complaint about two "companies" : the SCPDSA and the SCPDU
magazine. Many of you have sent in money and have not yet
received the goods you paid for.
Steps have been taken to sort both of these problems. The SCPDSA
is, as previously announced, effectively dead - although steps
are being made to arrange a refund or replacement. The SCPDU
magazine issue 5 has experienced delays (6 months ????) and
anyone due it should have received it by now. If you haven't
heard anything from them in a few weeks write to me at FRED
saying what you are owed and when you paid your money and I'll
do my best to get it sorted out.
If any other SAM people owe you money - get in touch because
something can be done about it.
CM Hints...
Firstly, Frank Kirby tells us how to fix the bug in the phone
program back on FRED27. The first statement in line 290 is CSIZE
&C , &8. The C should be changed to an 8, hence it should read
CSIZE &8 , &8.
Charles Williams explains a few little problems he's had with
the different disc drives. A 1 Meg Drive has a yellow or green
light and a 2 Meg Drive has an orange or red light. If you have
a 1 and a 2 Meg drive, the 1 Meg drive should be in the left
hand side. If you use High Density discs, the second hole on the
discs should be covered up when using 2 Meg drives.
ED's NOTE: Ha! Look at that ↑↑↑ - and he accuses ME of
leaving huge spaces! What a nerve.... - BRIAN
CM Chrissy Cards
Thank you very much for all the Christmas cards that everyone
sent in. Things were too hectic to send any cards in return - I
apologize. The cards have long since been taken down but I can
remember most of the people that sent one in...but if I've
missed you out, I'm sorry :
InterPrint Pat Spencer Stuart Burton
Format Derek & Maureen Morgan PDC Copyprint
ZAT Team Stefan Drissen Paul Jenkins
Phil Glover The Barnes-Lawrences Chris Bailey
Nicholas Bay Andy Penny Mairi Ross
Mik Martin Kevin Davies Ian, Zeb & Morton Q
Martin Scholes Graham (0269)
Once again, a belated Merry Christmas and a Happy New Year to
everyone - especially those listed above.
I hope that all FRED readers and SAM users worldwide will have a
prosporous 1993 (I don't care about anyone else!)
CM Brummy Show
Friday 4th December - suddenly remembered I was supposed to be
in Birmingham the next day. Rather than taking 36 hours for the
trip up and down, I caught the train (not so expensive with a
railcard) meaning I only had to leave at 10.45 pm instead of 8pm
or whatever - time for a drink or two....
I had to change at Crewe at 4.30 am so I had to choose between
getting some sleep and hoping to wake up by then - or taking the
safe route by staying awake. Incidentally, in this time I
re-read Clive Barker's "Cabal" which I can recommend to any fans
of light-horror. For the first THREE WHOLE HOURS of the journey
there was some daft Irishman teaching 8 kids how to sing Irish
songs - if I ever see him again, I'll ram a whole Scottish song
book down his throat..... no offense to the Irish of course...
Fine, half four in the morning, 3/4 of the way through Cabal and
I had to sit an hour and a half in Crewe. Great! At this point
my stomach decided that I was starving - and there was a Casey
burgers shop with lights on! Up I went only to find it shut!
CM Brummy Show!
6am and it's time to catch a train - about time too!! Burger
shop was still closed. Just as the train was pulling in I saw
someone walk up to the Burger shop and find it's doors shut.
"poor guy" I thought. And then as I was about to get on the
train, all he did was knock on the door, wait for someone to
come and then he went in and got served! Aaarrggggghhhh.
Anyway, my ticket was for Birmingham New St which is in the
centre of Brummy. The voice over the tannoy said that the train
was continuing to Brummy International - just next to the
MotorCycle Museum! So I risked the extra 1/2 hour only to fall
asleep after 20 minutes and only woke up just in time to leap
from the train (literally!).
Well, a whole 10 minutes sleep did me the world of good for the
day, I don't think. Derek Morgan came along and helped out with
the stand (as well as flogging his stuff) so I appreciated that
more than he realises - thanks Derek, and thanks to his wife
Maureen for the lovely sandwiches (or "butties" as they called
CM Brummy Show!
them!?)
Nothing exciting happened at the show. There were 4 SAM stands
: Supplement, BetaSoft, Format and FRED. People in attendance
were (if my memory serves me well) : Andy Wright, Ian Slavin
(AXE....you know!), Bob Brenchley, Carol Brooksbank, Dave & Jean
Tonks, Andy Wright, Simon Goodwin, Marc Broster (did PD stuff on
the coupe WAY back), Charles & Martin from the Wirral Users
Group, ..... and ...... and ...OK, so I know there were other
people there that I met but I've forgotten your names - sorry!
OK, 4pm arrives and after realizing that I had a train in the
centre of Birmingham at 4.45 and it takes 30 minutes by train to
get there (from International...remember?) so I was relying
rather heavily on the hope that there would be a train sitting
there waiting for me to get to New Street. I was in luck, just,
I jumped on the train and mere seconds later it pulled off.
Unfortunately, I scared myself to death after I realised that my
train left New St in 25 minutes and I was still 24 minutes away!
CM Brummy Show!
Then, pot luck, (better than a pot noodle anyday) just as I'm
about to run off the train in search of the one to Dundee the
conductor announces that "British Rail are sorry for the delay.
This train will be continuing to ...,.... , .... , ..... and
terminating at Dundee". BINGO!
I eventually got back home by midnight to enjoy a VERY good
night's sleep!
Incidentally, the GamesMaster show was on at the same time and I
did plan to pop in - but after seeing the queues I decided
against it! Turns out 75,000 went to it that day....! A
GamesMaster Live report might be coming FREDs way soon.
[Indeed yes; there's one in the Letters section! - Brian ]
As a result I lost a lot of money, a lot of time and a LOT of
sleep - I'll have to think carefully about any future shows!!!
BM News
There's only really a bit of software news this month. First
of all, a couple of adventure games; Days of Sorcery is one of
them, and as you can probably guess from the title, it's a
fantasy type environment, with something to do with being the
King of England in the Dark Ages. A text and graphics
adventure, the little I've seen of it so far is really quite
impressive, and adventure fans will probably find it well to
their tastes. The address to write to for more details is:-
Nigel Kettlewell,
[redacted]
The second adventure game is called Day Dream, and is by a team
called Eureka Software. It was written using SAS - the SAM
Adventure System.
BM News
The game is apparently intended as "an introduction to the world
of Adventures" but even hardened addicts should find it well
worth the effort (is there such a thing as an adventure game
addict do you think?). Day Dream is basically about you, the
player, waking up one morning to find yourself only four inches
tall - you've then got to roam about your house trying to get
back to normal size. Whether or not romantic liaisons with Cindy
dolls (or Action Man dolls - no sexism in FRED!) are part of the
game I don't know, but it's a thought isn't it? I bet you can't
hide inside postboxes and shout at passers-by who consequently
alert the emergency services who then find nobody trapped inside
after all, and decide to take the passer-by back to the station
for a good kicking... Ahem. But enough of that. The game costs
£4.50, a reasonable enough price, and can be purchased from:-
[redacted]
BM News
We'll possibly have reviews of those games next month. Maybe not
though (I do like to commit myself don't I?).
Next up is a utility from somebody who claims to be the
reincarnation of King Herod. Well. Not quite. He does claim to
be called Matthew Collins though, and to be honest I think he's
probably telling the truth there. So, brownie points for
integrity and we haven't even got round to mentioning the
program!! (Er, I think we've got a small reality problem here,
Brian. Slap! - CM) Ah, right. Sorry. The program is called
Spritemaster, and far from being about the author's suppressed
desires to dominate sprites (Slap! again - CM) it is to help in
the creation of sprites for your own programs. You can buy this
for £6.95 from:-
ORB Software,
[redacted]
BM News
We'd have a review of Spritemaster this month, but due to
technical difficulties, erm, we don't. Next month we will.
Probably.
Lastly on the news front this month is a double package from the
newly formed Pheonix Sofware. Run by Dave "Not Involved In Too
Many Things At Once, Honestly" Ledbury, their first venture into
the cut and thrust world of international morris dancing (sorry,
games publishing) features two games from somebody from Poland -
a member of ESI in fact - so they're going to be well programmed
at the very least. According to the little propaganda leaflet
thing supplied by Pheonix, the two games are Craft, a
challenging puzzle game for all ages, and Snake Mania, where you
must guide a snake round a maze eating "pills". Phew. And they
said "Ebeneezer Goode" was subversive. Lummey!
I can't remember off-hand just how much this package costs, but
since it's a proper commercial release it's probably in the
region of £12 or £13 or so.
BM News
Just to be certain though, you'd maybe better write to them for
details. The address? Why of course:-
Pheonix Sofware,
[redacted]
The final bit of news is that Dinosaur Jr are playing some gigs
in the UK next month. Yes!! A brilliant band if ever there was
one, and I'd recommend that you all get tickets NOW! I'm not
sure what venues they're playing, but they are doing Glasgow
Barrowlands so if anybody lives remotely near Glasgow, you now
know what to be doing on the night of February 20th. As an added
bonus, there's an easy to enter FRED competition! Detials on
the next page....
BM News
All you have to do to win a free copy of FRED is to approach me
and loudly announce "You're as soft as s***e you are! Now are
you going to hit me or what?" Don't worry if you can't recognize
me immediately, just keep trying until you find me! A clue: I'll
be looking very hard indeed, wearing large steel capped boots,
with a tattoo on my arm, plus I'll be bald and tall and built
like a tank. Okay? That should make things easier...
That's it for the News section. Just talk amongst yourselves
until the next page.
Hold on. I better not leave a space this big after what I said
to Colin on page 5 or he'll get some sort of revenge. Hmm. I
know! To fill up some space I'll tell everybody about how one of
my old teachers managed to break his own leg playing golf! That
would take up a couple of lines wouldn't it?
Nah, maybe that wouldn't work. Oh well.
BM Give Us Your Money
Not really a genuine page this, it's just that Colin and I spent
rather a lot of money on alcohol this Christmas, and we were
wondering if any of you might like to send in some spare cash to
restock our bank accounts...?
Used notes are preferable, especially those of the larger
denominations...
CM : You're pushing it now - especially after Page 5.
BM Grumble, Grumble
Does anybody else ever get really annoyed by these programs
where they give "unbiased" opinions about computer addiction? I
do. They always get very sad people on them as well:
- Why do you like computer games then, you young typical
teenager who happens to be severely backward?
- Dur, 'cos I get to like, KILL people... Hur, hur, hur, hur.
- And how often do you play these games?
- Only about 14 hours a day, not too much
I mean, it's hardly representative of the computer owning
population is it? To be honest, I think all the fuss about
addicted game-players is a load of crap. Maybe people do become
addicted, but the way I see it there's a specific type of people
who become addicts, and these types are the sort who are going
to become addicted to anything - drugs, booze, tabs, whatever.
As for the stories about the loonies who kill people because of
computers... Honestly. I may be wrong, but chances are they
weren't completely sane in the first place!!
BM I Can't Be Bothered Writing Any More
Nup. 'Fraid that's your lot. Oh, wait a minute. I've still got
to do the magazine contents. Oops. Oh well, here they are.
SCAD Demo is the compiled version of the demo that appeared on
issue 25. The keys are QAOP and space.
For all you budding machine coders, Stefan Drissen has written
an article about the fast placing of sprites on screen, and is
accompanied by a short but impressive demo where the author
invites you to watch Lemmings multiply! And you thought FRED was
a family magazine...
COMPO is about the biggest competition yet seen on the SAM. Dare
you read it to find out about the hundreds of pounds worth of
prizes? Or are you a wet dishcloth?
Spaceworm 2 is another wormy game where you must collect the
flashing pellets while avoiding the mines. Keys are the usual
QAOP and it even lets you play in your favourite colour!
BM Stuff On The Disk
MCode Part 20 is the 20th part in Steve Taylor's epic machine
code tutorial series. This is also on sprites (spooky
coincidence pt I) and is also accompanied by a demo (spooky
coincidence pt II - the Revenge!), and again like the other
article this month, this one is also best avoided by those who
don't have a clue about machine code (spooky coincidence pt III
- Son of Coincidence!).
Music Demo 2 is a music demo, a fact which we didn't quite
manage to disguise in the title. It's the followup to the
Enigma demo on FRED22 and is also from the ETM boys - there's a
short plug for their game in the Letters.
ETunes consists early versions of 3 out of the 12 tunes in the
brill Revelation game Wop Gamma. Tunes by Andy Monk. Also just
in are two tunes from Craig Turberfield - Sound Machine winner!
T-EML! Is yet more levels for Triltex freaks. Created by Duncan
Marsden, you can play them by loading them into the editor (26)
BM Maintenant, Contents du Disk
↑ Nice bit of improvised French eh? Ahem. Right. Next up is a
collection of software bits and pieces for use with a mouse.
They don't work without a mouse at all, but people with a mouse
should enjoy it. Done by Ben Wyatt.
Adverts. Actually, adverts has been taken over this month by a
group of fanatic Fruit Liberation activists, and consists
entirely of a selection of moving speeches about torture
inflicted upon innocent tomatoes by fascist accountants in
Basildon. Honestly. It has. No joke. Straight up, guv.
Bits 'n' Bobs consists of four programs : a Spell Master bug
fixer - just merge the line into the AUTO file and resave it.
Bounce (by Hydrex) is an interesting little ..bouncey..thing.
Hangman - just type in your word when it loads then get someone
else to come in and type letters in trying to guess your word.
Snail is a brilliantly addictive racing game. Instructions are
available when it loads up. There you go - TWO games this issue
(and both in BITS N BOBS!!)
BM Wieviel Taschengeld Bekommst Du Die Woche?
Roughly translated, that means, "How much pocketmoney do you get
per week?" and is about the only phrase I can remember after
three hard years of German. Just magnificent isn't it? And
infinitely useful as well....
Colin's just told me that he's got some 256k expansions in
stock, but before ordering them you should give him a phone to
check availability.
Any good game designers out there? Well, FRED Publishing is
looking to releasing a driving game with a twist of strategy,
and we need somebody to establish what it's going to be about.
Send in your game outlines and general ideas to the usual
address. There might even be some cash in it for some lucky
reader whose outline is used!
BM Credits
Editor: Brian "Immensely Talented" McConnell
(in case you forget) Ha Ha Ha Ha Ha Ha : CM
Thanks to:
Ben Wyatt Hamish Rust
Steve Taylor Stefan Drissen
Glenco Software Cookie
Duncan Marsden Xtreme Software
Colin Borland Jupiter Software
Hydrex NOJ
Chris Ainsley
FRED Publishing Tel: [redacted]
[redacted] (sensible hours please!)
Turn over for some
nice music reviews >>>>>>>>>>>
BM Album Time Folks!
Yes, they're back. After a mysterious disappearance of a whole
month, the reviews are back in force. This month:
--++--
Mudhoney - Piece of Cake
Jesus and Mary Chain - Psychocandy
Take That - Take That and Party
Bodycount - Bodycount
Superchunk - No Pocky For Kitty
--++--
Is Psychocandy the key to that void in your life? Will Bodycount
reach the parts that other albums were too shy to ask about?
Read on, and find out...
BM Mudhoney - Piece of Cake
Despite fears that this, their first corporate album, would be
all soft and whirly and soft, I'm pleased to say it's not. It's
really quite raw, to be honest. And there are a couple of good
digs at techno which you have to hear to appreciate. At 46
minutes, it's a little better than some of their earlier
offerings (not mentioning any names though, Mr Superfuzz
Bigmuff...).
There aren't really any outstanding tracks, it's one of those
albums you listen to whilst doing something (like writing FRED,
for example). It's good to listen to though, and despite the
very poorly drawn cover - something which is very important, you
understand - I'm going to give it 7 out of 10.
Take That - Take That and Party
Yeah. Sure this would get anywhere NEAR my hi-fi! Ha.
BM JAMC - Psychocandy
Okay, okay, maybe it is 8 years old, but I just got it for
Christmas, okay? And blinkin' great it is too! I can't help
wishing I'd bought it earlier now, because it really is superb.
There are 15 tracks on it, and it's somewhere over 40 minutes
long. I don't know exactly how long, but a reasonable length.
Anway onto the content. The production is well, pathetic, to be
honest, but rather than detracting from the overall effect it
enhances it no end. The tunes are so unbelieveably poignant and
perfect, at the same time as being covered in feedback.
Listening to some of the songs, you can't help just sitting
there feeling all happy and content. This is sounding a bit
silly now, but it's true! Lovely music.
I'm really not surprised this was considered one of the Albums
of the Decade in the Eighties - it's supreme. 10 out of 10.
(Yes, I did mean 10!).
BM Bodycount - Bodycount
Come on now. Hands up all those who haven't heard about all the
controversy surrounding this artist/album? Ice T's thrash metal
band seem to have quite successfully "annoyed the poo-poo" out
of many a guardian of public morals with this offering. Many of
these type of things tend to be drowned in the hype, but this
album's really quite good.
53 minutes long, with 16/17 tracks depending on which version
you get (some have an extra track on, God knows why), this is
pretty good in the value for money stakes, even if half of the
tracks do consist of nothing more than "meaningful" quotes about
black persecution. I know it's an important political issue,
but if I want to listen to the evils of racism I'd record the
news... I wish people would leave politics out of music, or at
least make it a little less intrusive.
This is an album that really needs to be played very very
loudly - ideally at just a couple of decibels below the pain
threshhold - to be best appreciated.
BM Bodycount - Bodycount
At quiter levels it's good, but it dos lose a lot of its
appeal. Provided you're prepared to annoy the hell out of
parents/neighbours though, a brilliant album, otherwise just a
good one; 8 out of 10.
Superchunk - No Pocky for Kitty
A typical American Indie band are Superchunk, complete with
tracks that don't seem to have any tune to them until about the
fifth listen, at which point they all start to sound incredible!
Not a long album, unfortunately, but a very very classy one
indeed, which in my book renders it still well worth buying.
Superchunk were one of those bands hotly tipped by some to be
"the new Nirvana" (along with about a hundred others). It's
fairly safe to say that that turned out to be a load of rubbish,
and Superchunk are still nearly as obscure as they were this
time last year, which I have to say is a good thing too; there's
nothing more annoying than when virtually everybody on Earth
BM Superchunk - No Pocky for Kitty
claims to be a fan of the same band, and the 12-year-old girls'
magazines like Smash Hits start featuring that band on the cover
every month! It makes it quite embarrassing to actually like a
band like Nirvana.
But that's enough of that. No Pocky for Kitty is a fantastic
album once you've listened to it quite a lot, and I think
deserves 9 out of 10.
--++---
I may as well fill up this space by asking if anybody reads this
section? If so, please write in and say so, just so I know I'm
not wasting my time. Just a quick mention will do, in a PS or
something, just a "Yes I read the music bit". That's all.
Please...?
Und jetzt, wir sind fertig! Auf Wiedersehen!
Oh - just get another page out of it, is it Brian? Try to con
Colin eh? Think you can put one over on me? Dead Wrong : CM
Letters & Reviews
BM Contents
01 - Yes, this contents page
02 - Letter from Ian Jolly
05 - Gamesmaster Live - Show report by Marc Broster
12 - Letter from Barry Spencer
14 - Letter from Michael Nicholas
16 - Letter from Philip Powell
17 - Ooops...
Letter From Ian Jolly
Dear Colin,
First and foremost, a big thankyou for compiling the best SAM
mag around. It is definitely without peers. I also applaud your
decision to make "donations" to your contributors and £2 per
issue is more than a reasonable price.
One small grumble though. As you are now my sole contact with
the computer world, I would appreciate you publishing dates of
computer shows a couple of months in advance to enable
arrangements to be made etc etc (ie I didn't know about Haydock
until too late).
CM : Nice to see you appreciate hard work!! The price rise seems
to have gone down quite well considering... and the contributors
are over the moon with the extra pocket money!!!
Show dates? sorry - can't help. Unless you turn the page.....
Show Dates
January 17 Birmingham - Motorcycle Museum
23 Washington - Northuumbria Centre
24 Leeds - Univ. Sports Centre, Calvery St
30 Nottingham - Jesse Boot Centre, Univ.
February 6 London - Novotel, Hammersmith
7 Cardiff - Univ. Union, Park Place
13 London - Sandown Park, Esher
14 Birmingham - Motorcycle Museum
20 Haydock - Haydock Racecourse
21 Glasgow - City Hall, Candleriggs
27 Hemel Hstd - Dacorum Pavil, Marlowes
28 Bristol - Brunel Centre, Templemeads
March 6 Leicester - De Montfort Hall, Granville Rd
7 Leeds - as 24 Jan
20 London - as 13 Feb
21 Birmingham - as 17 Jan
27 Haydock - as 20 Feb
Show Dates
April 3 Edinburgh - Appleton Tower, George Square
4 Glasgow - City Hall, Candleriggs
17 Nottingham - Jesse Boot Centre, Univ.
18 Birmingham - Motorcycle Museum
24 London - Sandown Park, Esher
25 Bristol - Brunel Centre, Templemeads
May 1 Washington - Northumbria Centre
22 London - as 24 Apr
29 Leicester - De Montford Hall, Granville Rd
These are the latest dates I could find for the all formats
fairs. I cannot guarantee attending ANY of them because every
show this year has lost me money and I can't see them getting
much better. However, give me a ring just to check if you want.
Alternatively, ring Format on 0452 412572 who are much more
likely to be attending shows.
Gamesmaster Live Review Marc Broster
4th, 5th, 6th December '92
National Exerbition Center (Near Birmingham)
£6 per person
Being a MegaDrive owner as well as a SAM person, I was aware of
the Gamesmaster show from ads in MegaDrive mags, it all looked
very nice, Virtual Reality, that game with 'laser' guns, and
lots of arcade machines. Smart! I persuded a mate of mine to go
as well, we ordered tickets, and off we went.
The show was okay I suppose. It consisted of a selection of
stands for all the major software and hardware producers, a
large retail area, a virtual reality area, a Quasar (The laser
gun thing) 'dome', a free play arcade (where there were a
selection of arcade machines rigged up so that you didn't have
to put any coins in), a large area that was meant to look like
the games rig off Gamesmaster, and a few other things.
In theory, the show would be great, you could wonder around,
play all the latest games, have lots of free credits on the
arcade machines, try out Virtual Reality, and pick up a bargin
in the retail area. However, the only real problem was that
there were about 9 thousand other people all wanting to do the
same thing.
I went on a Saturday, so I expected it to be busy. At the start
of the show, it was okay, there were only a few people around,
we spent some time on the arcade (Which wasn't particularly
good, as they didn't have many up to date machines), had a go on
the Nigel Mansel Experience, a racing car simulator (Which was
okay).
However, by about 11.30, it had just got rediculus, as there
were so many people around. There were massive lines for the
Virtual Reality and Quasar, and as they moved so slowly, we
didn't think it was worth waiting. The retail area was seriously
packed out, however, I did have a go on a Neo Geo beat'em up,
which was good, and I saved a few quid on a MegaDrive joypad.
Myself and my friend had a quick look round the rest of the
show, but it was too busy to try out any more games. Fortunatly,
I had noticed some All Formats Fair signs on the way to
Gamesmaster, as the National Motorcycle Museum is right next to
the NEC, so we decided to escape the Gamesmaster show, and go to
the All Formats Fair.
We had planned to walk to the Fair, but after a few minutes we
realized that would be a bit silly, so we returned to the NEC
and took a taxi to the Motorcycle museum. Now, taxi's are good
value right! I won't have a word said against them. The five
minute jorney only cost us £2.50 each way.
The all formats fair was okay really. There were plenty of cheap
stuff on offer, and more importantly, a group of SAMs had been
set up! Yay!
I spent an interesting half hour talking to Dave Tonks, editor
of the Supplement, and Colin, Fred ed. ZAT and Format were also
there, but it was a bit of a shame that SAMCO hadn't suddenly
reformed and made an apperance at the show.
I also enjoyed trying to teach a fellow Sam owner how to use the
VMPR, and ended up totally confuseing him, Sorted! or rather it
wasn't. I quite enjoyed the All Formats Fair, but I wouldn't say
it would be a good idea to travel a long way to get to it,
unless you want to buy a new PC or something.
We then had to return to the NEC in order to make our way home.
I quite enjoyed the Gamesmaster Show, and I was pleased I could
make it to an All Formats fair, but I suppose I could of made a
lot more out of the Gamemaster show if I had planned my day
properly. Here's some guide lines on what to do:
Brog's guide to Gamemaster Live Shows
1) Arrive incredibly early. The show was meant to start at 10am,
I got there for 9.40, and they were letting people in already
and there seemed to be quite a few people in the building
when I first went in. I think it would of been best to get
there for 9am, to be one of the first in.
2) Carefully plan what order you want to do things. If I had
known it would be so busy, I would of headed straight to the
virtual reailty, then quasar, if the queue wasn't too big.
Then hit the freeplay arcade until things start to get busy.
3) Be really nasty on the freeplay arcade. Chosse a less popular
machine, a typical shoot 'em up of some sort, get a friend on
player two, and stay on it for as long as you can. I found
that people will only start to get really irritated when
you're up to your tenth credit.
4) When the freeplay arcade starts to get too crowded, leave,
and have a very carefull look around the rest of the show,
especially the retail area. Okay, so it may take half an hour
to cover 50 metres, but it's worth it, as there's some real
bargins to be found. Make sure you cover every stand in the
show, so that you don't miss anything.
5) Try to grab as many leaflets and handouts that you can, most
of it will be useless, but you occcansionly find a good
special offer. Make sure you pick up the free Street Fighter
2 carrier bag and show magazine from the entrance when you go
in, the carrier bags's usufull for putting leaflets in, and
the show magazine's quite good.
6) If you buy anything make sure you get the telephone no of the
place where you brought it from in case it dosen't work when
you get home.
7) After you've had a good look round, and it's still busy, get
out of the show (I think you can get a passout ticket to let
you get back in again) and have lunch outside the main
Gamemaster show, and do something else for an hour or two.
The NEC has it's own train station, so you can easy go into
Birmingham for a bit if you wanted.
8) Two or three hours before the show is meant to close, go back
in and try out all the things you couldn't be bothered to
line up for when it was more busy.
9) Arrange to leave the NEC a good while after the show was
meant to finish, as you will probally be able to stay on for
a good half hour before they chuck you out.
Now that I'm more experienced, I would definetly like to
go to the Gamesmaster show next year, if there is one, as I
would be able to get a lot more out of it.
Letter From Barry Spencer
Dear Colin,
I am writing concerning your reply to the Dyzonium review by D
Marsden (I wrote the more complimentary one). In your comments
you stated that line vectors had never been done on the SAM
before. This isn't actually true, though few SAM users have
probably seen the first instance.
This was on Enigma Tape Magazine's SAM Music Demo 2. I have
transferred the demo from tape to disk and included a copy for
you. It's an old demo, but still well worth looking at. It
starts with ported ST graphics and finishes with various
graphical effects including the aforementioned 3D line vectors.
The music is from various Spectrum 128k games and can be
selected using key 1 - 8 and the space bar.
Letter from Barry Spencer
If anyone's interested, Hamish Rust and others from Enigma Tape
Magazine have coded an excellent puzzle/arcade game called
"Snare" which will be released by BEYOND BELIEF sometime in
January. This has already been reviewed by the Speccy mags and
received 90+ percent ratings. The game has a SAM compatible
version on the B side.
Happy hogmany,
Barry Spencer
BRIAN:- Thanks for your letter Barry, and thanks also for the
demo. Just so that everybody else can enjoy the line vectors,
the music demo is on this issue of FRED.
Does anybody else know of any line vector demos which can claim
to be the first on the SAM?
Letter from Michael Nicholas
Dear Colin,
May I congratulate you on producing such an excellent product as
"Etracker". I have never seen such a well presented manual, it
has a unique professional look that will give the program a
clear selling advantage.
The program is straight forward and allows a beginner to produce
simple tunes, but a more advanced person to produce complex
tunes with all six channels of sound.
What you need to do now is to make a Sound Machine convertor
which will allow people to convert their sound machine files
into Etracker format. As you may know the sound machine has
clear disadvantages compared with Etracker. A disadvantage is
that the music and wave form creators are in seperate programs
which can be annoying. Also, the Sound Machine files take up far
too much memory (even when compressed)!
Letter from Michael Nicholas
Another idea for an addition to the Etracker program would be a
music to notes convertor ie convert sound from the ear socket on
SAM to proper 6 channel note form.
My aim is to produce an ear socket frequency limiter for the
SAM, this would only allow certain frequency ranges of music to
be recorded, thus allowing a perfect recording! This would be
really cheap and easy to make.
Have a happy new year,
Michael Nicholas
BRIAN:- This is just one of the many letters we've been
receiving from satisfied Etracker users. Etracker is now
released, as is Waterworks, by the way, so feel free to send in
your orders!
Some good ideas there Michael - perhaps in the future something
will come of them...?
Letter from Philip Powell
Dear Sir,
I've been making enquiries about a game called Deus Ex Machina.
If you could publish this letter, perhaps someone somewhere
knows where I might purchase the above game. I know it's a
pretty tall order, as it was a long time ago that it was on the
market, but I thought it might be worth a try. Perhaps someone
has a copy and would be willing to sell me theirs...?
Keep up the good work with the magazine.
BRIAN:- Well. You heard the man! Anyone with information
regarding this game should get in touch with us and we'll pass
it on to Philip.
Letter from Craig Turberfield
Happy '93 all you FREDy-type people!
Hope this year that FRED continues to be fab or get even fabber.
I can safely say that E-Tracker is "rather" good. If only I had
more time to mess about with the instrument and ornament editors
more, there good be some really great effects produced on such a
flexible piece of software. Well done ESI etc etc
Hope you like the tunes. The first one's called CAMEL 'cos when
I hear it I think of a lonf line of camels plodding along the
desert. The second one is called PURSUIT and I did it yesterday.
See Ya, Craig "The Bird" Turberfield
CM : Great tunes Craig - sorry about the delay but I'm glad you
like it. Both your tunes are on this month so perhaps other
ETracker users would like to tell us what they think of Craigs
first two tunes???
BM Oops
There are no reviews this month due to certain technical
difficulties - to be perfectly honest, I dropped my SAM on the
floor by mistake, it hit off the TV remote control and the
letter "A" broke off. I know it's a very poor excuse, but I'm
really starting to get VERY VERY ANNOYED WITH THE DAMN KEY...
Sorry about that. Reviews will return next issue, once I've
glued the key back on properly.
OK Brian - enough's enough. Get it sorted out. Remember folks,
FRED30 will be out mid-February (depending on Brian) and costs a
mere, measly, unjustifiable, petty £2. Wow! And it might even
have some earth-shattering news..............
Sprite Routines
Cokes, fantas and 7-ups.
========================
The SAM Coupe is a brilliant computer to program, a lot of
brilliant programmers have been doing this, but not enough. I
see programming as tackling problems in a manner so that the
solution is as fast as possible. The software market for the SAM
isn't exactly what I'd call competitive and therefore I feel
that ALL programmers should share their darkest secrets and show
other programmers how they solved a certain problem. Hopefully
the synergy effect will occur whereby the combined efforts of
all members is greater than the sum of the individual members.
As a "side effect" the SAM software library should grow
significantly as should the quality of the software produced.
Just in case you were wondering, this is a small article about
sprites on the SAM. First let me explain something about the
necessity of speed. Have you seen any games written with
Gamesmaster (or SCADs for that matter), you may have noticed
that the sprites look blurred when they move. This happens
because the sprite routine isn't completed in one frame. You may
also have heard Cookie ranting on about one frame instead of
three in his Entro 2, what does this mean? Well, animation is
simply fooling the brain (via the eyes) into thinking something
is moving. If something is animated at fifty hertz (times per
second) the overall result is smooth, the trick works. However
at speeds lower than 50Hz, the trick isn't pulled off properly.
At 25Hz the eye sees an image in one place for a moment and a
bit later in an other, this bit later is too far away from the
first, giving the effect of two images at once and thus blurring
the sprite.
I'm not too pleased with my explanation, but it is true. For
example take a look at Bats 'n Ballz, a brilliant piece of
coding by David Gommeren, all the sprites move smoothly and are
clearly defined. Parallax is another example, nice crisp sprites
once again. Those are the results of working within one frame.
Secondly take a look at Defenders of the Earth, beautiful
graphics, but what a shame about the blurred sprites, this is a
classic example of not getting everything done within one frame.
Dyzonium also doesn't make the one frame deadline, which wastes
a lot of the time put into designing good looking sprites.
What is the moral of the story then? Make sure you write a fast
piece of code. Not very helpful am I?
There are at least two ways of writing a piece of code, a slow
way and a fast way. It depends on what you want to optimize, if
you are worried about lack of memory, feel free to write crafty
complicated code. If it's speed you're after then it'll cost you
memory, speed and memory usage are intertwined.
Example time, to fill a block of memory starting at HL with 128
bytes worth of 15s you could:
LD B,128 7 7
LOOP: LD (HL),15 10 1280
INC HL 6 768
DJNZ LOOP 13/8 1659 (127*13+8)
total: 3714
That is the standard way, it doesn't cost much memory and is
relatively slow. The numbers behind the instructions are the
number of t-States required to execute that instruction. One
t-State is one clock tick of the crystal connected to the Z80
(in SAM's case about 6MHz). This is not the real speed due to
memory contention and other nasty things, but it gives
comparable results.
LD D,H 4 4
LD E,L 4 4
INC E 4 4
LD BC,127 10 10
LD (HL),15 10 10
LDIR 21/16 2662 (126*21+16)
total: 2694
The above routine is about 35% faster than the first one, but
we're still making use of loops. An LDIR instruction is also
a loop, but an internal one, inside the Z80.
Now a routine without loops, costing more memory.
LD D,H 4
LD E,L 4
INC E 4
LD (HL),15 10
LDI 16
LDI 16
LDI 16
... (another 124 LDI's)
total: 2054
This last routine is nearly twice as fast as the first, and it's
in this way that the SAM can best be programmed. The number of
t-states required for each instruction is listed in Programming
The Z80 by Rodney Zaks, an ancient Z80 bible dated around 1980.
This is all leading up to the sprite routine. A sprite
routine's main task is to copy a block of data from once place
in memory to another in video memory.
Before we go into the actual sprite routine there's something
else I would like to explain. The SAM Coupe has the choice out
of 16 pages of memory to display to the screen. (8 on a 256k
SAM) When working with one screen the annoying thing is that
while you are working the TV scan line is constantly updating
the screen. This means that the scan line might just come along
while you were clearing a sprite, and thus showing the
background on the screen instead of the sprite. This gives a
"nice" flickering effect.
Wouldn't it be nice to work on a screen and then tell the TV to
show it, and only once you have finished working on it? This is
possible thanks to being able to have more than one screen. It
works like this, you display screen 1, work on screen 2 and when
finished display screen 2, then go and work on screen 1 and when
finished display it, etc, etc, etc. The advantage of working
like this is that you always get nonflickering sprites without
having to worry about getting your timing right to avoid the
scan line.
Please do wait until the scan line is at the top (or bottom) of
the TV before flipping screens. You can do this by waiting for a
frame interrupt (or for a line interrupt set at line 192).
Now for the possible sprite routines. You could go along and
program in the same fashion as the first loop. The result would
look like this:
HL=sprite in GRAB format
DE=screen address, screen must be paged in
INC HL 6 6
LD B,(HL) 7 7
INC HL 6 6
LD C,(HL) 7 7
INC HL 6 6
HEIGHTLP: PUSH BC 11 176 (16*11)
PUSH HL 11 176 (16*11)
WIDTHLOOP:LD A,(DE) 7 896 (16*8*7)
INC DE 6 768 (16*8*6)
LD (HL),A 7 896 (16*8*7)
INC HL 6 768 (16*8*6)
DJNZ WIDTHLOOP 13/8 1584 (16*(7*13+8))
POP HL 10 160 (16*10)
LD BC,128 10 160 (16*10)
ADD HL,BC 11 176 (16*11)
POP BC 10 160 (16*10)
DEC C 4 64 (16*4)
JR NZ,HEIGHTLP 12/7 187 (15*12+7)
total: 6203
The second column of numbers gives the total number of t-states
needed including looping. This total is based on a 16 by 16
pixel sprite, which is then 16 bytes high and 8 bytes wide.
When repeating the inner loop by hand, that is the bit from LD
A,(DE) to DJNZ the speed is logically improved. The main
difference is that the DJNZ loop can be removed, saving 1584
t-states which gives a speed increase of about 35%.
The above is still a simple sprite routine, when working with
backgrounds you'll get a nice blank block around your sprite. To
get around this not very good looking effect the masked sprite
was called to life. A masked sprite consists of two components,
the mask and the sprite.
The mask is the same size as the sprite and contains ones where
the background should show through the sprite and zeros where it
shouldn't. You can have a bit mask which saves memory, 1 bit = 1
pixel, but storing it in the same manner as the sprite is
faster, 4 bits = 1 pixel.
The sprite is simply the plain sprite, but where there is no
sprite the value MUST be zero.
By combining the background, mask and sprite in a crafty way you
get a sprite on the screen which doesn't have a blank block
around it, and which can be any shape. The combination is as
follows. Binary AND the background and mask. The ones on the
mask then let through only the bits of background on which the
sprite is not and the zeros blank out wherever the sprite is
going to be. Secondly, binary OR the ANDed background with the
sprite itself. Seeing as where there is background the sprite
is zero and where there is sprite the background is zero, you
get a nice sprite.
The rewritten sprite routine, which now will cope with masking
looks as follows.
IX=sprite data in GRAB format
HL=mask data in GRAB format
DE=screen address, screen must be paged in
INC HL 6 6
LD B,(HL) 7 7
INC HL 6 6
LD C,(HL) 7 7
INC HL 6 6
INC IX 10 10
INC IX 10 10
INC IX 10 10
HEIGHTLP: PUSH BC 11 176 (16*11)
PUSH DE 11 176 (16*11)
WIDTHLOOP:LD A,(DE) 7 896 (16*8*7)
AND (HL) 7 896 (16*8*7)
INC HL 6 768 (16*8*6)
OR (IX) 19 2432 (16*8*19)
INC IX 10 1280 (16*8*10)
LD (DE),A 7 896 (16*8*7)
INC DE 6 768 (16*8*6)
DJNZ WIDTHLOOP 13/8 1584 (16*(7*13+8))
POP DE 10 160 (16*10)
LD A,E 4 64 (16*4)
ADD A,128 7 112 (16*7)
LD E,A 4 64 (16*4)
JR NC,OK 12/7 ) 184 (8*12+8*11)
INC D 4 ) --- average with above
OK: POP BC 10 160 (16*10)
DEC C 4 64 (16*4)
JR NZ,HEIGHTLP 12/7 187 (15*12+7)
total: 10929
As you can see, the size of the routine is growing, and unlike a
snowball, the speed is decreasing. Once again we can repeat the
inside of the loop manually, saving a total of 1584+320=1904
t-states, but the main speed stopper is the use of the IX
register. Although the IX and IY registers can be very handy,
they are slow. In fairly intensive loops try not to use them if
possible. In the above routine they need to be used, so how do
we get the routine running faster?
The answer to this problem was enlightened to me through
conversations with Edwin Blink (yes, he of COMET). And he in
turn had, together with David Gommeren (Lord Insanity), come up
with the idea for the intelligent sprite building routine, which
David went along and wrote. I then had the concept and went
along and wrote my own, which accomplishes exactly the same as
David's, whose code I received after having written my own.
Let me explain, as you will have seen in the previous examples,
any form of looping is relatively slow. The next idea is the
groundwork for the intelligent sprite builder. Why bother
combining the mask with the background and sprite if nothing
changes. Sprites fit in rectangular boxes but they don't occupy
all the space, take a ball for instance.
Lets do some theoretical mathematics. The area of a circle is
pi*(r↑2) where r is the radius. The area of a box in which
such a circle fits must be at least (2r)↑2 = 4(r↑2), this means
that about 21% of the space is unused ((4-pi)/4). For 21% of the
time the masked sprite routine is then changing nothing and only
wasting time. If the circle were not filled but hollow then even
more time would be wasted.
Point two on time wasting. If a whole byte is used as sprite,
why bother masking it, simply doing a LD (HL),byte is much and
much faster. Masking is only needed if one of the two pixels in
a byte needs to be see through, so why mask every pixel?
Thirdly, why move data indirectly from memory to a register and
then move to another place in memory. Indirect addressing is
where you load a register with the contents of memory pointed to
by another register. Why not load the register directly, for
example LD A,15, this is just as fast as LD A,(HL) but without
needing to use the HL register. When also having the mask and
background involved you now don't need to use the slow IX
register which leads to an even greater speed.
What does the intelligent sprite routine do? You feed it your
sprite and mask data and it creates a subroutine which, when
called, will print your sprite (masked where necessary only).
How does it work? It goes through your sprite and mask data
looking for when it needs to put something on screen and how. It
also finds the fastest way of getting from its old screen
address to the next one it needs.
It may at first seem complicated, but when you grasp the idea
behind it all it should all seem logical. If you look at the
code you will see that the code also builds a super fast clear
sprite routine (clearing only the bits that were put on screen),
this assumes that you are using a background screen which is not
changed but only used as a reference to clear sprites. This
avoids having to copy what was behind the sprite to a storage
place and then having to copy the storage back to the screen to
clear the sprite.
To use the routine DPOKE the variables data, mask and target
with the required values, these must all be in paged in memory.
Data is the address of the GRABbed sprite data, mask the address
of the GRABbed mask data and target is the code destination. The
variables spritelen and clearlen can be DPEEKed after the code
has been executed to give you the lengths of the sprite
routines.
Seeing as SAM basic uses a slightly unlogical way of using masks
I decided to do so too. So instead of a pen 15 meaning
transparent and a pen 0 meaning sprite only, it expects the data
the other way round. By working like this you can directly test
if your sprite and mask works or not with a PUT x,y,s$,m$.
When calling your sprite, HL=the screen address to start at (top
left corner) . When calling the clearsprite, HL=the screen
address, the background screen must be paged in section CD and
the display screen in section AB. This paging into section AB
may seem a problem, but it's not. Make sure that your interrupt
handlers aren't too long and put them at the start of the screen
so that if an interrupt occurs while the screen is paged into
lower memory everything goes smoothly. This leaves a bit of crap
in the top of the display, but with line interrupts you can
either set the whole palette to black or you can show the first
few lines of a noncorrupted screen.
The test option simply allows you to test your sprite, and if
you put loops in it you can time how long it takes to print a
sprite 10000 times. In the little demo program try changing line
150 to use SAM basics sprite routine (PUT x,y,s$,m$) instead of
the call to the test option. The speed increase is quite
impressive, SAM basic takes about one minute, the built sprite
takes 20 seconds (for 1000 sprites). This should give you an
idea of what some good speed orientated programming can achieve.
The following code was written with the COMET Assembler from
Revelation Software. COMET is the BEST assembler available for
the SAM Coupe. Here's a quick list of the most important
features of COMET: very fast full screen editor, no line numbers
in source, source can be over 400K, object code can be put
anywhere in memory, can merge data with source from disk, can
include 24K source files and it assembles very quickly (turns
screen off to assemble at full 6MHz). If you haven't got a copy
yet and are slightly interested in doing some coding, order one
now! The price may seem a bit steep, but it's worth every penny,
and Fred subscribers even get a discount.
This file is also on the disc as a COMET source file (BUILDER.S)
The assembled code is also present (BUILDER.O), you should be
able to work out the DPOKE and DPEEK addresses or else see the
short little demo with the Lemmings.
;sprite builder
;
;THE fastest sprite routine for the SAM Coupe to date
;
;(C) 1992 Stefan Drissen, but feel free to use it for anything
ORG 32768
DUMP $
JP build
JP test
data: DEFW 0 ;address of sprite data
mask: DEFW 0 ;address of mask data
target: DEFW 49152 ;where to assemble sprite
spritelen: DEFW 0 ;when done, length of code
clearlen: DEFW 0 ;when done, length of code
test: DI
IN A,(250)
LD (lmstore+1),A
IN A,(252)
AND 31
OR 32
OUT (250),A
LD HL,0
CALL target
lmstore: LD A,0
OUT (250),A
EI
RET
build: LD IX,(data)
LD IY,(mask)
LD HL,(target)
EXX
LD HL,(target)
LD DE,8192
ADD HL,DE
EXX
INC IX
INC IY
LD A,(IX)
LD (width-1),A
LD (subwidth+1),A
INC IX
INC IY
LD A,(IX)
LD (height-1),A
INC IX
INC IY
LD DE,0 ;no. of bytes since last pix.
EXX
LD DE,0
EXX
LD B,16
height: PUSH BC
LD B,8
width: PUSH BC
LD A,(IY)
OR A
JP Z,nextbyte
LD A,E
OR D
JR Z,noadd+1
LD A,E
AND 128+64 ;max sprite width of 64
OR D
JR Z,smalladd
LD (HL),&11 ;ld de,nn
INC HL
LD (HL),E
INC HL
LD (HL),D
INC HL
LD (HL),&19 ;add hl,de
INC HL
EXX
LD (HL),&11 ;ld de,nn
INC HL
LD (HL),E
INC HL
LD (HL),D
INC HL
LD (HL),&19 ;add hl,de
INC HL
LD (HL),&5D ;ld e,l
INC HL
LD (HL),&54 ;ld d,h
INC HL
LD (HL),&CB ;cb-
INC HL
LD (HL),&BA ;res 7,d
INC HL
JR noadd
smalladd: LD A,E
CP 4
JR C,doincs
LD (HL),&7D ;ld a,l
INC HL
LD (HL),&C6 ;add a,n
INC HL
LD (HL),E
INC HL
LD (HL),&6F ;ld l,a
INC HL
EXX
LD A,E
OR A
JR Z,noadd
CP 4
JR C,doincs2
LD (HL),&7D ;ld a,l
INC HL
LD (HL),&C6 ;add a,n
INC HL
LD (HL),E
INC HL
LD (HL),&6F ;ld l,a
INC HL
LD (HL),&5F ;ld e,a
INC HL
JR noadd
doincs: LD B,E
LD (HL),&2C ;inc l
INC HL
DJNZ doincs+1
EXX
LD A,E
OR A
JR Z,noadd
doincs2: LD B,E
LD (HL),&2C ;inc l
INC HL
DJNZ doincs2+1
LD (HL),&5D ;ld e,l
INC HL
noadd: EXX ;back to sprite
LD A,(IX)
OR A
JR Z,maskonly
LD A,(IY)
CP 255
JR Z,dataput
LD (HL),&7E ;ld a,(hl)
INC HL
LD (HL),&E6 ;and n
INC HL
LD A,(IY)
CPL
LD (HL),A
INC HL
LD (HL),&F6 ;or n
INC HL
LD A,(IX)
LD (HL),A
INC HL
LD (HL),&77 ;ld (hl),a
INC HL
JR resetcount
dataput: LD (HL),&36 ;ld (hl),n
INC HL
LD A,(IX)
LD (HL),A
INC HL
JR resetcount
maskonly: LD (HL),&3E ;ld a,n
INC HL
LD A,(IY)
CPL
LD (HL),A
INC HL
LD (HL),&A6 ;and (hl)
INC HL
LD (HL),&77 ;ld (hl),a
INC HL
resetcount: LD DE,0
EXX
LD DE,-1
LD (HL),&ED
INC HL
LD (HL),&A0
INC HL
EXX
nextbyte: INC DE ;pixel counter
EXX
INC DE
EXX
INC IY
INC IX
POP BC
DEC B
JP NZ,width
EX DE,HL
LD A,128
subwidth: SUB 0
LD C,A
LD B,0
ADD HL,BC ;next line
EX DE,HL
PUSH BC
EXX
POP BC
EX DE,HL
ADD HL,BC
EX DE,HL
EXX
POP BC
DEC B
JP NZ,height
LD (HL),&C9 ;ret
INC HL
EXX
LD (HL),&C9
INC HL
EXX
LD BC,(target)
XOR A
SBC HL,BC
LD (spritelen),HL
EXX
LD BC,8192
XOR A
SBC HL,BC
LD (clearlen),HL
EXX
RET
Well, that was all (?!). At this point I would like to stress
that the above routine is not the only way to create sprite
routines. The way you write a sprite routine is very dependent
on what YOU want it to do. If you want sprites to be able to
slide onto or off of the screen then the above routine isn't
very useful, try letting the sprite got over the edges of the
screen, wierd things start to happen.
For more speed you could leave out masking altogether and
combine this with only putting pixels where there is sprite
data, have a look at Boing! for an example of this. You will see
that there are sometimes one pixel wide black borders around
certain parts of the sprites.
I hope you were able to follow this article and even more so I
hope that this idea may give you some new perspective on writing
software for the SAM Coupe. I would be glad to answer any
questions you may have. Also please feel free to write any
comments on this article, I'm sure that Fred would be more than
happy with them, and so would I.
Stefan Drissen phone: [redacted]
[redacted]
