diff --git a/Source/HBIOS/cvdu.asm b/Source/HBIOS/cvdu.asm index 05f9cb34..558f61d0 100644 --- a/Source/HBIOS/cvdu.asm +++ b/Source/HBIOS/cvdu.asm @@ -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 diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index bd9bf181..3f1623ec 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -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 diff --git a/Source/HBIOS/updater.asm b/Source/HBIOS/updater.asm index 1dea76ea..f53bd3ab 100644 --- a/Source/HBIOS/updater.asm +++ b/Source/HBIOS/updater.asm @@ -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" diff --git a/Source/HBIOS/vga.asm b/Source/HBIOS/vga.asm index e6e7f6a8..dea1aea8 100644 --- a/Source/HBIOS/vga.asm +++ b/Source/HBIOS/vga.asm @@ -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