extrn buf.init\r
extrn isv_sw\r
\r
- \r
+\r
global ser.init\r
global ser.ist,ser.in\r
global ser.ost,ser.out\r
\r
-;TODO: define a trampoline area somewhere in top ram. \r
+;TODO: define a trampoline area somewhere in top ram.\r
rtxisvjmp equ 0FF60h ;momentan frei...\r
\r
include config.inc\r
;-----------------------------------------------------\r
\r
dseg\r
- \r
+\r
buf_start:\r
- mkbuf ser1.inbuf,s1.rx_len\r
- mkbuf ser1.outbuf,s1.tx_len\r
+ mkbuf s1.rx_id, ser1.inbuf, s1.rx_len\r
+ mkbuf s1.tx_id, ser1.outbuf, s1.tx_len\r
buf_end:\r
\r
\r
;\r
; Init Serial I/O for console input and output (ASCI1)\r
;\r
- \r
+\r
\r
ser.init:\r
; ld a,i\r
\r
xor a ;\r
out0 (stat1),a ;Disable rx/tx interrupts\r
- \r
+\r
ld hl,rxtx_src ;move rx and tx isv to common ram\r
ld de,rxtx_dst ;\r
- ld bc,rxtx_src_e-rxtx_src ; \r
+ ld bc,rxtx_src_e-rxtx_src ;\r
ldir ;\r
\r
ld hl,rtxisvjmp ;rx/tx int vector\r
\r
; ASCI1: 8N1, highest baudrate (56700), CTS disabled\r
\r
- ld a,M_MPBT \r
+ ld a,M_MPBT\r
out0 (cntlb1),a\r
ld a,M_RE + M_TE + M_MOD2\r
out0 (cntla1),a\r
ret z\r
or 0ffh\r
ret\r
- \r
+\r
ser.in:\r
- push hl ;11 \r
+ push hl ;11\r
push de ;11\r
- ld hl,ser1.inbuf-1 ; 9 hl = &rx.out_idx \r
+ ld hl,ser1.inbuf-1 ; 9 hl = &rx.out_idx\r
ld a,(hl) ; 6 a = rx.out_idx\r
dec hl ; 4 hl = &rx.in_idx\r
jr bg.w1\r
bg.wait:\r
halt\r
bg.w1:\r
- cp (hl) ; 6 while (out_idx==in_idx) \r
+ cp (hl) ; 6 while (out_idx==in_idx)\r
jr z,bg.wait ; 6 (/8) ;\r
\r
- ld e,a ; 4 \r
+ ld e,a ; 4\r
ld d,0 ; 6\r
inc de\r
inc de\r
ex de,hl ; 3\r
add hl,de ;10\r
ld l,(hl) ; 6\r
- ex de,hl ; 3 \r
+ ex de,hl ; 3\r
\r
inc a ; 4\r
dec hl ; 4\r
- and (hl) ; 6 \r
+ and (hl) ; 6\r
inc hl ; 4\r
inc hl ; 4\r
ld (hl),a ; 7\r
- \r
+\r
ld a,e ; 4\r
pop de ; 9\r
pop hl ; 9\r
ret ; 9\r
- ; 153 \r
+ ; 153\r
\r
ser.ost:\r
push ix\r
in0 d,(rdr1) ;todo: break detection\r
bit FE,a ;framing error?\r
jr nz,??ri_1\r
- \r
+\r
push ix\r
ld ix,ser1.inbuf ;\r
ld hl,ser1.inbuf ;\r
??ti_1:\r
ld l,(hl)\r
out0 (tdr1),l ;071b\r
- \r
+\r
ld a,(ix+o.out_idx) ;\r
inc a\r
and (ix+o.mask)\r
\r
\r
end\r
-\r
-\r