Elite / Frontier Elite - Amiga Version - Detail questions

Hi Stardust, Mr. Micro's ST/Amiga source code was never made public (but the BBC version was). I have a mostly commented, disassembled version that will answer all of your questions but some are simple enough to cover here.

1. Hull strengths for each ship were stored in "OBJECTS.IMG" which is track loaded into memory in the Amiga version (it's pretty much the same as the ST version which exists as a separate file). The laser energies were also stored in the game so it's just a simple matter of subtracting for each hit (there's no shielding for non-player craft IIRC).

3. Triggering of WitchSpace is entirely random in the Amiga version. The algorithm is as follows:

- Obtain random byte value (0-255)
- If value in range [0...11] then trigger WitchSpace

Trigger probability is therefore ~5%. However, triggering can be forced if the left ALT key (keycode 0x64) is held down during a jump (the game maintains a key matrix of all held down keys).

4. The game maintains a rating type (0-8) where Harmless=0 and Elite=8. The number of Thargoids that require dispatching before drive repairs are made is (rating+1)*2, so Harmless requires 2, Mostly Harmless 4, and so on.

6. There is no such text in the Amiga source code. Jumping from galaxy 8 brings you back to galaxy 1.

7. Maybe Rob Nicholson changed girlfriends between 1.0 and 2.0 because the cheat code for 1.0 was "SARA" but for 2.0 it was "SUZANNE" (with added encryption). 2.0 also added the Library as somebody else mentioned. The Space Legends version of 2.0 disabled the novella protection so you can't enter Hacker Mode in that version. 2.0 also incorporated some bug-fixes (e.g. you can't engage the docking computer while the hyperspace countdown is proceeding).

9. That's in OBJECTS.IMG too.

Check PM.
 
The source code alone won't give you the answer to #1 as a data file needs to be reverse-engineered. Here's the answer to question #1.

Objects
Data from Amiga Elite v2.0 "objects.img" file:

Name: "Space Station"
ModelType: 0 (0x0)
Points: 500
Bounty: 0.0 CR
HullStrength: 255

Name: "Missile"
ModelType: 1 (0x1)
Points: 0
Bounty: 0.0 CR
HullStrength: 1

Name: "Cargo Canister"
ModelType: 2 (0x2)
Points: 0
Bounty: 0.0 CR
HullStrength: 17

Name: "Asteroid"
ModelType: 3 (0x3)
Points: 0
Bounty: 0.5 CR
HullStrength: 60

Name: "Escape Capsule"
ModelType: 4 (0x4)
Points: 90
Bounty: 0.0 CR
HullStrength: 40

Name: "Thargon"
ModelType: 5 (0x5)
Points: 20
Bounty: 1.0 CR
HullStrength: 30

Name: "Platlet"
ModelType: 6 (0x6)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "Letter E"
ModelType: 7 (0x7)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "Letter L"
ModelType: 8 (0x8)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "Letter I"
ModelType: 9 (0x9)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "Letter T"
ModelType: 10 (0xa)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "Viper"
ModelType: 11 (0xb)
Points: 50
Bounty: 0.0 CR
HullStrength: 120

Name: "Alien Space Station"
ModelType: 12 (0xc)
Points: 0
Bounty: 0.0 CR
HullStrength: 1024

Name: "Cobra MkIII"
ModelType: 13 (0xd)
Points: 80
Bounty: 5.0 CR
HullStrength: 72

Name: "Python"
ModelType: 14 (0xe)
Points: 40
Bounty: 0.0 CR
HullStrength: 80

Name: "Fer-De-Lance"
ModelType: 15 (0xf)
Points: 100
Bounty: 7.0 CR
HullStrength: 80

Name: "Anaconda"
ModelType: 16 (0x10)
Points: 90
Bounty: 0.0 CR
HullStrength: 112

Name: "Cobra MK1"
ModelType: 17 (0x11)
Points: 60
Bounty: 0.0 CR
HullStrength: 72

Name: "Krait"
ModelType: 18 (0x12)
Points: 90
Bounty: 10.0 CR
HullStrength: 180

Name: "Thargoid"
ModelType: 19 (0x13)
Points: 150
Bounty: 40.0 CR
HullStrength: 500

Name: "Boa Class Cruiser"
ModelType: 20 (0x14)
Points: 60
Bounty: 15.0 CR
HullStrength: 124

Name: "Gecko"
ModelType: 21 (0x15)
Points: 90
Bounty: 15.0 CR
HullStrength: 190

Name: "Moray Star Boat"
ModelType: 22 (0x16)
Points: 50
Bounty: 7.0 CR
HullStrength: 96

Name: "Adder"
ModelType: 23 (0x17)
Points: 100
Bounty: 12.0 CR
HullStrength: 112

Name: "Mamba"
ModelType: 24 (0x18)
Points: 60
Bounty: 15.0 CR
HullStrength: 40

Name: "Asp MkII"
ModelType: 25 (0x19)
Points: 110
Bounty: 12.0 CR
HullStrength: 200

Name: "Sidewinder"
ModelType: 26 (0x1a)
Points: 80
Bounty: 5.0 CR
HullStrength: 40

Name: "Wolf MKII"
ModelType: 27 (0x1b)
Points: 150
Bounty: 11.5 CR
HullStrength: 255

Name: "Orbit Shuttle"
ModelType: 28 (0x1c)
Points: 3
Bounty: 0.0 CR
HullStrength: 112

Name: "Transporter"
ModelType: 29 (0x1d)
Points: 10
Bounty: 0.0 CR
HullStrength: 80

Name: "Cougar"
ModelType: 30 (0x1e)
Points: 1000
Bounty: 500.0 CR
HullStrength: 1024

Name: "Constrictor"
ModelType: 31 (0x1f)
Points: 5000
Bounty: 400.0 CR
HullStrength: 1024

Name: "panel#1"
ModelType: 32 (0x20)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "panel#2"
ModelType: 33 (0x21)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "panel#3"
ModelType: 34 (0x22)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "panel#4"
ModelType: 35 (0x23)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "panel#5"
ModelType: 36 (0x24)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "panel#6"
ModelType: 37 (0x25)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "panel#7"
ModelType: 38 (0x26)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "panel#8"
ModelType: 39 (0x27)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "panel#9"
ModelType: 40 (0x28)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "panel#10"
ModelType: 41 (0x29)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Name: "panel#10"
ModelType: 42 (0x2a)
Points: 0
Bounty: 0.0 CR
HullStrength: 0

Lasers
Type: Pulse
Delay: 10
Power: 5

Type: Mining
Delay: 8
Power: 7

Type: Beam
Delay: 6
Power: 9

Type: Military
Delay: 3
Power: 11

Algorithm
Ship destroyed if "HullStrength" < 0
Laser hit decrements HullStrength by laser "Power"

E.g. destroying a Thargoid with a beam laser requires 500/9 = 56 hits
 
Last edited:
On the subject of novella protection, here's the full list decrypted from the Amiga version (it's the same for the ST version). This data was never released in its entirety so I'll plonk it here for reference.

