-
I use an old disassembler called Donald Whisnant's Code Seeking Disassembler. https://github.com/dewhisna/m6811dis
There's a newer version out there created / modified by his daughter, Donna Whisnant's Generic Code-Seeking Disassembler with Fuzzy-Function Analyzer https://github.com/dewhisna/gendasm . I imagine this one is helpful when you have sections of code repeated from one file to another but I have never tried it.
Plenty of folks use the Tunercat disassembler. It's a good tool.
-
Parallel code to the ignition code I posted earlier
LADB8: std L3FF2
std L196C
beq LADE1
subd L193A
lsld
lsld
lsld
sei
addd L194A
std L194A
ldd L3FFC
oraa #0x04
jsr LDAA8
std L3FFC
-
Using the BCC Lookup spreadsheet (http://gearhead-efi.com/gearhead-efi...C%20lookup.xls), ANSU has a ScanID of 7096. Using Windows Calculator to convert this to hexadecimal, $1BB8 Opening the .bin in a hex editor we immediately find $1BB8 at L00 and L01. In the code we can find both 0001 and 8001 in several places so this will require more dective work tomorrow.
-
I only find L8000 in one place, at F55D
My disassembly looks a little different. ADB8 is the start of a subroutine and called from two places.
ADB8: FD 3F F2 LADB8 STD L3FF2
ADBB: FD 19 6C STD L196C
ADBE: 27 21 BEQ LADE1
ADC0: B3 19 3A SUBD L193A
ADC3: 05 ASLD
ADC4: 05 ASLD
ADC5: 05 ASLD
ADC6: 0F SEI
ADC7: F3 19 4A ADDD L194A
ADCA: FD 19 4A STD L194A
ADCD: FC 3F FC LDD L3FFC
ADD0: 8A 04 ORAA #$0004
ADD2: BD DA A8 JSR LDAA8
ADD5: FD 3F FC STD L3FFC
ADD8: BD DA A8 JSR LDAA8
ADDB: 84 FB ANDA #$00FB
ADDD: FD 3F FC STD L3FFC
ADE0: 0E CLI
ADE1: 39 LADE1 RTS
and is called from AD92 & AD9F
It has been a long time but is slowly coming back, used to be able to just whip through this. Thank you for your help it is appreciated.
BTW it looks like DASM91 only runs under Linux. I work mostly in Windows but have a couple of Linux machines (Manjaro, Ubuntu and Kali).
-
I'm still playing with this.
TC includes the raw hex data with the output as well as the instructions which can be helpful. ASLD and LSLD are the same instruction with the same opcode ($05). Those are the only differences I can see between disassemblies so far.
I'm attempting to locate the checksum routine to help determine the mask ID. No luck yet.
-
1 Attachment(s)
Well the whole preamble looks odd. Normally I would expect the Mask to be in 0008 and the checksum to be in 0006-0007 but it does not look that way. Here is a collection of Allante PROMs including the ANSU. So far nothing I've looked for has been there.
ps first three are 87-88 4.1 engine. ANSU is the 4.5 LQ6 engine used 89-92.
Attachment 17256
-
Ok, time for a sanity check. The 7750 was used in Allante from '87 to '89. The 4.1 calibrations look consistent enough to work on disassembling but the 4.5 looks wrong. It may be completely unique but I really have to wonder because GM loved to re-use code. You can find the same code snippets in vehicles from the first CCC cars all the way to the ZR1. Even GM built race / custom vehicles from that period used stock code with trouble codes and emissions functions shut off. They may have created something unique for a one year only configuration vehicle but it seems strange when they already had working code for that ecm and vehicle.
Unfortunately it looks like there were only two calibrations for the 7750 / LQ6.
ANSU7126 and ANZR9603. If we had ANZR we could at least look for similar bytes in the preamble.
Out of curiousity, have you tried burning ANSU back into a chip to see if the ECM accepts it?
-
Interesting, I just reread the memcal and it came back slightly different.
Orig New
00000003: F2 8E
00000004: 07 0F
00000005: 54 43
Do have another 1989 but will need to remove from the car.
-
2 Attachment(s)
Meanwhile here are two for the 87-88 4100. The cars are the same and use the same oddball equipment. 4.5 is just a bored out 4.1.
-
Finding similar 3FC0 (RPM?) sequence in both AKAA and ANSU just different locations.
ANSU
A368: FE 3F C0 LDX L3FC0
A36B: CC 00 0F LDD #$000F
A36E: 03 FDIV
A36F: 3C PSHX
A370: 3C PSHX
A371: 32 PULA
A372: 33 PULB
A373: 04 LSRD
A374: 04 LSRD
A375: 04 LSRD
AKAA
A1C6: FE 3F C0 LDX L3FC0
A1C9: CC 00 0F LDD #$000F
A1CC: 03 FDIV
A1CD: 3C PSHX
A1CE: 3C PSHX
A1CF: 32 PULA
A1D0: 33 PULB
A1D1: 04 LSRD
A1D2: 04 LSRD
A1D3: 04 LSRD
-
Yes... and I'm finding the code is similar between the calibrations at other locations as well. So I have more faith that the version of ANSU you posted is valid. The challenge now is going to be working out details.
-
Thank you, things are coming back slowly to me just always worked with V6s before and V8s are a bit different. Just got PromEdit working again, makes it easy to search binary. Major difference should be the PWM coolant fan control and the solenoid shifting in the F7 transmission.