GM ALDL codes & questions

TOM_HUSSEY at HP-Canada-om1.om.hp.com TOM_HUSSEY at HP-Canada-om1.om.hp.com
Wed Apr 30 02:07:51 GMT 1997


Hi,

It has been a while since I have posted, it is tax time here in Canada
and my hard disk crashed. I hope we can keep the ALDL topic active on
the list and get this thing figured out.

First off thanks to Peter for sending me the dump of his '92 IROC V8 ECM
as an example. Other examples would be an aid to me so if you have code
later than '92 I would like to have it. I know someone wrote asking me
if I wanted more examples but I lost the mail when my computer went
south. I have disassembeld the '92 code and now in the process of
reading & commenting the code. Here is an example of the checksum
routine...

************************************************
* CHECKSUM ROUTINE
*
* FIRST CALLED WITH $8008 IN X. THIS RESULTS IN
* A CHECK SUM OF $8008 THROUGH $FFFF INCLUSIVE
************************************************
F0B0  18 CE 00 00 	LDY    #$0000          ; Y ACCUMULATES CHECKSUM-
> START AT 0
F0B4  4F          	CLRA                   ; INITIALIZE LOOP COUNT
TO 1
F0B5  4C          	INCA                   ; WRITE EACH 256 BYTE
BLOCK.
F0B6  26 08       	BNE    ADDCSUM         ; ADD CHECKSUM

F0B8  3C          	PSHX                   ; SAVE CURRENT DATA
POINTER
F0B9  CE FF 00    	LDX    #$FF00          ; WATCHDOG TIMER LOCATION
F0BC  FF 40 0B    	STX    $400B           ; KICK THE DOG
F0BF  38          	PULX                   ; RESTORE DATA POINTER

F0C0  E6 00    ADDCSUM 	LDAB   $00,X           ; READ DATA FROM X
                                               ; POINTER FROM ENTRY

F0C2  18 3A    	 	ABY                    ; ADD DATA TO CHECKSUM
F0C4  08          	INX                    ; POINT TO NEXT DATA
F0C5  26 EE       	BNE    $F0B5           ; CHECK SUM THROUGH END
OF ROM

F0C7  39          	RTS                    ; DONE


Now for a couple of questions:

-Does anyone (Peter?) know for sure if the processor used is a 6801? I
question this because there is an instruction $45 used at $C657 and
unless I let the disassembler get out of sync it is executed. There is
no listed operation for that code in my manual. Also the register block
is accessed in both read&write in write only or read only locations. Did
GM get a special?

-I am trying to build a memory map for the processor. I think it should
be: Registers $0-$1F, RAM $20-$7FFF, PROM $8000-$FFFF. Is that correct?
I still don't understand the use of registers unless they were moved
from the standard location for ECMs.

-The vector for the SCI points at $6000 in RAM I think. If so the ECM
must copy code there...but why?

Any info on this would be great.

For those who want a copy of my disassembler just ask an I will send it
along. I attached it in an earlier post but perhaps Majordomo ate it. I
wrote it for looking at the ECM source and it works OK. 

See you later -Tom Hussey



More information about the Diy_efi mailing list