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