Eprom Emulator Ideas

Ludis Langens ludis at cruzers.com
Thu Mar 4 09:04:45 GMT 1999


Jason Weir wrote:
> 
> Correct me if I am wrong but after you download the eprom image to the
> emulator don't you have to force the processor to reset before the new
> code is loaded into processor space?

Nope.

The purpose of having two banks is so that the ECM can run out of one
while we lazily download into the other.  When the download finishes, we
tell the PIC to switch banks.  The next nanosecond that the ECM isn't
reading the emulated PROM, the banks get switched.  The next ECM memory
cycle then gets the new version.  Essentially, when it blinks, we change
it's world.

For something like an ignition advance table, the ECM won't hiccup or
anything.  It'll just start using the new values.  There are certainly
some values that can't be changed on the fly like this.  A complete
software change (like going from 86 'vette auto to 89 F-body stick) also
won't work.  For those cases, there is a solution that doesn't need a
RESET line:  In a P4, the watchdog timer fires at 32 Hz.  All we need to
do is make the CPU chase it's tail for 31 ms, and it will reset itself. 
This can be done by poking certain values into the old "RAM" bank.

-- 
Ludis Langens                               ludis (at) cruzers (dot) com
Mac, Fiero, & engine controller goodies:  http://www.cruzers.com/~ludis/




More information about the Gmecm mailing list