#include "dos.h"

void interrupt myfunc();

void interrupt (*prev)();

int ticks;

unsigned char color;

char far *vdu=(char far*)0xb8000000l;

 

main()

{

//AIM : TSR to change the color of the screen every 3 seconds

      unsigned long far *p;

      p=(unsigned long far *)32;

      prev=(void (interrupt far*)())*p;

      *p=(unsigned long)myfunc;

      keep(0,500);

      return 0;

}

 

 

void interrupt myfunc()

{

      int i;

      ticks++;

      if (ticks==182/4)

            {

                  for(i=1;i<3999;i+=2,*(vdu+i)=color);

                  ticks=0;

                  color++;

            }//if

            (*prev)();

}