Browse Source

Use new hbios routine for speed setting.

pull/317/head
b1ackmai1er 3 years ago
parent
commit
55b4e1e26d
  1. 2
      Source/Doc/ROM_Applications.md
  2. 46
      Source/HBIOS/updater.asm

2
Source/Doc/ROM_Applications.md

@ -492,6 +492,8 @@ When your console is the serial device used for the transfer, no progress inform
Due to different platform processor speeds, serials speeds and flow control capabilities the default console or serial device speed may need to be reduced for a successful transfer and flash to occur. The **Set Console Interface/Baud code** option at the Boot Loader can be used to change the speed if required. Additionally, the Updater has options to set to and revert from a recommended speed. Due to different platform processor speeds, serials speeds and flow control capabilities the default console or serial device speed may need to be reduced for a successful transfer and flash to occur. The **Set Console Interface/Baud code** option at the Boot Loader can be used to change the speed if required. Additionally, the Updater has options to set to and revert from a recommended speed.
See the ROMWBW Applications guide for additional information on performing upgrades.
## Console Options ## Console Options
Option ( C ) - Set Console Device Option ( C ) - Set Console Device

46
Source/HBIOS/updater.asm

@ -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

Loading…
Cancel
Save