int _stklen=100000; #include #include #define MAXB 256*1024 unsigned char p[MAXB]; FILE *fp; int la; int readarray(n) char n[]; { if ((fp = fopen(n,"rb")) == NULL) {printf("Error: can't open %s.\n",n); exit(-1); } la = (int) fread(p, 1, MAXB, fp); fclose(fp); printf("Read %d bytes\n",la); return(0); } cunsigned() { int i,j; unsigned char c; for (i=0; i< la; i++) { j = p[i]; j+=128; c = (unsigned char) j; p[i] = c; } } int doout(dd,p) int p; unsigned char dd; { asm { push ax push dx mov dx,word [p] //;word seems 16 bit mov al,byte [dd] out dx,al mov eax,0 pop dx pop ax } return _EAX; } delay(c) /* Don't look, this is custum */ int c; { int i; double x,y; x=10.0; for (i=0; i< c; i++) { y=sin(x); x=y+1; } } dly() { int i,j; j=0; for (i=0; i<20; i++) j=j+i; } outarr(p,m) char *p; int m; { int i, j; j=0; for (i=0; i\n"); exit(-1); } fillarray(); readarray(argv[1]); /* outarr(p,4096-2*256); */ cunsigned(); printf("strobe set to %d\n",doout(0,0x37A) ); delay(1); printf("data prepared, sending\n"); for (i=0; i< la; i+=4096-2*256) { printf("\n%d %d ",i/(4096-2*256),i ); outarr(p+i,4096-2*256); if ((c = getch()) == 'q') exit(0); if (c=='p') cplot(p+i); } }