#include <io.h>
#include <system.h>
#include <stdio.h>

int main()
{
int x=128,y=128,x_board=128;         //initial position
int vx=1,vy=1;                       //velocity
int direction_board;

while(1)
{int i=0;
 direction_board=IORD_16DIRECT(ROTARY_BASE,0);
 if(IORD_16DIRECT(ROTARY_BASE,0)!=0)
	 printf("%x\n",direction_board);

  if((x>14)&&(x<+625)&&(y>14)&&(y<465))    //ball
  {x=x+vx;y=y+vy;}
  else
  {
    if((x<=14)||(x>=625))             //left&right line
    {
      if((y<=14)||(y>=465))       //four corner
      {vx=0-vx;vy=0-vy;x=x+vx;y=y+vy;}
      else
      {vx=0-vx;x=x+vx;y=y+vy;}
    }
    else                                                                   //top&bottom line
    {vy=0-vy;x=x+vx;y=y+vy;}

  }

  if(direction_board == 1){
	  x_board -= 1;
  }
  else
	  x_board += 1;
  //printf("%d\n",x_board);
  IOWR_16DIRECT(VGA_BASE,4,x_board);
  IOWR_16DIRECT(VGA_BASE,2,y);
  IOWR_16DIRECT(VGA_BASE,0,x);
  while (i<2000)
  {i++;}
}
}



