From 222f4c5831c8163ebc426e614cfaad8158d01cf2 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Mon, 12 Jul 2021 16:01:06 +0800 Subject: [PATCH] Update updater.asm add A29010B & A29040B (untested) --- Source/HBIOS/updater.asm | 64 ++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 36 deletions(-) diff --git a/Source/HBIOS/updater.asm b/Source/HBIOS/updater.asm index f53bd3ab..38d7313d 100644 --- a/Source/HBIOS/updater.asm +++ b/Source/HBIOS/updater.asm @@ -174,48 +174,27 @@ BSPC: .EQU 'H'-40h ; ^H = Backspace RESTART: LD DE,$0000 ; SET UP START LD (MD_FBAS),DE ; BANK AND SECTOR - +; LD HL,MD_FIDEN ; IDENTIFY CHIP CALL MD_FNCALL ; AT THIS BANK/SECTOR - - LD HL,$B7BF ; IS IT A 39SF040 - XOR A - SBC HL,BC - LD A,0 - JR Z,CHPFND ; YES IT IS ... -; - 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 + LD A,0-1 ; SEARCH DEVICE + LD HL,DEVICES ; TABLE FOR +NXTDEV: LD D,(HL) ; VALID DEVICE + INC HL ; + LD E,(HL) + INC HL + INC A + CP +((LSTDEV-DEVICES)/2) + JP Z,FAILBC ; SUPPORTED CHIP NOT FOUND + OR A + EX DE,HL SBC HL,BC - LD A,5 -; - JP NZ,FAILBC ; SUPPORTED CHIP NOT FOUND + EX DE,HL + JR NZ,NXTDEV ; CHPFND: LD (ERATYP),A ; SAVE ERASE TYPE - +; LD BC,$F8F0 ; GET CPU SPEED RST 08 ; AND MULTIPLY LD A,L ; BY 4 @@ -920,6 +899,7 @@ CONIN: PUSH HL ; CONSOLE INPUT. WAIT FOR A CHARACTER ADD RETURN IT IN A RET ; PRTHEXB:PUSH AF ; PRINT HEX BYTE IN A TO CONSOLE + PUSH BC PUSH DE CALL HEXASC LD C,D @@ -927,6 +907,7 @@ PRTHEXB:PUSH AF ; PRINT HEX BYTE IN A TO CONSOLE LD C,E CALL CONOUT POP DE + POP BC POP AF RET @@ -1221,6 +1202,17 @@ packet: .DB 0 ; SOH .FILL 128,0 ; data*128, .DB 0 ; chksum ; +DEVICES: + .DW $BFB7 ; 39SF040 0 + .DW $01A4 ; 29F040 1 + .DW $1F13 ; AT49F040 2 + .DW $1FA4 ; AT29C040 3 + .DW $20E2 ; M29F040 4 + .DW $C2A4 ; MX29F040 5 + .DW $37A4 ; A29010B 6 + .DW $3786 ; A29040B 7 +LSTDEV: .EQU $ +; sector4k: .EQU $ ; 32 PACKETS GET ACCUMULATED HERE BEFORE FLASHING ; SLACK .EQU (USR_END - $)