Browse Source

Fix updater bank display output

Also loads derfault console and serial device number now for consistance with boot rom.
pull/176/head
b1ackmai1er 5 years ago
parent
commit
f18bd9fb0a
  1. 2
      Binary/ReadMe.txt
  2. 46
      Source/HBIOS/updater.asm

2
Binary/ReadMe.txt

@ -48,7 +48,7 @@ ROM Firmware Update Images (<plt>_<cfg>.upd)
The files with a ".upd" extension are binary images identical to the The files with a ".upd" extension are binary images identical to the
.rom files, but they only have the first 128K bytes. The first 128K .rom files, but they only have the first 128K bytes. The first 128K
is the system image without the ROM disk contents. These files can be is the system image without the ROM disk contents. These files can be
used to update the system image without modifyuing the ROM disk
used to update the system image without modifying the ROM disk
contents. Refer to the Getting Started document for more information. contents. Refer to the Getting Started document for more information.
ROM Executable Images (<plt>_<cfg>.com) ROM Executable Images (<plt>_<cfg>.com)

46
Source/HBIOS/updater.asm

@ -58,7 +58,7 @@
; IN THE CASE OF A FAILED UPDATE THIS OPTION COULD BE USED TO ATTEMPT TO ; IN THE CASE OF A FAILED UPDATE THIS OPTION COULD BE USED TO ATTEMPT TO
; LOAD CP/M AND PERFORM THE NORMAL XMODEM / FLASH PROCESS TO RECOVER. ; LOAD CP/M AND PERFORM THE NORMAL XMODEM / FLASH PROCESS TO RECOVER.
; ;
; OPTION (H) - DEBUG OPTION - SWITCH ON CPU CLCOK DIVIDER ON SBC-V2-004+
; OPTION (H) - DEBUG OPTION - SWITCH ON CPU CLOCK DIVIDER ON SBC-V2-004+
; OPTION (T) - DEBUG OPTION - TEST TIMER FOR 20 SECONDS. * = START AND FINISH ; OPTION (T) - DEBUG OPTION - TEST TIMER FOR 20 SECONDS. * = START AND FINISH
; ;
; ;
@ -100,6 +100,8 @@
HBX_BNKSEL .EQU $FE2B HBX_BNKSEL .EQU $FE2B
HBX_START .EQU $FE00 HBX_START .EQU $FE00
; ;
BIOSBID .EQU $00 ; BIOS BANK ID NUMBER
;
#DEFINE HB_DI DI #DEFINE HB_DI DI
#DEFINE HB_EI EI #DEFINE HB_EI EI
; ;
@ -130,6 +132,23 @@ BSPC: .EQU 'H'-40h ; ^H = Backspace
LD DE,HBX_START-MD_CSIZ ; ROUTINES TO LD DE,HBX_START-MD_CSIZ ; ROUTINES TO
LD BC,MD_CSIZ ; HIGH MEMORY LD BC,MD_CSIZ ; HIGH MEMORY
LDIR LDIR
;
LD BC,$F8F2 ; LOOKUP
RST 08 ; CURRENT
LD B,$FA ; CONSOLE
LD HL,$112 ; DEVICE
RST 08 ; TO USE AS
LD A,E ; DEFAULT
LD (CONDEV),A
;
LD BC,$F8F2 ; LOOKUP
RST 08 ; CURRENT
LD B,$FA ; SERIAL
LD HL,$110 ; DEVICE
RST 08 ; TO USE AS
LD A,E ; DEFAULT
LD (SERDEV),A
;
RESTART: RESTART:
LD DE,$0000 ; SET UP LD DE,$0000 ; SET UP
LD HL,$0000 ; START LD HL,$0000 ; START
@ -159,7 +178,7 @@ MENULP: CALL MENU ; DISPLAY MENU
; ;
CP 'X' ; CHECK FOR CP 'X' ; CHECK FOR
JP Z,FAILUX ; USER EXIT JP Z,FAILUX ; USER EXIT
;
CP 'R' ; CHECK FOR CP 'R' ; CHECK FOR
JP Z,REBOOT ; COLD REBOOT REQUEST JP Z,REBOOT ; COLD REBOOT REQUEST
; ;
@ -169,6 +188,9 @@ MENULP: CALL MENU ; DISPLAY MENU
CP 'S' ; CHECK FOR CP 'S' ; CHECK FOR
CALL Z,OPTIONS ; SERIAL CHANGE CALL Z,OPTIONS ; SERIAL CHANGE
; ;
; CP 'D' ; DUPLICATE
; CALL Z,OPTIOND ; FLASH
;
#IF (XFUDBG) #IF (XFUDBG)
CP 'T' ; TEST TIMEOUT CP 'T' ; TEST TIMEOUT
CALL Z,OPTIONT ; LOOP CALL Z,OPTIONT ; LOOP
@ -285,7 +307,7 @@ csloop: add A,(HL) ; JUST ADD UP THE BYTES
LD HL,pktNo ; UPDATE THE PACKET COUNTERS LD HL,pktNo ; UPDATE THE PACKET COUNTERS
INC (HL) INC (HL)
INC HL INC HL
dec (HL)
DEC (HL)
; ;
LD C,ACK ; TELL UPLOADER THAT WE'RE HAPPY WITH WITH LD C,ACK ; TELL UPLOADER THAT WE'RE HAPPY WITH WITH
CALL SEROUT ; PACKET AND GO BACK AND FETCH SOME MORE CALL SEROUT ; PACKET AND GO BACK AND FETCH SOME MORE
@ -355,21 +377,19 @@ WSEC: PUSH HL ; WRITE A
OR A ; IF TRANSFERRING OR A ; IF TRANSFERRING
JR Z,WSEC1 ; OVER CONSOLE JR Z,WSEC1 ; OVER CONSOLE
; ;
LD HL,MD_SECT ; IF SECTOR IS 0
LD A,(HL) ; THEN DISPLAY
OR A ; BANK # PREFIX
JR NZ,NXTS1
LD A,(MD_SECT) ; IF SECTOR IS 0
OR A ; THEN DISPLAY
JR NZ,NXTS1 ; BANK # PREFIX
LD HL,msgBank LD HL,msgBank
CALL PRTSTR0 CALL PRTSTR0
LD HL,MD_BANK
LD A,(HL)
LD A,(MD_BANK)
CALL PRTHEXB
; ;
NXTS1: LD C,' ' ; DISPLAY NXTS1: LD C,' ' ; DISPLAY
CALL CONOUT ; CURRENT CALL CONOUT ; CURRENT
LD C,'S' ; SECTOR LD C,'S' ; SECTOR
CALL CONOUT CALL CONOUT
LD HL,MD_SECT
LD A,(HL)
LD A,(MD_SECT)
RRCA RRCA
RRCA RRCA
RRCA RRCA
@ -511,6 +531,9 @@ MENU1: CALL PRTSTR0
CALL PRTSTR0 ; MENU OPTIONS CALL PRTSTR0 ; MENU OPTIONS
RET RET
; ;
OPTIOND:
RET
;
OPTIONV:LD A,(WRTVER) ; TOGGLE OPTIONV:LD A,(WRTVER) ; TOGGLE
CPL ; VERIFY CPL ; VERIFY
LD (WRTVER),A ; FLAG LD (WRTVER),A ; FLAG
@ -1031,6 +1054,7 @@ msgWriteV: .DB CR,LF,"(V) Toggle Write Verify : ",0
msgBegin: .DB CR,LF,"(R) Reboot" msgBegin: .DB CR,LF,"(R) Reboot"
.DB CR,LF,"(U) Begin Update" .DB CR,LF,"(U) Begin Update"
.DB CR,LF,"(X) Exit to Rom Loader" .DB CR,LF,"(X) Exit to Rom Loader"
; .DB CR,LF,"(D) Duplicate ROM #1 to #2"
#IF (XFUDBG) #IF (XFUDBG)
.DB CR,LF,"(H) Select half speed" .DB CR,LF,"(H) Select half speed"
.DB CR,LF,"(T) Test 20s timeout" .DB CR,LF,"(T) Test 20s timeout"

Loading…
Cancel
Save