[Gmecm] Killing $58 ALDL chatter

Dig turbodig
Tue Sep 4 13:55:20 UTC 2007


Guessing this won't help your connectivity much... didn't for us.

I added this little chunk of code, and it made aldl behave *much* better.

LFA18    ret
SETRX   ldx    #$4007                ;load the SCI interrupt control reg
    bset     0, x, #%00110110        ;set up for RX interrups/wakeup
    bclr    L00C3, #%01000000        ;clear "SCI recieve active" flag
    ret


Need to change this beq so that it gets called:

LF996:    ldX    #$4007                ; SCI Control Register
    bclr    0, X, #%00110110        ; Disable receives??
    brset    L0028, #%10000000, LF9DF    ; In ALDL mode, branch
    ldX    #KSCIMSG            ; SCI Message table
    ldaB    L0000                ; Minor loop counter
    andB    #%00011110            ; Mask B
    aBX                    ; Get every other location (i.e. every 
                        ; 2 bytes)
                        ; X now holds an address, of the next scheduled message to be sent.    
    ldX    0, X                ; Save the address pointed to by X in X
    beq    SETRX                ; If the result is zero, exit


Hope that helps... I've got a patcher patch to fix this for $58, as well, but it will only work in unmodified code.

Dig



----- Original Message ----
From: Rob Handley <Robin at FuryWorld.fsnet.co.uk>
To: gmecm at diy-efi.org
Sent: Sunday, September 2, 2007 1:04:10 AM
Subject: Re: [Gmecm] Killing $58 ALDL chatter

No, I don't need the chatter.

I'll give it a go...

Thanks,

Robin

----- Original Message ----- 
From: "Darren Freed" <darrenfreed at gmail.com>
To: <gmecm at diy-efi.org>
Sent: 02 September 2007 01:41
Subject: Re: [Gmecm] Killing $58 ALDL chatter


> Do you need the chatter for other devices on the bus?  If not, disable the
> chatter altogether in the code (zero out the message schedule table, 
> sorry,
> not sure where that is in $58, only $A1, $2E, $DF and others).
>
> Darren
>
>
>
> On 9/1/07, Rob Handley <Robin at furyworld.fsnet.co.uk> wrote:
>>
>> Been having another go at improving my PC code to kill off $58 chatter.
>>
>> This time I made a 5ms timer by reprogramming the PC clock interrupt. I
>> thought if I accurately timed the arrival of a chatter message, I could
>> accurately time the Mode 1 message request.
>>
>> Unfortunately, I can't make my code kill off the chatter messages first
>> time, every time. More often than not it does it first time, but 
>> sometimes
>> it takes 2 bites at the cherry.
>>
>> So, the $58 ALDL code is even more picky than I thought, and a 5ms timer
>> doesn't seem to be high enough resolution to get the timing bang on.
>>
>> As it stands I wait for one tick of my 5ms to elapse after receipt of a
>> chatter message, then bang in a Mode 1 request straight after.
>>
>> If anybody's got a better way, I'd be interested to hear it.

_______________________________________________
Gmecm mailing list
Gmecm at diy-efi.org
Subscribe: http://lists.diy-efi.org/mailman/listinfo/gmecm
Main WWW page: http://www.diy-efi.org/gmecm







More information about the Gmecm mailing list