home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
RBBS in a Box Volume 1 #3.1
/
RBBSIABOX31.cdr
/
dosc
/
disphr.c
< prev
next >
Wrap
Text File
|
1986-10-10
|
2KB
|
89 lines
/************************************************************************/
/* DISPHR.C */
/* */
/* This program provides for the local display of high res */
/* images transmitted by CompuServe. */
/* */
/* Format: */
/* disphr <filename> */
/* */
/* where <filename> is the name of the file that */
/* contains the captured high res text from CIS */
/* */
/* */
/************************************************************************/
#include <stdio.h>
main(argc,argv)
int argc;
char **argv;
{
char l[132];
FILE *fopen(),*inf;
int c;
int curcol,currow,temp;
int black,white,white2,i,j;
curcol=0;
currow=0;
if (argc != 2) {
printf("usage: disphr <file>\n");
exit(1);
}
inf =fopen(argv[1],"rb");
if (inf == NULL) {
printf("Unable to open %s\n",argv[1]);
return;
}
crt_mode(5);
while ('\033' != (c = getc(inf)));
getc(inf); /* G */
getc(inf); /* H */
for (;;) {
black = (getc(inf) & 0x7f) - 32;
if (black <0) {
goto pr;
}
white = (getc(inf) & 0x7f) - 32;
if (white < 0) {
goto pr;
}
curcol = curcol + black;
if (curcol>=256) {
curcol = curcol - 256;
currow++;
}
do {
white2 = 0;
if ((curcol+white)>=256) {
white2 = white+curcol-256;
white = 256-curcol;
}
for (i=curcol;i<(curcol+white);i++) {
crt_wdot(currow,i,3);
}
curcol = curcol+white;
if (curcol == 256) {
curcol = 0;
currow++;
}
white = white2;
} while (white != 0);
}
pr:
crt_srcp(24,0,0);
printf("Press return: ");
gets(l,132,stdin);
crt_mode(2);
}