who

1999-02-21 Thread David



Re:

1999-02-21 Thread Andrew Collier
At 8:57 pm + 20/2/99, David wrote:
who

You send it to [EMAIL PROTECTED]

HTH

Andrew

--
| Andrew Collier | email [EMAIL PROTECTED]   | Talk sense to a
| Part 2 NatSci  | http://carou.sel.cam.ac.uk/ | fool and he
++-+ calls you foolish
| Selwyn College Student Computer Support Team |   -- Euripides



Re:

1999-02-21 Thread David
S'okay ... I figured it out eventually

-Original Message-
From: Andrew Collier [EMAIL PROTECTED]
To: [EMAIL PROTECTED] [EMAIL PROTECTED]
Date: 19 February 1999 23:06
Subject: Re:


Thanks for using NetForward!
http://www.netforward.com
v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v

At 8:57 pm + 20/2/99, David wrote:
who

You send it to [EMAIL PROTECTED]

HTH

Andrew

--
| Andrew Collier | email [EMAIL PROTECTED]   | Talk sense to a
| Part 2 NatSci  | http://carou.sel.cam.ac.uk/ | fool and he
++-+ calls you foolish
| Selwyn College Student Computer Support Team |   -- Euripides







Re: SAM FAQ Version 2

1999-02-21 Thread Robert van der Veeke
 Van: The Mad Goose [EMAIL PROTECTED]
 Aan: [EMAIL PROTECTED]
 Onderwerp: SAM FAQ Version 2
 Datum: Friday, February 19, 1999 4:20

 2.6 Oh, almost forgot, what about the hardware?

How about the Eddac, the cheap and simple sound option

 Section Four - Who is...?

Martijn Groen? Has made several demo's, a very nifty Spectrum/ZX81
emulator, A Sam version of Professional Adventure Writer, the latest
version of the Atom HyperBoot is very cool, and furthermore some very
usefull utillities like a disk-checker, a Wave- and Mod-player that are
compatible with the Atom.
--
Robert van der Veeke, aka RJV Graphics
[EMAIL PROTECTED]
Currently listening to : Leningrad Cowboys Go America



Re: SAM FAQ Version 2

1999-02-21 Thread Maria Rookyard

 Frequently Asked Questions Version 2.0


 2.7 And what, pray tell, is under development? (No guarantees,
 folks!)

 Sam Hard Drive - Guess? And look! Quel surprise! It's by Rookyard
 and Cooke! Next time I see either of those two, I'm going to put a
 spade in their heads and removed three quarters of their brains, t
 his wobbly grey matter will then be shared between all us, mortals?
 yes, mortals, so we can be clever boffins, too.


 JohnnaPig Teare



Hmm, so few brain cells, so many people to share them between!

Maria.



Re: SAM FAQ Version 2

1999-02-21 Thread Simon Cooke
Yep! A handy bootable menu, to select different records, files etc with
ease.

Bloody quick  handy!

(Be interested to see the one howard price has done tho - using the 
last
available record on the disk as a storage area!)

Awww... bless 'im :)

MaxiDOS rides again :)

(I knew I shouldn't have sent him all those disks with that on it :))

Si

__
Get Your Private, Free Email at http://www.hotmail.com


Re: SAM FAQ Version 2

1999-02-21 Thread Simon Cooke

Heck, I've not seen it running on ANY SAM, never mind a *REAL* one.

Any chance you can put out a demo version, Chris? Time limited to 10
seconds or something? PRETTY PLEASE?!?!?!?!


The game is actually finished and complete.  I *would* put out a demo 
but
the trouble is that it doesn't run on SimCoupe...  Well, that's not 
strictly
true.
It runs, but *very* poorly (terribly jerky and jumpy) due to my 
unorthodox
frame syncing code.

Unorthodox frame sync code? Pray tell! I can only think of a couple of 
ways of doing it...

As for it running jerkily... it should run much better when/if I get a 
Win32 port done. If I ever get around to it. *sigh*.

Plus, Defender just isn't Defender when it hasn't got sound or running 
at a
smooth 50-fps,  which it does on a *real* SAM of course! ;-)

Aww heck... on my twin PII running at 450MHz a piece, 128Mhz of RAM, and 
with some DirectX gimmickery, it'd run at SAM speed, with sound :)

I've got some static screen-shots of the game in action if anyone wants 
'em?

DEFINITELY!

Si

__
Get Your Private, Free Email at http://www.hotmail.com


Re: SAM FAQ Version 2

1999-02-21 Thread Graham Goring
In message [EMAIL PROTECTED], Andrew Collier
[EMAIL PROTECTED] writes
Not. Wop Gamma is to boulderdash, what some poor imitation is to a real
thing. Great graphics and music yes. But the controls are abysmal and the
gravity doesn't work properly. The only difficulty comes from it being far
too fast, the puzzles are nothing to write home about.

Agree with you there. I think it was peer pressure that landed it in
the good section. And stupid way the gravity worked in a way that
was different to EVERY OTHER BOULDERDASH GAME EVER sucked mightily.

Oh, and as for it being non-exhaustive, the original was written about
5 years ago...

