DIY PROMDo It Yourself PROM chip burning help. No PROM begging. No PROMs for sale. No commercial exchange. Not a referral service.
Welcome to ThirdGen.org!
Welcome to ThirdGen.org.
You are currently viewing our forum as a guest, which gives you limited access to view most discussions and access our other features. By joining our community, at no cost, you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is free, fast and simple, join the ThirdGen.org community today!
The pink book lists the standard addresses for the registers to be located.
And how to map them to a different location.
But I can't find anything in the ANHT hac that looks like the appropriate Load cmd to remap to the $4000 area.
What am I missing?
I looked at the DIY 68hc11 ign controller page and the load statement is plain as day in it.....
The I/O range that I keep seeing is $1000 to $103F.
but I still don't know how to change the configs of these.
There IS a way I'm sure there must be something.
$3FC0-$3FFA Computer Control Registers might be the key to the setups but again, I don't see anything making the setup except for the code at this spot.
Code:
LB088: bset L0003,#$08 ; Set EPROM ERR 51 (Failed) BIT ; CRef: $B07A,$B07F
LB08B: ldx #$FB1A ; Init CPU $FB1A = 1111 1011 0001 1010 ; CRef: $B086
brclr L0003,#$08,LB095 ; Br if No ERR 51 BIT set
; ... else
ldx #$FB12 ; Init CPU $FB12 = 1111 1011 0001 0010 (b3 OFF is change)
LB095: stx L3FFC ; CPU Control Register ; CRef: $B08E
I dont know much about the HC11, but depending on the ecm, it may be possible to remap it. But, youd have to remap it to an area that isnt in use by other hardware already. Youd also have to go through the entire code and change all the references to the registers as well.
I've been running through the code on my simulator and the only places I see changes to the $4000 register is when it "seems" like directional changes to the serial controller for read/writes direction.
It alternates a few bits on each scan, I'll try to explain what I see.
LF0C8 (just below there) sets 0000 0100
then progresses to LF0DA (lookup routine)
STAA changes it to 0000 0000
Then progresses to the section labled "Read A/D test Channel"
$B0 changes it to 1011 0000
program pregresses and comes back to
LF0DA (lookup routine)
STAA changes it to 0110 0000
Then progresses to the section labled "Read A/D test Channel" again
$B0 changes it back to 1011 0000
program pregresses and comes back to
LF0DA (lookup routine) again
STAA changes it to 0001 0000
Originally posted by dimented24x7 youd have to remap it to an area that isnt in use by other hardware already.
The idea is why can the same hardware be used whith different masks?
The parts are the same, just pinned differently.
there must be some code there to make the setup match.
Is there some kind of bios code in the thing to make the config arrangement match the I/O pinout? I've been looking for anything relating to config register settings but just don't see it in there.
Z'
I have scanned the pink book config sections and like you said, seems easy in those terms.
Just do this, and this, and this, to do that...
Nothing is ever as easy as it seems.
Originally posted by JP86SS The idea is why can the same hardware be used whith different masks?
The parts are the same, just pinned differently.
The parts are not the same when comparing a standard 68hc11 to an ECM version. Do a search for Ludis ecm and you will find the great work done in generating the schematics. This shows the ECM MCU pin-out which differs from a standard 68HC11.
There is not a possibility of remapping registers. One has to work with the given MCU register map.
Ok the fact that you can't remap a P4 explains why the remap
can't be found. It appears quite easy to do in a std hc11 chip
by the example I've seen.
JP and I were trying to figure this out on our own.
So we need to know what the register mapping is since the
hac is lacking in the comments pertaining to this.
Had no clue that this stuff was going on till I saw a different
ASM for a std hc11 with the I/O regs remapped to a diff addy.
If the P4 doesn't follow the standard 68hc11 map.
How does one go about finding the correct addresses?
I'm at a loss as to where to go next. And I know
JP has been at this particular road block a lot longer than I have.
He's just been plugging away at the aujp hac to keep him busy.
I determine what the registers do by reading through the excellent anht_hac.pdf. It gives pretty much all the info you need for modifying code.
I took a look the linked website and saw that he has just started documenting what the registers do. I noticed that there are some assumptions about the SCI baud rate setting which don't make sense to me.
bit 5 bit 4 baud rate
256
1024
8192
I think that these are the clock prescaler bits. divide by 2,4,8 or something like that. (8.3M/4)/256 ~ 8192.
So if the SRX chip can handle it, you could theretically run 2*8192
or approx. 16k baud. I haven't tried it in hardware yet, but I am betting it is possible even with the old slow 1980/90s electronics.
I am going to start messing with some asm test code on the bench in a few weeks and this is one of the tests that I have planned.
I almost forgot........there was a post from someone a few months ago "claiming" that they were going to re-write the entire ECM code in "C". They calimed it would take a month. If they lived up to their claim, then the would know the complete register set because that is the only way to properly write the code in "C".
Thanks
The abbreviations in the anht hac don't always make sense to a newb. And they don't always match the pink book. But if it had lined up in some fashion with the pink book then I could figure it out.
I think I read somewhere that the serial com greater than 8192
might interfere with the main interupt for the FI. Or they thought it might.
The idea is why can the same hardware be used whith different masks?
The parts are the same, just pinned differently.
The whole thing about what pin each sensor goes to is all in the A/D read routine. $4002 is the chip select register, which is why you never see more than one bit active there. Those 8 bits are actually processor output pins that go to the peripheral chips. For instance, b3 selects the serial A/D converter (U5.) U5 and U6 are the two chips that all the ECM A/D input pins go to. U6 is read through U5 as a multiplexed input, but that's a whole different deal.
Before the A/D input routine is called, the channel number for the sensor is stored in acc. A. Then it JSR's to the routine.
The routine sets b3 of $4002 to select U5.
$4000 is the data register...it's loaded with the channel number (from acc. A,) which tells U5 which of it's inputs to read. This slight delay also allows time for U5 to "come on" when selected.
Next it sets b7 of $4001 (I/O control register) high, which sends the channel data to U5 and tells it to read the channel. All the waiting is just for the time it takes for U5 to read the analog voltage and change it to a digital data byte, and to cycle the "test channel" off and back on. The "test channel" is sort of a default for U5, it's where the channel select sits when nothing is being read.
U5 then sticks the digital data byte back in the data register at $4000.
The data is then moved to accumulator A and the routine ends.
Anyway, in order to move a sensor from one ECM pin to the other, you just go into the code just before it calls the A/D input routine ($F0DA) and change the channel number stored in acc. A to match whatever U5 input pin the sensor is using. U6 is a little more complex.
Is that what you're looking for or did I totally miss the point?
Thanks, The input wasn't too hard to figure out.
Just change the channel and make sure the correct JSR is used for U5 or U6. Wasn't real sure on access to the extra pins on U6 but figured some experimentation would get it. The mux stuff is very confusing.
The outputs are a whole lot harder to figure out based on the hac.
The 1227730 and the 1227749 use the same PCB. The parts that are loaded are different between the two. There is another ECM of which I forget the service number that has the '730 parts loaded along with the additional RAM that neither the '730 or '749 have (but has a location on the PCB for).
Between the '730 and '749, the '749 is short a quad driver. And the '730 is short the extra injector driver parts. (they both have the ADC mux). I can't find my marked up schematics otherwise I'd post which parts differ.
Just to keep my head on straight, the original reason I started looking into this was so that running $8D mask on a 730 or 749 is pinned one way.
Running $58 boosted code can be run on the same hardware but is pinned another way.
The pins that are wired differently "should" be able to be coded to work with either mask.
Has to be in there somewhere.
I the analogs ins would be easy to fix by manipulating the channel numbers for different routines.
The digital I/O is another story and I haven't been able to nail it down.
Further investigation (or helpful, advanced kick in the rear) is what it will take to get the solution.
I've been wondering what you two have been up to. Not looking at the pin differences, going by memory, there are some digital I/O stuff changes. The TCC is most prevalent. The $8D mask uses a quad driver for the TCC that isn't present in the '749 ECM.
forgot to give you the other register for the MUX A and MUX B selects
Code:
****************************************************************************************
$4004 SCI (ALDL) Baud I/O with MUX selects (called DO1 in the code, ??data_out_1??)
Bit 0
Bit 1
Bit 2 second A/D MUXA
Bit 3 second A/D MUXB
Bit 4 SCI Baud select bit (8192 Hz)
Bit 5
Bit 6
Bit 7 SCI Baud select bit (8192 Hz)
****************************************************************************************
Thanks all of you guys. I catch something new each time I read this thread now.
Very helpful.
To clarify,
$4000 (SPI serial shift DATA register (SSR)) or Data register
$4001 (I/O control register)
$4002 (General Purpose I/O register)
$4003 CPU DDR
$4004 SCI (ALDL) Baud I/O with MUX selects
I'll edit more later...
Hi, I am new to this board. It seems like there are people on this board that know what they are doing, contradistinguished from me, as I know nothing about this. I am looking for information on using HHO to run a fuel injected engine. As it is now, when HHO is used as a suppliment fuel, the O2 sensor is tricked into functioning at a lesser fuel delivery for better milage, by using an EFEI C/B. The problem is, if the ratio goes too low, then the ECU goes into closed loop and disreguards the the O2 signal and reverts to programing. If it is possible, I would like to remap the PROM for a different fuel delivery so the engine will run on 50 percent gasoline and 50 percent HHO. Do any of you know if this is possible? If so, are there any particular books that I could read so I could ask intelligent questions? What is the best type or model PROM burner? Also, I was thinking that using an injector from a TBI for HHO delivery would work, but I do not know where to get the signal to pulse this extra injector. Jack
Im not familiar with the HHO system, but depending on the ECM or PCM in use, its a matter of adjusting either the AFR tables(open loop AFR, closed loop stoich AFR, PE AFR) within the PCM or the stoich AFR if lambda or inverse lambda is used. There really isnt a need to remap anything, just a matter of adjusting the stoich AFR to whatever it is for the blend of fuel being used. The ECM/PCM will then target the correct AFRs in open and closed loop. The only stipulation is that the ratio of the fuels must remain constant over the range of operation. Otherwise, things get more complicated.
Also, what are the requirements for the supplimental injector? Its possible to use another output to switch the injector at a constant frequency and adjust the duty cycle to meter the fuel. Many of the outputs in the later TBI PCMs are PWM. You can set the frequency divider and output duty cycle. The caveat is that you would need to add extra code to meter whatever additional fuel your using.
Last edited by dimented24x7; 09-27-2008 at 09:37 PM.