P|P|L|W
A|A|I|O
G|R|N|R
E|A|E|D English German French
--+-+-+-------------------------------------------------------
6/1/1/1 welcome wir le
6/1/4/4 whose planeten pour
6/3/5/4 and sind du
7/1/1/3 this vier system
7/4/1/4 fills den est
7/5/1/1 the die le
8/1/1/2 drive hier un
8/2/3/1 bunks erriecht votre
8/3/2/4 banks sich vers
9/1/4/2 yellow risiko plus
9/3/1/1 the der dans
9/3/1/2 rating status ce
14/3/4/1 worlds der types
14/3/4/4 favourable eine plus
14/3/4/2 for daten de
15/1/1/5 return bringt champ
15/2/3/2 hyperspace da rapide
15/2/3/3 fuel die et
16/1/1/2 world coriolis le
16/1/3/3 orbit auf voir
16/2/1/1 a nachdem pratiquez
17/1/1/1 on obwohl la
17/1/1/3 for gerade de
22/1/1/1 docking es tous
22/1/2/1 unless ihnen sont
22/2/1/1 locate das le
25/1/1/2 cobra alle existe
25/1/5/1 outrun schiff soif
25/2/1/1 if das les
25/2/2/3 there seinen grands
27/1/1/2 are wie que
27/1/2/2 pirate durch recrutee
27/2/1/1 small solange de
27/2/1/2 ships sie plus
29/1/2/1 engaged innerhalb si
29/1/5/3 for rasse ces
29/2/1/4 battle kennen du
29/2/2/1 small gnade unique
29/2/2/4 thargons ihnen tir
30/1/1/1 before laufend des
30/1/1/2 the in lasers
30/1/4/2 of diese laser
30/2/1/5 are meisten pulsions
33/1/2/1 missile stand zone
33/2/1/1 pressing der votre
33/3/2/1 will einbau dommage
33/3/2/4 sequence bug vous
34/1/2/4 own als toiles
34/4/1/1 an mit un
34/4/2/7 the dem vous
35/1/1/2 shield gegen ennemi
35/2/3/2 any werden formes
36/2/1/2 is schiff de
36/3/2/1 level warnt des
36/4/1/1 since eine le
37/1/1/2 it schirme cobra
37/2/3/1 once genug de
37/2/4/1 pressing werden que
44/1/1/3 cobra kann sont
44/1/1/4 craft mit souvent
44/1/4/2 may piraterie gratuit
46/1/1/4 under sowohl le
46/1/1/5 variable als commerce
 