Graham Goring

-- 

/\
| Ber-Limey! There's not even enough |
|room to swing a cat in this sodding-|
\=== ICQ: 5333545 ===/


Re: SAM FAQ Version 2

1999-02-21 Thread Ian Collier
On Sat, Feb 20, 1999 at 01:05:32AM +, Andrew Collier wrote:
 What were you saying about how great MUTT is?

Ahem, well it is still in beta, and it isn't the only mail client with this
particular problem.  Do you know any bug-free mail clients then?

   I can reforward any sam-users
 emails you might have lost...

OK then.  The required times were implied in my last mail.

imc


Unorthodox Frame Sync

1999-02-21 Thread Chris Pile
-Original Message-
From: Simon Cooke [EMAIL PROTECTED]
To: [EMAIL PROTECTED] [EMAIL PROTECTED]
Date: 21 February 1999 07:38
Subject: Re: SAM FAQ Version 2


Unorthodox frame sync code? Pray tell! I can only think of a couple of
ways of doing it...

OK.  Apologies to everyone because this is a quite long.  Also, advanced
apologies if it's 'egg sucking' territory to anyone.

God, that sounds patronising...  Sorry.  :-)

Anyway, deep breath!  Here we go:

First, a little description of how SAM Defender works will later highlight my
need to use unorthodox frame sync code.

Defenders' internals are almost exclusively 'stack based'.  All of the graphic
routines use the stack for dumping/erasing.  The main sprite dumpers are
all hard-coded and use an interleaved format.  This format removes the need
for an ADD 128 or SUB 128 to the screen address when moving to the next
screen line, reducing it to a simple INC or DEC of the high-byte with the ADD
or SUB required only when switching the dump direction at the top of the
sprite.

All of the main data structures inside the program are again manipulated using
the stack.  One of the main reasons for this is the fact that all of the
movement
within the game is fractional, using 16-bit fixed-point allows easy programming
of inertia and gravity effects.  Also, the width of the 'world' is some 2048
pixels,
so 8-bit just doesn't cut it!  These 16-bit data lists are much faster to
manipulate
using the stack, especially when all of the usual registers are tied up leaving
only
the fat and lethargic IX or IY pairs, which are to be avoided if performance is
the
key factor.

To simplify, the stack is used almost exclusively because it's so efficient and
fast
at shunting around word-sized chunks of data.  There's an *awful* amount of this
being shunted around, especially when you have to dump/erase a 256-pixel wide
landscape, manipulate the data lists for as many as 40 sprites, dump/erase any
of
these sprites that happen to be on the 'window' into the 2048-pixel wide
world...

All this must happen at a constant (or as close as) 50-fps for the game to be
anywhere near the quality of the arcade original.  So, the good old stack gives
a
much needed boost in performance.  Note the use of 'as close as' above?  This
becomes important later.

Because data lists are manipulated using the stack, and these lists contain data
that
is used continuously by the program, any corruption would spell disaster.
Corruption
would occur if an interrupt occurred, for example.

SAM Defender runs with the interrupts in a permanently disabled state to prevent
such
potential corruption.  From a performance point of view it wouldn't be
economical to DI,
EI all over the place because stack manipulation is occurring almost
continuously during
the game.

So, back to the question of frame syncing.  Usually you can frame sync on
machines
like SAM by having a HALT instruction at the top of your main loop.  Trouble is,
HALT
requires the interrupts to be on.  Defender runs in a permanent DI state, as
mentioned.
OK, so I could have EI, HALT but that would have meant setting up an ISR that
simply
RETs.  Not worth the bother.  I'm not complicating the issue here with the
potential for
other types of interrupt to occur...

Originally I was frame syncing by reading the FRAME INT bit on port 249 at the
top of
the main loop.  This worked fine, until the game 'missed' a frame, at which time
the
main loop will actually catch the next frame, causing a drop down to 25-fps.
Everything
switching to half-speed for a time, including the sound, then back to full-speed
is just
plain ugly!

If you watch the arcade original you'll notice that it misses frames too.  In
fact, it misses
more frames than my SAM version does!  But, there's one crucial difference.  It
doesn't
drop to half-speed but rather jumps/jerks a bit, with very little slowdown.
How?

I concluded that the programmer was able to detect the fact that the game had
missed a
frame and simply didn't bother waiting for it when the program got back to the
top of the
main loop.  He simply allowed the program to continue as if it *had* caught the
last frame,
which technically it did but was a little late!

SAM Defender can never miss any more than *one* frame in a given cycle of the
main loop.
So, knowing you've missed a frame, you can simply continue processing as if you
*had*
waited for it.  In other words, on a missed frame remove the frame wait at the
top of the
main loop.

The benefit here is that the program is allowed to run *full belt* for the next
cycle, and for
any cycles after that where a frame is missed, until everything falls back in
sync.

The on-screen effect is identical to the arcade original, a slight jumpiness and
a very small
slowdown which is proportional to the amount of 'extra' work, beyond a normal
frame, that
the program has to do.  No more 50% speed drop in game motion, and no audio
quality
loss.  Much more pleasing!  It also let me allow the