ret\r
\r
;----------------------------------------------------------------------\r
-\r
+if 0\r
extrn msginit,msg_tx_fifo,msg_rx_fifo\r
extrn msg.sout\r
\r
ld (40h+0),hl\r
ld (40h+2),a\r
\r
- ld (bufdat+1),hl\r
- ld (bufdat+3),a\r
- xor a\r
- ld (bufdat+0),a\r
- ld hl,inimsg\r
- call msg.sout\r
+; ld (bufdat+1),hl\r
+; ld (bufdat+3),a\r
+; ld a,1\r
+; ld (bufdat+0),a\r
+; ld hl,inimsg\r
+; call msg.sout\r
\r
ld de,msg_rx_fifo\r
in0 a,cbr\r
call log2phys\r
ld (bufdat+1),hl\r
ld (bufdat+3),a\r
- ld a,1\r
+ ld a,2\r
ld (bufdat+0),a\r
ld hl,inimsg\r
call msg.sout\r
db 0\r
inimsg_e:\r
\r
+endif\r
;----------------------------------------------------------------------\r
;\r
-if 0\r
\r
- extrn msginit,msg.sout,msg_fifo\r
- extrn tx.buf,rx.buf\r
+ extrn msginit,msg.sout\r
+ extrn mtx.fifo,mrx.fifo\r
+ extrn co.fifo,ci.fifo\r
\r
\r
bufferinit:\r
call msginit\r
\r
ld hl,buffers\r
- ld bc,0300h ; b:count, c:buffer nr\r
+ ld b,buftablen\r
bfi_1:\r
+ ld a,(hl)\r
+ inc hl\r
+ ld (bufdat+0),a\r
ld e,(hl)\r
inc hl\r
ld d,(hl)\r
inc hl\r
push hl\r
+\r
+ or a\r
+ jr nz,bfi_2\r
+ in0 a,cbr\r
+ call log2phys\r
+ ld (40h+0),hl\r
+ ld (40h+2),a\r
+ out0 (AVRINT5),a\r
+ jr bfi_3 \r
+bfi_2:\r
in0 a,cbr\r
call log2phys\r
ld (bufdat+1),hl\r
ld (bufdat+3),a\r
- ld a,c\r
- ld (bufdat+0),a\r
ld hl,inimsg\r
call msg.sout\r
+bfi_3:\r
pop hl\r
- inc c\r
djnz bfi_1\r
ret\r
\r
- rept 20\r
- db 0\r
- endm\r
-\r
buffers:\r
- dw msg_fifo\r
- dw tx.buf\r
- dw rx.buf\r
+ db 0\r
+ dw mtx.fifo\r
+ db 1\r
+ dw mrx.fifo\r
+ db 2\r
+ dw co.fifo\r
+ db 3\r
+ dw ci.fifo\r
+buftablen equ ($ - buffers)/3\r
\r
inimsg:\r
- db inimsg_e - $ -2\r
- db PMSG\r
+ db inimsg_e - $ -1\r
db 81h\r
db inimsg_e - $ -1\r
db 0\r
db 0\r
inimsg_e:\r
\r
-endif\r
\r
;\r
;----------------------------------------------------------------------\r