1 title 'Character I/O Module for the Modular CP/M 3 BIOS'
7 public ?cinit,?ci,?co,?cist,?cost
11 extrn ff.init,ff.ist,ff.in,ff.ost,ff.out
12 extrn as0init,as0ista,as0inp,as0osta,as0out
13 extrn as1init,as1ista,as1inp,as1osta,as1out
19 include modebaud.inc ; define mode bits and baud equates
24 ;--------------------------------------------------------------
25 ; Init character device
29 ?cinit: ; init devices
43 ;--------------------------------------------------------------
50 ?ci: ; character input
62 ;--------------------------------------------------------------
66 ; a: 0ffh if char available, else 0
69 ?cist: ; character input
74 _cist: ; character input status
81 ;--------------------------------------------------------------
89 ?co: ; character input
94 _co: ; character output
102 ;--------------------------------------------------------------
106 ; a: 0ffh if device ready for next output char, else 0
110 ?cost: ; character input
115 _cost: ; character output status
122 ;--------------------------------------------------------------
128 ld de,max$devices ; default if
130 cp e ; b > max$devices
157 ;--------------------------------------------------------------
161 db 'USB0 ' ; device 0
165 db 'ASCI0 ' ; device 1
166 db mb$in$out+mb$serial+mb$soft$baud
169 db 'ASCI1 ' ; device 2
170 db mb$in$out+mb$serial+mb$soft$baud
173 db 0 ; table terminator