.z80\r
\r
\r
-; CP/M 3 compatible character i/o \r
+; CP/M 3 compatible character i/o\r
\r
public ?cinit,?ci,?co,?cist,?cost\r
public @ctbl\r
\r
extrn ff.init,ff.i.st,ff.in,ff.o.st,ff.out\r
- extrn ser.init,ser.ist,ser.in,ser.ost,ser.out\r
- \r
+ extrn as0init,as0ista,as0inp,as0osta,as0out\r
+ extrn as1init,as1ista,as1inp,as1osta,as1out\r
+\r
include config.inc\r
include z180reg.inc\r
include modebaud.inc ; define mode bits and baud eqautes\r
\r
\r
-max$device equ 2\r
+max$device equ 3\r
\r
cseg\r
\r
ld b,c\r
call vector$io\r
dw ff.init\r
- dw ser.init\r
+ dw as0init\r
+ dw as1init\r
dw rret\r
\r
; b = device, c = output char, a = input char\r
?ci: ; character input\r
call vector$io\r
dw ff.in\r
- dw ser.in\r
+ dw as0inp\r
+ dw as1inp\r
dw null$input\r
\r
?cist: ; character input status\r
call vector$io\r
dw ff.i.st\r
- dw ser.ist\r
+ dw as0ista\r
+ dw as1ista\r
dw null$status\r
\r
?co: ; character output\r
call vector$io\r
dw ff.out\r
- dw ser.out\r
+ dw as0out\r
+ dw as1out\r
dw rret\r
\r
?cost: ; character output status\r
call vector$io\r
dw ff.o.st\r
- dw ser.ost\r
+ dw as0osta\r
+ dw as1osta\r
dw ret$true\r
\r
vector$io:\r
\r
@ctbl:\r
db 'HOST ' ; device 0\r
- db mb$output\r
+ db mb$in$out\r
db baud$none\r
\r
- db 'ASCI1 ' ; device 0\r
+ db 'ASCI0 ' ; device 1\r
+ db mb$in$out+mb$serial+mb$soft$baud\r
+ser0$baud:\r
+ db baud$19200\r
+\r
+ db 'ASCI1 ' ; device 2\r
db mb$in$out+mb$serial+mb$soft$baud\r
ser1$baud:\r
db baud$19200\r
db 0 ; table terminator\r
\r
end\r
-\r