that is how you use more ROM memory than processor registers support.
You can run effectively more code than CPU can see.
It is just more code run on schedule by the cpu.
Tom H had developed some boot strap code that can read/write flash with simple interface hooked on cpu header. It is for LT1 pcm, but they all use same cpu flash chips and same internals, so lots of stuff can be easily ported.
99 Isuzu 3.5 anyone know about these ECUs?
-
kur4o
- Posts: 1145
- Joined: Sun Apr 10, 2016 11:20 am
-
Maxzillian
- Posts: 9
- Joined: Sat Nov 29, 2025 8:36 pm
- cars: 2000 Isuzu Vehicross
1987 Chrysler Conquest (LFX Swap) - Location: Wichita, KS
Re: 99 Isuzu 3.5 anyone know about these ECUs?
Well, I think I'm throwing in the towel for now concerning the ALDL interface. The more I look at this it's really not user friendly to do in-vehicle and strikes me as something that was never intended for in-vehicle use. I could be reading the code incorrectly, but it looks to me like there are several pre-conditions that have to be met to open the serial interface and once it's there it operates in a while loop until the PCM is reset.
Namely there's this chunk of code that precedes when the baud rate and data format is set and appears to be looking for specific analog input conditions:
TPS must be above 4.79V
MAP must be below 0.2V
IAT must be above 4.79V
CLT must be below 0.2V
To accomplish this in-vehicle you'd need to unplug the MAP sensor (pull-down circuit), IAT sensor (pull-up circuit), ground the CLT sensor and hold the throttle at WOT during what I assume would be initial power-on. Despite meeting these preconditions on my bench setup I still can't get anything out of the ALDL comm and this setup is so user-unfriendly that I'm going to shift to the VPW interface going forward.
The good news is I did at least do some hardware snooping and have some handy notes about the analog inputs:
AN0 is multiplexed using PG0, PG1 and PG2 as the addressing pins. The analog multiplexor is labeled as "16045153 B32230ME Hnn9743 4" I couldn't obtain a datasheet for this, but the pinout appears to match the Rohm BU4051BCF.
So I'll label AN0 as the multiple addressing options:
AN0:0x0 IAT
AN0:0x1 CLT
AN0:0x2 Unknown
AN0:0x3 Fuel tank pressure sensor
AN0:0x4 EGR valve position sensor
AN0:0x5 Fuel level sensor
AN0:0x6 Battery Voltage
AN0:0x7 Unknown
AN1 MAP
AN2 TPS
AN3 Unknown
AN4 High precision TPS? This tracks 0-5V as the TPS goes from 0-1.2V
AN5 Unknown, but probably O2 sensor as the open circuit voltage measures 2V
AN6 Unknown, but presumed O2 sensor
AN7 Unknown, but presumed O2 sensor
Namely there's this chunk of code that precedes when the baud rate and data format is set and appears to be looking for specific analog input conditions:
TPS must be above 4.79V
MAP must be below 0.2V
IAT must be above 4.79V
CLT must be below 0.2V
To accomplish this in-vehicle you'd need to unplug the MAP sensor (pull-down circuit), IAT sensor (pull-up circuit), ground the CLT sensor and hold the throttle at WOT during what I assume would be initial power-on. Despite meeting these preconditions on my bench setup I still can't get anything out of the ALDL comm and this setup is so user-unfriendly that I'm going to shift to the VPW interface going forward.
Code: Select all
SerialEnableCheck XREF[2]: 656f(j), 6574(j)
6579 ce 10 03 LDX #PortGDataDirection
657c 1c 00 01 BSET 0x0,IX=>PortGDataDirection,0x1
657f ce 10 03 LDX #PortGDataDirection
6582 1c 00 02 BSET 0x0,IX=>PortGDataDirection,0x2
6585 ce 10 03 LDX #PortGDataDirection
6588 1c 00 04 BSET 0x0,IX=>PortGDataDirection,0x4
658b 07 TPA
658c 0f SEI
658d c6 02 LDAB #0x2 Select AN2 (TPS)
658f f7 10 30 STAB ADControlStatus(ADCTL)
6592 bd 25 9d JSR 12CycleWait
6595 f6 10 31 LDAB ADR1
6598 06 TAP
6599 17 TBA
659a 81 f5 CMPA #0xf5 4.79V
659c 25 4d BCS ReturnJumpJump Branch if voltage is lower than
659e 07 TPA
659f 0f SEI
65a0 c6 01 LDAB #0x1 Select AN1 (MAP)
65a2 f7 10 30 STAB ADControlStatus(ADCTL)
65a5 bd 25 9d JSR 12CycleWait
65a8 f6 10 31 LDAB ADR1
65ab 06 TAP Transfer from Acc A to CCR
65ac 17 TBA Transfer from acc B to acc A
65ad 81 0a CMPA #0xa 0.20V
65af 22 3a BHI ReturnJumpJump Branch if voltage is higher than
65b1 07 TPA Transfer from CCR to acc A
65b2 0f SEI Set interrupt mask bit in CCR
65b3 f6 10 02 LDAB PortGData
65b6 c4 f8 ANDB #0xf8
65b8 ca 00 ORAB #0x0 Intake air temp
65ba f7 10 02 STAB PortGData
65bd c6 00 LDAB #0x0 Select AN0
65bf f7 10 30 STAB ADControlStatus(ADCTL)
65c2 bd 25 9d JSR 12CycleWait
65c5 f6 10 31 LDAB ADR1
65c8 06 TAP
65c9 17 TBA
65ca 81 f5 CMPA #0xf5 4.79V
65cc 25 1d BCS ReturnJumpJump
65ce 07 TPA
65cf 0f SEI
65d0 f6 10 02 LDAB PortGData
65d3 c4 f8 ANDB #0xf8
65d5 ca 01 ORAB #0x1 Engine coolant temp
65d7 f7 10 02 STAB PortGData
65da c6 00 LDAB #0x0 Select AN0
65dc f7 10 30 STAB ADControlStatus(ADCTL)
65df bd 25 9d JSR 12CycleWait
65e2 f6 10 31 LDAB ADR1 ADR1 (AN0 analog conversion)
65e5 06 TAP Transfer A to CCR
65e6 17 TBA Transfer B to A
65e7 81 0a CMPA #0xa 0.20V
65e9 23 03 BLS SerialConfigure Branch if lower or same
AN0 is multiplexed using PG0, PG1 and PG2 as the addressing pins. The analog multiplexor is labeled as "16045153 B32230ME Hnn9743 4" I couldn't obtain a datasheet for this, but the pinout appears to match the Rohm BU4051BCF.
So I'll label AN0 as the multiple addressing options:
AN0:0x0 IAT
AN0:0x1 CLT
AN0:0x2 Unknown
AN0:0x3 Fuel tank pressure sensor
AN0:0x4 EGR valve position sensor
AN0:0x5 Fuel level sensor
AN0:0x6 Battery Voltage
AN0:0x7 Unknown
AN1 MAP
AN2 TPS
AN3 Unknown
AN4 High precision TPS? This tracks 0-5V as the TPS goes from 0-1.2V
AN5 Unknown, but probably O2 sensor as the open circuit voltage measures 2V
AN6 Unknown, but presumed O2 sensor
AN7 Unknown, but presumed O2 sensor
-
antus
- Site Admin
- Posts: 10012
- Joined: Sat Feb 28, 2009 10:34 am
- cars: TX Gemini 2L Twincam 8psi
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Subaru WRX 2007
Re: 99 Isuzu 3.5 anyone know about these ECUs?
Just a guess but the AN4 might be to do with idle. It might need the extra resolution to track in detail what the lowest voltage it sees is to toggle in to idle mode at slightly different voltages depending on TPS hardware or throttle stop variations.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
-
Maxzillian
- Posts: 9
- Joined: Sat Nov 29, 2025 8:36 pm
- cars: 2000 Isuzu Vehicross
1987 Chrysler Conquest (LFX Swap) - Location: Wichita, KS
Re: 99 Isuzu 3.5 anyone know about these ECUs?
I figured it probably had something to do with transmission control. The amount of load variation at low throttle openings are pretty high so it'd make some sense to me that there would be some focus down there; I've just never encountered something like that before.