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