#include <io.h>
#include <system.h>
#include <stdio.h>
#include "vga_update.h"
//------------------------------------------------
extern int x, y;

int vga_cnt = 0;
//------------------------------------------------
void sprite_refresh()
{
    IOWR_END_IRQ();
    sprite_clear_all();
    int half_second;
    half_second = vga_cnt / 20;
    if(vga_cnt < 439) vga_cnt++;
    else vga_cnt = 0;
    //IOWR_SET_SPRITE(0, 250, 2+half_second, 2, 0, 1);
    IOWR_SET_SPRITE(x+   0, 10, 22-half_second, 0, 0, 1);
    IOWR_SET_SPRITE(x+  70, 10, 2 +half_second, 1, 1, 1);
    IOWR_SET_SPRITE(x+ 140, 10, 22-half_second, 2, 0, 1);
    IOWR_SET_SPRITE(x+ 210, 10, 2 +half_second, 3, 1, 1);
    IOWR_SET_SPRITE(x+ 280, 10, 22-half_second, 4, 0, 1);
    IOWR_SET_SPRITE(x+ 350, 10, 2 +half_second, 5, 1, 1);
    IOWR_SET_SPRITE(x+ 420, 10, 22-half_second, 6, 0, 1);
    IOWR_SET_SPRITE(x+ 490, 10, 2 +half_second, 7, 1, 1);
        
    IOWR_SET_SPRITE(x+   0, 160, 22-half_second, 8, 0, 1);
    IOWR_SET_SPRITE(x+  70, 160, 2 +half_second, 9, 1, 1);
    IOWR_SET_SPRITE(x+ 140, 160, 22-half_second, 10, 0, 1);
    IOWR_SET_SPRITE(x+ 210, 160, 2 +half_second, 11, 1, 1);
    IOWR_SET_SPRITE(x+ 280, 160, 22-half_second, 12, 0, 1);
    IOWR_SET_SPRITE(x+ 350, 160, 2 +half_second, 13, 1, 1);
    IOWR_SET_SPRITE(x+ 420, 160, 22-half_second, 14, 0, 1);
    IOWR_SET_SPRITE(x+ 490, 160, 2 +half_second, 15, 1, 1);
    
    IOWR_SET_SPRITE(x+   0, 310, 22-half_second, 16, 0, 1);
    IOWR_SET_SPRITE(x+  70, 310, 2 +half_second, 17, 1, 1);
    IOWR_SET_SPRITE(x+ 140, 310, 22-half_second, 18, 0, 1);
    IOWR_SET_SPRITE(x+ 210, 310, 2 +half_second, 19, 1, 1);
    IOWR_SET_SPRITE(x+ 280, 310, 22-half_second, 20, 0, 1);
    IOWR_SET_SPRITE(x+ 350, 310, 2 +half_second, 21, 1, 1);
    IOWR_SET_SPRITE(x+ 420, 310, 22-half_second, 22, 0, 1);
    IOWR_SET_SPRITE(x+ 490, 310, 2 +half_second, 23, 1, 1);

}
void sprite_clear_all()
{
    int i;
    for(i = 0; i<16; i++) IOWR_SET_SPRITE( 1023, 1023, 0, i, 0, 0 );
}
