4 global mrx.fifo,mtx.fifo
6 global msginit,msgi.st,msg.in,msgo.st,msg.out
16 ;--------------------------------------------------------------
20 mkbuf mtx.fifo_id, mtx.fifo, mtx.fifo_len
21 mkbuf mrx.fifo_id, mrx.fifo, mrx.fifo_len
23 ;--------------------------------------------------------------
39 ;--------------------------------------------------------------
53 ;--------------------------------------------------------------
85 ;--------------------------------------------------------------
101 ;--------------------------------------------------------------
137 ;--------------------------------------------------------------
169 ;--------------------------------------------------------------
172 ; Works only, if buffer size < (128 - 3)
173 ; --> mask must be 03fh or less
182 ld a,(ix+o.in_idx) ;14
200 ;--------------------------------------------------------------
213 ld a,low mtx.fifo ; 6
214 add a,(ix+o.in_idx) ;14
216 ld a,high mtx.fifo ; 6
220 ld a,(ix+o.in_idx) ;14
224 cp (ix+o.out_idx) ;14
228 ld (ix+o.in_idx),a ;15
229 jp pe,ms.ol ; 6/9 -- 126
237 ;--------------------------------------------------------------
254 ld c,(ix+o.in_idx) ;14
265 cp (ix+o.out_idx) ;14
271 ld (ix+o.in_idx),c ;15
272 djnz ms.ol ; 7/9 -- 130
283 ;--------------------------------------------------------------
297 db buf_end - $ - 1 ;output string length
298 db 0AEh ; message start token
299 db buf_end - $ - 1 ; message length
306 ;----------------------------------------------------------------------