View previous topic :: View next topic |
Author |
Message |
Hkipnik
Joined: 03 May 2010 Posts: 20
|
Posted: Wed Feb 05, 2014 8:45 pm Post subject: MD070SD Display |
|
|
Hello.
And another.
MD070SD Display with 16 bit parallel bus Interface, Resolution of 800x480, Display Panel with integrated 8-page Video Memory.
The control board responds very fast, which can achieve reading and writing cycle up to 200ns and the highest full-screen refreshing speed of 13 Frames.
The integrated 8MB SDRAM corresponds to 8-page Display buffer.
It is really fast.
http://www.youtube.com/watch?v=AptwGRbiyXo |
|
Back to top |
|
|
Mrshilov
Joined: 24 Jan 2009 Posts: 314 Location: Russia
|
Posted: Wed Feb 05, 2014 10:14 pm Post subject: |
|
|
I found faster way to convert 8-bit color to 16-bit (without Data & Lookup):
Code: | Rgb16 = 0
If Rgb8.0 = 1 Then Rgb16_low = Rgb16_low Or 10 'Blue
If Rgb8.1 = 1 Then Rgb16_low = Rgb16_low Or 21
If Rgb8.2 = 1 Then Rgb16 = Rgb16 Or 288 'Green
If Rgb8.3 = 1 Then Rgb16 = Rgb16 Or 576
If Rgb8.4 = 1 Then Rgb16 = Rgb16 Or 1152
If Rgb8.5 = 1 Then Rgb16_high = Rgb16_high Or 32 'Red
If Rgb8.6 = 1 Then Rgb16_high = Rgb16_high Or 72
If Rgb8.7 = 1 Then Rgb16_high = Rgb16_high Or 144
Return |
Dim Rgb16 As Word
Dim Rgb16_low As Byte At Rgb16 Overlay
Dim Rgb16_high As Byte At Rgb16 + 1 Overlay |
|
Back to top |
|
|
albertsm
Joined: 09 Apr 2004 Posts: 5913 Location: Holland
|
Posted: Thu Feb 06, 2014 10:52 am Post subject: |
|
|
Hello Hkipnik,
This I will remember as the week of the displays
I have seen the amazing demo a week ago and it is impressive how big, brilliant and fast this display is. The touch seems to work very smooth.
Thank you for sharing your work and the YT demo.
I hope you have a circuit for this board as well. The YT demo shows some kind of interface board for arduino. _________________ Mark |
|
Back to top |
|
|
albertsm
Joined: 09 Apr 2004 Posts: 5913 Location: Holland
|
Posted: Thu Feb 06, 2014 10:07 pm Post subject: |
|
|
about the 8 bit. How do you process the 24/16 bit to 8 bit pallet?
And the RLE decompression. I see after &HAA the bytecount is read. But the case where &HAA is a color is not handled. Does this mean that you change such a color? So AA is exclusive for the RLE? That is a good idea.
I ask because i work a 65K oled driver and i see how good the images looks on the demos and i did not realize these were 8 bit pallets. _________________ Mark |
|
Back to top |
|
|
Mrshilov
Joined: 24 Jan 2009 Posts: 314 Location: Russia
|
Posted: Thu Feb 06, 2014 10:38 pm Post subject: |
|
|
First we meet color byte. This byte processed with Color_convert routine after "Else" condition. So, when we meet $AA color is already processed.
Moreover, because we had 16-bit interface, color data already exist at Data_disp & Data_disp_high ports and we don't need to write color data more over. WR=0/WR=1 is enough to send data.
By the way, we can replace"Decr Imagesize" out of loop. It will also speed up routine.
Added strings marked with "*****************":
Code: | Do
Read Pixel 'Read the value for the pixel
If Pixel = &HAA Then 'BGC file is rle coded &HAA represents this, the byte after &HAA is the number of times that the byte before &HAA wil be repeated
Read Repeat 'Byte after &HAA contains the number of times to repeat
Repeat = Repeat - 1
For L = 1 To Repeat 'Loop the repeat
'Call Lcd_16data(prevpixel) 'Write the pixel data to the display
Wrpin = 0 : Wrpin = 1 '*************************
'Decr Imagesize 'Decrease the bytes still to be processed
Next L 'Next repeat loop
Imagesize = Imagesize - Repeat '****************************
Else 'It's a regular byte, not LRE encoded
Pixelword = Rgb_16(pixel) 'Convert the 8bit pixel to 16bit pixel
Call Lcd_16data(pixelword) 'Write the pixel data to the display
Prevpixel = Pixelword 'Store the pixel in a temp word, maybe we need it if the next byte is &HAA
Decr Imagesize 'Decrease the bytes still to be processed
End If
Loop Until Imagesize = 0 'Do until all bytes are processed |
|
|
Back to top |
|
|
albertsm
Joined: 09 Apr 2004 Posts: 5913 Location: Holland
|
Posted: Thu Feb 06, 2014 10:49 pm Post subject: |
|
|
the prevpixel is also not used. I understand how the bascom code works, but my question is about the coding routine, the bitmap converter : does it ensure that :
- &HAA is only used to indicate a compressed number of bytes, and not for colors (so colors with &HAA get some other value?)
- before &HAA there is always color info. _________________ Mark |
|
Back to top |
|
|
albertsm
Joined: 09 Apr 2004 Posts: 5913 Location: Holland
|
Posted: Fri Feb 07, 2014 9:36 pm Post subject: |
|
|
ha, this was somehow confusing
the bgc files are from the lcdconverter. I thought you made a new tool because you were treating bgc different. But it does not matter.
The rgb8 to 16 routine is working great. I rewrote it to an assembler version which i will include with bascom.(rgb8to16) _________________ Mark |
|
Back to top |
|
|
daro
Joined: 15 Nov 2010 Posts: 25
|
Posted: Mon Mar 18, 2019 10:15 pm Post subject: |
|
|
-1- |
|
Back to top |
|
|
|