page 255\r
.z80\r
- \r
+\r
global msg_rx_fifo,msg_tx_fifo\r
\r
global msginit,msgi.st,msg.in,msgo.st,msg.out\r
global msg.sout,msg.co\r
- \r
+\r
extrn buf.init\r
\r
include config.inc\r
\r
dseg\r
\r
- mkbuf msg_rx_fifo,msg_rx_fifo_len\r
- mkbuf msg_tx_fifo,msg_tx_fifo_len\r
+ mkbuf mtx.fifo_id, msg_tx_fifo, msg_tx_fifo_len\r
+ mkbuf mrx.fifo_id, msg_rx_fifo, msg_rx_fifo_len\r
\r
\r
\r
;\r
; Init buffer\r
;\r
- \r
+\r
msginit:\r
ld ix,msg_rx_fifo\r
ld a,msg_rx_fifo.mask\r
ret z\r
or 0ffh\r
ret\r
- \r
+\r
;--------------------------------------------------------------\r
\r
msg.in:\r
inc h\r
bg.nc:\r
ld l,(hl)\r
- \r
+\r
ld a,(ix+o.out_idx) ;\r
inc a\r
and (ix+o.mask)\r
ld (ix+o.out_idx),a\r
- \r
+\r
ld a,l\r
pop hl\r
pop ix\r
jr z,bp.wait\r
ld (hl),b\r
ld (ix+o.in_idx),a\r
- \r
+\r
ld a,b\r
out0 (AVRINT5),a\r
pop bc\r
ld a,b\r
out (PMSG),a\r
ld (ix+o.in_idx),c\r
- \r
+\r
pop bc\r
pop ix\r
ret\r
ld b,(hl) ;\r
inc hl\r
ex de,hl\r
- \r
+\r
ms.ol:\r
push ix\r
pop hl\r
pop hl\r
pop af\r
ret\r
- \r
- \r
+\r
+\r
buf:\r
db buf_end - $ - 1 ;output string length\r
db 081h ; message start token\r
;----------------------------------------------------------------------\r
\r
end\r
-\r