]> git.sur5r.net Git - cc65/blobdiff - libsrc/telestrat/write.s
remove TABs
[cc65] / libsrc / telestrat / write.s
index 8c2bc08f7e6b26f973f41327b76f55739dc26767..68aef42d6cd1c680f7a1f94821206e01adf2ea77 100644 (file)
@@ -2,7 +2,7 @@
 ; jede jede@oric.org 2017-01-22
 
         .export         _write
-        .import         popax
+        .import         popax, popptr1
         .importzp       ptr1, ptr2, ptr3, tmp1
 
         .include        "telestrat.inc"
         sta     ptr2
         txa
         eor     #$FF
-        sta     ptr2+1          ; Remember -count-1
+        sta     ptr2+1          ; remember -count-1
 
-        jsr     popax           ; get buf
-        sta     ptr1
-        stx     ptr1+1
+        jsr     popptr1         ; get buf
         jsr     popax           ; get fd and discard
 
         ; if fd=0001 then it stdout
-        cpx    #0
-        beq    next
-        jmp    L1
-next:          
-        cmp    #1
-        beq    L1              
-               
-        ; Here it's a file opened
-        lda    ptr1
-        sta    PTR_READ_DEST
-        lda    ptr1+1
-        sta    PTR_READ_DEST+1
-        lda    ptr3
-        ldy    ptr3+1
+        cpx     #0
+        beq     next
+        jmp     L1
+next:
+        cmp     #1
+        beq     L1
+
+        ; here it's a file opened
+        lda     ptr1
+        sta     PTR_READ_DEST
+        lda     ptr1+1
+        sta     PTR_READ_DEST+1
+        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
-               
-               
+
+
 L1:     inc     ptr2
         bne     L2
         inc     ptr2+1
@@ -50,28 +58,26 @@ 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
+L3:
+        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
         rts
 
 .endproc
-
-