Author Topic: Sl6000 Hardware Accelerated Display?  (Read 41152 times)

jcabrer

  • Full Member
  • ***
  • Posts: 161
    • View Profile
Sl6000 Hardware Accelerated Display?
« Reply #30 on: January 05, 2006, 06:03:13 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.
Sharp SL-C3100 - pdaXrom Beta 3
Sharp SL-6000L - pdaXrom Beta 1

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3706
    • View Profile
Sl6000 Hardware Accelerated Display?
« Reply #31 on: January 05, 2006, 06:45:52 pm »
looks quite useful, albeit it's a hardware reference and doesn't have much in the way of a programming reference.
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.

jgardia

  • Newbie
  • *
  • Posts: 9
    • View Profile
    • http://
Sl6000 Hardware Accelerated Display?
« Reply #32 on: January 05, 2006, 06:51:09 pm »
Quote
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.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=109715\"][{POST_SNAPBACK}][/a][/div]

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

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3706
    • View Profile
Sl6000 Hardware Accelerated Display?
« Reply #33 on: January 05, 2006, 06:56:17 pm »
Quote
Quote
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!
[div align=\"right\"][a href=\"index.php?act=findpost&pid=109699\"][{POST_SNAPBACK}][/a][/div]

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.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=109710\"][{POST_SNAPBACK}][/a][/div]

I guess we'd need to find someone with a Toshiba e800 and get a rom download or something.
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3706
    • View Profile
Sl6000 Hardware Accelerated Display?
« Reply #34 on: January 05, 2006, 06:57:18 pm »
Quote
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.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=109720\"][{POST_SNAPBACK}][/a][/div]

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.
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.

jgardia

  • Newbie
  • *
  • Posts: 9
    • View Profile
    • http://
Sl6000 Hardware Accelerated Display?
« Reply #35 on: January 05, 2006, 07:17:18 pm »
Quote
Quote
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.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=109720\"][{POST_SNAPBACK}][/a][/div]

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.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=109724\"][{POST_SNAPBACK}][/a][/div]
Now I know why. This PDAs are using ATI video chips...

dirk

  • Newbie
  • *
  • Posts: 26
    • View Profile
Sl6000 Hardware Accelerated Display?
« Reply #36 on: January 06, 2006, 02:27:58 am »
Quote
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.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=109715\"][{POST_SNAPBACK}][/a][/div]

Sorry, the TC6391XB doesn't include a video accelerator.

Quote
Now I know why. This PDAs are using ATI video chips...
[div align=\"right\"][a href=\"index.php?act=findpost&pid=109727\"][{POST_SNAPBACK}][/a][/div]

Some toshiba PDA's are using the TC6393XB, but their driver is in an early stage and doesn't support video acceleration yet.

Dirk
« Last Edit: January 06, 2006, 02:37:31 am by dirk »

jcabrer

  • Full Member
  • ***
  • Posts: 161
    • View Profile
Sl6000 Hardware Accelerated Display?
« Reply #37 on: January 06, 2006, 01:55:43 pm »
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?
Sharp SL-C3100 - pdaXrom Beta 3
Sharp SL-6000L - pdaXrom Beta 1

jcabrer

  • Full Member
  • ***
  • Posts: 161
    • View Profile
Sl6000 Hardware Accelerated Display?
« Reply #38 on: January 06, 2006, 06:42:37 pm »
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                     
Sharp SL-C3100 - pdaXrom Beta 3
Sharp SL-6000L - pdaXrom Beta 1

jcabrer

  • Full Member
  • ***
  • Posts: 161
    • View Profile
Sl6000 Hardware Accelerated Display?
« Reply #39 on: January 18, 2006, 07:41:32 pm »
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

           
Sharp SL-C3100 - pdaXrom Beta 3
Sharp SL-6000L - pdaXrom Beta 1

DrWowe

  • Hero Member
  • *****
  • Posts: 696
    • View Profile
    • http://
Sl6000 Hardware Accelerated Display?
« Reply #40 on: January 19, 2006, 12:22:46 am »
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.
« Last Edit: January 19, 2006, 12:23:54 am by DrWowe »

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3706
    • View Profile
Sl6000 Hardware Accelerated Display?
« Reply #41 on: January 23, 2006, 06:32:57 pm »
progress seems quite slow on this... I am really really hoping that someone has been stimulated by a definite bounty!
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.

xenophobe

  • Newbie
  • *
  • Posts: 25
    • View Profile
    • http://
Sl6000 Hardware Accelerated Display?
« Reply #42 on: January 24, 2006, 08:30:20 am »
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: [Select]
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: [Select]
       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: [Select]
       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: [Select]
 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.

xenophobe

  • Newbie
  • *
  • Posts: 25
    • View Profile
    • http://
Sl6000 Hardware Accelerated Display?
« Reply #43 on: January 24, 2006, 08:42:38 am »
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.

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3706
    • View Profile
Sl6000 Hardware Accelerated Display?
« Reply #44 on: January 24, 2006, 09:09:30 am »
Quote
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 ?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=60499\"][{POST_SNAPBACK}][/a][/div]

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.

  Sigh.
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.