Fangrim's ratings promotion table is correct:

Harmless => Mostly Harmless (2,048 / 0x800)
Mostly Harmless => Poor (4,096 / 0x1000)
Poor => Average (8,192 / 0x2000)
Average => Above Average (16,384 / 0x4000)
Above Average => Competent (32,768 / 0x8000)
Competent => Dangerous (131,072 / 0x20000)
Dangerous => Deadly (655,360 / 0xA0000)
Deadly => E-L-I-T-E (1,638,400 / 0x190000)
 
WOW!

Quelo -- I did not receive any notification that you posted messages here :(.
So sorry for my late reply and T-H-A-N-K-S first of all!

NOW, I will take time to really read your answers and comment on them.
 
Quelo, you are saying that

"Hull strengths for each ship were stored in "OBJECTS.IMG" which is track loaded into memory in the Amiga version"

Err... My Assembler might be rusty but I am certain I don't understand the term "track load". You mean a patch of memory is loaded into memory? Or does the file objects.img actually exist on the disk (i.e. in the adf image)?

In other words: If I wanted to change the values in Elite v1.0 --- what would I have to do? [As stated earlier: 15 Cr for a Mamba just seem too much]
 
The source code alone won't give you the answer to #1 as a data file needs to be reverse-engineered. Here's the answer to question #1.
<snip>
Algorithm
Ship destroyed if "HullStrength" < 0
Laser hit decrements HullStrength by laser "Power"

E.g. destroying a Thargoid with a beam laser requires 500/7 = 72 hits

Awesome!! Thanks!
In Elite 1.0, it takes 56 hits with a beam laser to destroy a Thargoid -- if 500 for the hull strength is correct, then the energy of the beam laser would be 9 -- not 7; so maybe mining laser (which should be _less_ powerful than a beam laser) and beam laser are reversed in Elite version 1.0?

But this list is great!! I have been shooting at ships for weeks to determine their relative strengths and while I know how many hits I need with a beam laser, I couldn't guess the energy of the ship --- too many variables :)
 
Last edited:
"Track load" means that you load data from the disk by accessing the tracks directly (or the blocks/sectors). The other way of doing it is to use a filesystem (modern examples include NTFS, HFS+, etc.) provided by the operating system. Filesystems are what most people are familiar with (files, directories, folders, etc.) as track loaders aren't very friendly.

The Amiga version used a track loader because the developer wanted all of the memory that would normally be used by the OS to be made available for the game (memory was at a premium back then). If you throw away the OS then you throw away filesystem support so you have no choice but to track load instead using the hardware. The ST version of the game used a filesystem however so the files are provided, so when I refer to "OBJECTS.IMG" I'm talking about the filename used by the ST version (note that the original filenames also appear in the Amiga source code but they aren't referenced).

