]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - z180/ser1-i.180
cli_readline_into_buffer: remove unneeded buf[]
[z180-stamp.git] / z180 / ser1-i.180
index 322ec406478dd1f2fad38a469111e38ef17b1466..2410e3804ed64b6f0e3126f7a0830fbdea0ab330 100644 (file)
@@ -6,8 +6,8 @@
 \r
        \r
        global  ser.init\r
-       global  ser.instat,ser.in\r
-       global  ser.out\r
+       global  ser.ist,ser.in\r
+       global  ser.ost,ser.out\r
 \r
 ;TODO: define a trampoline area somewhere in top ram. \r
 rtxisvjmp      equ     0FF60h  ;momentan frei...\r
@@ -78,7 +78,7 @@ ser.init:
 ;      ei\r
        ret                     ;\r
 \r
-ser.instat:\r
+ser.ist:\r
        push    ix\r
        ld      ix,ser1.inbuf   ;\r
 \r
@@ -103,16 +103,17 @@ bg.w1:
        cp      (hl)                    ; 6     while (out_idx==in_idx) \r
        jr      z,bg.wait               ; 6 (/8)        ;\r
 \r
-       inc     a                       ; 4\r
        ld      e,a                     ; 4     \r
-       inc     e                       ; 4\r
        ld      d,0                     ; 6\r
+       inc     de\r
+       inc     de\r
 \r
        ex      de,hl                   ; 3\r
        add     hl,de                   ;10\r
        ld      l,(hl)                  ; 6\r
        ex      de,hl                   ; 3     \r
-       \r
+\r
+       inc     a                       ; 4\r
        dec     hl                      ; 4\r
        and     (hl)                    ; 6     \r
        inc     hl                      ; 4\r
@@ -125,7 +126,7 @@ bg.w1:
        ret                             ; 9\r
                                        ;   153 \r
 \r
-ser.outstat:\r
+ser.ost:\r
        push    ix\r
        ld      ix,ser1.outbuf          ;\r
 buf.full:\r
@@ -147,10 +148,11 @@ buf.put:
        push    bc\r
        push    ix\r
        pop     hl\r
+       ld      a,c\r
        ld      c,(ix+o.in_idx)         ;\r
        ld      b,0\r
        add     hl,bc\r
-       ld      b,a\r
+       ld      (hl),a\r
 \r
        ld      a,c                     ;\r
        inc     a\r
@@ -158,7 +160,6 @@ buf.put:
 bp.wait:\r
        cp      (ix+o.out_idx)          ;\r
        jr      z,bp.wait\r
-       ld      (hl),b\r
        ld      (ix+o.in_idx),a\r
 \r
        di                      ;036f\r