void ahelpkey() { int x,i,lgscr,page; byte ch; if (vstate(0)==4) smallscr(NO); if (equipment(0)==7) { page =0; smallscr(NO); } else { page =3; } vpage(page); crttim=0; lgscr = (tvmaxc==39) ? TRUE:FALSE; for (i=0; i<10; ++i) { helptop(page); for (x=0;;++x) { ch=*(helpkey[i]+x); if (ch==0) break; if (ch=='_') { if (lgscr) rprints(foreg,page,"\n \t \t "); else rputcinc(' ',0,foreg,NO,page); } else rputcinc(ch,0,foreg,NO,page); if ((ch==LF) && (lgscr)) putch(LF); /* 2nd LF */ } curset(23,5,page); if (i<9) { rprints(foreg,page,"Do you want the next page (Y/N) ? "); x=getyn(); if (x==NO) break; } else { rprints(foreg,page,"Hit any key to return "); getkey(); } } bright; /* Restore page 0 */ if (page==0) { if (SMALLMSK(maskp)) smallscr(NO); else largescr(NO); dspmsk(); } }
void sedscp() { int ch,x,d=0xff; byte key; Smallscr(NO); crttim=0; /* disable dimming */ rcvi(); __sedscp=0; color2=HILO(STDCOLOR); dsc1: lchar=segetc(); dsc2: while ( (kbhit()) || (d==0) ||(__sedscp) ) { if (__sedscp) { key=__sedscp; __sedscp=0; } else key=kbin(); if (key==KCLEAR) { __sedscp=0; return; } if (key=='C'){ smallscr(NO); d=0xff; } if (key=='S') d=0; if (key==' ') { d ^= 0xff; rcvi(); } } ch=segetc(); x=dscp(ch); switch (x) { case 1: goto dsc1; case 2: goto dsc2; } }