To change the Mamba credits from 15 to say 10 then you will need to load the ADF image file (which contains no files within it as Elite is track loaded) into a hex editor. There are many free hex editors for Windows so first you will need to pick one that you're comfortable with.

The harder part is determining the offset within the ADF image file where the "OBJECTS.IMG" equivalent data is stored. If you can give me a link to the ADF image file that you're using (there are different versions available depending on who cracked it, etc.) then I can tell you the offset and value to change so that the Mamba gives you 10 CR (or whatever you want it to be).
 
Ok, got it.
Hex editing, I am familiar with :).

Now, I'd rather find the objects.img file myself in the adf (I know _you_ can :)). How can I identify it? Is there are start offset I have to look out for?
I assume it's not as simple as searching for "Mamba" and then looking at the bytes after the text, is it? I know there is a block starting with "Mamba" (or Thargoid, or Letter E, and so on), but I couldn't find the Cr representation in that block (or the hull strength for that matter)...
 
Last edited:
You're correct, "Mining" and "Beam" are labelled incorrectly. There's a table in the source code that gives the delay and power for each but not the name (the type is inferred from the position in the table). I manually added the names but forgot that the beam is more powerful than the mining laser. I'll edit that post now.
 
You're correct, "Mining" and "Beam" are labelled incorrectly. There's a table in the source code that gives the delay and power for each but not the name (the type is inferred from the position in the table). I manually added the names but forgot that the beam is more powerful than the mining laser. I'll edit that post now.

:cool: Thanks!
 
I assume it's not as simple as searching for "Mamba" and then looking at the bytes after the text, is it? I know there is a block starting with "Mamba" (or Thargoid, or Letter E, and so on), but I couldn't find the Cr representation in that block (or the hull strength for that matter)...

It actually is as simple as that because you're fortunate in that you have text in the neighborhood that you can use as a big neon sign (often what you're looking for is compressed or encrypted so you got lucky here).

So, locate the text "Mamba" then start backing up the cursor in the hex editor. If you back up two bytes from the "M" in "Mamba" then you will see "00 3C" which is a 16-bit value that equals 60 in decimal (again you're fortunate in that the 68000 processor used Motorola's "big endian" format so the bytes don't need reversing like on Intel processors).

If you refer back to the ships table then that 60 represents the number of points awarded if you destroy a Mamba so now you 0wn that puppy.

Now back up another two bytes and you will see "00 96" which is 150 in decimal. That is actually encoding "15.0", as in 15.0CR (the reason it's stored multiplied by 10 is because the 68000 doesn't have floating point math support so the developers used fixed point math by multiplying by a scalar). So if you want a bounty of 10CR for destroying a Mamba then you will need to store 100 here which means you need to enter "00 64" where "00 96" currently appears.

You can repeat this process for all other ships now.
 
(facepalm). ARGH! I have always been looking for 3C (or 00 3C) _AFTER_ (!) the Mamba string and I didn't even consider going back...
*Haha* It's so obvious once you know it! Thanks, man!

And just to complete the data: 29 bytes before the ship name, there's the hull strength...
 
Last edited:
Thanks to Quelo, I found some more information about which ships have ECM and why, sometimes, it seems that Thargoid ships can be destroyed by missiles. The story is rather simple: If you are close enough to an enemy ship, which has ECM, it is determined randomly, if the ship activates ECM or not. I think (!) that the ECM will not be triggered with a possibility of 1/8 if you are close enough to the ship.

I'll keep at this and post more information as soon as I have it :).

So far, this is the updated ship specification list sent by Quelo [fuel scoop flag indicates, which Cargo is dropped; more information on that later ;))]

Name: "Space Station"
ModelType: 0 (0x0)
Points: 500
Bounty: 0.0 CR
HasECM: yes
JettisonAndScoopFlags: 0x7
Hull Strength: 255

Name: "Missile"
ModelType: 1 (0x1)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 1

Name: "Cargo Canister"
ModelType: 2 (0x2)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 17

Name: "Asteroid"
ModelType: 3 (0x3)
Points: 0
Bounty: 0.5 CR
HasECM: no
JettisonAndScoopFlags: 0xc
Hull Strength: 60

