Go Down

Topic: Arduino Video8 library (176/224px) PAL display .  (Read 1 time) previous topic - next topic

uze45

this library allows you to get a tiled screen display with only an arduino UNO and a couple of resistors
450ohm and 1K ohm resistors .
it uses program memory b/w tiles to generate the display . i am improving the library to ramp up the reading and memory allocation speeds so we might get a decent 200/224px resolution out of this soon .
the problem lays in the 16Mhz clock speed of the arduino at the moment since reading from program memory takes a bit of time , nothing a bit of assembly cant fix though .

though if you want an eazy solution to add more blocks to the screen you can overclock an Atmega328 on a breadboard , that would give you a resolution of 220/224px resolution .
if you want even more you can add a Parallel to Serial shift register along-side that . then you might reach a resolution of 420/224px or a little less , since the byte shifting would not be needed wich takes 8 clocks per burst :) .

the current functions are :
  - print (str) and print_char (x,y,char) wich are clear :) . the first one has prefix x and y that follow a cursor

  - set_text_offset(p,c) <- needed for print  p is the position of the character in the blocks array and c is the character that holds that postion . this function allows you to have multipe fonts and bitmaps in the same array :)

  - bitmap(x,y,sx,xy,fblock) : x and y stand for the position of the bitmap on the screen , sx and sy stand for the size of the bitmap on x and y axes . while fblock stands for the position of the first graphical block in the blocks array. make sure that the sx and sy of your bitmap are multiples of 8 to avoid errors . i used "imgtocode" to convert bitmaps to simple arrays then a simple java program to convert them to organized tiles ready for the display , the method is simple all you have to do is take all the 8x8 bytes on the horizontal axes untill you buffer the whole thing ..

here is the result of the main example test :

-

and here is the link for the library :

- http://s000.tinyupload.com/?file_id=05805761714501092979


i am 17 and still at school so i still have a week in spring break , i think ima write an other library if i have time , video16 , wider or bigger tiles for small 8bit games or bitmaps , i dont know if this would be usefull anyway . so enjoy this and tell me about bugs if found please :) .




AWOL

Impressive work - well done.

Just one small thing; calling it "PAL" might raise unsustainable expectations - if it's a 50Hz, 25 field monochrome display, it's CCIR, if it's a 60Hz, 30 field monochrome display, it's RS-170.

uze45

thank you very much AWOL :) .
to be honest i cant give it the right name . the refresh rate of the screen is high i think .

uze45

i think video16 library can have 2bits of gray on the screen
which would cut the resolution on half though because of the clock speed .

Go Up