; ; Jeden takt Sharpa spotrebuje .000000281936736216 sec. ; ; Pri rychlosti 57600 Bd si muzeme dovolit vykonat ; (1/57600)/.000000281936736216=61.578038194392144985045182913766 ; instrukcnich taktu mezi nactenim jednotlivych bitu. ; ; Nastaveni serioveho portu: 57600, 1 stop bit ; ; Za instrukcema je uveden pocet bajtu a pocet taktu. mzcom_rx: ld hl,dest ; kam to ulozime ld bc,size ; kolik toho bude call read ret nop read: di ; zakazat preruseni (tohle dokaze potrapit! :-) ; start bit 25 taktu startbit: in a,(#30) ; 2, 11 (cekame na start bit) rr a ; 1, 4 jp nc,startbit ; 3, 10 ; pridame 37 taktu inc ix ; 2, 10 inc ix ; 2, 10 inc ix ; 2, 10 xor 1 ; 2, 7 ; jeden bit 23 taktu in a,(#30) ; 2, 11 (D0) rr a ; 1, 4 rr d ; 2, 8 ; pridame 38 taktu inc ix ; 2, 10 inc ix ; 2, 10 inc ix ; 2, 10 nop ; 1, 4 nop ; 1, 4 in a,(#30) ; 2, 11 (D1) rr a ; 1, 4 rr d ; 2, 8 ; pridame 38 taktu inc ix ; 2, 10 inc ix ; 2, 10 inc ix ; 2, 10 nop ; 1, 4 nop ; 1, 4 in a,(#30) ; 2, 11 (D2) rr a ; 1, 4 rr d ; 2, 8 ; pridame 38 taktu inc ix ; 2, 10 inc ix ; 2, 10 inc ix ; 2, 10 nop ; 1, 4 nop ; 1, 4 in a,(#30) ; 2, 11 (D3) rr a ; 1, 4 rr d ; 2, 8 ; pridame 38 taktu inc ix ; 2, 10 inc ix ; 2, 10 inc ix ; 2, 10 nop ; 1, 4 nop ; 1, 4 in a,(#30) ; 2, 11 (D4) rr a ; 1, 4 rr d ; 2, 8 ; pridame 38 taktu inc ix ; 2, 10 inc ix ; 2, 10 inc ix ; 2, 10 nop ; 1, 4 nop ; 1, 4 in a,(#30) ; 2, 11 (D5) rr a ; 1, 4 rr d ; 2, 8 ; pridame 38 taktu inc ix ; 2, 10 inc ix ; 2, 10 inc ix ; 2, 10 nop ; 1, 4 nop ; 1, 4 in a,(#30) ; 2, 11 (D6) rr a ; 1, 4 rr d ; 2, 8 ; pridame 38 taktu inc ix ; 2, 10 inc ix ; 2, 10 inc ix ; 2, 10 nop ; 1, 4 nop ; 1, 4 in a,(#30) ; 2, 11 (D7) rr a ; 1, 4 rr d ; 2, 8 ; ulozeni bajtu 48 taktu ld a,#ff ; 2, 7 sub d ; 2, 4 ld (hl),a ; 1, 7 inc hl ; 1, 6 dec bc ; 1, 6 ld a,c ; 1, 4 or b ; 1, 4 jp nz,startbit ; 3, 10 ei ; opet povolime preruseni ret