|
DataMuseum.dkPresents historical artifacts from the history of: Commodore CBM-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Commodore CBM-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6001 (0x1771) Types: TextFile Notes: UNIX file Names: »lpd2.c«
└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code └─⟦f4b8d8c84⟧ UNIX Filesystem └─⟦this⟧ »cmd/lpr/lpd2.c«
/* * Produce banners for the line printer. */ #include <stdio.h> #define BAS 035 /* Base character in table */ #define FILL '#' /* Fill character for banner */ char font[98][9] = { 0077,0177,0300,0314,0314,0314,0014,0007,0003, /* MW-1 */ 0077,0377,0300,0314,0314,0314,0014,0377,0363, /* MW-2 */ 0000,0200,0300,0314,0314,0314,0014,0370,0360, /* MW-3 */ 0000,0000,0000,0000,0000,0000,0000,0000,0000, /* sp */ 0010,0010,0010,0010,0010,0000,0010,0000,0000, /* ! */ 0024,0024,0024,0000,0000,0000,0000,0000,0000, /* " */ 0024,0024,0076,0024,0076,0024,0024,0000,0000, /* # */ 0010,0036,0050,0034,0012,0074,0010,0000,0000, /* $ */ 0060,0062,0004,0010,0020,0046,0006,0000,0000, /* % */ 0010,0024,0024,0030,0052,0044,0032,0000,0000, /* & */ 0010,0010,0020,0000,0000,0000,0000,0000,0000, /* ' */ 0004,0010,0020,0020,0020,0010,0004,0000,0000, /* ( */ 0020,0010,0004,0004,0004,0010,0020,0000,0000, /* ) */ 0000,0010,0052,0034,0052,0010,0000,0000,0000, /* * */ 0000,0010,0010,0076,0010,0010,0000,0000,0000, /* + */ 0000,0000,0000,0000,0000,0030,0030,0010,0020, /* , */ 0000,0000,0000,0076,0000,0000,0000,0000,0000, /* - */ 0000,0000,0000,0000,0000,0030,0030,0000,0000, /* . */ 0001,0002,0004,0010,0020,0040,0100,0000,0000, /* / */ 0034,0042,0046,0052,0062,0042,0034,0000,0000, /* 0 */ 0010,0030,0010,0010,0010,0010,0034,0000,0000, /* 1 */ 0034,0042,0002,0004,0010,0020,0076,0000,0000, /* 2 */ 0076,0004,0010,0004,0002,0042,0034,0000,0000, /* 3 */ 0004,0014,0024,0044,0076,0004,0004,0000,0000, /* 4 */ 0076,0040,0074,0002,0002,0042,0034,0000,0000, /* 5 */ 0014,0020,0040,0074,0042,0042,0034,0000,0000, /* 6 */ 0076,0002,0004,0010,0020,0020,0020,0000,0000, /* 7 */ 0034,0042,0042,0034,0042,0042,0034,0000,0000, /* 8 */ 0034,0042,0042,0036,0002,0004,0030,0000,0000, /* 9 */ 0000,0030,0030,0000,0030,0030,0000,0000,0000, /* : */ 0000,0030,0030,0000,0030,0030,0010,0020,0000, /* ; */ 0002,0004,0010,0020,0010,0004,0002,0000,0000, /* < */ 0000,0000,0076,0000,0076,0000,0000,0000,0000, /* = */ 0040,0020,0010,0004,0010,0020,0040,0000,0000, /* > */ 0034,0042,0002,0004,0010,0000,0010,0000,0000, /* ? */ 0014,0022,0056,0052,0056,0040,0036,0000,0000, /* @ */ 0034,0042,0042,0076,0042,0042,0042,0000,0000, /* A */ 0074,0042,0042,0074,0042,0042,0074,0000,0000, /* B */ 0034,0042,0040,0040,0040,0042,0034,0000,0000, /* C */ 0070,0044,0042,0042,0042,0044,0070,0000,0000, /* D */ 0076,0040,0040,0074,0040,0040,0076,0000,0000, /* E */ 0076,0040,0040,0074,0040,0040,0040,0000,0000, /* F */ 0036,0040,0040,0046,0042,0042,0036,0000,0000, /* G */ 0042,0042,0042,0076,0042,0042,0042,0000,0000, /* H */ 0034,0010,0010,0010,0010,0010,0034,0000,0000, /* I */ 0034,0010,0010,0010,0010,0050,0020,0000,0000, /* J */ 0042,0044,0050,0060,0050,0044,0042,0000,0000, /* K */ 0040,0040,0040,0040,0040,0040,0076,0000,0000, /* L */ 0042,0066,0052,0052,0042,0042,0042,0000,0000, /* M */ 0042,0042,0062,0052,0046,0042,0042,0000,0000, /* N */ 0034,0042,0042,0042,0042,0042,0034,0000,0000, /* O */ 0074,0042,0042,0074,0040,0040,0040,0000,0000, /* P */ 0034,0042,0042,0042,0052,0044,0032,0000,0000, /* Q */ 0074,0042,0042,0074,0050,0044,0042,0000,0000, /* R */ 0034,0042,0040,0034,0002,0042,0034,0000,0000, /* S */ 0076,0010,0010,0010,0010,0010,0010,0000,0000, /* T */ 0042,0042,0042,0042,0042,0042,0034,0000,0000, /* U */ 0042,0042,0042,0024,0024,0010,0010,0000,0000, /* V */ 0042,0042,0042,0052,0052,0052,0024,0000,0000, /* W */ 0042,0042,0024,0010,0024,0042,0042,0000,0000, /* X */ 0042,0042,0024,0010,0010,0010,0010,0000,0000, /* Y */ 0076,0002,0004,0010,0020,0040,0076,0000,0000, /* Z */ 0034,0020,0020,0020,0020,0020,0034,0000,0000, /* [ */ 0100,0040,0020,0010,0004,0002,0001,0000,0000, /* \ */ 0034,0004,0004,0004,0004,0004,0034,0000,0000, /* ] */ 0010,0024,0042,0000,0000,0000,0000,0000,0000, /* ^ */ 0000,0000,0000,0000,0000,0000,0076,0000,0000, /* _ */ 0010,0010,0004,0000,0000,0000,0000,0000,0000, /* ` */ 0000,0000,0034,0002,0036,0042,0036,0000,0000, /* a */ 0040,0040,0074,0042,0042,0042,0074,0000,0000, /* b */ 0000,0000,0030,0044,0040,0044,0030,0000,0000, /* c */ 0002,0002,0036,0042,0042,0042,0036,0000,0000, /* d */ 0000,0000,0034,0042,0076,0040,0034,0000,0000, /* e */ 0014,0022,0070,0020,0020,0020,0020,0000,0000, /* f */ 0000,0000,0032,0046,0042,0046,0032,0002,0034, /* g */ 0040,0040,0074,0042,0042,0042,0042,0000,0000, /* h */ 0010,0000,0030,0010,0010,0010,0034,0000,0000, /* i */ 0004,0000,0004,0004,0004,0004,0004,0044,0030, /* j */ 0040,0040,0044,0050,0064,0042,0042,0000,0000, /* k */ 0030,0010,0010,0010,0010,0010,0034,0000,0000, /* l */ 0000,0000,0064,0052,0052,0052,0052,0000,0000, /* m */ 0000,0000,0074,0042,0042,0042,0042,0000,0000, /* n */ 0000,0000,0034,0042,0042,0042,0034,0000,0000, /* o */ 0000,0000,0054,0062,0042,0062,0054,0040,0040, /* p */ 0000,0000,0032,0046,0042,0046,0032,0002,0002, /* q */ 0000,0000,0054,0062,0040,0040,0040,0000,0000, /* r */ 0000,0000,0036,0040,0034,0002,0074,0000,0000, /* s */ 0020,0020,0070,0020,0020,0022,0014,0000,0000, /* t */ 0000,0000,0042,0042,0042,0046,0032,0000,0000, /* u */ 0000,0000,0042,0042,0042,0024,0010,0000,0000, /* v */ 0000,0000,0042,0042,0052,0052,0024,0000,0000, /* w */ 0000,0000,0042,0024,0010,0024,0042,0000,0000, /* x */ 0000,0000,0042,0042,0042,0046,0032,0002,0034, /* y */ 0000,0000,0076,0004,0010,0020,0076,0000,0000, /* z */ 0014,0020,0020,0040,0020,0020,0014,0000,0000, /* { */ 0010,0010,0010,0000,0010,0010,0010,0000,0000, /* | */ 0030,0004,0004,0002,0004,0004,0030,0000,0000, /* } */ 0020,0052,0004,0000,0000,0000,0000,0000,0000, /* ~ */ 0177,0177,0177,0177,0177,0177,0177,0177,0177, /* del */ }; /* * Write a line onto the printer on * file `fp'. */ banner(line, fp) char *line; FILE *fp; { register i, j; register char *s; for (i=0; i!=9; i++) { for (s=line; *s!='\0'; s++) for (j=0200; j!=0; j>>=1) if(BAS<=*s && *s<=0177 && font[*s-BAS][i]&j) putc(FILL, fp); else putc(' ', fp); putc('\n', fp); } putc('\n', fp); }