I'm looking to display my sudoku program.
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1287366986/2TVout is really easy to use and the most simple solution i've seen.
I worked my through it and produced:

Using this code:
#include <TVout.h>
char sudoku[81];
const char xoff[] = {20,21,29,37,45,46,54,62,70,71,79,87,95,96};
const char yoff[] = {0,1,10,19,28,29,38,47,56,57,66,75,84,85};
const char nxoff[] = {23,31,39,48,56,64,73,81,89};
const char nyoff[] = {3,12,21,31,40,49,59,68,77};
TVout TV;
unsigned char x,y;
void setup()
{
x=0;
y=0;
TV.start_render(_PAL);
for(char i = 0; i < 81; i++)
sudoku = i%9 + 0x31;
}
void loop()
{
TV.clear_screen();
TV.delay_frame(50);
for(char i = 0; i < 14; i++)
TV.draw_line(xoff,0,xoff,85,1);//vertical lines
for(char i = 0; i < 14; i++)
TV.draw_line(20,yoff,96,yoff,1);//horizontal lines
for(char i = 0; i < 9; i++)
{
for(char j = 0; j < 9; j++)
TV.print_char(nxoff,nyoff[j],sudoku[j + i*9]);//characters
}//end of display sudoku
TV.delay_frame(500);
}//end of loop
Your display buffer is global:
With 128 X 96 this uses 1536 bytes. There is not much left for program.
I cannot use my program for the sudoku solution - it needs 730 bytes of RAM.
Is it possible to have the buffer declared in a local subroutine so that:
void pause_render();
Also releases the RAM used by your new display subroutine.
void resume_render();
Would restart the subroutine and declare the buffer.
I think your TVout is a really significant contribution
to the Arduino community.