View Full Version : ECU Emulator - Work in Progress
I thought I would share my work in progress with you. For various reasons I have been creating an ECU Emulator / Development System to help with the reverse engineering of my 16v integrale's ECU. Not all features / buttons work, there are a few bugs and the sensor section doesn't really do anything at the moment. But one key functional aspect is you can LOAD binary files and IDENTIFY them - the tool will report if they are standard integrale chips or recognised modified items. I could also add Alfa binaries if you want me to. The emulator has a fully functional disassembler and simulator of the 6803 and 6811 CPU's and you can run code at various speeds, watch memory locations, stop on locations containing certain values etc. I have nearly finished a full command line assembler too which I am playing with locally at the moment and will upload soon.
As I say its a work in progress, but you can't break anything by pressing things to see what happens.
If you are interested it runs best using Safari on a Mac (1920 x 1200), or Google Chrome on a PC is OK. I doubt it will work very well in Microsofts browsers. If you are interested in it and have any questions then feel free to ask below.
http://integrale.website/ecu/
p.s. easy to remember address :-)
I wish I could know more about ecu programming, maybe I'll read about it during the xmas break, nevetherless great little interface, nice work :cool:
Steve Webb
01-12-17, 16:59
Thats great Ricardo,
do you have any documents detailing the screen? What everything does etc. Be great if you could add some of the Q4 binaries as well.
Nice one.
I've started to add a manual / help file - so click the green help button and some chapters have detail. If you click the LOAD button (top left) you can load a binary image from your hard drive. It will sit at C000 (16k) or 8000 (32k). If its not an integrale based image then it will report unknown etc but the code window should be populated. You can also click the FETCH button to fetch any of the standard integrale ECU images - they are contained within the emulator. Once you have some code on screen, if you click any of the mnemonics then your browser should open the relevant Motorola manual page for that instruction. I'll add more hardware docs as time goes by.
I haven't added the option to load and save project files yet, but you can add address labels and comments for each line of code too. As I say, its a work in progress which I get to play with when work is quiet each winter. I started it a couple of years ago, and update it this time of year. It will run fine on an iPhone too, but the display could do with tweaking for that.
If you send me some suitable alfa images with the address they normally sit at then I can add them to the library.
For anyone wanting to "get into" programming the ECU, assembler is simple once you have grasped it, the hard part is the car side really. Plenty of resources on the internet. The integrale ECU uses either a Motorola 6803 or 68HC11 (Evo 2) and has a 6845 Timer chip and a 14442 Analogue to Digital convertor. If you lookup details on those 3 chips - thats all there is really. The 6803/6811 is the brain that controls everything, the 6845 controls 3 of the injectors (4th is done by the 6803/6811) and the 14442 converts the input from the sensors into something the processor can understand.
Sorry, being thick. I had forgotten the Q4 binaries were on the site. I have downloaded all three standard ones. Can you provide some information about them? (for me to display) - see below for the kind of details I could do with for each of the chips:
CHIP IDENTIFICATION
===================
EPROM identified as a genuine Original Equipment (OE) Lancia chip.
Type: Lancia Delta HF integrale Evolution II
Engine: 16v with catalytic convertor
Power: 215bhp @5750rpm
Torque: 308Nm @2500rpm
ECU: WH4WG.P8
CPU: 68HC11
Chip: 27256
Size: 32K
ID: PTP-CF
ISO: 55 CD 85 08 13 C2
Note: There are two Evo II EPROM versions, this is version 1
Cheers
Quick update and a couple of questions. I am weeding out a couple of bugs so no new version at the moment, but soon I will upload a update of the emulator which has full documentation AND a full inline assembler so you can write (and save) code etc as well as look at it! (the buggy bit at the mo are the bit opcodes on the 6811 which is in the Q4).
Speaking of Q4 there are 3 OE binaries on this site. I have been doing a bit of reading and it appears 103 is "with water spray", 104 I guess is without water spray and 105 is with immobiliser. I can confirm from and official FIAT list that the 105 is with immobiliser. But the odd thing is that whilst the 105 has a unique ISO code (6 byte identifier) the 103 and 104 share the same ISO. Does anyone know anything about this?
Also, can anyone shed light on the differences (performance etc) of the three chips? and confirm if they are indeed standard?
I am going to include them with the update and also, I have found a site where a guy has COMPLETELY reverse engineered the P8 ECU (as per Q4 and Evo 2 integrale, + Escort Cosworth). He has sorted both the code and the hardware although the code will be slightly different as he is running a V8 with it!
If anyone could glean more Q4 into that would be good. Cheers.
I have just uploaded a major update to the ECU tool. The main changes are:
1) A full manual - it may waffle a bit, and a lot of it is so I can remember whats what when I work on this each winter. Some bits don't work, post here if you see glaring errors. I've also included my things to do / bug list.
2) The HINT button turns on rollover text hints for all the buttons and screen areas.
3) You can save the buffer locally (after you have loaded something into it!). I had to get exotic so have this local save feature, so it may not work on some browsers and anti-virus software may freak out. But it works fine on a Mac with Safari & Chrome.
4) The inline Assembler is operational, so you can write code.
Have fun(!).
That looks REALLY impressive...I only wish I could understand it! :lol:
wrinx
That is brilliant. I too wish I could understand it. Might have an attempt at least soon and read the manual.
It all looks very complicated on the surface but the ECU can only do very simple things, one at a time. When I get a mo I'll add the ability to read some of the code I have commented for my 16v integrale ECU. Which might help.
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.