Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

The best ever posting in the whole of today

27 views
Skip to first unread message

Ben Jefferys

unread,
Sep 26, 1995, 3:00:00 AM9/26/95
to
On Tue, 26 Sep 1995 10:56:18 UTC, you (an39...@anon.penet.fi) wrote

> Well, here it is the holy grail of all newsgroup postings. After literaly years of dedication and mind bending toil I've got together a version of exile and emulator that works (yes I know you're not even remotly worthy)

Aaaaaaargh! Where's the rest? I've only got the first and last bits!

BTW, I bought the original Exile for the Beeb, so I don't think I'm really
being that illegal. Really. I hope.

--
_ _ _
(_) ( (_) |) |_ Off to uni 2/10/95, may be unavailable/unconscious for a
| _) . |\ |_ few days. Does anybody care?

an39...@anon.penet.fi

unread,
Sep 26, 1995, 3:00:00 AM9/26/95
to
Well, here it is the holy grail of all newsgroup postings. After literaly years of dedication and mind bending toil I've got together a version of exile and emulator that works (yes I know you're not even remotly worthy) and it's been sitting around in the dark recesses of my hard drive so long I've decided to do something with it. I know I shouldn't really post 80 odd kbytes to a newsgroup, but I can't upload it anywhere because it has to include a full copy of the game which probably isn't legal, although I'm sure nobody gives a damn.

Ok then, down to buisness. After uudecoding use arcfs to decompress the archive into an empty directory somewhere, and then get you're hands on a copy of the bbc emulator with v1.20 of the emulator module, thats the one with v1.21 of !Run and v1.61 overall. Then you should copy the emulator (the full thing) into the same directory as the stuff from the archive. Next double click on makeexile and answer all the on screen questions about what features you would like (if you don't know what you want, then just answer Y to everything). This will install everything into the !Exile directory which will then work as a stand alone application (delete the emulator, makeexile and patchin). Double click on !Exile (you can't easily return to the desktop from this) and be amazingly impressed.

Saved files will be kept in the directory in !Exile called gamecode and can only be loaded from the menu if they are in there. A point to remember about the menu is that when you are asked for a drive when loading/saving files you should always press return otherwise that file as well as future ones until you reload will be saved/loaded with it's name as the drive number you put in. Oh and don't forget that the print key is the same as f0.

Well, that's about all - everything works, even if it is a little slow, and I've played the game right through on my arc. If you've got an ARM2 like me then it's a good idea to run fastmemc type things and you might just get above 4 frame/sec :). I'm still not sure how it will work on faster computers and you might need to slow it down a bit - I don't know, I could never get access to a fast enough computer to let me put a speed limiter in. Finaly there are a few problems with it still which I can't be botherd to fix and which I am leaving to the general populus of this newsgroup to fix if they want - they're not that problematic and I've done most of the real tough as hell work. Apart from some minor aesthetic problems, the water isn't displayed (it's not too bad if you can't see it) and some of the workspace in screen memory gets displayd sometimes (That's too hard to fix since it's position is continualy changing). If you have any troubles then post them and I'll see what I can do, although you must r


emember that I can't do anything for Risc PC owners because I can't get anywhere near a Risc PC.

The keys:

For all you out there who've not got you're manual anymore or haven't played it before here is a brief list of the keys (I think it's all of them).

Q - Fly/Walk left
E - Fly/Walk right
P - Fly/Walk up
L - Fly/Walk down
G - Get object from pocket (cycles between all four)
S - Store object in pocket
> - Throw object in aimed direction
SPACE - Fire weapon/arm or disarm grenade if carrying one.
V - Sound on/off toggle
I - Aim straight
O - Aim up } aim up and aim down will send out a row of dots as
K - Aim down } tracer for the direction in which you will fire
R - Remember position (four can be remembered - it is stacked)
T - Teleport to last position (if none stored then to ship)
@ - Backpack booster (you may like to change this key if you can, on the arc it is unfortunatly the 2 key).

Function keys - these select a weapon or you're backpack. After pressing
an f key then the amount of energy in the item will be sounded out by a
number of pings, each ping represents 1kj of energy

F0 - Backpack
F1 - Pistol (512 shots/kj)
F2 - Icer (128 shots/kj)
F3 - Blaster (8 shots/kj)
F4 - Plasma cannon (25 shots/kj)
F5 - Protection suit


SHIFT + F9 - Move stuff around in memory so you can CTRL-Break and save
the file.

To transfer energy between items hold down shift and press the f key of
the item to take energy from, then still holding down shift press the
f key of the item to transfer energy to (I think!).

Technical notes:

Obviously getting the bbc emulator to handle exile was a hell of a task, and because I don't think I've got it perfect I've written a few notes to explain the major changes I've made (the patch itself also has a few notes on how it works).

