Arduino as a pulse generator

Hi, I am looking for a general knowledge about turning of Arduino into inexpensive arbitrary pattern generator.

The final target is a 8 bit arbitrary pattern generator with 16 MHz (60 ns) clock controlled from a C(++) program which can change the pattern in some arbitrary way, upload program to Arduino and run it.

  1. what I would do on Arduino
    This part is more or less clear, here is the C equivalent

void setup() {
TIMSK0 = 0; // no interrupts
OCR0A = 0; // count to 2
DDRD = B10000000;
} // end of setup

void loop()
{
PORTD = B10000000;
PORTD = B00000000;
PORTD = B00000000;
PORTD = B10000000;
PORTD = B10000000;
PORTD = B00000000;
PORTD = B00000000;
...so on and so forth...
}

This part is not clear at all

  1. how I will create code with my own software (need some kind of Arduino assembler knowledge)
  2. how to upload this code and start Arduino (need some library to upload assembler code)

Any suggestions, reference to the code, names of libraries etc are welcome.

Regards,
Boris

First read the how to use the forum sticky post and post the code correctly.
Second:-

The final target is a 8 bit arbitrary pattern generator with 16 MHz (60 ns) clock controlled

Is not going to happen as the arduino only has a 16MHz clock, so there is no time to do anything like resetting the pattern and looping without introducing a glitch.

  1. how I will create code with my own software (need some kind of Arduino assembler knowledge)

Create it in the IDE like any other arduino sketch. Use of assembler is optional you don't really need it given that your original target is unrealistic.

  1. how to upload this code and start Arduino

Use the IDE like any other sketch, once it is in the arduino then just power it up and the code runs again.

need some library to upload assembler code

No you don't.

Any suggestions

Yes do a little bit of reading into what an Arduino actually is before asking questions on very wrong assumptions.

You could read the pattern from serial port, store it in an array, and then loop thru the array, outputting your pattern:

void loop(){
while (Serial.available() == 0){ // stay here & loop thru array
PORTD = array[0];
PORTD = array[1];
PORTD = array[2];
PORTD = array[3];
PORTD = array[4];
PORTD = array[5];
PORTD = array[6];
PORTD = array[7];
}
// data came in, read it &
// implement Serial reading code & update array
if (Serial.available() >0){
arrayCount = arrayCount +1; // initialize it at 7
if (arrayCount == 8){arrayCount = 0;} // reset the count
  array[arrayCount] = Serial.read();
  }
//add some Serial.print if you want to check on what was stored where
Serial.print ("location ");
Serial.print(arrayCount);
Serial.print(": ");
Serial.println(array[arrayCount], BIN);
}