]> cloudbase.mooo.com Git - z180-stamp-cpm3.git/blobdiff - cbios/chario.180
put char-i/o in banked memory
[z180-stamp-cpm3.git] / cbios / chario.180
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