1.) On the BBC side of things it was necessary to get a deencrpyted (or is it compressed?) and unprotected version of exile since the encryption and passwords messed up. Since my 6502 skills are virtualy non-exsistant I left this to a friend of mine - Rich , and due credit must go to him.

2.) The version of exile supplied is partly the dfs version and partly the tape version and so I removed *TAPE, *DRIVE, *DISC and/or *DISK from all parts of the emulator and placed dummy RTS files under those names in the same directory so as to prevent errors. I also removed the :0. from the loader since this tried to save to drive 0 of my hard drive which didn't exsist. This means that when loading/saving files you must press return when asked for a drive.

3.) Screen handling had to be extensively changed, and the screen positioning table in the emulator was updated so that the mode 2 screen was set out in the same way exile thought it was. I also removed all other modes and highly optimized the screen routines in the emulator with the result of significantly increased speed.

4.) Scrolling was by far and away the worst problem and I had to remove all the inbuilt emulator scrolling (relied on hardware scrolling which can't do the same job on the arc meaning that if it worked at all it jerked around like hell) and had to rewrite it in software. I then had to figure out how to convert from the size of screen exile was scrolling to the size of screen I had, remove some of the interesting scrolling techniques that exile was using and finaly deal with all the properties of a bbc mode 2 screen that the arc didn't have (and there were a lot of them). Since I had no idea at all how the bbc handled it's screens and I was working with somebody elses code I had to figure everything out and it was absolute hell, so my advice is leave the scrolling alone because it's too scary to try and change it. Btw the software scrolling routines are highly optimized (even quad-word aligned) and you won't be able to improve them much (They could be optimized for byte/word movement, but there's no p


oint because the scrolling should have a consistent speed).

5.) There is unfortunatly a problem with the water in exile which I just can't be botherd to fix, but which may be ok on faster computers. Exile displayd the water by using interupts and switching the background colour to blue at the appropriate distance down the screen (except for single "blocks" of water where the screen also had to be black at the same level). Naturaly the emulator running the code for the interrupt is not even remotly fast enough and so this messed up. On faster computers this may work, but a lot depends on how the code in exile times when it should change the background (I can tell you now it probably won't work, and even if it does it'll make the whole bottom of the screen go blue and look crap).

6.) Exile in it's quest to use every last bit of memory in the computer even if it wasn't allowed to caused the problem that had me stumped for over a year (well, I got pissed off after about 2 hours and left it for a year). The problem was that pressing a key once the game started (except ctrl on my computer, but not all peoples computers) caused the game to crash. Eventualy and only by an act of violence I discoverd that if you held down one of the control keys and pressed another game key the game worked and this led me to discover that exile was overwriting the key buffer. The emulator being slightly incomplete didn't like the idea of something changing the position of the keyboard buffer so I moved in memory what the emulator used as key buffer and everything worked wonderfuly. There is one slight problem caused by this (I think!) in that sometimes the emulator slows down after a ctrl-break and this problem is solved by pressing a key, don't ask me why - I don't want to know.

7.) I also made some small aesthetic changes such as removing the cursors at all times, changing the module name and *commands as well as making it auto boot. I only did this because I was so pleased to have got the bloody thing working and I wanted to do something that wasn't absurdly difficult and made it look good. The auto boot works by telling the emulator when it boots up that some commands are in key 10, this was the easiest way of doing things since the actual boot is managed in 6502 and no way was I figuring that out.

8.) Finaly since the emulator seems to have been written with some sort of different compiler or something I made some improvements to the code and managed to speed things up a bit but it still goes at mogadon overdose pace on my A3000, so it was probably just wasted effort.

Hehehe, well that's it - hope you enjoy it and you'd BETTER BLOODY APPRECIATE this, it wasn't easy. Some of the code is still a bit sloppy, but I'm getting pissed off with doing this so you can finish it if you don't like it.

- Dan the obsessive wonder man.

P.S. Sorry I couldn't be botherd to design a decent application sprite, but I did manage to find a nice one.

Thanks: -

Rich - Thanks for deencrypting the 6502 version, all this would not have been possible without that.
Acorn - For making a half decent computer for me to drool all over.
Julian Cope - For fucking my head up on acid and giving me some funny CD inlays.
Me - For giving me someone dear in my life.
Whoever wrote exile (I've forgotten, arghhh forgive me for I have sinned) - For writing one of the best games I've ever played.
Microsoft - For being greedy corporate bastards who are full of shit and also for giving me things like Windows 95 and DOS which I can utterly loathe despise and hate in all ways possible.

Uncopyright, dodgy soft 1995
----------------------------------------------------------------------------
To find out more about the anon service, send mail to he...@anon.penet.fi.
If you reply to this message, your message WILL be *automatically* anonymized
and you are allocated an anon id. Read the help file to prevent this.
Please report any problems, inappropriate use etc. to ad...@anon.penet.fi.

0 new messages