Annotation of 3BSD/games/bcd.c, revision 1.1.1.1

1.1       root        1: int chtab[] = {
                      2: 00000, /*   */
                      3: 03004, /* ! */
                      4: 02404, /* " */
                      5: 02040, /* sharp */
                      6: 02042, /* $ */
                      7: 02104, /* % */
                      8: 00001, /* & */
                      9: 03002, /* ' */
                     10: 02201, /* ( */
                     11: 02202, /* ) */
                     12: 02102, /* * */
                     13: 00005, /* + */
                     14: 02044, /* , */
                     15: 00002, /* - */
                     16: 02041, /* . */
                     17: 00014, /* / */
                     18: 00004, /* 0 */
                     19: 00010, /* 1 */
                     20: 00020, /* 2 */
                     21: 00040, /* 3 */
                     22: 00100, /* 4 */
                     23: 00200, /* 5 */
                     24: 00400, /* 6 */
                     25: 01000, /* 7 */
                     26: 02000, /* 8 */
                     27: 04000, /* 9 */
                     28: 02200, /* : */
                     29: 02402, /* ; */
                     30: 02401, /* < */
                     31: 02204, /* = */
                     32: 02400, /* > */
                     33: 03000, /* ? */
                     34: 02100, /* at */
                     35:  011,
                     36:  021,
                     37:  041,
                     38: 0101,
                     39: 0201,
                     40: 0401,
                     41: 01001,
                     42: 02001,
                     43: 04001,
                     44: 012,
                     45: 022,
                     46: 042,
                     47: 0102,
                     48: 0202,
                     49: 0402,
                     50: 01002,
                     51: 02002,
                     52: 02002,
                     53: 024,
                     54: 044,
                     55: 0104,
                     56: 0204,
                     57: 0404,
                     58: 01004,
                     59: 02004,
                     60: 04004,
                     61: 02020, /* [ */
                     62: 03001, /* \ */
                     63: 02101, /* ] */
                     64: 00006, /* ^ */
                     65: 02024 /* _ */
                     66: };
                     67:        char s[128];
                     68:        char *sp = {&s[0]};
                     69: main(argc, argv)
                     70: char *argv[];
                     71: {
                     72:        char *spp;
                     73:        int i;
                     74:        int j;
                     75:        int c;
                     76:        int l;
                     77: 
                     78:        if (argc<2) {
                     79:                puts("% ");
                     80:                while ((c=getchar())!='\0'&c!='\n')
                     81:                        *sp++ = c;
                     82:                *sp = 0;
                     83:                sp = &s[0];
                     84:        } else
                     85:                sp = *++argv;
                     86:        puts("\n\n\n\n");
                     87:        puts(" ________________________________");
                     88:        puts("________________\n");
                     89:        spp = sp;
                     90:        while(*spp++);
                     91:        spp--;
                     92:        l = spp - sp;
                     93:        putchar('/');
                     94:        puts(sp);
                     95:        i = 49 - l;
                     96:        while(--i>0) putchar(' ');
                     97:        puts("|\n");
                     98:        j = 0;
                     99:        spp = sp;
                    100:        while (j++<12) {
                    101:                putchar('|');
                    102:                i = 0;
                    103:                spp = sp;
                    104:                while (i<48) {
                    105:                        if(i>l) c = 0;
                    106:                        else c = *spp++ - 040;
                    107:                        i++;
                    108:                        if (c>='a'-040) c = c - 040;
                    109:                        if (c<0 | c>137) c = 0;
                    110:                        if ((chtab[c]>>(j-1))&1) 
                    111:                                puts("[&&&&&]");
                    112:                        else
                    113:                                putchar(j>3?'0'+j-3:' ');
                    114:                }
                    115:                puts("|\n");
                    116:        }
                    117:        putchar('|');
                    118:        puts("____________");
                    119:        puts("____________________________________");
                    120:        puts("|\n");
                    121:        puts("\n\n\n\n");
                    122: }
                    123: 
                    124: puts(ss) char *ss; {
                    125:        int i;
                    126:        char t;
                    127:        i = 0;
                    128:        while(t = *ss++) {
                    129:                if(t >= 'a' && t <= 'z')
                    130:                        t += 'A'-'a';
                    131:                putchar(t);
                    132:        }
                    133: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.