]> cloudbase.mooo.com Git - z180-stamp-cpm3.git/commitdiff
put char-i/o in banked memory
authorLeo C <erbl259-lmu@yahoo.de>
Fri, 5 Jun 2015 16:31:37 +0000 (18:31 +0200)
committerLeo C <erbl259-lmu@yahoo.de>
Fri, 5 Jun 2015 16:31:37 +0000 (18:31 +0200)
cbios/ascip.180
cbios/bioskrnl.180
cbios/chario.180
cbios/conbuf.180
cbios/msgbuf.180

index 4bb2f0961479446ee72a67034be32103804b508b..470c07e123c0ffc688217884c561cf29b8e06a8e 100644 (file)
@@ -123,7 +123,7 @@ initab1:
 \r
 ;--------------------------------------------------------------\r
 \r
-       cseg\r
+       dseg\r
 \r
 as0ista:\r
        in0     a,(stat0)\r
index 04f4159f7a39989926fdd11290bff0197ac9760f..79dac2c9a73224c46449b0d3c26863cb9ac6a60e 100644 (file)
@@ -226,13 +226,12 @@ getdrv:
 \r
 \r
 \r
-       ; CONOUT\r
-       ;       Console Output.  Send character in <C>\r
-       ;                       to all selected devices\r
-\r
-conout:\r
+       ; LIST\r
+       ;       List Output.  Send character in <C>\r
+       ;                       to all selected devices.\r
 \r
-       ld      hl,(@covec)     ; fetch console output bit vector\r
+list:\r
+       ld      hl,(@lovec)     ; fetch list output bit vector\r
        jr      out$scan\r
 \r
 \r
@@ -245,12 +244,13 @@ auxout:
        jr      out$scan\r
 \r
 \r
-       ; LIST\r
-       ;       List Output.  Send character in <C>\r
-       ;                       to all selected devices.\r
+       ; CONOUT\r
+       ;       Console Output.  Send character in <C>\r
+       ;                       to all selected devices\r
 \r
-list:\r
-       ld      hl,(@lovec)     ; fetch list output bit vector\r
+conout:\r
+\r
+       ld      hl,(@covec)     ; fetch console output bit vector\r
 \r
 out$scan:\r
        ld      b,0             ; start with device 0\r
@@ -276,13 +276,13 @@ not$out$device:
        ret\r
 \r
 \r
-       ; CONOST\r
-       ;       Console Output Status.  Return true if\r
-       ;               all selected console output devices\r
+       ; LISTST\r
+       ;       List Output Status.  Return true if\r
+       ;               all selected list output devices\r
        ;               are ready.\r
 \r
-conost:\r
-       ld      hl,(@covec)     ; get console output bit vector\r
+listst:\r
+       ld      hl,(@lovec)     ; get list output bit vector\r
        jr      ost$scan\r
 \r
 \r
@@ -296,13 +296,13 @@ auxost:
        jr      ost$scan\r
 \r
 \r
-       ; LISTST\r
-       ;       List Output Status.  Return true if\r
-       ;               all selected list output devices\r
+       ; CONOST\r
+       ;       Console Output Status.  Return true if\r
+       ;               all selected console output devices\r
        ;               are ready.\r
 \r
-listst:\r
-       ld      hl,(@lovec)     ; get list output bit vector\r
+conost:\r
+       ld      hl,(@covec)     ; get console output bit vector\r
 \r
 ost$scan:\r
        ld      b,0             ; start with device 0\r
@@ -383,16 +383,6 @@ ci1:                               ; get input, saving <BC> & <HL>
        ret\r
 \r
 \r
-       ; CONST\r
-       ;       Console Input Status.  Return true if\r
-       ;               any selected console input device\r
-       ;               has an available character.\r
-\r
-const:\r
-       ld      hl,(@civec)     ; get console input bit vector\r
-       jr      ist$scan\r
-\r
-\r
        ; AUXIST\r
        ;       Auxiliary Input Status.  Return true if\r
        ;               any selected auxiliary input device\r
@@ -400,6 +390,16 @@ const:
 \r
 auxist:\r
        ld      hl,(@aivec)     ; get aux input bit vector\r
+       jr      ist$scan\r
+\r
+\r
+       ; CONST\r
+       ;       Console Input Status.  Return true if\r
+       ;               any selected console input device\r
+       ;               has an available character.\r
+\r
+const:\r
+       ld      hl,(@civec)     ; get console input bit vector\r
 \r
 ist$scan:\r
        ld      b,0             ; start with device 0\r
@@ -417,21 +417,21 @@ cis$next:
        ret\r
 \r
 \r
-       ; CONIN\r
-       ;       Console Input.  Return character from first\r
-       ;               ready console input device.\r
-\r
-conin:\r
-       ld      hl,(@civec)\r
-       jr      in$scan\r
-\r
-\r
        ; AUXIN\r
        ;       Auxiliary Input.  Return character from first\r
        ;               ready auxiliary input device.\r
 \r
 auxin:\r
        ld      hl,(@aivec)\r
