EEPROM programming routine

Tom Hussey thussey at idirect.com
Thu Mar 11 14:28:20 GMT 1999


Hi,

I wonder if folks are interested in snips of code? If a few people
respond I will keep sending these sort of listings. The listing attached
comes from my '97 Z28. I am trying to figure out what the processor that
runs the fuel and timing is writing into the EEPROM. This routine seems
to halt everything and so I expect it runs when the engine isn't. There
is another bit of code later on that seems to program the EEPROM in the
background. Does anyone have good knowledge of what things are saved
there?

Cheers,
Tom Hussey



************************************************
* PROGRAM EEPROM
************************************************
8F3B  36          	PSHA                   ; SAVE REGISTERS
8F3C  37          	PSHB                   ; DATA
8F3D  3C          	PSHX                   ; ADDRESS

8F3E  E1 00       	CMPB   $00,X           ; TEST IF LOCATION MATCHES
DATA
8F40  26 03       	BNE    $8F45           ; BRANCH IF PROGRAMMING NEEDED 

8F42  7E 8F DF    	JMP    $8FDF           ; DONE

8F45  86 16       	LDAA   #$16            ; INITIALIZE EEPROM FOR 
8F47  B7 10 3B    	STAA   $103B           ; BYTE ERASE
8F4A  A7 00       	STAA   $00,X           ; WRITE TO TARGET BYTE
8F4C  86 17       	LDAA   #$17            ; TURN ON VPP TO START
8F4E  B7 10 3B    	STAA   $103B           ; THE ERASE CYCLE
8F51  37          	PSHB                   ; SAVE REGISTERS
8F52  3C          	PSHX                   ;
 
8F53  CC 55 AA    	LDD    #$55AA          ; KICK THE COP
8F56  B7 10 3A    	STAA   $103A           ; 
8F59  F7 10 3A    	STAB   $103A           ; 

8F5C  CC 50 A0    	LDD    #$50A0          ; KICK THE PORT EXPANDER CHIP
WATCHDOG
8F5F  B7 18 06    	STAA   $1806           ; 
8F62  F7 18 06    	STAB   $1806           ; 

8F65  CE 0A 3D    	LDX    #$0A3D          ; DELAY 5MS, 2621 LOOPS
8F68  09          	DEX                    ; 3 CYCLES
8F69  26 FD       	BNE    $8F68           ; 3 CYCLES AT 12.5829/4 MHZ

8F6B  CC 55 AA    	LDD    #$55AA          ; KICK THE COP
8F6E  B7 10 3A    	STAA   $103A           ; 
8F71  F7 10 3A    	STAB   $103A           ; 

8F74  CC 50 A0    	LDD    #$50A0          ; KICK THE PORT EXPANDER CHIP
WATCHDOG
8F77  B7 18 06    	STAA   $1806           ; 
8F7A  F7 18 06    	STAB   $1806           ; 

8F7D  CE 0A 3D    	LDX    #$0A3D          ; DELAY 5MS, 2621 LOOPS
8F80  09          	DEX                    ; 3 CYCLES
8F81  26 FD       	BNE    $8F80           ; 3 CYCLES AT 12.5829/4 MHZ

8F83  38          	PULX                   ; RESTORE REGISTERS
8F84  33          	PULB                   ; 
8F85  7F 10 3B    	CLR    $103B           ; TURN OFF ERASE CYCLE

8F88  C1 FF       	CMPB   #$FF            ; IF VALUE TO BE PROGRAMMED IS
$FF
8F8A  27 53       	BEQ    $8FDF           ; THE OPERATION IS COMPLETE
NOW

8F8C  86 02       	LDAA   #$02            ; INITIALIZE THE EEPROM FOR 
8F8E  B7 10 3B    	STAA   $103B           ; PROGRAMMING
8F91  E7 00       	STAB   $00,X           ; WRITE DATA TO THE TARGET
LOCATION
8F93  86 03       	LDAA   #$03            ; TURN ON VPP TO START THE
PROGRAMMING
8F95  B7 10 3B    	STAA   $103B           ; 
8F98  3C          	PSHX                   ; SAVE TARGET ADDRESS

8F99  CC 55 AA    	LDD    #$55AA          ; KICK THE WATCHODOG
8F9C  B7 10 3A    	STAA   $103A           ; 
8F9F  F7 10 3A    	STAB   $103A           ; 

8FA2  CC 50 A0    	LDD    #$50A0          ; KICK THE PORT EXPANDER CHIP
WATCHDOG
8FA5  B7 18 06    	STAA   $1806           ; 3 CYCLES
8FA8  F7 18 06    	STAB   $1806           ; 3 CYCLES AT 12.5829/4 MHZ

8FAB  CE 0A 3D    	LDX    #$0A3D          ; DELAY 5MS, 2621 LOOPS
8FAE  09          	DEX                    ; 
8FAF  26 FD       	BNE    $8FAE           ; 

8FB1  CC 55 AA    	LDD    #$55AA          ; KICK THE COP
8FB4  B7 10 3A    	STAA   $103A           ; 
8FB7  F7 10 3A    	STAB   $103A           ; 

8FBA  CC 50 A0    	LDD    #$50A0          ; KICK THE PORT EXPANDER CHIP
WATCHDOG
8FBD  B7 18 06    	STAA   $1806           ; 
8FC0  F7 18 06    	STAB   $1806           ; 

8FC3  CE 0A 3D    	LDX    #$0A3D          ; DELAY 5MS, 2621 LOOPS
8FC6  09          	DEX                    ; 3 CYCLES
8FC7  26 FD       	BNE    $8FC6           ; 3 CYCLES AT 12.5829/4 MHZ

8FC9  38          	PULX                   ; RESTORE TARGET ADDRESS
8FCA  7F 10 3B    	CLR    $103B           ; PROGRAMMING IS COMPLETE

8FCD  CC 55 AA    	LDD    #$55AA          ; KICK THE COP
8FD0  B7 10 3A    	STAA   $103A           ; 
8FD3  F7 10 3A    	STAB   $103A           ; 

8FD6  CC 50 A0    	LDD    #$50A0          ; KICK THE PORT EXPANDER CHIP
WATCHDOG
8FD9  B7 18 06    	STAA   $1806           ; 
8FDC  F7 18 06    	STAB   $1806           ; 

8FDF  38          	PULX                   ; RESTORE TARGET ADDRESS
8FE0  33          	PULB                   ; RESTORE TARGET DATA
8FE1  32          	PULA                   ; RESTORE REGISTER
8FE2  39          	RTS                    ; DONE



More information about the Gmecm mailing list