\r
\r
global ser.init\r
- global ser.instat,ser.in\r
- global ser.out\r
+ global ser.ist,ser.in\r
+ global ser.ost,ser.out\r
\r
;TODO: define a trampoline area somewhere in top ram. \r
rtxisvjmp equ 0FF60h ;momentan frei...\r
; ei\r
ret ;\r
\r
-ser.instat:\r
+ser.ist:\r
push ix\r
ld ix,ser1.inbuf ;\r
\r
cp (hl) ; 6 while (out_idx==in_idx) \r
jr z,bg.wait ; 6 (/8) ;\r
\r
- inc a ; 4\r
ld e,a ; 4 \r
- inc e ; 4\r
ld d,0 ; 6\r
+ inc de\r
+ inc de\r
\r
ex de,hl ; 3\r
add hl,de ;10\r
ld l,(hl) ; 6\r
ex de,hl ; 3 \r
- \r
+\r
+ inc a ; 4\r
dec hl ; 4\r
and (hl) ; 6 \r
inc hl ; 4\r
ret ; 9\r
; 153 \r
\r
-ser.outstat:\r
+ser.ost:\r
push ix\r
ld ix,ser1.outbuf ;\r
buf.full:\r
push bc\r
push ix\r
pop hl\r
+ ld a,c\r
ld c,(ix+o.in_idx) ;\r
ld b,0\r
add hl,bc\r
- ld b,a\r
+ ld (hl),a\r
\r
ld a,c ;\r
inc a\r
bp.wait:\r
cp (ix+o.out_idx) ;\r
jr z,bp.wait\r
- ld (hl),b\r
ld (ix+o.in_idx),a\r
\r
di ;036f\r