diff --git a/Source/Doc/ROM_Applications.md b/Source/Doc/ROM_Applications.md index a5391ab6..a147e4c0 100644 --- a/Source/Doc/ROM_Applications.md +++ b/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. +See the ROMWBW Applications guide for additional information on performing upgrades. + ## Console Options Option ( C ) - Set Console Device diff --git a/Source/HBIOS/updater.asm b/Source/HBIOS/updater.asm index 2abceb46..24cbb2ba 100644 --- a/Source/HBIOS/updater.asm +++ b/Source/HBIOS/updater.asm @@ -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