Jepp, du hast es.

Es wird dir vermutlich nicht gelingen zwischen Sync und Schwarzschulter zu unterscheiden, interpretiere einfach beides zusammen als Sync. Der Seitensync ist bei mir über 40 mal länger als der Zeilensync.

Ob du wirklich mehr Speicher benötigst wirst du selbst merken. Ich bin auch nur ein Cam-Newbee und hatte bescheidene 32*32 Bildchen gemacht, verteilt auf mehrere Halbbilder. Aber dann waren für mich andere Dinge interessant und ich habe die Cam eingelagert. Vielleicht gelingt dir ja mehr. Ich mache vermutlich selbst nochmal irgendwann einen neuen Anlauf...

Noch die Methode für höhere x-Auflösungen: Nach dem Zeilensync wartet man kurz und liest dann zweimal den ADC aus. Erster Wert ist Schrott, der Zweite ist gültig. So kann man zwar nur einen Punkt pro Zeile auslesen, aber die Auflösung ist dann der maximale Zählwert pro Zeile:

delay=123; // 123. Pixel einlesen
while(ADCH>20); // warten auf Anfang Syncimpuls
while(ADCH<30); // warten auf Ende Syncimpuls
while(delay--); // warten bis gewünschtes Pixel kommt
*speicherzeiger=ADCH; // Schrott wegwerfen
*speicherzeiger++=ADCH; // 123. Pixel einlesen

Den maximalen Wert ermittelt man indem man delay solange vergrößert bis der eingelesene Wert kleiner 0,3V ist, also der nächste Sync beginnt. Das hängt dann vom Takt des Kontrollers ab.

Viel Erfolg

mic