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
.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
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.
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
; 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
;
;
@ -100,6 +100,8 @@
HBX_BNKSEL .EQU $FE2B
HBX_START .EQU $FE00
;
BIOSBID .EQU $00 ; BIOS BANK ID NUMBER
;
#DEFINE HB_DI DI
#DEFINE HB_EI EI
;
@ -130,6 +132,23 @@ BSPC: .EQU 'H'-40h ; ^H = Backspace
LD DE,HBX_START-MD_CSIZ ; ROUTINES TO
LD BC,MD_CSIZ ; HIGH MEMORY
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:
LD DE,$0000 ; SET UP
LD HL,$0000 ; START
@ -159,7 +178,7 @@ MENULP: CALL MENU ; DISPLAY MENU
;
CP 'X' ; CHECK FOR
JP Z,FAILUX ; USER EXIT
;
CP 'R' ; CHECK FOR
JP Z,REBOOT ; COLD REBOOT REQUEST
;
@ -169,6 +188,9 @@ MENULP: CALL MENU ; DISPLAY MENU
CP 'S' ; CHECK FOR
CALL Z,OPTIONS ; SERIAL CHANGE
;
; CP 'D' ; DUPLICATE
; CALL Z,OPTIOND ; FLASH
;
#IF (XFUDBG)
CP 'T' ; TEST TIMEOUT
CALL Z,OPTIONT ; LOOP
@ -285,7 +307,7 @@ csloop: add A,(HL) ; JUST ADD UP THE BYTES
LD HL,pktNo ; UPDATE THE PACKET COUNTERS
INC (HL)
INC HL
dec (HL)
DEC (HL)
;
LD C,ACK ; TELL UPLOADER THAT WE'RE HAPPY WITH WITH
CALL SEROUT ; PACKET AND GO BACK AND FETCH SOME MORE
@ -355,21 +377,19 @@ WSEC: PUSH HL ; WRITE A
OR A ; IF TRANSFERRING
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
CALL PRTSTR0
LD HL,MD_BANK
LD A,(HL)
LD A,(MD_BANK)
CALL PRTHEXB
;
NXTS1: LD C,' ' ; DISPLAY
CALL CONOUT ; CURRENT
LD C,'S' ; SECTOR
CALL CONOUT
LD HL,MD_SECT
LD A,(HL)
LD A,(MD_SECT)
RRCA
RRCA
RRCA
@ -511,6 +531,9 @@ MENU1: CALL PRTSTR0
CALL PRTSTR0 ; MENU OPTIONS
RET
;
OPTIOND:
RET
;
OPTIONV:LD A,(WRTVER) ; TOGGLE
CPL ; VERIFY
LD (WRTVER),A ; FLAG
@ -1031,6 +1054,7 @@ 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,"(D) Duplicate ROM #1 to #2"
#IF (XFUDBG)
.DB CR,LF,"(H) Select half speed"
.DB CR,LF,"(T) Test 20s timeout"

Loading…
Cancel
Save