; global msg.sout\r
global msg.sm,msg.recv\r
\r
- extrn bufinit\r
+ extrn bufinit,hwl2phy,phy2log\r
extrn fifolst\r
\r
include config.inc\r
include z180reg.inc\r
\r
\r
- cseg\r
-\r
-\r
+ dseg\r
mkbuf 0,mtx.fifo,mtx.fifo_len\r
mkbuf 1,mrx.fifo,mrx.fifo_len\r
\r
-;txfifo_addr equ fifolst + (0*3)\r
-;rxfifo_addr equ fifolst + (1*3)\r
-\r
-itx equ 0*3\r
-irx equ 1*3\r
+itx equ 0*2\r
+irx equ 1*2\r
\r
;--------------------------------------------------------------\r
;\r
-; Init mssage fifos\r
+; Init message fifos\r
;\r
dseg\r
-\r
msginit:\r
ld a,(INIDONE)\r
cp INIDONEVAL\r
jr nz,msgi_1\r
\r
ld hl,(040h)\r
+ ld a,(040h+2)\r
+ call phy2log\r
+\r
ld a,l\r
or h\r
jr z,msgi_1\r
\r
ld de,fifolst\r
- ld bc,4*3\r
+ ld bc,4*2\r
ldir\r
ret\r
\r
msgi_1:\r
+ ld a,(043h)\r
+\r
+;TODO: value should be 0\r
+\r
ld ix,mtx.fifo\r
- ld a,mtx.fifo.mask\r
call bufinit\r
+ push ix\r
+ pop hl\r
+ call hwl2phy\r
+ ld (040h),hl\r
+ ld (040h+2),a\r
+ ld a,0ffh\r
+ ld (043h),a\r
+ out (AVRINT5),a\r
+wait:\r
+ ld a,(043h)\r
+ or a\r
+ jr nz,wait\r
+\r
ld ix,mrx.fifo\r
- ld a,mrx.fifo.mask\r
jp bufinit\r
\r
\r
;--------------------------------------------------------------\r
\r
- cseg\r
-\r
+ dseg\r
msgi.st:\r
push ix\r
ld ix,(fifolst+irx) ;\r