mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Update updater.asm
Extend debug info. Add Teraterm usage info, Other flash device prework
This commit is contained in:
@@ -80,7 +80,19 @@
|
||||
; TIMING BROADLY CALIBRATED ON A Z80 SBC-V2
|
||||
; UNABIOS NOT SUPPORTED
|
||||
;
|
||||
; MAXIMUM SERIAL SPEED LIMITATIONS
|
||||
; TERATERM:
|
||||
;
|
||||
; MACROS CAN BE USED TO AUTOMATE SENDING ROM UPDATES OR ROMS IMAGES
|
||||
;
|
||||
; EXAMPLE MACRO FILE TO SEND *.UPD FILE, SELECT CHECKSUM MODE AND DISPLAY CRC32
|
||||
;
|
||||
; ;XMODEM send, checksum, display CRC32
|
||||
; xmodemsend '\\DESKTOP-FI43VI2\Users\Phillip\Documents\GitHub\RomWBW\Binary\SBC_std_cust.upd' 1
|
||||
; crc32file crc '\\DESKTOP-FI43VI2\Users\Phillip\Documents\GitHub\RomWBW\Binary\SBC_std_cust.rom'
|
||||
; sprintf '0x%08X' crc
|
||||
; messagebox inputstr 'CRC32 = '
|
||||
;
|
||||
; MAXIMUM SERIAL SPEED LIMITATIONS:
|
||||
;
|
||||
; SBC-V2 UART NO FLOW CONTROL 2MHZ | 9600
|
||||
; SBC-V2 UART NO FLOW CONTROL 4MHZ | 19200
|
||||
@@ -163,10 +175,47 @@ RESTART:
|
||||
|
||||
LD HL,MD_FIDEN ; IDENTIFY CHIP
|
||||
CALL MD_FNCALL ; AT THIS BANK/SECTOR
|
||||
LD HL,$B7BF ; FAIL
|
||||
XOR A ; IF FLASH
|
||||
SBC HL,BC ; CHIP IS
|
||||
JP NZ,FAILBC ; NOT SUPPORTED
|
||||
|
||||
LD HL,$B7BF ; IS IT A 39SF040
|
||||
XOR A
|
||||
SBC HL,BC
|
||||
LD A,0
|
||||
JR Z,CHPFND ; YES IT IS ...
|
||||
;
|
||||
#IF (XFUDBG)
|
||||
LD HL,$A401 ; IS IT A 29F040
|
||||
XOR A
|
||||
SBC HL,BC
|
||||
LD A,1
|
||||
JR Z,CHPFND ; YES IT IS ...
|
||||
;
|
||||
LD HL,$131F ; IS IT AN AT49F040
|
||||
XOR A
|
||||
SBC HL,BC
|
||||
LD A,2
|
||||
JR Z,CHPFND ; YES IT IS
|
||||
;
|
||||
LD HL,$A41F ; IS IT AN AT29C040
|
||||
XOR A
|
||||
SBC HL,BC
|
||||
LD A,3
|
||||
JR Z,CHPFND ; YES IT IS
|
||||
;
|
||||
LD HL,$E220 ; IS IT AN M29F040
|
||||
XOR A
|
||||
SBC HL,BC
|
||||
LD A,4
|
||||
JR Z,CHPFND ; YES IT IS
|
||||
;
|
||||
LD HL,$A4C2 ; IS IT AN MX29F040
|
||||
SBC HL,BC
|
||||
LD A,5
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
JP NZ,FAILBC ; SUPPORTED CHIP NOT FOUND
|
||||
;
|
||||
CHPFND: LD (ERATYP),A ; SAVE ERASE TYPE
|
||||
|
||||
LD BC,$F8F0 ; GET CPU SPEED
|
||||
RST 08 ; AND MULTIPLY
|
||||
@@ -182,22 +231,6 @@ MENULP: LD DE,$0000 ; ENSURE WE ARE STARTING
|
||||
CALL PRTSTR0
|
||||
CALL MENU ; DISPLAY MENU
|
||||
;
|
||||
#IF (XFUDBG)
|
||||
LD C,'B'
|
||||
CALL CONOUT
|
||||
LD A,(MD_BANK)
|
||||
CALL PRTHEXB
|
||||
LD C,'S'
|
||||
CALL CONOUT
|
||||
LD A,(MD_SECT)
|
||||
CALL PRTHEXB
|
||||
LD C,'T'
|
||||
CALL CONOUT
|
||||
LD A,(TmoFct)
|
||||
CALL PRTHEXB
|
||||
LD C,':'
|
||||
CALL CONOUT
|
||||
#ENDIF
|
||||
CALL GETINP ; GET SELECTION
|
||||
;
|
||||
CP 'U' ; BEGIN
|
||||
@@ -233,6 +266,9 @@ MENULP: LD DE,$0000 ; ENSURE WE ARE STARTING
|
||||
;
|
||||
CP 'H' ; HALF
|
||||
JP Z,OPTIONH ; SPEED SWITCH
|
||||
;
|
||||
CP 'F' ; DUMP
|
||||
JP Z,OPTIONF ; BUFFER
|
||||
#ENDIF
|
||||
;
|
||||
JR MENULP
|
||||
@@ -262,7 +298,7 @@ GetNewPacket:
|
||||
LD HL,retrycnt ; WE RETRY 20 TIMES BEFORE GIVING UP
|
||||
LD (HL),20
|
||||
;
|
||||
NPloop: LD B,5 ; 5 SECONDS OF TIMEOUT BEFORE EACH NEW BLOCK
|
||||
NPloop: LD B,6 ; 6 SECONDS OF TIMEOUT BEFORE EACH NEW BLOCK
|
||||
CALL GetCharTmo
|
||||
JP NC,NotPacketTimeout
|
||||
;
|
||||
@@ -404,11 +440,7 @@ Die1: LD B,BF_SYSRESET ; SYSTEM RESTART
|
||||
CALL $FFF0 ; CALL HBIOS
|
||||
RET
|
||||
|
||||
WSEC: ;PUSH HL ; WRITE A
|
||||
;PUSH BC ; FLASH
|
||||
;PUSH DE ; SECTOR
|
||||
;
|
||||
CALL DISPROG ; DISPLAY PROGRESS
|
||||
WSEC: CALL DISPROG ; DISPLAY PROGRESS
|
||||
;
|
||||
WSEC1: LD HL,MD_FERAS ; ERASE
|
||||
CALL MD_FNCALL ; AND WRITE
|
||||
@@ -425,9 +457,7 @@ WSEC1: LD HL,MD_FERAS ; ERASE
|
||||
CALL MD_FNCALL
|
||||
LD (VERRES),A ; SAVE STATUS
|
||||
;
|
||||
NOVER: ;POP DE ;
|
||||
LD DE,sector4k ; POINT BACK TO START OF 4K BUFFER
|
||||
;PUSH DE
|
||||
NOVER: LD DE,sector4k ; POINT BACK TO START OF 4K BUFFER
|
||||
;
|
||||
LD HL,MD_FBAS
|
||||
LD A,(HL) ; DID WE JUST
|
||||
@@ -444,9 +474,6 @@ NXTS2: LD A,$10 ; NEXT SECTOR
|
||||
LD (HL),A ; SO WE JUST INCREASE HIGH BYTE
|
||||
;
|
||||
NXTS3: LD A,(VERRES) ; EXIT WITH STATUS
|
||||
; POP DE
|
||||
; POP BC
|
||||
; POP HL
|
||||
RET
|
||||
;
|
||||
DISPROG:LD A,(BLKCOUT) ; SKIP OUTPUT
|
||||
@@ -698,6 +725,54 @@ OPTIONH:LD A,8 ; TURN ON THE SBC-V2-004+
|
||||
LD HL,TmoFct ; AND ADJUST
|
||||
SRL (HL) ; DELAY FACTOR (/2)
|
||||
JP MENULP ; BACK TO MENU
|
||||
;
|
||||
OPTIONF:LD HL,msgCRLF ; DISPLAY
|
||||
CALL PRTSTR0 ; BANK
|
||||
LD C,'B' ; SECTOR
|
||||
CALL CONOUT ; TIMEOUT
|
||||
LD A,(MD_BANK)
|
||||
CALL PRTHEXB
|
||||
LD C,'S'
|
||||
CALL CONOUT
|
||||
LD A,(MD_SECT)
|
||||
CALL PRTHEXB
|
||||
LD C,'T'
|
||||
CALL CONOUT
|
||||
LD A,(TmoFct)
|
||||
CALL PRTHEXB
|
||||
;
|
||||
LD HL,msgCRLF ; DISPLAY
|
||||
CALL PRTSTR0 ; ACK/NAK BYTE
|
||||
LD HL,packet ; DISPLAY
|
||||
LD B,3 ; LAST
|
||||
DMPBUF2:LD A,(HL) ; NUMBERS
|
||||
CALL PRTHEXB
|
||||
LD C,' '
|
||||
CALL CONOUT
|
||||
INC HL
|
||||
DJNZ DMPBUF2
|
||||
LD HL,msgCRLF
|
||||
CALL PRTSTR0
|
||||
LD B,128 ; DISPLAY
|
||||
LD HL,packet+3 ; LAST
|
||||
DMPBUF: LD A,(HL) ; PACKET
|
||||
CALL PRTHEXB ; CONTENTS
|
||||
LD C,' '
|
||||
CALL CONOUT
|
||||
LD A,B
|
||||
SUB 2
|
||||
AND %00001111
|
||||
CP %00001111
|
||||
JR NZ,DMPBUF1
|
||||
PUSH HL
|
||||
LD HL,msgCRLF
|
||||
CALL PRTSTR0
|
||||
POP HL
|
||||
DMPBUF1:
|
||||
|
||||
INC HL
|
||||
DJNZ DMPBUF
|
||||
JP MENULP
|
||||
#ENDIF
|
||||
;
|
||||
SEROUT: PUSH HL ; SERIAL OUTPUT CHARACTER IN C
|
||||
@@ -1285,6 +1360,7 @@ msgBegin: .DB CR,LF,"(R) Reboot"
|
||||
#IF (XFUDBG)
|
||||
.DB CR,LF,"(H) Select half speed"
|
||||
.DB CR,LF,"(T) Test timeout"
|
||||
.DB CR,LF,"(F) Dump last packet"
|
||||
#ENDIF
|
||||
.DB CR,LF,CR,LF,"Select : ",0
|
||||
msgSuccess: .DB CR,LF,CR,LF,"COMPLETED WITHOUT ERRORS ",CR,LF,0
|
||||
@@ -1304,6 +1380,7 @@ SERDEV: .DB $00 ; HBIOS SERIAL DEVICE NUMBER USED FOR XMODEM TRANSFER
|
||||
WRTVER: .DB $FF ; WRITE VERIFY OPTION FLAG
|
||||
VERRES: .DB $00 ; WRITE VERIFY RESULT
|
||||
BLKCOUT: .DB $FF ; BLOCK TEXT OUTPUT DURING TRANSFER IF ZERO
|
||||
ERATYP .DB $00 ; HOLDS THE ERASE TYPE FLAG FOR VARIOUS CHIPS
|
||||
oldSP: .DW 0 ; The orginal SP to be restored before exiting
|
||||
retrycnt: .DB 0 ; Counter for retries before giving up
|
||||
chksum: .DB 0 ; For calculating the checksum of the packet
|
||||
|
||||
Reference in New Issue
Block a user