/*-----------------------------------------------------*/
/*            6. cviceni z IAT, 3.4.2008               */ 
/*-----------------------------------------------------*/

#include "tonecfg.h"			// Vlozit konfiguracni data z DSP/BIOS

#include "dsk6455.h"			// Vlozit funkce DSK6455
#include "dsk6455_led.h"		// Vlozit funkce DSK6455 obsluhujici LEDky
#include "dsk6455_dip.h"		// Vlozit funkce DSK6455 obsluhujici spinace

// Hlavni program
void main()
{
Uint8 i=0,j=0,k=0;
Int8 *Ukaz=(Int8*)0xA0000000;
#define PRVKU 4
Int8 Pole[PRVKU]; 

    DSK6455_init(); // Nastavit komunikaci s DDR, CPLD apod.
    DSK6455_DIP_init( );
    DSK6455_LED_init( );


/*
   while( 1 )
    {
	 if ( DSK6455_DIP_get( i ) == 0 )  DSK6455_LED_on( i );
	  else DSK6455_LED_off( i );
	  i=i+1;
	  if (i==4) i=0;
	}
*/
/*
   while( 1 )
    {
*Ukaz = ~(*Ukaz >> 4 ); // Do 32bit proměnné v paměti na adrese 0xABCD se zapíše obsah Pom
	}
*/

/*
while( 1 )
{
 if ( DSK6455_DIP_get( 3 ) == 1 ) 
 {
    if ( DSK6455_DIP_get( 0 ) == 1 ) 	

		{
		 for(k=0;k<4;k++)  DSK6455_LED_off( k );
		 if(i==4) i=0;
		 DSK6455_LED_on( i );
         i=i+1;	    
         DSK6455_waitusec( 250000 );
		}

    else  
		{
		 for(k=0;k<4;k++)  DSK6455_LED_off( k );
		 DSK6455_LED_on( i );
		 if(i==0) i=4;
         i=i-1;	    
         DSK6455_waitusec( 250000 );
		}

    }
 }
*/
while( 1 )
{
  if ( DSK6455_DIP_get( 1 ) == 0 ) i=0;
  if ( DSK6455_DIP_get( 3 ) == 1 )
  {
  if ( DSK6455_DIP_get( 0 ) == 1 ) 
	{
	if(i==16) i=0;
	*Ukaz = i;
	i++;
	DSK6455_waitusec( 500000 );
	}
	else
	{
	i--;
	*Ukaz = i;
	if(i==0) i=16;
	DSK6455_waitusec( 500000 );
	}
  }
 }
}