From cc0f2ce3b239f641fe632320ce8b0f2b03cf2dfa Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Mon, 19 Jul 2021 18:08:40 +0800 Subject: [PATCH 1/4] Update util.asm Fix data stored inline with code. --- Source/HBIOS/util.asm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/HBIOS/util.asm b/Source/HBIOS/util.asm index 80894490..dfa3ad95 100644 --- a/Source/HBIOS/util.asm +++ b/Source/HBIOS/util.asm @@ -359,9 +359,6 @@ PRTIDXDEA3: ; CALL WRITESTR ; FALL THROUGH TO WRITESTR ; RET ; -PRTIDXCNT: - .DB 0 ; CHARACTER COUNT -; ; OUTPUT A '$' TERMINATED STRING AT DE ; WRITESTR: @@ -380,6 +377,9 @@ WRITESTR2: POP AF RET ; +PRTIDXCNT: + .DB 0 ; CHARACTER COUNT +; ; ; TSTPT: From 436c9d0db24ea3bf3294acbc82c6689cdbbaf4e2 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Tue, 20 Jul 2021 22:54:48 +0800 Subject: [PATCH 2/4] Update GettingStarted.md --- Source/Doc/GettingStarted.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Source/Doc/GettingStarted.md b/Source/Doc/GettingStarted.md index 35337ab5..35f03fdd 100644 --- a/Source/Doc/GettingStarted.md +++ b/Source/Doc/GettingStarted.md @@ -214,13 +214,15 @@ unable to save files to disk devices. The following ROM applications are available at the boot loader prompt: -| Application | | -| ----------- | -------------------------------------------------------------- | -| Monitor | Z80 system debug monitor w/ Intel Hex loader | -| Forth | Brad Rodriguez's ANSI compatible Forth language | -| Basic | Nascom 8K BASIC language | -| Tasty BASIC | Dimitri Theuling's Tiny BASIC implementation | -| Play | A simple video game (requires ANSI terminal emulation) | +| Application | | +| ----------- | -------------------------------------------------------------- | +| Monitor | Z80 system debug monitor w/ Intel Hex loader | +| Forth | Brad Rodriguez's ANSI compatible Forth language | +| Basic | Nascom 8K BASIC language | +| Tasty BASIC | Dimitri Theuling's Tiny BASIC implementation | +| Play | A simple video game (requires ANSI terminal emulation) | +| Network Boot | Boot through Wiznet MT011 device | +| Flash Update | Upload and flash a new ROMWBW image using xmodem | In general, the command to exit these applications and restart the system is `BYE`. The exceptions are the Monitor which uses `B` and From 484ef274e9aee133290e55b982b976efe96e4b86 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Tue, 20 Jul 2021 23:03:31 +0800 Subject: [PATCH 3/4] Update updater.asm Display device baud rate --- Source/HBIOS/updater.asm | 125 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 120 insertions(+), 5 deletions(-) diff --git a/Source/HBIOS/updater.asm b/Source/HBIOS/updater.asm index 81bda7c9..d40d7c1f 100644 --- a/Source/HBIOS/updater.asm +++ b/Source/HBIOS/updater.asm @@ -214,7 +214,7 @@ MENULP: LD DE,$0000 ; ENSURE WE ARE STARTING CP 'V' ; CHECK FOR JP Z,OPTIONV ; VERIFY TOGGLE ; - CP 'X' ; CHECK FOR + CP 'Q' ; CHECK FOR JP Z,FAILUX ; USER EXIT ; CP 'R' ; CHECK FOR @@ -235,10 +235,10 @@ MENULP: LD DE,$0000 ; ENSURE WE ARE STARTING CP '2' ; CALCULATE JP Z,OPTION2 ; CRC 1024K FLASH ; -#IF (XFUDBG) CP '3' ; CALCULATE JP Z,OPTION3 ; CRC FLASH #2 ; +#IF (XFUDBG) CP 'T' ; TEST TIMEOUT JP Z,OPTIONT ; LOOP ; @@ -572,20 +572,38 @@ PRTSTR0:LD A,(HL) ; PRINT MESSAGE POINTED TOP HL UNTIL 0 INC HL JP PRTSTR0 ; +PRTSTRD:LD A,(HL) ; PRINT MESSAGE POINTED TOP HL UNTIL $ + CP '$' ; CHECK IF GOT IT? + RET Z ; IF MATCH RETURN TO CALLER + LD C,A + CALL CONOUT ; ELSE PRINT THE CHARACTER + INC HL + JP PRTSTRD +; MENU: CALL COUTON LD HL,msgConsole ; DISPLAY CALL PRTSTR0 ; CONSOLE LD A,(CONDEV) ; DEVICE + PUSH AF ADD A,'0' LD C,A CALL CONOUT + LD C,' ' + CALL CONOUT + POP AF + CALL DISPBAUD ; LD HL,msgIODevice ; DISPLAY CALL PRTSTR0 ; SERIAL LD A,(SERDEV) ; DEVICE + PUSH AF ADD A,'0' LD C,A CALL CONOUT + LD C,' ' + CALL CONOUT + POP AF + CALL DISPBAUD ; LD HL,msgWriteV ; DISPLAY CALL PRTSTR0 ; VERIFY @@ -600,6 +618,36 @@ MENU1: CALL PRTSTR0 CALL PRTSTR0 ; MENU OPTIONS RET ; +DISPBAUD: + PUSH AF + LD C,A + LD B,$06 ; GET + RST 08 ; DEVICE + LD A,C ; TYPE + POP BC + OR A ; EXIT IF + RET NZ ; NOT SERIAL +; + LD C,B ; GET + LD B,$05 ; DEVICE + RST 08 ; INFO + LD A,D +; +; CALL PRTHEXB + BIT 4,A ; CONVERT ; IF X > 15 X=(X-15)*2 + JR Z,UNDER15 ; DEVICE ; ELSE X=(X*2)-1 + AND %00001111 ; BAUD + INC A ; CODE TO + ADD A,A ; TABLE + JR WASOVER ; INDEX +UNDER15:AND %00001111 + ADD A,A + DEC A +WASOVER:;CALL PRTHEXB + LD DE,BAUDTBL ; DISPLAY + CALL PRTIDXDEA ; BAUD RATE + RET +; OPTIOND:CALL COUTON ; TURN ON OUTPUT ; LD HL,msgConfirm ; CONFIRM @@ -1028,10 +1076,39 @@ CLEAR: DEC B JP NZ,BYTELP LD (CRC),DE LD (CRC+2),HL - +; RET ; ;====================================================================== +; PRINT THE nTH STRING IN A LIST OF STRINGS WHERE EACH IS TERMINATED BY $ +; A REGISTER DEFINES THE nTH STRING IN THE LIST TO PRINT AND DE POINTS +; TO THE START OF THE STRING LIST. +;====================================================================== +; +PRTIDXDEA: + PUSH BC + LD C,A ; INDEX COUNT + OR A + LD A,0 +; LD (PRTIDXCNT),A ; RESET CHARACTER COUNT +PRTIDXDEA1: + JR Z,PRTIDXDEA3 +PRTIDXDEA2: + LD A,(DE) ; LOOP UNIT + INC DE ; WE REACH + CP '$' ; END OF STRING + JR NZ,PRTIDXDEA2 + DEC C ; AT STRING END. SO GO + JR PRTIDXDEA1 ; CHECK FOR INDEX MATCH +PRTIDXDEA3: + POP BC + EX DE,HL + CALL PRTSTRD ; FALL THROUGH TO WRITESTR +; RET +; +#INCLUDE "decode.asm" +; +;====================================================================== ; CALCULATE BANK AND ADDRESS DATA FROM MEMORY ADDRESS ; ; ON ENTRY DE:HL CONTAINS 32 BIT MEMORY ADDRESS. @@ -1151,17 +1228,18 @@ msgIODevice: .DB CR,LF,"(S) Set Serial Device : ",0 msgWriteV: .DB CR,LF,"(V) Toggle Write Verify : ",0 msgBegin: .DB CR,LF,"(R) Reboot" .DB CR,LF,"(U) Begin Update" - .DB CR,LF,"(X) Exit to Rom Loader" + .DB CR,LF,"(Q) Quit to Rom Loader" .DB CR,LF,"(D) Duplicate Flash #1 to #2" .DB CR,LF,"(1) CRC 512K Flash" .DB CR,LF,"(2) CRC 1024K Flash" + .DB CR,LF,"(3) CRC Flash chip #2" #IF (XFUDBG) .DB CR,LF,"(H) Select half speed" .DB CR,LF,"(T) Test timeout" .DB CR,LF,"(F) Dump Debug Data" .DB CR,LF,"(E) Erase Flash chip #1" .DB CR,LF,"(Z) Erase Flash chip #2" - .DB CR,LF,"(3) CRC Flash chip #2" + #ENDIF .DB CR,LF,CR,LF,"Select : ",0 msgSuccess: .DB CR,LF,CR,LF,"COMPLETED WITHOUT ERRORS ",CR,LF,0 @@ -1210,6 +1288,43 @@ DEVICES: .DW $3786 ; A29040B 7 LSTDEV: .EQU $ ; +;====================================================================== +; BOARD RATE TABLE +;====================================================================== +; +BAUDTBL:.DB "75$" ; 0 0 + .DB "150$" ; 1 1 + .DB "225$" ; 2 16 + .DB "300$" ; 3 2 + .DB "450$" ; 4 17 + .DB "600$" ; 5 3 + .DB "900$" ; 6 18 + .DB "1200$" ; 7 4 + .DB "1800$" ; 8 19 + .DB "2400$" ; 9 5 + .DB "3600$" ; 10 20 + .DB "4800$" ; 11 6 + .DB "7200$" ; 12 21 + .DB "9600$" ; 13 7 + .DB "14400$" ; 14 22 + .DB "19200$" ; 15 8 + .DB "28800$" ; 16 23 + .DB "38400$" ; 17 9 + .DB "57600$" ; 18 24 + .DB "76800$" ; 19 10 + .DB "115200$" ; 20 25 + .DB "153600$" ; 21 11 + .DB "230400$" ; 22 26 + .DB "307200$" ; 23 12 + .DB "460800$" ; 24 27 + .DB "614400$" ; 25 13 + .DB "921600$" ; 26 28 + .DB "1228800$" ; 27 14 + .DB "1843200$" ; 28 29 + .DB "2457600$" ; 29 15 + .DB "3686400$" ; 30 30 + .DB "7372800$" ; 31 16 +; sector4k: .EQU $ ; 32 PACKETS GET ACCUMULATED HERE BEFORE FLASHING ; SLACK .EQU (UPD_END - $) From 28bacbee41b2241cb2827e3a8816dcb56ea8fc90 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Tue, 20 Jul 2021 23:03:53 +0800 Subject: [PATCH 4/4] Update duart.asm --- Source/HBIOS/duart.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/HBIOS/duart.asm b/Source/HBIOS/duart.asm index 7b03fd93..f49182be 100644 --- a/Source/HBIOS/duart.asm +++ b/Source/HBIOS/duart.asm @@ -72,7 +72,7 @@ ; DUART_DEBUG .EQU FALSE ; -DUART_NONE .EQU 0 ; UNKNOWN OR NOT PRESETN +DUART_NONE .EQU 0 ; UNKNOWN OR NOT PRESENT DUART_2681 .EQU 1 ; OLD '681 WITHOUT IVR/GPR DUART_26C92 .EQU 2 ; '92 WITH MR0 DUART_XR88C681 .EQU 3 ; EXAR/MAXLINEAR CHIP WITH Z-MODE