@ -12,6 +12,18 @@
; DISPLAY OUTPUT AND FILES TRANSFER. IF YOU USE A DIFFERENT SERIAL DEVICE FOR
; DISPLAY OUTPUT AND FILES TRANSFER. IF YOU USE A DIFFERENT SERIAL DEVICE FOR
; THE FILE TRANSFER, PROGRESS INFORMATION WILL BE DISPLAYED.
; THE FILE TRANSFER, PROGRESS INFORMATION WILL BE DISPLAYED.
;
;
; OPTION (>) AND (<) - SET AND REVERT BAUD RATE
;
; THE MAXIMUM TRANSFER RATE IS LOWER IN THE UPDATER UTILITY COMPARED TO
; THE STANDALONE XMODEM APPLICATION. THIS IS BECAUSE THE SENDER CAN OVERFLOW
; THE INPUT RECEIVE BUFFER WHILE THE PREVIOUSLY SENT DATA IS BEING WRITTEN
; TO THE FLASH DEVICE (THE FLASH SECTOR ALSO HAS TO BE ERASED BEFORE THIS WRITE).
; LOWERING THE BAUD RATE HELPS PREVENT THIS TRANSFER/WRITE FAILURE.
; (>) WILL CHANGE THE PLATFORM BOARD RATE TO THE RECOMMENDED BAUD RATE FOR
; THE PLATFORMS CURRENT SPEED. YOU MUST CHANGE THE SENDERS SPEED TO MATCH.
; (<) WILL REVERT THE PLATFORMS BAUD RATE TO ITS ORIGINAL SPEED. AGAIN YOU
; MUST CHANGE THE SENDERS SPEED TO MATCH
;
; OPTION (V) - WRITE VERIFY
; OPTION (V) - WRITE VERIFY
;
;
; BY DEFAULT EACH FLASH SECTOR WILL BE VERIFIED AFTER BEING WRITTEN. SLIGHT
; BY DEFAULT EACH FLASH SECTOR WILL BE VERIFIED AFTER BEING WRITTEN. SLIGHT
@ -62,17 +74,16 @@
; OPTION (1) AND (2) - CALCULATE AND DISPLAY CRC32 OF 1ST OR 2ND 512K ROM.
; OPTION (1) AND (2) - CALCULATE AND DISPLAY CRC32 OF 1ST OR 2ND 512K ROM.
; OPTION (3) - CALCULATE AND DISPLAY CRC32 OF A 1024K ROM.
; OPTION (3) - CALCULATE AND DISPLAY CRC32 OF A 1024K ROM.
;
;
; OPTION (H) - DEBUG OPTION - SWITCH ON CPU CLOCK DIVIDER ON SBC-V2-004+
; OPTION (H) - DEBUG OPTION - SWITCH ON CPU CLOCK DIVIDER ON
; OPTION (T) - DEBUG OPTION - TEST TIMER FOR 32S, 16S, 8S, 4S, 2S & 1S
; OPTION (T) - DEBUG OPTION - TEST TIMER FOR 32S, 16S, 8S, 4S, 2S & 1S
;
;
;
; V.DEV 23/7/2021 PHIL SUMMERS, DIFFICULTYLEVELHIGH@GMAIL.COM
; V.1 5/1/2023 PHIL SUMMERS, DIFFICULTYLEVELHIGH@GMAIL.COM
; b1ackmai1er ON RETROBREWCOMPUTERS.ORG
; b1ackmai1er ON RETROBREWCOMPUTERS.ORG
;
;
;
;
; NOTES:
; NOTES:
; TESTED WITH TERATERM XMODEM.
; TESTED WITH TERATERM XMODEM.
; PARTIAL WRITES CAN BE COMPLETED WITH 39SF040 CHIPS
; PARTIAL WRITES CAN BE COMPLETED WITH 39SF040 CHIPS.
; OTHER CHIPS REQUIRE ENTIRE FLASH TO BE ERASED BEFORE BEFORE BEING WRITTEN.
; OTHER CHIPS REQUIRE ENTIRE FLASH TO BE ERASED BEFORE BEFORE BEING WRITTEN.
; SBC V2-005 MEGAFLASH REQUIRED FOR 1MB FLASH SUPPORT.
; SBC V2-005 MEGAFLASH REQUIRED FOR 1MB FLASH SUPPORT.
; ASSUMES BOTH CHIPS ARE SAME TYPE
; ASSUMES BOTH CHIPS ARE SAME TYPE
@ -125,7 +136,8 @@ HBX_BNKSEL .EQU $FE2B
# DEFINE HB_DI DI
# DEFINE HB_DI DI
# DEFINE HB_EI EI
# DEFINE HB_EI EI
;
;
XFUDBG .EQU 0
XFUDBG .EQU 0 ; Enabling will cause a build failure
; Insufficient space for debug features
;
;
.ORG UPD_LOC
.ORG UPD_LOC
;
;
@ -857,11 +869,23 @@ TSTDLY: PUSH BC
JR NZ , TSTDLY ; RETURN TO MENU
JR NZ , TSTDLY ; RETURN TO MENU
JP MENULP ; WHEN DELAY GETS TO 1 SECOND
JP MENULP ; WHEN DELAY GETS TO 1 SECOND
;
;
OPTIONH: LD A , 8 ; TURN ON THE SBC-V2-004+
OUT ( RTCIO ), A ; CLOCK DIVIDER
LD HL , TmoFct ; AND ADJUST
SRL ( HL ) ; DELAY FACTOR (/2)
JP MENULP ; BACK TO MENU
OPTIONH:
LD BC , $ F8F3 ; GET CURRENT
RST 08 ; SPEED SETTING
LD A , L ; EXIT IF ALREADY
OR A ; HALF SPEED
JP Z , MENULP
;
LD BC , $ F9F3 ; TRY TO SWITCH
LD L , 0 ; TO HALF SPEED
LD DE , 0
RST 08
OR A ; EXIT IF
JP Z , MENULP ; CHANGE FAILS
;
LD HL , TmoFct ; OTHERWISE ADJUST
SRL ( HL ) ; DELAY FACTOR (/2)
JP MENULP ; BACK TO MENU
;
;
OPTIONF: LD HL , msgCRLF ; DISPLAY
OPTIONF: LD HL , msgCRLF ; DISPLAY
CALL PRTSTR0 ; BANK
CALL PRTSTR0 ; BANK
@ -1336,6 +1360,7 @@ MD_FERAC .EQU HBX_LOC-MD_CSIZ+MD_FERAC_R-MD_FSTART ; CALL ADDRESS FOR ERASE FLAS
; Message strings
; Message strings
;
;
msgHeader: .DB CR , LF , CR , LF , "ROMWBW XMODEM FLASH UPDATER" , CR , LF , 0
msgHeader: .DB CR , LF , CR , LF , "ROMWBW XMODEM FLASH UPDATER" , CR , LF , 0
msgPlatform .DB CR , LF , "PLATFORM NOT SUPPORTED" , CR , LF , 0
msgConfirm: .DB CR , LF , CR , LF , "ENTER Y TO CONFIRM OVERWRITE : " , 0
msgConfirm: .DB CR , LF , CR , LF , "ENTER Y TO CONFIRM OVERWRITE : " , 0
msgInstr: .DB CR , LF , CR , LF , "START TRANSFER OF YOUR UPDATE IMAGE OR ROM" , CR , LF , 0
msgInstr: .DB CR , LF , CR , LF , "START TRANSFER OF YOUR UPDATE IMAGE OR ROM" , CR , LF , 0
msgUserEx: .DB CR , LF , "UPDATER EXITED BY USER" , CR , LF , 0
msgUserEx: .DB CR , LF , "UPDATER EXITED BY USER" , CR , LF , 0
@ -1369,7 +1394,6 @@ msgBegin: .DB CR,LF,"(R) Reboot"
.DB CR , LF , "(F) Dump Debug Data"
.DB CR , LF , "(F) Dump Debug Data"
.DB CR , LF , "(E) Erase Flash chip #1"
.DB CR , LF , "(E) Erase Flash chip #1"
.DB CR , LF , "(Z) Erase Flash chip #2"
.DB CR , LF , "(Z) Erase Flash chip #2"
# ENDIF
# ENDIF
.DB CR , LF , CR , LF , "Select : " , 0
.DB CR , LF , CR , LF , "Select : " , 0
msgSuccess: .DB CR , LF , CR , LF , "COMPLETED WITHOUT ERRORS " , CR , LF , 0
msgSuccess: .DB CR , LF , CR , LF , "COMPLETED WITHOUT ERRORS " , CR , LF , 0