/* k 0224       23/09/91        *//* ebss */
#include <ebss.h>               /* @0224 */
#include <pconio.h>	/* @0253 */
 actscreen(scr,sav)			/* @0184 */
 char scr;				/* @0184 */
 char sav;				/* @0184 */
			      {
   struct segprf *b1,*b2;
   if (nps->ls[(short)scr-49].flag & LS_ACT) {			/* @0031 */
     pmsgop(25); 		/* Screen is already active */
     return;							/* @0031 */
					     }			/* @0031 */
   if (sav=='Y'|| sav=='y')  {   				/* @0031 */
#if (OS_TYPE==0)		/* @0208 */
  nps->ls[(short)scr-49].sbuf.fhalf=Bufnps+5760*((short)scr-49); /* @0208 */
#else				/* @0208 */
     if ((b1=
#if (RESIDENT==1)
     preqseg
#else
   Res_preqseg
#endif
     (2020))==0) {
       pmsgop(27);		/* NO buffer to activate screen
				   with save option */
       return;
				}
     if ((b2=
#if (RESIDENT==1)
     preqseg
#else
   Res_preqseg
#endif
     (2020))==0) {
       pmsgop(27);
#if (RESIDENT==1)
     Res_prelseg(b1);
#else
       prelseg(b1);
#endif
       return;
				}
     b1->link=b2;
     b2->link=0;
#endif			/* @0208 */
     nps->ls[(short)scr-49].flag |= SAVEB; 			/* @0031 */
#if (OS_TYPE!=0)		/* @0208 */
     nps->ls[(short)scr-49].sbuf.fhalf=(char *)b1;              /* @0031 */
     nps->ls[(short)scr-49].sbuf.shalf=(char *)b2;              /* @0031 */
#endif				/* @0208 */
			  }
   nps->ls[(short)scr-49].flag |= LS_ACT;   			/* @0031 */
   if (vt_flag & VT_MODE)				/* @0087 */
 {                                                      /* @0087 */
   newwindow();
   gotoxy(4+((short)scr-49)*3,1);  		/* @0031 */     /* @0032 */
   putch(scr);                      /* @0110 */               	/* 0017 */
   oldwindow();
 }							/* @0087 */
   else							/* @0087 */
     save25[2*(3+((short)scr-49)*3)]=scr;	/* @0110 *//* @0087 */
	}
#if (RESIDENT==0)
Res_preqseg() {
p:goto p;
}
Res_prelseg() {
p:goto p;
}
#endif