mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Merge pull request #187 from b1ackmai1er/dev
updater xmodem loop optimization + Minors
This commit is contained in:
@@ -373,7 +373,7 @@ CVDU_LOADFONT:
|
||||
LD (CVDU_STACK),SP ; SAVE STACK
|
||||
LD HL,(CVDU_STACK) ; AND SHIFT IT
|
||||
LD DE,$2000 ; DOWN 4KB TO
|
||||
CCF ; CREATE A
|
||||
OR A ; CREATE A
|
||||
SBC HL,DE ; DECOMPRESSION BUFFER
|
||||
LD SP,HL ; HL POINTS TO BUFFER
|
||||
EX DE,HL ; START OF STACK BUFFER
|
||||
@@ -430,7 +430,7 @@ CVDU_XY2IDX:
|
||||
RET ; RETURN
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
; WRITE VALUE IN A TO CURRENT VDU BUFFER POSTION, ADVANCE CURSOR
|
||||
; WRITE VALUE IN A TO CURRENT VDU BUFFER POSITION, ADVANCE CURSOR
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
CVDU_PUTCHAR:
|
||||
@@ -442,7 +442,7 @@ CVDU_PUTCHAR:
|
||||
CALL CVDU_WRX ; DO IT
|
||||
|
||||
; PUT THE CHARACTER THERE
|
||||
POP AF ; RECOVER CHARACTER VALLUE TO WRITE
|
||||
POP AF ; RECOVER CHARACTER VALUE TO WRITE
|
||||
LD C,31 ; DATA REGISTER
|
||||
CALL CVDU_WR ; DO IT
|
||||
|
||||
|
||||
@@ -2859,7 +2859,7 @@ SYS_VER:
|
||||
; SET ACTIVE MEMORY BANK AND RETURN PREVIOUSLY ACTIVE MEMORY BANK
|
||||
; NOTE THAT IT GOES INTO EFFECT AS HBIOS FUNCTION IS EXITED
|
||||
; HERE, WE JUST SET THE CURRENT BANK
|
||||
; CALLER MUST EXTABLISH UPPER MEMORY STACK BEFORE INVOKING THIS FUNCTION!
|
||||
; CALLER MUST ESTABLISH UPPER MEMORY STACK BEFORE INVOKING THIS FUNCTION!
|
||||
;
|
||||
SYS_SETBNK:
|
||||
#IF (MEMMGR == MM_Z280)
|
||||
@@ -3252,8 +3252,8 @@ SYS_PEEK:
|
||||
PUSH IY
|
||||
HB_DI
|
||||
#ELSE
|
||||
LD A,I
|
||||
DI
|
||||
LD A,I ; SAVE THE INTERRUPT STATUS
|
||||
DI ; COPY IFF2 TO P/V FLAG
|
||||
PUSH AF
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
@@ -3265,8 +3265,8 @@ SYS_PEEK:
|
||||
.DB $FD,$ED,$6E ; LDCTL (C),IY
|
||||
POP IY
|
||||
#ELSE
|
||||
POP AF
|
||||
JP PO,$+4
|
||||
POP AF ; RECALL INITIAL INTERRUPT STATUS
|
||||
JP PO,$+4 ; RETURN TO INITIAL STATE
|
||||
HB_EI
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
@@ -3289,8 +3289,8 @@ SYS_POKE:
|
||||
PUSH IY
|
||||
HB_DI
|
||||
#ELSE
|
||||
LD A,I
|
||||
HB_DI
|
||||
LD A,I ; SAVE THE INTERRUPT STATUS
|
||||
HB_DI ; COPY IFF2 TO P/V FLAG
|
||||
PUSH AF
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
@@ -3302,8 +3302,8 @@ SYS_POKE:
|
||||
.DB $FD,$ED,$6E ; LDCTL (C),IY
|
||||
POP IY
|
||||
#ELSE
|
||||
POP AF
|
||||
JP PO,$+4
|
||||
POP AF ; RECALL INITIAL INTERRUPT STATUS
|
||||
JP PO,$+4 ; RETURN TO INITIAL STATE
|
||||
HB_EI
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
|
||||
@@ -229,10 +229,7 @@ MENULP: LD DE,$0000 ; ENSURE WE ARE STARTING
|
||||
LD HL,ERATYP ; RESET THE ERASE
|
||||
RES 7,(HL) ; SKIP FLAG
|
||||
;
|
||||
LD HL,msgCRLF
|
||||
CALL PRTSTR0
|
||||
CALL MENU ; DISPLAY MENU
|
||||
;
|
||||
CALL GETINP ; GET SELECTION
|
||||
;
|
||||
CP 'U' ; BEGIN
|
||||
@@ -328,9 +325,13 @@ NotPacketTimeout:
|
||||
CP SOH ; DID WE GET A START-OF-NEW-PACKET?
|
||||
JR NZ,NPloop ; NO, GO BACK AND TRY AGAIN
|
||||
;
|
||||
#IF (XFUDBG)
|
||||
LD HL,packet ; SAVE THE RECEIVED CHAR INTO THE...
|
||||
LD (HL),A ; ...PACKET BUFFER AND...
|
||||
INC HL ; ...POINT TO THE NEXT LOCATION
|
||||
#ELSE
|
||||
LD HL,packet+1 ; SKIP SAVING
|
||||
#ENDIF
|
||||
;
|
||||
CALL GetCharTmo1 ; GET CHARACTER
|
||||
LD (HL),A ; SHOULD BE PACKET NUMBER
|
||||
@@ -342,17 +343,16 @@ NotPacketTimeout:
|
||||
INC HL ; COMPLEMENT
|
||||
JR C,FAILTO
|
||||
;
|
||||
LD C,128 ; GET 128 MORE CHARACTERS FOR A FULL PACKET
|
||||
GetRestOfPacket:
|
||||
LD C,0 ; GET 128 MORE CHARACTERS FOR A FULL PACKET
|
||||
GetRestOfPacket: ; C=0=256 TO ALLOW FOR DOUBLE DECREMENT
|
||||
CALL GetCharTmo1 ; GET CHARACTER
|
||||
JR C,FAILTO
|
||||
;
|
||||
LD (HL),A
|
||||
INC HL ; SAVE THE RECEIVED CHAR INTO THE...
|
||||
LD (DE),A ; ...PACKET BUFFER AND...
|
||||
INC DE ; ...POINT TO THE NEXT LOCATION
|
||||
LD (HL),A ; SAVE THE RECEIVED CHAR INTO THE
|
||||
LDI ; PACKET BUFFER AND FLASH SECTOR BUFFER
|
||||
;
|
||||
DEC C ; C GETS DECREMENTED TWICE EACH LOOP.
|
||||
;
|
||||
DEC C
|
||||
JP NZ,GetRestOfPacket
|
||||
;
|
||||
CALL GetCharTmo1 ; GET CHARACTER
|
||||
@@ -379,9 +379,8 @@ csloop: ADD A,(HL) ; JUST ADD UP THE BYTES
|
||||
DEC A ; XMODEM PACKETS?
|
||||
AND %00011111 ; IF YES THEN WERE WE
|
||||
CP %00011111 ; HAVE ENOUGH TO
|
||||
LD A,0 ; WRITE A FLASH SECTOR
|
||||
LD A,H ; WRITE A FLASH SECTOR
|
||||
CALL Z,WSEC ; ASSUME FLASH SUCCESSFUL
|
||||
;
|
||||
OR A ; EXIT IF WE GOT A
|
||||
JR NZ,FAILWF ; WRITE VERIFICATION ERROR
|
||||
;
|
||||
@@ -590,14 +589,15 @@ GETINP2:CALL CONIN
|
||||
GETINP3:RET
|
||||
;
|
||||
PRTSTR0:LD A,(HL) ; PRINT MESSAGE POINTED TOP HL UNTIL 0
|
||||
or A ; CHECK IF GOT ZERO?
|
||||
OR A ; CHECK IF GOT ZERO?
|
||||
RET Z ; IF ZERO RETURN TO CALLER
|
||||
LD C,A
|
||||
CALL CONOUT ; ELSE PRINT THE CHARACTER
|
||||
INC HL
|
||||
JP PRTSTR0
|
||||
;
|
||||
MENU: LD HL,msgConsole ; DISPLAY
|
||||
MENU: CALL COUTON
|
||||
LD HL,msgConsole ; DISPLAY
|
||||
CALL PRTSTR0 ; CONSOLE
|
||||
LD A,(CONDEV) ; DEVICE
|
||||
ADD A,'0'
|
||||
@@ -876,28 +876,27 @@ SERIN: PUSH HL ; SERIAL INPUT. WAIT FOR A CHARACTER ADD RETURN IT IN A
|
||||
POP HL
|
||||
RET
|
||||
;
|
||||
CONOUT: PUSH HL ; CONSOLE OUTPUT CHARACTER IN C
|
||||
PUSH DE ; OUTPUT IS BLOCKED DURING THE
|
||||
PUSH BC ; FILE TRANSFER WHEN THE
|
||||
PUSH AF
|
||||
LD A,(BLKCOUT) ; CONSOLE AND SERIAL LINE
|
||||
OR A ; ARE THE SAME
|
||||
JR Z,CONOUT1
|
||||
CONOUT: PUSH AF ; OUTPUT IS BLOCKED DURING THE
|
||||
LD A,(BLKCOUT) ; FILE TRANSFER WHEN THE
|
||||
OR A ; CONSOLE AND SERIAL LINE
|
||||
JR Z,CONOUT1 ; ARE THE SAME
|
||||
PUSH HL ; CONSOLE OUTPUT CHARACTER IN C
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
LD E,C
|
||||
LD B,$01
|
||||
LD HL,CONDEV
|
||||
LD C,(HL)
|
||||
RST 08
|
||||
CONOUT1:POP AF
|
||||
POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
CONOUT1:POP AF
|
||||
RET
|
||||
;
|
||||
CONST: PUSH HL ; CONSOLE STATUS. RETURN CHARACTERS AVAILABLE IN A
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
LD E,C
|
||||
LD B,$02
|
||||
LD HL,CONDEV
|
||||
LD C,(HL)
|
||||
@@ -910,7 +909,6 @@ CONST: PUSH HL ; CONSOLE STATUS. RETURN CHARACTERS AVAILABLE IN A
|
||||
CONIN: PUSH HL ; CONSOLE INPUT. WAIT FOR A CHARACTER ADD RETURN IT IN A
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
LD E,C
|
||||
LD B,$00
|
||||
LD HL,CONDEV
|
||||
LD C,(HL)
|
||||
@@ -991,16 +989,16 @@ CRCLP2: PUSH BC ; 8 SECTORS
|
||||
LD A,(MD_SECT) ; POINT
|
||||
ADD A,$10 ; TO NEXT
|
||||
LD (MD_SECT),A ; SECTOR
|
||||
|
||||
;
|
||||
POP BC ; NEXT
|
||||
DJNZ CRCLP2 ; SECTOR
|
||||
|
||||
;
|
||||
XOR A ; RESET SECTOR
|
||||
LD (MD_SECT),A ; START
|
||||
|
||||
;
|
||||
LD HL,MD_BANK ; POINT TO
|
||||
INC (HL) ; NEXT BANK
|
||||
|
||||
;
|
||||
POP BC ; NEXT
|
||||
DJNZ CRCLP1 ; BANK
|
||||
;
|
||||
@@ -1170,7 +1168,7 @@ msgCRC32: .DB CR,LF,CR,LF,"CRC32 : ",0
|
||||
msgFailWrt: .DB CR,LF,"FLASH WRITE FAILED",CR,LF,0
|
||||
msgFailure: .DB CR,LF,"TRANSMISSION FAILED",CR,LF,0
|
||||
msgCancel: .DB CR,LF,"TRANSMISSION CANCELLED",CR,LF,0
|
||||
msgConsole: .DB CR,LF,"(C) Set Console Device : ",0
|
||||
msgConsole: .DB CR,LF,CR,LF,"(C) Set Console Device : ",0
|
||||
msgIODevice: .DB CR,LF,"(S) Set Serial Device : ",0
|
||||
msgWriteV: .DB CR,LF,"(V) Toggle Write Verify : ",0
|
||||
msgBegin: .DB CR,LF,"(R) Reboot"
|
||||
|
||||
@@ -528,7 +528,7 @@ VGA_LOADFONT:
|
||||
LD (VGA_STACK),SP ; SAVE STACK
|
||||
LD HL,(VGA_STACK) ; AND SHIFT IT
|
||||
LD DE,$2000 ; DOWN 4KB TO
|
||||
CCF ; CREATE A
|
||||
OR A ; CREATE A
|
||||
SBC HL,DE ; DECOMPRESSION BUFFER
|
||||
LD SP,HL ; HL POINTS TO BUFFER
|
||||
EX DE,HL ; START OF STACK BUFFER
|
||||
|
||||
Reference in New Issue
Block a user