Low impedance load (NTSC video) on Digital 10-11

//*** start part 3 ***

 // the setup routine
void setup()
{
pinMode (SYNC_PIN, OUTPUT);
pinMode (DATA_PIN, OUTPUT);
pinMode (DATA_PIN2, OUTPUT);
pinMode (DATA_PIN3, OUTPUT);
digitalWrite (SYNC_PIN, HIGH);
digitalWrite (DATA_PIN, HIGH);
digitalWrite (DATA_PIN, HIGH);
digitalWrite (DATA_PIN, HIGH);

MCUCR = MCUCR | 0x10;              // Disable weak pullup resistors

clearScreen();

// FrequencyTimer2 init
// configured to interrupt 59.94 times a second
// frequencytimer2 rounds this to a different value
// actual interrupt period printed to serial for reference
// see frequencytimer2 doc....
// period requested =    16683 micro seconds or 59.95 times a second
// period actually set = 16640 or 60.096 times a second
FrequencyTimer2::setPeriod(16683);
temp = FrequencyTimer2::getPeriod();
Serial.begin(9600); 
Serial.println("Video Test"); 
Serial.println(temp); 
FrequencyTimer2::disable();
FrequencyTimer2::setOnOverflow(DrawFrame);
FrequencyTimer2::enable();
}

void loop()
{
// your code goes here, 
// any code in loop can be replaced with your own code  

// checkerboard pattern to display bitmap "0"
for ( xtemp =3;xtemp<=33 ;++xtemp)
{
  for ( ytemp =2;ytemp<=26 ;++ytemp)
  {
   if (((xtemp + ytemp)% 2) == 1)
    {setPixel(xtemp,ytemp,0);}
    else
    {grayPixel(xtemp,ytemp,0);}
  }
}

// gray scale to hidden bitplane
for (xtemp = 3; xtemp <= 7; xtemp++)
  {
    for (ytemp = 2; ytemp <= 18; ytemp++)
      {setPixel(xtemp,ytemp,1);}
  };
for (xtemp = 8; xtemp <= 12; xtemp++)
  {
    for (ytemp = 2; ytemp <= 18; ytemp++)
      {grayPixel(xtemp,ytemp,1);}
  };
for (xtemp = 13; xtemp <= 17; xtemp++)
  {
    for (ytemp = 2; ytemp <= 18; ytemp++)
      {clearPixel(xtemp,ytemp,1);}
  };
for (xtemp = 18; xtemp <= 22; xtemp++)
  {
    for (ytemp = 2; ytemp <= 18; ytemp++)
      {setPixel(xtemp,ytemp,1);}
  };
for (xtemp = 23; xtemp <= 27; xtemp++)
  {
    for (ytemp = 2; ytemp <= 18; ytemp++)
      {grayPixel(xtemp,ytemp,1);}
  };
for (xtemp = 27; xtemp <= 33; xtemp++)
  {
    for (ytemp = 2; ytemp <= 18; ytemp++)
      {clearPixel(xtemp,ytemp,1);}
  };

for (xtemp = 3; xtemp <= 33; xtemp++)
  {
    for (ytemp = 19; ytemp <= 22; ytemp++)
      {grayPixel(xtemp,ytemp,1);}
  };

for (xtemp = 3; xtemp <= 33; xtemp++)
  {
    for (ytemp = 23 ; ytemp <= 26; ytemp++)
      {setPixel(xtemp,ytemp,1);}
  };
// swap display bitmap "0" with hidden bitmap "1"
while (1==1) 
{
Swap();
delay(1000);
};

}

//*** end part 3 ***