Use new hbios routine for speed setting.

This commit is contained in:
b1ackmai1er
2023-01-05 20:56:49 +08:00
parent cb336c9ba5
commit 55b4e1e26d
2 changed files with 37 additions and 11 deletions

View File

@@ -12,6 +12,18 @@
; DISPLAY OUTPUT AND FILES TRANSFER. IF YOU USE A DIFFERENT SERIAL DEVICE FOR
; 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
;
; 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 (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
;
;
; V.DEV 23/7/2021 PHIL SUMMERS, DIFFICULTYLEVELHIGH@GMAIL.COM
; V.1 5/1/2023 PHIL SUMMERS, DIFFICULTYLEVELHIGH@GMAIL.COM
; b1ackmai1er ON RETROBREWCOMPUTERS.ORG
;
;
; NOTES:
; 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.
; SBC V2-005 MEGAFLASH REQUIRED FOR 1MB FLASH SUPPORT.
; ASSUMES BOTH CHIPS ARE SAME TYPE
@@ -125,7 +136,8 @@ HBX_BNKSEL .EQU $FE2B
#DEFINE HB_DI DI
#DEFINE HB_EI EI
;
XFUDBG .EQU 0
XFUDBG .EQU 0 ; Enabling will cause a build failure
; Insufficient space for debug features
;
.ORG UPD_LOC
;
@@ -857,11 +869,23 @@ TSTDLY: PUSH BC
JR NZ,TSTDLY ; RETURN TO MENU
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
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
;
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
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
@@ -1369,7 +1394,6 @@ msgBegin: .DB CR,LF,"(R) Reboot"
.DB CR,LF,"(F) Dump Debug Data"
.DB CR,LF,"(E) Erase Flash chip #1"
.DB CR,LF,"(Z) Erase Flash chip #2"
#ENDIF
.DB CR,LF,CR,LF,"Select : ",0
msgSuccess: .DB CR,LF,CR,LF,"COMPLETED WITHOUT ERRORS ",CR,LF,0