X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/78a3a76d0da08b39b370efc45e9c0ba1ee6bef26..f4d5b4febbffab80cb06bd18564d4c326756fad7:/Z180/fifoio.180 diff --git a/Z180/fifoio.180 b/Z180/fifoio.180 deleted file mode 100644 index 27745d4..0000000 --- a/Z180/fifoio.180 +++ /dev/null @@ -1,128 +0,0 @@ - page 255 - .z80 - - global f.init,f.in,f.out,f.i.st - - extrn buf.init - - include config.inc - include z180reg.inc - - -;-------------------------------------------------------------- - - dseg - - - mkbuf rx.buf,rx.buf_len - mkbuf tx.buf,tx.buf_len - - -;-------------------------------------------------------------- - - cseg -; -; FIFO channels for communication with stm32 -; -; Init Serial I/O for console input and output -; - -f.init: - ld ix,rx.buf - ld a,rx.buf.mask - call buf.init - ld ix,tx.buf - ld a,tx.buf.mask - jp buf.init - - -f.i.st: - push ix - ld ix,rx.buf ; - -buf.empty: - ld a,(ix+o.in_idx) ; - sub (ix+o.out_idx) ; - pop ix - ret z - or 0ffh - ret - - -f.in: - push ix - ld ix,rx.buf ; - -buf.get: - ld a,(ix+o.out_idx) ; -bg.wait: - cp (ix+o.in_idx) ; - jr z,bg.wait - - push hl ; - push ix - pop hl - add a,l - ld l,a - jr nc,bg.nc - inc h -bg.nc: - ld l,(hl) - - ld a,(ix+o.out_idx) ; - inc a - and (ix+o.mask) - ld (ix+o.out_idx),a - - ld a,l - pop hl - pop ix - ret - - -f.o.st: - push ix - ld ix,tx.buf ; - -buf.full: - ld a,(ix+o.in_idx) ; - inc a - and (ix+o.mask) - sub (ix+o.out_idx) ; - pop ix - ret z - or 0ffh - ret - - -f.out: - push ix - ld ix,tx.buf ; - -buf.put: - push hl ; - push bc - push ix - pop hl - ld c,(ix+o.in_idx) ; - ld b,0 - add hl,bc - ld b,a - - ld a,c ; - inc a - and (ix+o.mask) -bp.wait: - cp (ix+o.out_idx) ; - jr z,bp.wait - ld (hl),b - ld (ix+o.in_idx),a - - ld a,b - pop bc - pop hl - pop ix - ret - - end -