Sorry for the slow reply. As you say, I'm rather busy at the moment. I can see you've been busy too.
That's quite alright Phil, its just staggering to see that you seem to be the only person out there willing/able to help idiots like me do this kind of stuff. But naturally, family and work comes first! I'm grateful you manage to find time to reply to threads in such detail like you do. I can't say thank you enough!
AFAIK, the only software that will do this for you is my linux software. It's not hard to do. Use a knoppix boot CD and then run my ecudump program:
Usage: ecudump [-d device] [-f output_file] [-s start_address] [-e end_address]
eg. ./ecudump -d /dev/ttyS0 -f ecu.bin -s 1000 -e 14ff
I might go to "the dark side" and get another pc set up to do this, there's a few spare ex-server setups (Celeron 1400, 1800 etc) kicking around in shed somewhere.
I've tried Linux before but always got fed up trying to figure things out which are almost second nature to me in windows.
I downloaded the whole address space from 0000 to FFFF and then looked at it in a hex editor to try and identify areas of code, data and junk.
Hmm.. Ok I'll take your word for it! I don't posses the skill to do this.. all I see is just letters and numbers! :

I think we look at this briefly earlier in the thread, or maybe it was Brett's thread. I think the ADC produces a 10 bit number that is proportional to the voltage. ie: For 0 volts the number is 0000000000, for 5v it is 1111111111 and for 2.5v it is half way in between, etc. The ECU code then rescales this to an eight bit number by shifting it right 2 places.
A 10 bit number? what a strange number. I don't know how important it is to understanding the coding, but I had a faulty power supply which was kicking out 16V... and it actually registered this in the ECU, so I have no idea how high the sensor is willing to go without going pop.
Another "odd" thing i've noticed.. if i hook up the multimeter to the adaptor, I get 12V +-0.5V, as soon as I connect it to the board and measure it again at the first point its suddenly bumped up to 15V.. disconnect it and its back to 12V.. I wonder if its something to do with the circuitry/capacitors hiking up the voltage?
I *assume* that the hardware is designed so that full-scale on the ADC matches the expected maximum voltage of the corresponding input pin. In normal operation, the ECU supplies power for the TPS and MAF and measures the return. You should be able to use a potentiometer rather than a 1.5v battery. Try to copy the car's wiring diagram as closely as possible.
I like the thinking behind that... I never thought of re-using the feeds. I know the TPS uses 2 measurements, it feeds in 5V and watches how close to 5V it is when its fully open and at the same time looks how far away it is from the other end, so it comes back with 2 separate readings, for example if it was half open it would be 2.5V from closed and 2.5V from fully open.. 1/4th open would be 1.25 from fully closed and 3.75v from fully open. Anyhow, I'll have to get potentiometers then.
something else I've noticed on the wiring, there are 4 separate injector 12V feeds which are ALWAYS live, even when the ignition is switched off. However there are only 2 grounds, presumably matched to Ignition control (also 2 feeds) one doing cylinder #1,#2 and the other #2,#3.
I've never really looked at the firing order.. but I take it they fire in pairs then?
the 12V feed to all the injectors is in "waveform" as well.
So does that mean the ECU grounds for a few ms when it injects and leaves the 12V live permanently?
If you can figure out how to use ASCII mode, you can get the values one at a time. We did a bit of experimentation with it in the SVX forum thread, but couldn't find any real reason to use it.
Convert the 19 from hex to binary: 00011001. Now match that up against the table of error flags for byte 102E that we found earlier in the thread. I know that you know how to do that, but we've taken a break and you've forgotten.
Aaaaaaa.. here was me thinking there was "only" Hex and ASCII, ASCII being the same as Binary! Clearly not..
Forgive me as I'm still a novice at all these languages.. I can count from 1 to 10 and do my ABC's, I've just managed to get my head round Hex. Luckily there are Hex to Binary converters on internet available.. It all makes sense now

Yes, but look back at when we examined the code that tests each sensor. There are often preconditions that must be satisfied before the ECU will carry out the test. Many of the tests will not be carried out, for example, unless the engine is running. To convince the ECU that the engine is running, you might have to generate something that looks like valid pulse signals from the crank and cam sensors.
Generating pulses will be a bit hard as I don't have any device which can do it, and I am still very much skint. I'm going to try and re-use most of the sensors which I've chopped off the looms, We've just ordered up a "large" 6.5L Ultrasonic cleaner.. so all the sensors are going for a swim first as they are extremely mucky oily and covered in carbon due to a wrongly set up LPG system. On the plus side I have got the full setup, as well as the pin out.. so it should be interesting.
What linux distro would you recommend for a pc with a novice linux user?
Cheers, and thanks a million again,
Daniel.