home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Flop Magazin 4
/
Flop_Magazin_04_1990_United_Electronic_Crazies_cs_Side_B_a.atr
/
cti.c
< prev
next >
Wrap
Text File
|
2023-02-26
|
2KB
|
1 lines
/* Zobrazeni textu ze souboru na¢obrazovku . Zkusebni program pro prakticke pouziti jazyku C na pocitaci ATARI.¢Vybira soubory typu *.CAP.¢¢20.4.1990 Petr Vicar, AK Roznov p.R¢*/¢#define CH 0x2FC¢#define LM 0x52¢#define UP 0x1c¢#define DOWN 0x1d¢#define cls 0x7D¢main()¢$(¢ char c;¢ char fname[20],fn[1000];¢ int i,j,k,key,nr,nz,can,lm0;¢ lm0=peek(LM);poke(LM,0);¢ while(cls) /* opakuj stale */¢ $(¢ printf("%cVyber si soubor pomoci sipek, potom \n stiskni <RETURN>\n",cls); ¢ printf("Po kazde strance <RET>=pokracovani\n X=konec\n");¢ open(1,6,0,"D:*.CAP");¢ nr=0; nz=0;¢ key=copen("K:",'r');¢ i=0;j=0;¢ while ((fn[i++]=cgetc(1))>=0) ;¢ for (j=0;j<i-19;j+=18) $(¢ fn[j+13]=0;¢ printf("%13s",&fn[j+2]);¢ printf("\n");¢ $) ¢ putchar(UP);printf(""); ¢ j=k=(i-1)/18-1; ¢ while((c=cgetc(key))!='\n')¢ switch(c) $(¢ case '-': ¢ if(j>0) $( j--;putchar(UP);$);¢ break; ¢ case '=':¢ if(j<k) $(j++;putchar(DOWN);$);¢ break;¢case 'x':¢case 'X':¢ cclose(1); poke(LM,lm0);¢ putchar(cls); return;¢ default:¢ break; ¢ $)¢ c=cclose(1);¢ i=0;¢ while((fname[i]=fn[j*18+2+i++])!=' '); if(i>8) i=9;¢ fname[i-1]=0;¢ normalize(fname,"CAP");¢ if((can=copen(fname,'r'))<0)$(¢ printf("I/O error %3d on %s\n",¢ -can,fname);¢ i=0;¢ $)¢ /* tisk souboru na konzolu */¢ putchar(cls);¢ while((c=cgetc(can))>=0) $(¢ nz++;¢ if(c=='\n') $(nz=0; nr++; $)¢ if(c==9|c==0x7f) nz=((nz/8)+1)*8;¢ if(nz>39) $(nz=0; nr++; $)¢ putchar(c);¢ if(nr==23) $( nr=0;¢ if(wait(c)==0x16) break;$)¢ $)¢ printf("\n--EOF--\n");¢ cclose(can); ¢ wait();¢ $)¢$)¢¢wait() /* cekej na stisk klavesy */¢$( ¢ char c;¢ poke(CH,0xFF);¢ while((c=peek(CH))==0XFF);¢ poke(CH,0xff);¢ return c;¢$) ¢¢