Name: "Escape Capsule"
ModelType: 4 (0x4)
Points: 90
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x3
Hull Strength: 40

Name: "Thargon"
ModelType: 5 (0x5)
Points: 20
Bounty: 1.0 CR
HasECM: no
JettisonAndScoopFlags: 0x10
Hull Strength: 30

Name: "Platlet"
ModelType: 6 (0x6)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x9
Hull Strength: 0

Name: "Letter E"
ModelType: 7 (0x7)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "Letter L"
ModelType: 8 (0x8)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "Letter I"
ModelType: 9 (0x9)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "Letter T"
ModelType: 10 (0xa)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "Viper"
ModelType: 11 (0xb)
Points: 50
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 120

Name: "Alien Space Station"
ModelType: 12 (0xc)
Points: 0
Bounty: 0.0 CR
HasECM: yes
JettisonAndScoopFlags: 0x0
Hull Strength: 1024

Name: "Cobra MkIII"
ModelType: 13 (0xd)
Points: 80
Bounty: 5.0 CR
HasECM: yes
JettisonAndScoopFlags: 0x7
Hull Strength: 72

Name: "Python"
ModelType: 14 (0xe)
Points: 40
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0xb
Hull Strength: 80

Name: "Fer-De-Lance"
ModelType: 15 (0xf)
Points: 100
Bounty: 7.0 CR
HasECM: no
JettisonAndScoopFlags: 0x3
Hull Strength: 80

Name: "Anaconda"
ModelType: 16 (0x10)
Points: 90
Bounty: 0.0 CR
HasECM: yes
JettisonAndScoopFlags: 0x8
Hull Strength: 112

Name: "Cobra MK1"
ModelType: 17 (0x11)
Points: 60
Bounty: 0.0 CR
HasECM: yes
JettisonAndScoopFlags: 0x0
Hull Strength: 72

Name: "Krait"
ModelType: 18 (0x12)
Points: 90
Bounty: 10.0 CR
HasECM: no
JettisonAndScoopFlags: 0xc
Hull Strength: 180

Name: "Thargoid"
ModelType: 19 (0x13)
Points: 150
Bounty: 40.0 CR
HasECM: yes
JettisonAndScoopFlags: 0x0
Hull Strength: 500

Name: "Boa Class Cruiser"
ModelType: 20 (0x14)
Points: 60
Bounty: 15.0 CR
HasECM: no
JettisonAndScoopFlags: 0x9
Hull Strength: 124

Name: "Gecko"
ModelType: 21 (0x15)
Points: 90
Bounty: 15.0 CR
HasECM: yes
JettisonAndScoopFlags: 0x4
Hull Strength: 190

Name: "Moray Star Boat"
ModelType: 22 (0x16)
Points: 50
Bounty: 7.0 CR
HasECM: no
JettisonAndScoopFlags: 0x8
Hull Strength: 96

Name: "Adder"
ModelType: 23 (0x17)
Points: 100
Bounty: 12.0 CR
HasECM: no
JettisonAndScoopFlags: 0x6
Hull Strength: 112

Name: "Mamba"
ModelType: 24 (0x18)
Points: 60
Bounty: 15.0 CR
HasECM: no
JettisonAndScoopFlags: 0xa
Hull Strength: 40

Name: "Asp MkII"
ModelType: 25 (0x19)
Points: 110
Bounty: 12.0 CR
HasECM: no
JettisonAndScoopFlags: 0x3
Hull Strength: 200

Name: "Sidewinder"
ModelType: 26 (0x1a)
Points: 80
Bounty: 5.0 CR
HasECM: no
JettisonAndScoopFlags: 0xb
Hull Strength: 40

Name: "Wolf MKII"
ModelType: 27 (0x1b)
Points: 150
Bounty: 11.5 CR
HasECM: yes
JettisonAndScoopFlags: 0x9
Hull Strength: 255

Name: "Orbit Shuttle"
ModelType: 28 (0x1c)
Points: 3
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x8
Hull Strength: 112

Name: "Transporter"
ModelType: 29 (0x1d)
Points: 10
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 80

