X-Git-Url: http://git.joshuawise.com/fpgaboy.git/blobdiff_plain/6d070aeeba66499d17bd9abb9c5dfbb1317bf1c5..b057a5d6e6db6db06ae33703ca72cd235eec91d6:/binwire.c?ds=sidebyside diff --git a/binwire.c b/binwire.c index 3f19ca2..cef0924 100644 --- a/binwire.c +++ b/binwire.c @@ -7,10 +7,13 @@ void dowrite(char *s, int len) { - int i; - for (i=0; i 1) ? 1 : (len-i); + + write(1, s+i, cs); + i += cs; } } @@ -87,14 +90,22 @@ void main(int argc, char **argv) while ((sz = read(rfd, buf+3, 255)) > 0) { int rv; + char abuf[5]; buf[0] = 0x1B; buf[1] = 'D'; buf[2] = sz+1; + abuf[0] = 0x1B; + abuf[1] = 'A'; + abuf[2] = (tc >> 16) & 0xFF; + abuf[3] = (tc >> 8) & 0xFF; + abuf[4] = tc & 0xFF; tc += sz; retry: + dowrite(abuf, 5); + rv = expect("A", 1); dowrite(buf, sz + 3); fprintf(stderr, "Data sent (%d)\n", tc); - rv = expect("D", 1); + rv |= expect("D", 1); expect_no_chars(); if (rv) {