Stuart's EPROM Emulator

Memcal and Race ECU

My Memcal, the Race chip adapter is at the top.

 

My car is currently running on a race chip which has it's own quirks and problems, and due to other modifications (Injectors), I cannot use the updated S4S versions that have been tweaked by Andy Whittaker.

This project was started after deciding to reverse engineer the code in my ECU, as a means of easily changing the settings and tables without burning new ROMs (chip) every time. Commercial emulators such as the one provided by Van Aaken Developments are very costly, and my design actually gives more features, and allows me to alter the software as needs progress.

The Emulator is an electronic circuit that replaces the ECU EPROM chip in the car. Once the code from the original EPROM is loaded into the Emulator, the car runs on the Emulator from then on. The emulator can remain in the car, permanently connected if so desired, and the car can be used as always. When changes need to be made, the emulator is connected to a laptop computer and updated as needed.

Some of the features of my Emulator:

1. Replaces 27C256 or smaller EPROMS. The design is scalable for larger ROM sizes.

2. Currently supports EEPROM or RAM memory internally, RAM being faster for live changes.

3. Power consumption is quite low for keeping the memory in the RAMs while the car is parked. No power is needed when using EEPROMs.

4. The Emulator uses a single parallel port cable to connect to a computer. Power is supplied by the car's electrical system.

5. The emulator can write the entire ROM code in well under a second, and updates are instantaneous.

6. The design allows for live changes, meaning the code can be changed while the car is RUNNING! Even complete reloads can be done (as long as the operational program is the same.. tables can be changed).

7. The Emulator can report back on accessed addresses from the ECU, so you can actually see where the car is reading from in the code.

8. The software is written in Visual C++ 6.0. Details are shown below.

9. A second version of the software is written in QuickBasic (simple read/write) for use on very old laptops. This was the original code... great for using the computer from my ECU monitor project to load the emulator if the car battery ever fails!

The Hardware:

Here are some images of the hardware, as mounted:

 

The Software:

Eprom Emulator "About"The softare editing portion is based on the excellent free hex editor Frhed.

 

 

 

There are a LOT of changes to Frhed to adapt it to the ECU use:

1. The code can now display all differences in two files using the "Highlight All" button.

2. The code can display selected areas as 3D maps.

3. Differences can be shown on the 3D maps.

4. Autodetection of the hardware is supported.

5. My EPROM programmer project is supported for burning new ROMs when tweaking is done.

6. Accessed Addresses can be highlighted, with controllable update rate and history.

7. LiveWriting allows the user to make changes to the tables on the fly without having to stop the car!

8. Test modes for the emulator hardware are included.

9. Full demonstration mode, ignoring any hardware commands when the Emulator does not exist.

10. Easy table changes are possible with an improved "Fill Selection" dialog that allows mathematical changes to complete tables at once.

11. Works under any version of Windows.

 

Here are some example screens:

Colour Settings

Color Selections for the display

 

 

 

Differences Table

Comparing two ROMS

 

 

 

Differences Highlights

The "Highlighted" differences... VERY helpful!

 

 

 

Selections, Differences...

Here we have selected an area to display as a 3D map. The screen shows the selection here as yellow, and the differences to the compared file as brown. The blue areas are differences within the selection area.

 

 

 

3D Map

The 3D map. This can be fully controlled for angles, size, dimensions, etc.

This is the fastest tool for finding the maps in your ECU code.

 

 

3D Map with Differences

Here we have shown the differences in 3D. The compared ROM is my Race one.

 

 

 

Hardware Options

Here we set the options for the hardware.

The area under "Test Latch" is for diagnostics.

 

 

 

Hardware Settings

Here are the settings we are using.

 

 

 

Demo Mode...

Demonstration mode lets you use the features of the software without the Emulator.

 

I am planning on making this project available for others. Email me if you would like more information. I am hoping to have a demonstration version of the software available for download soon too.