DIY PROM Do It Yourself PROM chip burning help. No PROM begging. No PROMs for sale. No commercial exchange. Not a referral service.

Register Remap?

Thread Tools
 
Search this Thread
 
Old 03-09-2005, 03:44 PM
  #1  
Z69
Supreme Member

Thread Starter
 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
Register Remap?

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.....
Old 03-09-2005, 07:13 PM
  #2  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
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'm still digging...

...stupid code switch ain't doin it. (now it is )

Last edited by JP86SS; 03-09-2005 at 08:20 PM.
Old 03-09-2005, 08:15 PM
  #3  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Forget all that !

Look at the L0033 location.
That is where the $4000 configuration is set/changed.
I'm seeing something there but not sure what...
Old 03-09-2005, 08:53 PM
  #4  
Z69
Supreme Member

Thread Starter
 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
Has to be somewhere before any reference to 3Fxx.
Or that is how I read it.
Should look something like LDAA $3F
STAA $103F or close in location.
Old 03-09-2005, 09:30 PM
  #5  
Supreme Member

iTrader: (2)
 
dimented24x7's Avatar
 
Join Date: Jan 2002
Location: Moorestown, NJ
Posts: 9,962
Likes: 0
Received 3 Likes on 3 Posts
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
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.
Old 03-09-2005, 09:47 PM
  #6  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
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

Seems like that's not what were looking for.
Old 03-09-2005, 09:54 PM
  #7  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
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.
Old 03-09-2005, 11:01 PM
  #8  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
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.

J
Old 03-10-2005, 01:13 AM
  #9  
Z69
Supreme Member

Thread Starter
 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
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.
Old 03-10-2005, 10:55 AM
  #10  
TGO Supporter
 
AlexJH's Avatar
 
Join Date: Jul 2000
Posts: 812
Likes: 0
Received 1 Like on 1 Post
Engine: 5.7L V8
Transmission: 700R4
I've got a list here:

http://wasabi.dynu.com:8080/wiki/ind...8HC11GMVariant
Old 03-10-2005, 11:32 AM
  #11  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
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".


J
Old 03-10-2005, 12:35 PM
  #12  
Z69
Supreme Member

Thread Starter
 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
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.
Old 03-10-2005, 01:50 PM
  #13  
Senior Member
 
TheGreatJ's Avatar
 
Join Date: Jun 2000
Location: Tuscaloosa, AL
Posts: 998
Likes: 0
Received 0 Likes on 0 Posts
Car: 91Z, 91RS, '84 Jimmy
Engine: L98, 355, L98
Transmission: 700R, T56, 700R4
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?

Last edited by TheGreatJ; 03-10-2005 at 01:54 PM.
Old 03-10-2005, 03:25 PM
  #14  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
What you wrote is correct, but I think the "pinned differently" phrase was referring to a standard 68HC11 vs. a GM 68HC11.
Old 03-10-2005, 04:11 PM
  #15  
Z69
Supreme Member

Thread Starter
 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
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.
Old 03-10-2005, 04:38 PM
  #16  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
One of the mux A/D chips is not installed at the factory on a 730 ECM (U6 I think). Just something to keep in mind.

J
Old 03-10-2005, 06:06 PM
  #17  
Z69
Supreme Member

Thread Starter
 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
I haven't gone so far as to compare the schematic to my 730.
I was wondering which ecm Ludis actually did.
Since it is listed as 7749/7730.
Old 03-10-2005, 06:33 PM
  #18  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,406
Likes: 0
Received 216 Likes on 202 Posts
Car: check
Engine: check
Transmission: check
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.

RBob.
Old 03-10-2005, 06:50 PM
  #19  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
still digging...

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.
Old 03-10-2005, 07:21 PM
  #20  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,406
Likes: 0
Received 216 Likes on 202 Posts
Car: check
Engine: check
Transmission: check
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.

That may be a a place to start.

RBob.
Old 03-10-2005, 08:17 PM
  #21  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
Here is some info for setting up the A/D mux via the SPI interface:

Code:
***************************************************************************************
	Register $4002 (General Purpose I/O register)

	setting a bit to one in $4002, sets the PIN HIGH

Bit 0:	output; controls IACA    (idle air control)
Bit 1:	output; controls IACB    (idle air control)
Bit 2:	output; controls III1CS  (chip select,fuel management device 1, U13)
		Address is direct Channel select (0x0 => D16IN, 0x => AN8)
		Address 0x9 selects second A/D device
Bit 3:	output; controls ADCCS_L (chip select, active low, A/D sampling device U5)
Bit 4:	output; controls FOUT	 (gated with LIMP_L at U19 (fault device)
Bit 5:	output; controls MUXC	 (chip mux select for second A/D device, U6)
		MUXA	MUXB	MUXC
		  0	  0	  0   => select channel X0  (TPS2)
		  0	  0	  1   => select channel X1  (F12IN)
		  0	  1	  0   => select channel X2  (F11IN)
		  0	  1	  1   => select channel X3  (ESC)
		  1	  0	  0   => select channel X4  (MAT2)
		  1	  0	  1   => select channel X5  (MAT3)
		  1	  1	  0   => select channel X6  (FAULT1819_L)
		  1	  1	  1   => select channel X7  (E11IN)

Bit 6:	output; controls III2CS_L(chip select,fuel management device 1, U13)
Bit 7:	output; controls GLUCS_L (chip select, active low, called SC1=discrete I/O device U10)
***************************************************************************************


***************************************************************************************
	Register $4000 (SPI serial shift DATA register (SSR))

	Holds data to be transmitted over the SPI interface
	Holds data received from the SPI interface
***************************************************************************************
Old 03-10-2005, 09:39 PM
  #22  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Great info, Thanks for contributing
Old 03-10-2005, 11:11 PM
  #23  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
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)
****************************************************************************************
Old 03-11-2005, 02:52 AM
  #24  
Z69
Supreme Member

Thread Starter
 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
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...
Old 09-26-2008, 04:39 PM
  #25  
Junior Member
 
Jack Wilkins's Avatar
 
Join Date: Sep 2008
Posts: 1
Likes: 0
Received 0 Likes on 0 Posts
Re: Register Remap?

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
Old 09-27-2008, 08:34 PM
  #26  
Supreme Member

iTrader: (2)
 
dimented24x7's Avatar
 
Join Date: Jan 2002
Location: Moorestown, NJ
Posts: 9,962
Likes: 0
Received 3 Likes on 3 Posts
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
Re: Register Remap?

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 08:37 PM.
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
RS Reaper
Electronics
4
10-17-2018 07:52 PM
nova983
European Region
6
11-02-2015 12:15 PM
HoosierinWA
Members Camaros
6
09-29-2015 12:43 PM
ironbmt
Tech / General Engine
0
09-27-2015 06:00 AM
Linson
Auto Detailing and Appearance
26
09-21-2015 01:08 PM



Quick Reply: Register Remap?



All times are GMT -5. The time now is 11:20 PM.