]> cloudbase.mooo.com Git - z180-stamp-cpm3.git/blobdiff - cbios/ascii.180
Remove 'inidone' initialisation bypassing.
[z180-stamp-cpm3.git] / cbios / ascii.180
index 5c93f1fb311559a640c4edf07f324b687a8d578f..3ffa931cf6da387cdf1725883377ccaa0c086d22 100644 (file)
@@ -111,13 +111,6 @@ IOCTL_MAX equ      ($-ioctl_ftab)/2
 ;\r
 \r
 asci_ioctl:\r
-       ld      a,b\r
-       cp      1\r
-       jr      nz,asioc_1\r
-       ld      a,(inidone)\r
-       cp      inidoneval\r
-       ret     z\r
-asioc_1:\r
        push    hl\r
        ex      (sp),ix\r
        ld      (ix+o.absdev),b\r
@@ -156,8 +149,13 @@ init_st:
        ld      b,(ix+o.absdev)\r
        ld      c,8                     ;\r
        mlt     bc                      ;\r
-       ld      hl,@ctbl+7              ;\r
+       ld      hl,@ctbl+6              ;\r
        add     hl,bc                   ;\r
+       res     IXON,(ix+o.fflags)\r
+       bit     mbxon_bit,(hl)          ;get cpm3 xon flag\r
+       jr      z,$+6\r
+        set    IXON,(ix+o.fflags)\r
+       inc     hl\r
        ld      a,(hl)                  ;get baudrate index\r
        call    as_br_div\r
        ld      c,astc0l\r
@@ -219,18 +217,22 @@ mod_tab:
 func_tcgeta:\r
        call    chk_ptr\r
 \r
+       ld      b,(ix+o.absdev)\r
+       ld      c,8                     ;\r
+       mlt     bc                      ;\r
+       ld      hl,@ctbl+6              ;\r
+       add     hl,bc                   ;\r
+       res     IXON,(ix+o.fflags)\r
+       bit     mbxon_bit,(hl)          ;get cpm3 xon flag\r
+       jr      z,$+6\r
+        set    IXON,(ix+o.fflags)\r
+       inc     hl\r
        ld      a,(ix+o.iflags)\r
        call    b_st_a\r
        inc     de\r
        ld      a,(ix+o.fflags)\r
        call    b_st_a\r
        inc     de\r
-\r
-       ld      b,(ix+o.absdev)\r
-       ld      c,8                     ;\r
-       mlt     bc                      ;\r
-       ld      hl,@ctbl+7              ;\r
-       add     hl,bc                   ;\r
        ld      a,(hl)                  ;get baudrate index\r
        and     M_CBAUD\r
        ld      b,a\r
@@ -261,8 +263,13 @@ func_tcseta:
        ld      b,(ix+o.absdev)\r
        ld      c,8                     ;\r
        mlt     bc                      ;\r
-       ld      hl,@ctbl+7              ;\r
+       ld      hl,@ctbl+6              ;\r
        add     hl,bc                   ;\r
+       res     mbxon_bit,(hl)\r
+       bit     IXON,a\r
+       jr      z,$+4\r
+        set    mbxon_bit,(hl)\r
+       inc     hl\r
        call    b_ld_a\r
        ld      (ix+o.cflags),a\r
        and     M_CBAUD\r