Here is the idle controller routine.
Code: Select all
IDLE UP SOLENOID ROUTINE D73C
Idle_UP.Routine:
tim #$08X007F
beq LD747
oim #$10X00A8
jmp LD7F6
;
LD747:
tim #$40X007F
beq LD752
oim #$10X00A8
jmp LD7F6
;
LD752:
tim #$10X007F
beq LD75D
oim #$10X007F
jmp LD7F6
;
LD75D:
tim #$02X007F
bne LD781
ldx X01C4
bne LD784
ldd X013A
lsrd
lsrd
cmpb XC510
bcc LD781
ldaa X01C6
bne LD78A
oim #$01X00A8
ldx XC512
stx X01C4
bra LD78A
;
LD781:
aim #$FEX00A8
LD784:
ldaa XC511
staa X01C6
LD78A:
tim #$01X00A8
bne LD7F6
ldd RPM_MSB
tsta
beq LD796
ldab #$FF
LD796:
stab X01C7
tim #$04X007F
beq LD7B3
tim #$02X00A8
beq LD7B6
aim #$FDX00A8
cmpb XC514
bcs LD7B6
ldaa XC515
staa X01C8
bra LD7B6
;
LD7B3:
oim #$02X00A8
LD7B6:
ldaa X01C8
beq LD7C0
oim #$08X00A8
bra LD7F6
;
LD7C0:
aim #$F7X00A8
ldaa X00D8
ldx #$C520
jsr 16x1_Table.GenRoutine
cmpa X01C7
bhi LD7EB
tim #$04X00A8
beq LD817
adda XC516
bcc LD7DC
ldaa #$FF
LD7DC:
cmpa X01C7
bhi LD7EB
ldaa X01C9
bne LD7F6
aim #$FBX00A8
bra LD817
;
LD7EB:
ldaa XC517
staa X01C9
oim #$04X00A8
bra LD7F6
;
LD7F6:
tim #$40X00A8
bne LD802
clra
staa X01D8
oim #$40X00A8
LD802:
tim #$08Port6 '00001000 'Check if Idle.Controller open/closed
bne LD812
ldaa X01D9
inca
bne LD80F
ldaa #$FF
LD80F:
staa X01D9
LD812:
oim #$08Port6 '00001000 'Set Idle.Controller high (open)
bra LD82F
;
LD817:
tim #$20X00A8
bne LD7F6
tim #$08Port6 '00001000 'Check if Idle.Controller open/closed
beq LD82C
ldaa X01D9
inca
bne LD829
ldaa #$FF
LD829:
staa X01D9
LD82C:
aim #$F7Port6 '11110111 'Unset Idle.Controller low (closed)
LD82F:
rts
Here a are a few things you can add to your symbol file, not entirely sure but I think the "unknown" ADC is o2 voltage.
;MA09 RAMLIST
symbol 0x012D PrimaryTP
symbol 0x00C3 SecondaryTP
symbol 0x00D4 RPM_MSB
symbol 0x00D6 VSS_SPEED
symbol 0x0130 MAFV10bit_MSB
symbol 0x020D MAFV8bit
symbol 0x0136 CLT_Volt10bit_MSB
symbol 0x0116 CoolantTemp
symbol 0x0134 TPS_10bit_MSB
;?? O2 or EGR
symbol 0x0138 UNKNOWNVolt1_10bit_MSB
symbol 0x022B UNKNOWNVolt1_8bit
;MA09 ROUTINELIST
symbol 0xF94E 16x1_Table.GenRoutine
symbol 0xF988 16x16_Table.GenRoutine
symbol 0xFC6F 64point_16bit_Table.GenRoutine
symbol 0xF957 32x1_Table.GenRoutine
symbol 0xD73C Idle_UP.Routine