The Best selling SAM Coupe game.

News

One thing I have always wondered is how well the top SAM games would of sold. I remember reading one of the later FRED issues and in an article it is mentioned Prince Of Persia sold around 2,000 copies. I would like to think that Lemmings and the earlier Enigma Variations games would of sold as much or maybe more, does anybody know?.

Machine Code Made Easy

Disk

Fred


Steve Taylor


A place holder for Steve Taylor’s machine code tutorial as published on Fred.

Machine Code Made Easy - Part 4


Fred 9

Machine Code Made Easy - Part 4

Howdy all! Yes, ‘tis I again - The Wizard ( known as genius to
my friends ). How are you all doing with your assemblers and
this series of articles? Is there anyone reading this at all?
‘Cos if there isn’t I might as well pack up and go home.

Oh well, that’s enough grumbling for 1 issue. On with the show..

A LTTLE BIT MORE ABOUT PORTS & SOME ROUTINES
============================================

I’m rapidly running out of ideas for this column, y’know. So it’s
back to ports I’m afraid. Last time we looked at the memory
management ports, which are the most frequently used in SAM
machine coding. Today I’ll share some little routines to help
this memory managment, and a wee key-scanning jobbie. So,
onwards we go….

Firstly, here are some routines which will page either the #
screen or ROM0/system variables into 0-7FFF :-


SCREENIN IN A,(LMPR) ; Let's store the current status
LD (LMPRSTORE),A ; of LMPR in a store.
IN A,(VMPR) ; Get the screen page number.
AND %00011111 ; Chop of unwanted bits.
OR %00100000 ; Make sure ROM is switched off.
OUT (LMPR),A ; Switch it into 0-7FFF.
RET
SCREEN
OUT LD A,(LMPRSTORE) ; Get whatever LMPR was before we
OUT (LMPR),A ; switched in the screen and put
RET ; it back.
ROM0IN IN A,(LMPR) ; Store the status of LMPR.
LD (LMPRSTORE),A
LD A,%00011111 ; Put page 31* into 0-3FFF and
OUT (LMPR),A ; switch on ROM0.
RET
ROM0
OUT JP SCREENOUT

Machine Code Made Easy - Part 3


Fred 8

Machine Code Made Easy - Part 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 coupe 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 coupe 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.

Machine Code Made Easy - Part 2


Fred 7

Machine Code Made Easy - Part 2

Hello again eveyone! ‘Tis I, the Wizard, here to enlighten all
you beginners as to the joys of machine code. This is part 2 in
the series, and I will be referring back to part 1, so if you
don’t have FRED6 (why not?) go and order a copy immediately!

Right, let us proceed….

A - THE MATHS LESSON
———————————

If you hope to get anywhere in m/c a basic knowledge of
binary and, to a lesser extent, hexadecimal, is neccesary.
BINARY is base 2 - a series of 1’s and 0’s which can
represent any number you care to think of. This is how numbers
are stored inside your coupe, so this is important.
Each binary digit (or BIT) stÍ.ands for a power of 2:1,2,4,8…
and so 8 bits can hold a number between 0 and 255.
This is how they are arranged:
7 6 5 4 3 2 1 0 -> BIT number
———————————————-
128 64 32 16 8 4 2 1 -> POWERS OF 2
———————————————-
1 0 0 0 1 0 1 1

Machine Code Made Easy - Part 1


Fred 6

Machine Code Made Easy - Part 1

Hello everyone out there in Coup‚ land. This is (hopefully!) the
first in a series on machine code for beginners. No, please,
don’t all groan at once - m/c has its uses - it’s not just for
swotty egg-headed squares. Just think of all the games you’ll
write and all the money you’ll make after reading this article!
Now, firstly you’ll need an assembler. This is a program with
which the machine code can be entered. I can ..recommend the one
from LERM although any old one’ll do. Got one? Right. Now to
lesson one…..

REGISTERS:-

The first thing we’ll deal with are the registers.
You could compare these with variables from BASIC, and there are
8 main ones. They are named after letters: A;B;C;D;E;F;H;L and
each can contain a number between 0 and 255

To allocate a number to one of these registers we use the
command: LD A,100

This stands for LoaD A with 100 and is
like the BASIC: LET A=100
The contents of one register can be copied into another by
using : LD A,B

This will load A with whatever is in B
and is like : LET A=B in BASIC
Although each register can only hold a number 0 to 255,
they can be used in pairs to hold a numbe..r 0 to 65535. The
pairings used are: B&C ; D&E ; H&L ; A&F
The F register is special and is used to store the results
of tests via FLAGS (F for flag, geddit?) and so shouldn’t be
tampered with. A flag is just a binary digit which indicates
whether a calculation has produced a carry or a zero and things
like that. Don’t be concerned with flags for the moment.
2 other registers we will use are IX and IY. These are known
as INDEXES and can hold a number 0 to 6..5535.

SAMDisk Issue 2



Issue 2

ItemAuthorDescription
SAM News (News)Steven Pick, Andy Nibbs, Tim Newman, Mark Johnson
SAM News (Addresses) 
Font 1 - Arcade 
Font 2 - Italics 
Font 3 - Small Text 
Demo - Audio 
Demo - Visual 
Screen Menu 
Disk Utilities 
Review Section 
Games Galore Here! 
Tech Tips! 
Playing Tips 
Next Months… 
Editorial 
   

SAMDisk Issue 1



Issue 1

ItemAuthorDescription
MagazineSteven Pick, Andy Nibbs, Tim Newman, Mark Johnson
SAM News (News)Steven PickA Welcome to the Very First Issue of SAM News
SAM News (Addresses) 
Font 1 - Digi 
Font 2 - Marbles 
Screen Menu 
Demo - Audio 
Demo - Visual 
Game - Micropuzzle 
Tech Tips 
Help! 
Next Month… 
Editorial 

Peter Gallagher



Sam Coupe fan and Amateur Programmer.

Published a couple of Lemmings themed demo’s in FRED Magazines 19 and 22… Including an animation and musical Advert.


Software and IT Consultant for PJG Creations Ltd, living in Loughborough.

Proud owner of a SAM Coupe once again!

SAM copyrights

Copyrights

I give permission for the following SAM programs to be available for download -

Five On a Treasure Island,
Splat!,
SAM Adventure System.

C. Jordan.