/*
 * "Hello World" example.
 *
 * This example prints 'Hello from Nios II' to the STDOUT stream. It runs on
 * the Nios II 'standard', 'full_featured', 'fast', and 'low_cost' example
 * designs. It runs with or without the MicroC/OS-II RTOS and requires a STDOUT
 * device in your system's hardware.
 * The memory footprint of this hosted application is ~69 kbytes by default
 * using the standard reference design.
 *
 * For a reduced footprint version of this template, and an explanation of how
 * to reduce the memory footprint for a given application, see the
 * "small_hello_world" template.
 *
 */

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

#define WRITE_TO_FB(base, address, data) \
        IOWR_16DIRECT(base, address, data)
        
#define size 10

int main()
{
  unsigned short image[] = {256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256, 256, 256, 256, 256, 256,
                            256, 256 };
  int i;
  for ( i = 0; i < 512*1024; i++ ) {
        IOWR_8DIRECT(VGA_BASE,i,0);
        //printf("Something is happening %i\n",i);
  }
  for ( i = 0; i < 512*1024; i++) {
        IOWR_8DIRECT(VGA_BASE,i,i);
        //printf("Something is happening %i\n",i);
  }
  //WRITE_TO_FB(VGA_BASE,0,100);
  //WRITE_TO_FB(VGA_BASE,3,10);
  //for ( i = 0; i <100 ; i++ ) 
  //WRITE_TO_FB(VGA_BASE, i, 0);
  //int offset = 11;
  //IOWR_8DIRECT(VGA_BASE, 0+offset, 1);
  printf("Hello from Nios II!\n");

  return 0;
}