Name: "Cougar"
ModelType: 30 (0x1e)
Points: 1000
Bounty: 500.0 CR
HasECM: yes
JettisonAndScoopFlags: 0xffff
Hull Strength: 1024

Name: "Constrictor"
ModelType: 31 (0x1f)
Points: 5000
Bounty: 400.0 CR
HasECM: yes
JettisonAndScoopFlags: 0x7
Hull Strength: 1024

Name: "panel#1"
ModelType: 32 (0x20)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "panel#2"
ModelType: 33 (0x21)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "panel#3"
ModelType: 34 (0x22)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "panel#4"
ModelType: 35 (0x23)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "panel#5"
ModelType: 36 (0x24)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "panel#6"
ModelType: 37 (0x25)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "panel#7"
ModelType: 38 (0x26)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "panel#8"
ModelType: 39 (0x27)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "panel#9"
ModelType: 40 (0x28)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "panel#10"
ModelType: 41 (0x29)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0

Name: "panel#10"
ModelType: 42 (0x2a)
Points: 0
Bounty: 0.0 CR
HasECM: no
JettisonAndScoopFlags: 0x0
Hull Strength: 0
 
Hi Philipp

As to your questions, apart from Rob Nicholson, I fear only David Braben or Ian Bell might know some of the answers. I will assume you already know of Ian Bell's site, but just in case here is a

Well I'm still alive but considering it was around 20 years since I wrote the conversions, I honestly cannot remember the detail at all. I did used to have the source code on 5.25" disks but they got lost a long time ago I'm afraid.

BTW - the reason the MSX, Amiga & ST versions are different to the BBC Micro version was that I had to write them blind, i.e. it was a visual copy of the game as I didn't have access to the source code. Some contractual quirks if I recall. All I had was the wireframe shapes plus the code for the planet name generation.

I was helped considerably by my friend Alex King who did studied maths at university and really helped with the 3D math. I recall sitting in my flat at the time doing dot-products and the like. At the time there was very little documentation on 3D for computer games so I'm amazed it worked at all.

Cheers, Rob.
 
>Rob... Rohoooob -- are you listening?! Please help...

Am reading but no bells ringing ;-) A lot of it was random - like chances of falling into witchspace.

Cheers, Rob.
 
Various

Hi Stardust, Mr. Micro's ST/Amiga source code was never made public (but the BBC version was). I have a mostly commented, disassembled version that will answer all of your questions but some are simple enough to cover here.

I would have killed for that when writing the conversions!

1. Hull strengths for each ship were stored in "OBJECTS.IMG" which is track loaded into memory in the Amiga version

Shudders as I remember learning about the Amiga disk encoding system!

3. Triggering of WitchSpace is entirely random in the Amiga version. The algorithm is as follows:

So my memory isn't totally trashed.

7. Maybe Rob Nicholson changed girlfriends between 1.0 and 2.0 because the cheat code for 1.0 was "SARA" but for 2.0 it was "SUZANNE" (with added encryption). 2.0 also added the Library as somebody else mentioned.

Ahh the lovely Sara. She never was my girlfriend - just a very pretty friend. I wonder where she is now. I have no recollection of Elite 2 so Suzanne is nothing to do with me.

Cheers, Rob.
 
Well I'm still alive but considering it was around 20 years since I wrote the conversions, I honestly cannot remember the detail at all. I did used to have the source code on 5.25" disks but they got lost a long time ago I'm afraid.

BTW - the reason the MSX, Amiga & ST versions are different to the BBC Micro version was that I had to write them blind, i.e. it was a visual copy of the game as I didn't have access to the source code. Some contractual quirks if I recall. All I had was the wireframe shapes plus the code for the planet name generation.

I was helped considerably by my friend Alex King who did studied maths at university and really helped with the 3D math. I recall sitting in my flat at the time doing dot-products and the like. At the time there was very little documentation on 3D for computer games so I'm amazed it worked at all.

Cheers, Rob.

Well I think you did a great job Rob and just for the record, I loved the Pink Thargoids! :cool: Well..:eek:.. when I wasn't being blown up by them that is. :D

575414_34316_front.jpg
575414_34316_back.jpg
 
Last edited:
Back
Top Bottom