Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- push bc ;сколько реально прочтем сохраним
- push de
- ld h,b
- ld l,c
- ld bc,WIZ_CNT_PORT
- ld a,l
- add a,(ix+0)
- ld (ix+0),a ;сохраним чёт-нечёт
- ld a,WIZ_S_RX_H
- jp pe,w53_read_eeven ;заканчиваем чётным
- ld e,WIZ_CNT_USBHOST|WIZ_CNT_WIZPORTS|WIZ_CNT_INV_A0
- out (c),e ;инвертируем A0 визнета
- inc a
- w53_read_eeven:
- ld b,a
- ld a,l
- and 63
- add hl,hl
- add hl,hl
- ld d,h
- add a,l
- rra
- cpl
- add 0xff&(w53_read_ebl+1)
- ld l,a
- ld a,0xff
- adc 0xffff&(w53_read_ebl+1)>>8
- ld h,a
- ld a,WIZ_S_RX_L
- ex (sp),hl
- ret
- w53_read_sbl:
- dup 32
- ini
- ld b,a
- ini
- edup
- w53_read_ebl:
- dec d
- jp p,w53_read_sbl
- ld b,0x82
- ld a,WIZ_CNT_USBHOST|WIZ_CNT_WIZPORTS
- out (c),a
- pop hl ;сколько прочитали
- ld a,(ix+2) ;если в буфере чтото есть,
- or (ix+3) ;то выходим
- ret nz
- bit 0,(ix+0) ;иначе команда - пакет забрали
- jr z,w53_read_noblanc
- ld b,WIZ_S_RX_L
- in a,(c) ;дочитаем холостой байт
- w53_read_noblanc:
- ld a,Sn_CR_RECV
- jp w53_cmd ;выходим
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement