|
|
|
@ -710,17 +710,18 @@ MD_PROBE: |
|
|
|
#ENDIF |
|
|
|
PUSH HL |
|
|
|
CALL MD_CALBAS ; SETUP BANK AND SECTOR |
|
|
|
LD HL,MD_FIDENT_R ; PUT ROUTINE TO CALL |
|
|
|
LD HL,MD_FIDEN_R ; PUT ROUTINE TO CALL |
|
|
|
CALL MD_FNCALL ; EXECUTE: IDENTIFY FLASH CHIP |
|
|
|
|
|
|
|
LD HL,MD_TGTDEV ; IF WE MATCH WITH |
|
|
|
XOR A ; A NON 39SF040 |
|
|
|
SBC HL,BC ; CHIP SET THE |
|
|
|
LD A,(MD_FFSEN) ; R/W FLAG TO R/O |
|
|
|
OR H |
|
|
|
OR L ; A NON ZERO VALUE |
|
|
|
LD (MD_FFSEN),A ; MEANS WE CAN'T |
|
|
|
POP HL ; ENABLE FLASH WRITING |
|
|
|
JR Z,MD_PR2 ; R/W FLAG TO R/O |
|
|
|
LD HL,MD_FFSEN ; A NON ZERO VALUE |
|
|
|
SET 0,(HL) ; MEANS WE CAN'T |
|
|
|
; ENABLE FLASH WRITING; |
|
|
|
MD_PR2: |
|
|
|
POP HL |
|
|
|
#IF (MD_FVBS==1) |
|
|
|
CALL MD_LAND ; LOOKUP AND DISPLAY |
|
|
|
#ENDIF |
|
|
|
@ -798,32 +799,32 @@ FF_NXT2: |
|
|
|
;====================================================================== |
|
|
|
; COMMON FUNCTION CALL FOR: |
|
|
|
; |
|
|
|
; MD_FIDENT_R - IDENTIFY FLASH CHIP |
|
|
|
; MD_FIDEN_R - IDENTIFY FLASH CHIP |
|
|
|
; ON ENTRY MD_FBAS HAS BEEN SET WITH BANK AND SECTOR BEING ACCESSED |
|
|
|
; HL POINTS TO THE ROUTINE TO RELOCATED AND CALLED |
|
|
|
; HL POINTS TO THE ROUTINE TO BE RELOCATED AND CALLED |
|
|
|
; ON EXIT BC CONTAINS THE CHIP ID BYTES. |
|
|
|
; A NO STATUS IS RETURNED |
|
|
|
; |
|
|
|
; MD_FERAS_R - ERASE FLASH SECTOR |
|
|
|
; ON ENTRY MD_FBAS HAS BEEN SET WITH BANK AND SECTOR BEING ACCESSED |
|
|
|
; HL POINTS TO THE ROUTINE TO RELOCATED AND CALLED |
|
|
|
; HL POINTS TO THE ROUTINE TO BE RELOCATED AND CALLED |
|
|
|
; ON EXIT A RETURNS STATUS 0=SUCCESS NZ=FAIL |
|
|
|
; |
|
|
|
; MD_FREAD_R - READ FLASH SECTOR |
|
|
|
; ON ENTRY MD_FBAS HAS BEEN SET WITH BANK AND SECTOR BEING ACCESSED |
|
|
|
; HL POINTS TO THE ROUTINE TO RELOCATED AND CALLED |
|
|
|
; HL POINTS TO THE ROUTINE TO BE RELOCATED AND CALLED |
|
|
|
; IX POINTS TO WHERE TO SAVE DATA |
|
|
|
; ON EXIT A NO STATUS IS RETURNED |
|
|
|
; |
|
|
|
; MD_VERI_R - VERIFY FLASH SECTOR |
|
|
|
; MD_FVERI_R - VERIFY FLASH SECTOR |
|
|
|
; ON ENTRY MD_FBAS HAS BEEN SET WITH BANK AND SECTOR BEING ACCESSED |
|
|
|
; HL POINTS TO THE ROUTINE TO RELOCATED AND CALLED |
|
|
|
; HL POINTS TO THE ROUTINE TO BE RELOCATED AND CALLED |
|
|
|
; IX POINTS TO DATA TO COMPARE. |
|
|
|
; ON EXIT A RETURNS STATUS 0=SUCCESS NZ=FAIL |
|
|
|
; |
|
|
|
; MD_FWRIT_R - WRITE FLASH SECTOR |
|
|
|
; ON ENTRY MD_FBAS HAS BEEN SET WITH BANK AND SECTOR BEING ACCESSED |
|
|
|
; HL POINTS TO THE ROUTINE TO RELOCATED AND CALLED |
|
|
|
; HL POINTS TO THE ROUTINE TO BE RELOCATED AND CALLED |
|
|
|
; IX POINTS TO DATA TO BE WRITTEN |
|
|
|
; ON EXIT A NO STATUS IS RETURNED |
|
|
|
; |
|
|
|
@ -891,7 +892,7 @@ MD_SAVSTK .DW 0 |
|
|
|
; NO STATUS IS RETURNED |
|
|
|
;====================================================================== |
|
|
|
; |
|
|
|
MD_FIDENT_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY |
|
|
|
MD_FIDEN_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY |
|
|
|
; |
|
|
|
LD D,A ; SAVE CURRENT BANK |
|
|
|
; |
|
|
|
@ -914,7 +915,7 @@ MD_FIDENT_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY |
|
|
|
; |
|
|
|
; RET |
|
|
|
; |
|
|
|
MD_I_SZ .EQU $-MD_FIDENT_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED |
|
|
|
MD_I_SZ .EQU $-MD_FIDEN_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED |
|
|
|
; |
|
|
|
;====================================================================== |
|
|
|
; ERASE FLASH SECTOR. |
|
|
|
@ -1189,7 +1190,7 @@ MD_FFSEN .DB 00h ; FLASH FILES SYSTEM ENABLE |
|
|
|
;====================================================================== |
|
|
|
; |
|
|
|
#IF (MD_FDBG==1) |
|
|
|
.ECHO "MD_FIDENT_R " |
|
|
|
.ECHO "MD_FIDEN_R " |
|
|
|
.ECHO MD_I_SZ |
|
|
|
.ECHO "\n" |
|
|
|
; |
|
|
|
@ -1197,7 +1198,7 @@ MD_FFSEN .DB 00h ; FLASH FILES SYSTEM ENABLE |
|
|
|
.ECHO MD_R_SZ |
|
|
|
.ECHO "\n" |
|
|
|
; |
|
|
|
.ECHO "MD_VERI_R " |
|
|
|
.ECHO "MD_FVERI_R " |
|
|
|
.ECHO MD_V_SZ |
|
|
|
.ECHO "\n" |
|
|
|
; |
|
|
|
|