ALDL cable question
This typically occurs if the ALDL cable is plugged in and you're not scanning in 8192 baud mode or not actively connected in TunerProRT. Once connected and scanning in 8192 baud mode, the normal target idle shall be honored. That being said, 86 $32 mask bins only support 160 baud scanning, so 8192 baud comments are irrelevant here if we're talking about an 86 $32 masked bin.
; 54 MINOR LOOP MODE WORD 2
;
; Bit 0 = 1= OVERDRIVE ON
; 0= OVERDRIVE OFF
; 1 = ERR 14 or 15 THIS STARTUP
; 2 = REF PULSES OCCURRED (6.25 MSEC CHECK)
; 3 = 1= ALDL MODE, 8192 LOCKED IN, & MODE 4
; 4 = DIAGNOSTIC SWITCH IN DIAGNOSTIC POSITION
; 5 = DIAGNOSTIC SWITCH IN ALDL POSITION
; 6 = HIGH BAT. VOLT. , DISABLE MCU SOLENOID DISCRTS
; 7 = SHIFT LIGHT (1= ON, 0= OFF)
For an 86 with $32 mask, relevant code is shown here (edited to correct original erroneous content):
LD448: LDAB L0035 ; MNR LOOP MD WD 2
BITB #$20 ; b5, ALDL SW IN DIAG MODE
BEQ LD450 ; BR IF NOT b5
; ... else
LDAA #80 ; 2000/25
LD450: STAA L0102 ; MIN RPM IN P/N AS REQ RPM
Of course, the value #80 (decimal) or equivalent #$50 (hex value) which represents 1,000 rpm can always be edited to set the target rpm as desired under these conditions.
Last edited by tequilaboy; Jan 21, 2013 at 12:57 PM.
This typically occurs if the ALDL cable is plugged in and you're not scanning in 8192 baud mode or not actively connected in TunerProRT. Once connected and scanning in 8192 baud mode, the normal target idle shall be honored. That being said, 86 $32 mask bins only support 160 baud scanning, so 8192 baud comments are irrelevant here if we're talking about an 86 $32 masked bin.
; 54 MINOR LOOP MODE WORD 2
;
; Bit 0 = 1= OVERDRIVE ON
; 0= OVERDRIVE OFF
; 1 = ERR 14 or 15 THIS STARTUP
; 2 = REF PULSES OCCURRED (6.25 MSEC CHECK)
; 3 = 1= ALDL MODE, 8192 LOCKED IN, & MODE 4
; 4 = DIAGNOSTIC SWITCH IN DIAGNOSTIC POSITION
; 5 = DIAGNOSTIC SWITCH IN ALDL POSITION
; 6 = HIGH BAT. VOLT. , DISABLE MCU SOLENOID DISCRTS
; 7 = SHIFT LIGHT (1= ON, 0= OFF)
For an 86 with $32 mask, relevant code is shown here:
**************************************** ***************
* PID MINOR LOOP
*
* 12.5 MSEC CODE
*
*
**************************************** ***************
LDAB L00F3 ; IAC Md Wd #2
BITB #$04 ; b2
BNE LD393 ; BR IF b2
; ... else
LDAA L0035 ; MNR LOOP MD WD2
BITA #$20 ; b5, DIAG SW IN ALDL MODE
BEQ LD387 ; BR IF NOT b5
; ... else
LDAA L003C ;
RORA ;
BCS LD387 ;
; ... else
LDAA L0057 ; RPM/25
CMPA #80 ; 2000 RPM /*. Note: Commented incorrectly here in source hac. Should be 1000 RPM.*/
BCC LD393 ;
; ... else
That said, I respectfully disagree here on several points. I have BUA firmware ($32) in my '86 and it DOES support 8192 mode.
Also I disagree with the latter part of the quoted code above. If L0057 holds the RPM/25 then 80 * 25 DOES equal 2000. The comments I see in that area refer to IAC stuff (I didn't go into the details so I don't know exactly what that code is doing).
In my own version of the BUA code, I think THIS is the relevant section:
LD448: LDAB L0035 ; ALDL and diagnostics mode
BITB #$20 ; test b5
BEQ LD450 ; BR if b5 = 0 (ALDL not in 10K mode)
; ... else
LDAA #80 ; 1000/12.5 (ALDL 10K mode - set idle to 1000 RPM)
LD450: STAA L0102 ; desired RPM, set minimum RPM in Park/Neutral
http://home.earthlink.net/~cliff_har...5/BUA/BUA.html
Good catch. You're right. I was originally looking at a $32B mask at LD478 and got lazy while digging for the $32 equivalent. I jumped the gun and copy/pasted before comparing closely.
$32B:
D478: LD478 LDAB L0035
D47A: BITB #$20
D47C: BEQ LD480
D47E: LDAA #$50
D480: LD480 STAA L0102
$32:
LD448: LDAB L0035 ; MNR LOOP MD WD 2
BITB #$20 ; b5, ALDL SW IN DIAG MODE
BEQ LD450 ; BR IF NOT b5
; ... else
LDAA #80 ; 2000/25
LD450: STAA L0102 ; MIN RPM IN P/N AS REQ RPM










