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
25 ;--------------------------------------------------------------
26 ; Init character device
29 ?cinit: ; init devices
37 ;--------------------------------------------------------------
43 ?ci: ; character input
50 ;--------------------------------------------------------------
54 ; a: 0ffh if char available, else 0
56 ?cist: ; character input status
63 ;--------------------------------------------------------------
70 ?co: ; character output
78 ;--------------------------------------------------------------
82 ; a: 0ffh if device ready for next output char, else 0
85 ?cost: ; character output status
92 ;--------------------------------------------------------------
102 ld e,a ; use null device if a >= max$devices
124 ;--------------------------------------------------------------
127 db 'AVRCON' ; device 0
131 db 'ASCI0 ' ; device 1
132 db mb$in$out+mb$serial+mb$soft$baud
136 db 'ASCI1 ' ; device 2
137 db mb$in$out+mb$serial+mb$soft$baud
141 db 0 ; table terminator
143 ;--------------------------------------------------------------