![]() |
![]() ![]() |
![]() |
![]()
Post
#31
|
|
Group: Members Posts: 161 Joined: 23-June 05 Member No.: 7,429 ![]() |
Well, it's not the TC6393XB, but it is VERY CLOSE. I hope someone finds this useful. Unlike the TC6387XB, the 6391 has TFT LCD capabilities like the 6393.
Attached File(s)
|
|
|
![]()
Post
#32
|
|
![]() Group: Admin Posts: 3,492 Joined: 29-July 04 From: Cambridge, England Member No.: 4,149 ![]() |
looks quite useful, albeit it's a hardware reference and doesn't have much in the way of a programming reference.
|
|
|
![]()
Post
#33
|
|
Group: Members Posts: 9 Joined: 1-June 04 Member No.: 3,528 ![]() |
QUOTE(jcabrer @ Jan 5 2006, 11:03 PM) Well, it's not the TC6393XB, but it is VERY CLOSE. I hope someone finds this useful. Unlike the TC6387XB, the 6391 has TFT LCD capabilities like the 6393. There is a group of people playing with Toshiba PDAs and Linux, and some of them have the TC6393XB chip. They have some technical information in their webpage (http://www.mnementh.co.uk/eseries/). Maybe this will help. Jose |
|
|
![]()
Post
#34
|
|
![]() Group: Admin Posts: 3,492 Joined: 29-July 04 From: Cambridge, England Member No.: 4,149 ![]() |
QUOTE(jcabrer @ Jan 5 2006, 11:20 PM) QUOTE(speculatrix @ Jan 5 2006, 02:33 PM) Just to note that the MSDN site has a comment about the SD/SDIO driver for this chip at http://msdn.microsoft.com/embedded/usewine...rs/default.aspx which would be a nice addition! I chased this down a couple of days ago with no luck in finding the mentioned DLL. It would be usefull to have a look inside. I guess we'd need to find someone with a Toshiba e800 and get a rom download or something. |
|
|
![]()
Post
#35
|
|
![]() Group: Admin Posts: 3,492 Joined: 29-July 04 From: Cambridge, England Member No.: 4,149 ![]() |
QUOTE(jgardia @ Jan 6 2006, 12:51 AM) group of people playing with Toshiba PDAs and Linux, and some of them have the TC6393XB chip. They have some technical information in their webpage (http://www.mnementh.co.uk/eseries/). Maybe this will help. I came across this, and it seems their driver made it into the kernel, but nothing about accelerated video... but I must admit, I didn't delve really deeply. |
|
|
![]()
Post
#36
|
|
Group: Members Posts: 9 Joined: 1-June 04 Member No.: 3,528 ![]() |
QUOTE(speculatrix @ Jan 5 2006, 11:57 PM) QUOTE(jgardia @ Jan 6 2006, 12:51 AM) group of people playing with Toshiba PDAs and Linux, and some of them have the TC6393XB chip. They have some technical information in their webpage (http://www.mnementh.co.uk/eseries/). Maybe this will help. I came across this, and it seems their driver made it into the kernel, but nothing about accelerated video... but I must admit, I didn't delve really deeply. Now I know why. This PDAs are using ATI video chips... |
|
|
![]()
Post
#37
|
|
Group: Members Posts: 26 Joined: 13-April 05 Member No.: 6,870 ![]() |
QUOTE(jcabrer @ Jan 6 2006, 12:03 AM) Well, it's not the TC6393XB, but it is VERY CLOSE. I hope someone finds this useful. Unlike the TC6387XB, the 6391 has TFT LCD capabilities like the 6393. Sorry, the TC6391XB doesn't include a video accelerator. QUOTE(jgardia @ Jan 6 2006, 01:17 AM) Some toshiba PDA's are using the TC6393XB, but their driver is in an early stage and doesn't support video acceleration yet. Dirk |
|
|
![]()
Post
#38
|
|
Group: Members Posts: 161 Joined: 23-June 05 Member No.: 7,429 ![]() |
Ok. I don't think Toshiba is going to give me any more information. I contacted Sharp engineering support this morning asking for assistance. Let's see what they come back with.
Am I the only one who thinks this is strange that so many companies use this component, and the datasheets are nowhere to be found? |
|
|
![]()
Post
#39
|
|
Group: Members Posts: 161 Joined: 23-June 05 Member No.: 7,429 ![]() |
Looks like I spoke too soon.
QUOTE Hi John,
We'll ask our counterparts in Japan to see if they have any info on that part. Best Regards, Noman JCabrer@hra.com 01/04/2006 05:32 To PM Noman.Waseq@taec.toshiba.com cc Subject Re: Fw: Honda R&D Americas, Inc - TC6393xb - CA |
|
|
![]()
Post
#40
|
|
Group: Members Posts: 161 Joined: 23-June 05 Member No.: 7,429 ![]() |
And here is the final nail in the coffin. The technology in the TC6393XB is not available to groups outside of Japan, and not available to non-SD Consortium Members.
The person who contacted me, stated that Toshiba Japan could not provide the info to any party in the U.S.A. specifically. What does this mean? Stop looking for Datasheets. It's a dead end. Start learning how to reverse engineer the TC6393XB. Before he hung up, he said I might try Sharp Japan directly. I won't ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
![]()
Post
#41
|
|
![]() Group: Members Posts: 696 Joined: 17-January 04 Member No.: 1,468 ![]() |
I'm quite confident that, given some time, everything we need to know can be figured out with the information we have, and also poking the I/O ports with a stick and seeing what happens.
For movies and GUIs, blit, scale, and rectangles are the most important things, and there's already been some info posted about those functions. |
|
|
![]()
Post
#42
|
|
![]() Group: Admin Posts: 3,492 Joined: 29-July 04 From: Cambridge, England Member No.: 4,149 ![]() |
progress seems quite slow on this... I am really really hoping that someone has been stimulated by a definite bounty!
|
|
|
![]()
Post
#43
|
|
Group: Members Posts: 25 Joined: 29-September 04 From: Ukraine Member No.: 4,801 ![]() |
I had achieve some more progress in graphics acceleration with TC6393.
Here is code snippets for: 1 Draw solid rectangular area with top left corner in point (x,y) and dimensions (width,height) and color(color). CODE static uint32_t cmd [11]; int len = 0; int ret; cmd[++len] = PXAIO_COMDI_DSADR | PXAIO_COMDD_DSADR ((x*2+((long)960L*y))); cmd[++len] = PXAIO_COMDI_DHPIX | PXAIO_COMDD_DHPIX (width); cmd[++len] = PXAIO_COMDI_DVPIX | PXAIO_COMDD_DVPIX (height); cmd[++len] = PXAIO_COMDI_FILL | PXAIO_COMDD_FILL (color); cmd[++len] = PXAIO_COMDI_FLGO; cmd[0] = len; if ((ret = ioctl (fd, TC6393FB_ACC_CMD_WRITE, cmd)) < 0) perror ("ioctl"); printf ("TC6393FB_ACC_CMD_WRITE returned %d\n", ret); if ((ret = ioctl (fd, TC6393FB_ACC_SYNC, 0)) < 0) perror("ioctl"); printf ("TC6393FB_ACC_SYNC returned %d\n", ret); 2 Setup pattern for ROP3 filling and copying. Pattern is at patAddr in TC6393 video memory, and pattern dimension is patWidth,patHeight CODE static uint32_t cmd [11]; int len = 0; int ret; /* Pattern setup */ cmd[++len] = PXAIO_COMDI_PSADR | PXAIO_COMDD_PSADR (patAddr); cmd[++len] = PXAIO_COMDI_POADR | PXAIO_COMDD_POADR (patAddr); cmd[++len] = PXAIO_COMDI_PHPIX | PXAIO_COMDD_PHPIX (patWidth); cmd[++len] = PXAIO_COMDI_PVPIX | PXAIO_COMDD_PVPIX (patHeight); cmd[++len] = PXAIO_COMDI_PHOFS | PXAIO_COMDD_PHOFS (0); cmd[++len] = PXAIO_COMDI_PVOFS | PXAIO_COMDD_PVOFS (0); cmd[0] = len; if ((ret = ioctl (fd, TC6393FB_ACC_CMD_WRITE, cmd)) < 0) perror ("ioctl"); 3 Filling area with pattern- area is (x,y,width,height), code of ROP3 operation is ropCode (area copying with rop3 is similar) CODE len=0; /* Destination setup and run command*/ cmd[++len] = PXAIO_COMDI_DSADR | PXAIO_COMDD_DSADR ((2*x+960*(y))); cmd[++len] = PXAIO_COMDI_DHPIX | PXAIO_COMDD_DHPIX (width); cmd[++len] = PXAIO_COMDI_DVPIX | PXAIO_COMDD_DVPIX (height); cmd[++len] = PXAIO_COMDI_RSTR | PXAIO_COMDD_RSTR (ropCode); cmd[++len] = PXAIO_COMDI_FLGO | PXAIO_COMDD_FLGO_ROP3; cmd[0] = len; if ((ret = ioctl (fd, TC6393FB_ACC_CMD_WRITE, cmd)) < 0) perror ("ioctl"); if ((ret = ioctl (fd, TC6393FB_ACC_SYNC, 0)) < 0) perror("ioctl"); 4 Draw line from point (x1,y1) to point (x2,y2) with color (color) CODE int dx = 0; int dy = 0; int flag = 0; int bk2 = 0; int ini = 0; if ( x1 < x2 ) { dx = x2-x1; } else { dx = x1-x2; flag = flag | PXAIO_COMDD_LDGO_LHRV; } if ( y1 < y2 ) { dy = y2-y1; } else { dy = y1-y2; flag = flag | PXAIO_COMDD_LDGO_LVRV; } if ( dy == 0 ) //special case for horizontal line { ini = 0x8000; } else if ( dy <= dx ) { bk2 = (dy-dx)<<1; } else if ( dx == 0 ) //special case for vertical line { ini = 0x8000; flag = flag | PXAIO_COMDD_LDGO_LDMOD; } else { bk2 = (dx-dy)<<1; flag = flag | PXAIO_COMDD_LDGO_LDMOD; } static uint32_t cmd [11]; int len = 0; int ret; cmd[++len] = PXAIO_COMDI_DSADR | PXAIO_COMDD_DSADR ((x1*2+((long)960L*y1))); cmd[++len] = PXAIO_COMDI_DVPIX | PXAIO_COMDD_DVPIX (dy); cmd[++len] = PXAIO_COMDI_DHPIX | PXAIO_COMDD_DHPIX (dx); cmd[++len] = PXAIO_COMDI_LBINI | PXAIO_COMDD_LBINI (ini); cmd[++len] = PXAIO_COMDI_LBK2 | PXAIO_COMDD_LBK2 (bk2); cmd[++len] = PXAIO_COMDI_FILL | PXAIO_COMDD_FILL (color); cmd[++len] = PXAIO_COMDI_LDGO | flag; cmd[0] = len; if ((ret = ioctl (fd, TC6393FB_ACC_CMD_WRITE, cmd)) < 0) perror ("ioctl"); // printf ("TC6393FB_ACC_CMD_WRITE returned %d\n", ret); if ((ret = ioctl (fd, TC6393FB_ACC_SYNC, 0)) < 0) perror("ioctl"); There are two unresolved issues: cursor movement and area stretching. Last one is very hard to resolve because TC6393 hangs in case of wrong scaling parameters. -- Happy hacking, Eugene. |
|
|
![]()
Post
#44
|
|
Group: Members Posts: 25 Joined: 29-September 04 From: Ukraine Member No.: 4,801 ![]() |
One more thing about Tosa acceleration.
If you take a look on qte shared library on your Tosa (/opt/Qtopia/lib/libqte.so), you can find some very insteresting things. It has code for QScreenT6393 and QGfxT6393 classes. So if you have some skills in reverse engineering of ARM code, then you can try to figure out how-to move cursor and scale with TC6393. -- Happy hacking, Eugene. |
|
|
![]()
Post
#45
|
|
![]() Group: Admin Posts: 3,492 Joined: 29-July 04 From: Cambridge, England Member No.: 4,149 ![]() |
QUOTE(psycoman @ Jan 4 2005, 11:43 AM) yeap, i send a email to this guy, he will send a partial document to me. lets see ![]() someone can try, contact Toshiba ? and some news, Wince .NET have a tc6393xb.dll, can use this for reverse engenier ? I have a friend who works in cellphone development and asked him if he could help come up with information... we couldn't help, but instead googled and sent me a link to this discussion. ![]() |
|
|
![]() ![]() |
![]() |
Lo-Fi Version | Time is now: 20th April 2018 - 12:35 PM |