User`s manual

Engineering Bulletin
Erasing the FLASH Array
EB183 — Rev. 1.0
MOTOROLA 9
;------------------------------------------------
;---- Read and Verify Erase subroutine ----
;------------------------------------------------
READARRY LDY #$FFFF
LDX #FEESTART
LOOP CPY 0,X ;Is this word erased?
BNE EXITverf ;If not, leave without setting flag
CPX #FEEEND ;Are we at the end of the array?
BEQ EXITverf
INX ;Go to the next address
INX
BRA LOOP
INC ERASED ;Set erased flag
EXITverf RTS
;------------------------------------------------
;--------- Error Subroutine -------------
;------------------------------------------------
ERROR: MOVB #$00,$0000 ;Clear Port A
MOVB #$FF,$0002 ;Set DDRA to outputs
BLINK MOVB #$01,$0000 ;Turn PA0 on for error output
BSR dly_100ms
BSR dly_100ms
BSR dly_100ms
MOVB #$00,$0000 ;Turn PA0 off
BSR dly_100ms
BSR dly_100ms
BSR dly_100ms
BRA BLINK ; Repeat ad nauseum....
;-------------------------------------------------------------
;--------- Delay Subroutines (8MHz e clock) -------------
;-------------------------------------------------------------
dly_100ms: LDY #$000A ; Delay for 100ms (8MHz E clock)
DLOOP10: DEY
BSR dly_10ms
BNE DLOOP10
RTS
dly_10ms: LDD #$3E7E ; Delay for 10ms (8MHz E clock)
DLOOP: SUBD #1
BNE DLOOP
RTS
END