U0 Convert() { I64 *ptr; //Normally, allocate large objects on the heap //because stk size can't grow. 256 bytes, however, //is not that bad. U8 byte_bit_cnts[256]; I64 i,j,row,col,ch,best_ch,score,best_score,cur_char_image,diff_image; CDC *dc=DCAlias; //Set-up a table telling how many 1 bits in a val. MemSet(byte_bit_cnts,0,sizeof(byte_bit_cnts)); for (i=0;i<256;i++) for (j=0;j<7;j++) if (Bt(&i,j)) byte_bit_cnts[i]++; for (row=0;rowwin_height;row++) { for (col=0;colwin_width;col++) { //The size of one character is 8x8 pixels //which fits in a 64-bit var. We'll //fetch the pixels from the screen using $LK,"GrPeek","MN:GrPeek"$(). cur_char_image=0; for (i=0;icolor=ROP_EQU+BLACK; SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$ Fs->win_inhibit=WIF_ALL-WIF_BORDER; WinMax; DCFill; "$$CL$$Draw a picture and hit\na key to convert to ASCII.\n"; do { msg_code=GetMsg(&p1,&p2, 1<pen_width=0.04*ip_speed; GrLine3(dc,x1,y1,0,x2,y2,0); msg_code=GetMsg(&p1,&p2, 1<