+       jr      in$scan\r
+\r
+\r
+       ; CONIN\r
+       ;       Console Input.  Return character from first\r
+       ;               ready console input device.\r
+\r
+conin:\r
+       ld      hl,(@civec)\r
 \r
 in$scan:\r
        push    hl              ; save bit vector\r
index 9a1430508b30cc2702596c9c60d9a79076a00596..428fafb77ad393d6bb8e564c4533eb0ff9fbe21a 100644 (file)
 \r
 max$devices equ        3\r
 \r
-       cseg\r
 \r
 ;--------------------------------------------------------------\r
 ; Init character device\r
 ;     c: device\r
 \r
+       cseg\r
 ?cinit:                                ; init devices\r
        b0call  _cinit\r
        ret\r
@@ -39,7 +39,6 @@ _cinit:
        dw      as1init\r
        dw      rret\r
 \r
-       cseg\r
 \r
 ;--------------------------------------------------------------\r
 ; Character input\r
@@ -47,7 +46,13 @@ _cinit:
 ;    return:\r
 ;     a: input char\r
 \r
+       cseg\r
 ?ci:                           ; character input\r
+       b0call  _ci\r
+       ret\r
+\r
+       dseg\r
+_ci:\r
        call    vector$io\r
        dw      ff.in\r
        dw      as0inp\r
@@ -60,7 +65,13 @@ _cinit:
 ;    return:\r
 ;     a: 0ffh if char available, else 0\r
 \r
-?cist:                         ; character input status\r
+       cseg\r
+?cist:                         ; character input\r
+       b0call  _cist\r
+       ret\r
+\r
+       dseg\r
+_cist:                         ; character input status\r
        call    vector$io\r
        dw      ff.ist\r
        dw      as0ista\r
@@ -74,7 +85,13 @@ _cinit:
 ;    return:\r
 ;     a: output char\r
 \r
-?co:                           ; character output\r
+       cseg\r
+?co:                           ; character input\r
+       b0call  _co\r
+       ret\r
+\r
+       dseg\r
+_co:                           ; character output\r
        call    vector$io\r
        dw      ff.out\r
        dw      as0out\r
@@ -89,7 +106,13 @@ _cinit:
 ;     a: 0ffh if device ready for next output char, else 0\r
 \r
 \r
-?cost:                         ; character output status\r
+       cseg\r
+?cost:                         ; character input\r
+       b0call  _cost\r
+       ret\r
+\r
+       dseg\r
+_cost:                         ; character output status\r
        call    vector$io\r
        dw      ff.ost\r
        dw      as0osta\r
@@ -98,6 +121,7 @@ _cinit:
 \r
 ;--------------------------------------------------------------\r
 \r
+       dseg\r
 vector$io:\r
        pop     hl\r
        push    de\r
@@ -132,6 +156,7 @@ null$status:
 \r
 ;--------------------------------------------------------------\r
 \r
+       cseg\r
 @ctbl:\r
        db      'AVRCON'        ; device 0\r
        db      mb$in$out\r
index 64d42dc1d70e9907cc78d7eb0e9ca9928fc4e091..75741e0ebd50bdca7488a3097df5b6f5541e68d5 100644 (file)
@@ -13,7 +13,7 @@
        include z180reg.inc\r
        endif\r
 \r
-\r
+       dseg\r
        mkbuf   ci.fifo_id, ci.fifo, ci.fifo_len\r
        mkbuf   co.fifo_id, co.fifo, co.fifo_len\r
 \r
@@ -40,7 +40,7 @@ ff.init:
 ; Input status\r
 ; buffer is empty, if output index and input index are the same\r
 \r
-       cseg\r
+       dseg\r
 ff.ist:\r
        push    ix\r
        ld      ix,(fifolst+ici)        ;\r
index 12d4861d7b1974137009215202b36acee4318ddd..27c82d4b5278839ea14fd418446497aebf066e43 100644 (file)
@@ -14,9 +14,7 @@
        include z180reg.inc\r
 \r
 \r
-       cseg\r
-\r
-\r
+       dseg\r
        mkbuf   0,mtx.fifo,mtx.fifo_len\r
        mkbuf   1,mrx.fifo,mrx.fifo_len\r
 \r
@@ -31,7 +29,6 @@ irx   equ     1*2
 ; Init message fifos\r
 ;\r
        dseg\r
-\r
 msginit:\r
        ld      a,(INIDONE)\r
        cp      INIDONEVAL\r
@@ -72,8 +69,7 @@ wait:
 \r
 ;--------------------------------------------------------------\r
 \r
-       cseg\r
-\r
+       dseg\r
 msgi.st:\r
        push    ix\r
        ld      ix,(fifolst+irx)        ;\r