From: jede Date: Tue, 14 Nov 2017 21:04:57 +0000 (+0100) Subject: Bug corrected : Fwrite did not return number of byte written. X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=4e0958eae6a8ff3361506aea09c1fb356ac46e93;p=cc65 Bug corrected : Fwrite did not return number of byte written. --- diff --git a/libsrc/telestrat/write.s b/libsrc/telestrat/write.s index 8c2bc08f7..4e059a311 100644 --- a/libsrc/telestrat/write.s +++ b/libsrc/telestrat/write.s @@ -17,7 +17,7 @@ sta ptr2 txa eor #$FF - sta ptr2+1 ; Remember -count-1 + sta ptr2+1 ; remember -count-1 jsr popax ; get buf sta ptr1 @@ -32,7 +32,7 @@ next: cmp #1 beq L1 - ; Here it's a file opened + ; here it's a file opened lda ptr1 sta PTR_READ_DEST lda ptr1+1 @@ -40,6 +40,16 @@ next: lda ptr3 ldy ptr3+1 BRK_TELEMON XFWRITE + ; compute nb of bytes written + + + lda PTR_READ_DEST+1 + sec + sbc ptr1+1 + tax + lda PTR_READ_DEST + sec + sbc ptr1 rts @@ -50,23 +60,23 @@ L1: inc ptr2 L2: ldy #0 lda (ptr1),y tax - cpx #$0A ; Check for \n + cpx #$0A ; check for \n bne L3 - BRK_TELEMON XWR0 ; Macro send char to screen (channel 0 in telemon terms) - lda #$0D ; return to the beggining of the line - BRK_TELEMON XWR0 ; Macro ; + BRK_TELEMON XWR0 ; macro send char to screen (channel 0 in telemon terms) + lda #$0D ; return to the beggining of the line + BRK_TELEMON XWR0 ; macro ldx #$0D L3: - BRK_TELEMON XWR0 ; Macro + BRK_TELEMON XWR0 ; macro inc ptr1 bne L1 inc ptr1+1 jmp L1 -; No error, return count + ; No error, return count L9: lda ptr3 ldx ptr3+1