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

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

unix.superglobalmegacorp.com

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