#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)();
}