<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 09 Mar 2004 17:20:33 +0000
From   : Richard_Talbot-Watkins@...
Subject: Re: the technical side of ... EXILE

--- Charles Ripperton <charlesripperton@...> wrote:

> I am curious about 'EXILE', which I have only recently started playing
> via emulation. There are many smarter people than me on this list who
> I would hope could answer some questions about the game, please.
>
> EXILE - (BBC Micro/Master series)
>
> Q1.)
>  How many different versions on the BBC disc? Just the 'standard' one
> and the 'enhanced' version? Was there also a different version for the
> Master Compact?

Yes, two versions: the standard one which runs on all Beebs, and the
enhanced one which runs on any Beeb with 16k of sideways RAM.  I suspect
the Master Compact disc (which of course was its "own" version due to it
being supplied on 3.5" disc) was identical code to the 5.25" disc version.

As James Bonfield says on http://exile.acornarcade.com/devel.html :-

"Alas the OPUS disk drives couldn't cope with the [disk protection on the
original release] and so Superior had to release a protection-free version.
Pity. There were also 2 variants of the disk, due to a bug (I think) being
fixed early on. I'm not sure what the bug was, but that's the story I
heard. The result was that the memory addresses within the code were
slightly different between the two versions, making cheat programs harder
to write. Somewhere I have all 4 versions (2 protection schemes * 2
releases)."

So there were 4 different disc releases, with differing protection schemes,
but all offering two versions of the game (standard and enhanced)!


> Q2.)
>  Why, do you imagine, did the loader not programmatically determine
> which version (standard or enhanced) to run, based on querying the
> amount of proper sideways RAM (enhanced needed a lone 16K page of it)
> available? Surely everyone with a page of sideways ram would always
> choose the enhanced version?

The loader WAS able to determine whether the machine was able to run the
enhanced version, as it would only ask "May I use your sideways RAM?" if it
found any!  I guess it's just a politeness thing - perhaps the user
might've had a ROM image loaded which they didn't want Exile to load itself
over for example...


> Q3.)
>  The standard version of Exile had a screen display that was a
> modified MODE2-like affair, yes? So, 128 (fat pixels) x 128 (rows) *
> 8 colours = 8K needed for the display?

Yes, exactly.  Of the 16 MODE 2 colours, the eight flashing ones (8-15)
were defined to display as their steady equivalents, and all landscape
graphics were drawn using them.  All moving objects used regular colours
0-7.  The sprite plotting routine used this to determine what should be
drawn behind what - it would never plot over a pixel of colour 8-15, hence
all objects moved behind the static landscape (shrubs, mushrooms, yellow
funnel things etc).  Exile tried very hard to ensure that two objects could
never overlap, and would collide off each other correctly.  Even so, when
it occasionally happens, you can see the sprites overprint each other, as
both objects are drawn in colours 0-7.


> Q4.)
>  What extra features were in the enhanced version? Was th enhancements
> solely confined to a larger screen and digitised sound samples?

I think so, yes.  The enhanced version of course used a different
executable in order to accomodate the various changes, e.g. relocated
routines in Sideways RAM, new sound effects, larger screen etc.  I don't
think there were any other features though.


> Q5.)
>  How much of Exile's code in the enhanced version was jammed into the
> sideways ram - was all 16K used, or 12K, or just 8K, or what?

The enhanced version used a further 8k for its screen, so I can only assume
that the 8k of code/data being used by the bigger screen was moved to
Sideways RAM, along with the extra sound samples.


> Q6.)
>  How was Exile's sections of code in the enhanced version split across
> normal ram and sideways ram? i.e. did the graphics and speech reside
> in the sideways ram, and the main game code and screen reside in the
> normal ram?

I believe the sprite data was moved to sideways RAM, but I think some of
the code must've moved there too - someone else may know better.  I always
played with the standard version of the game as it was just a little more
manageable!


> Q7.)
>  Was the 12K-sideways-ram-but-not-truely-recognised-as-such (top bit
> set on &FE30) extra memory in the standard (64K) B+ useable/sufficient
> for the enhanced version of Exile? Or was a page of 'REAL' sideways
> ram needed?

According to Tom's emulator (Model B) - no, the player isn't given a choice
to run the enhanced version.


> Q8.)
>  Is scrolling a square ratio display (i.e. the 8-colour 128x256
> MODE2-like screen in Exile; the 4-colour 128x256 MODE5-like screen in
> Repton) somehow technically easier (in hardware) than a normal 'full'
> 5:4 ratio display like MODE2 (160x256) or MODE5 (160x256)? Or is the
> reason for having such a display in Exile simply to only use 16K of
> RAM instead of the full 20K of display RAM?

It's not particularly any easier, although it does provide a 512 byte wide
screen, which makes calculating screen addresses from x,y coordinates
faster than a regular MODE 2 (640 wide) screen.  I suspect the main benefit
was as a memory-saving device, although it's also bound to speed up the
game rendering as not so much needs to be drawn per frame.


If you've not already discovered it, take a look at
http://exile.acornarcade.com/ for more information, some from one of the
authors themselves.

Rich



**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
postmaster@...

This footnote also confirms that this email message has been checked
for all known viruses.

**********************************************************************
 SCEE 2004
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>