OESF Portables Forum

Everything Else => Sharp Zaurus => Model Specific Forums => Distros, Development, and Model Specific Forums => Archived Forums => 6000 - Tosa => Topic started by: cwaig on December 03, 2004, 04:52:41 am

Title: Sl6000 Hardware Accelerated Display?
Post by: cwaig on December 03, 2004, 04:52:41 am
I've been looking at the kernel source for the SL6000's framebuffer driver, and I can see an API provided to access the hardware acceleration - but it's documentation is pretty much zero

The only example of it being actually used in the driver itself is the tc6393_clear_screen() function, that uses the hardware rectangle fill to clear the screen. There's a very interesting looking command set provided in the tc6393fb.h file, and an ioctl provided to pass lists of commands to the graphics hardware for processing - but the actual commands (although defined) aren't actually documented

The clear screen example in the driver is
  static u32 cmd[6];
  cmd[0] = PXAIO_COMDI_DSADR|PXAIO_COMDD_DSADR(((int)remapped_fbuf));
  cmd[1] = PXAIO_COMDI_DHPIX|PXAIO_COMDD_DHPIX(xres - 1);
  cmd[2] = PXAIO_COMDI_DVPIX|PXAIO_COMDD_DVPIX(yres - 1);
  cmd[3] = PXAIO_COMDI_FILL|PXAIO_COMDD_FILL(0xffff);
  cmd[4] = PXAIO_COMDI_FLGO;

Using the ioctl interface to the framebuffer, this would be:
  static u32 cmd[6];
  cmd[0] = 5;
  cmd[1] = PXAIO_COMDI_DSADR|PXAIO_COMDD_DSADR(((int)remapped_fbuf));
  cmd[2] = PXAIO_COMDI_DHPIX|PXAIO_COMDD_DHPIX(xres - 1);
  cmd[3] = PXAIO_COMDI_DVPIX|PXAIO_COMDD_DVPIX(yres - 1);
  cmd[4] = PXAIO_COMDI_FILL|PXAIO_COMDD_FILL(0xffff);
  cmd[5] = PXAIO_COMDI_FLGO;
  ioctl(fbHandle,TC6393FB_ACC_CMD_WRITE,cmd);

and then I'm guessing that if you want to make sure it's completed before carrying on, you can use:
  ioctl(fbHandle,TC6393FB_ACC_SYNC,0);

But the tc6393 looks like it can do blitting as well....I've no idea what the rest of the command API def's actually do though?

And glory be - Toshiba haven't released a datasheet for the chip
When I eventually get my hands on my SL6000 (my wife's hidden it 'til Christmas) I'll start trying some of the commands, see if I can work it out through trial & error.....unless someone else beats me to it of course

SDL would go much quicker with a bit of the ol' hardware accel...
Title: Sl6000 Hardware Accelerated Display?
Post by: GoLinux on December 04, 2004, 12:24:13 pm
Is this the same device?

http://www.mnementh.co.uk/eseries/docs/hwnotes/tc6393/ (http://www.mnementh.co.uk/eseries/docs/hwnotes/tc6393/)

I don't have the programming skills required to write a driver, but I work for a semiconductor company (not Toshiba, by the way...)

If you have the exact part number of the chip(s) used in the graphic section of the SL-6000L I can try to find some documentation.
Title: Sl6000 Hardware Accelerated Display?
Post by: cwaig on December 04, 2004, 01:30:50 pm
I believe the part number is TC6393XB - there's a tiny bit of information on Toshiba's website
here (http://www.semicon.toshiba.co.jp/eng/solution/pda/pda_intro3.html) about it.
Title: Sl6000 Hardware Accelerated Display?
Post by: guylhem on December 05, 2004, 10:25:15 am
That would be a sweet addon to libsdl
Title: Sl6000 Hardware Accelerated Display?
Post by: GoLinux on December 07, 2004, 01:38:25 am
cwaig,

the information you can find at the link I posted previously are for the TC6393XB, although it seems they deal mostly with the memory controller section.

I'll keep digging.....
Title: Sl6000 Hardware Accelerated Display?
Post by: psycoman on January 02, 2005, 01:02:03 pm
asny news about TC6393XB video chip  ?
Title: Sl6000 Hardware Accelerated Display?
Post by: GoLinux on January 03, 2005, 04:38:50 pm
Not yet... I only found this guy who wrote a driver for the NAND controller part of it:

http://lists.infradead.org/pipermail/linux...6/nand_tmio.obj (http://lists.infradead.org/pipermail/linux-mtd/attachments/20040824/c8dae4e6/nand_tmio.obj)

Il keep digging, I'll find a way to get a datasheet of this little monster....  
Title: Sl6000 Hardware Accelerated Display?
Post by: psycoman on January 04, 2005, 05:43:17 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 ?
Title: Sl6000 Hardware Accelerated Display?
Post by: psycoman on January 05, 2005, 08:29:34 am
i get with ion, one documentation about the chip.

not complet at all but have some details, with some need it to make some hardware drivers (SDL etc..) tell me and i will send the document
Title: Sl6000 Hardware Accelerated Display?
Post by: cwaig on January 17, 2005, 03:46:40 pm
Has anyone made any progress with this (or seen the docs Psycoman mentioned)?

I gave it a bit of a bosh today (tried out the tests I was pondering back in december before I got my 6000), and the hardware rectangle fill stuff is straightforward (sample code available, if anyones interested). Looks like there's a line drawing mode as well (although I've not figured out how to make it do anything apart from 45degree lines). The raster op and blit stuff is still mostly a mystery (but I'm hoping to decipher some of it over the next few weeks).

I have to say, I'm surprised no-one else has tried messing with it (after all, the op-codes for the graphics hardware are given in the SL6000 kernel source)....
Title: Sl6000 Hardware Accelerated Display?
Post by: seed on April 16, 2005, 03:01:51 pm
any new about the TC6393XB video chip ? do someone work on a hardware accelarated display ?
do someone know about video performace of the sl6000l compare to the c1000 or c3000 (TC6393XB video chip vs W100)
Title: Sl6000 Hardware Accelerated Display?
Post by: xjqian on April 16, 2005, 07:44:12 pm
Quote
do someone know about video performace of the sl6000l compare to the c1000 or c3000 (TC6393XB video chip vs W100)
[div align=\"right\"][a href=\"index.php?act=findpost&pid=75536\"][{POST_SNAPBACK}][/a][/div]
video performance seems to be worse than than those with hardware accl.
Title: Sl6000 Hardware Accelerated Display?
Post by: seed on April 16, 2005, 09:22:02 pm
Quote
Quote
do someone know about video performace of the sl6000l compare to the c1000 or c3000 (TC6393XB video chip vs W100)
[div align=\"right\"][a href=\"index.php?act=findpost&pid=75536\"][{POST_SNAPBACK}][/a][/div]
video performance seems to be worse than than those with hardware accl.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=75563\"][{POST_SNAPBACK}][/a][/div]
..... i dont clearly understand
performance of the sl6000l are worse than c1000??
Title: Sl6000 Hardware Accelerated Display?
Post by: xjqian on April 17, 2005, 02:52:56 pm
Quote
Quote
Quote
do someone know about video performace of the sl6000l compare to the c1000 or c3000 (TC6393XB video chip vs W100)
[div align=\"right\"][a href=\"index.php?act=findpost&pid=75536\"][{POST_SNAPBACK}][/a][/div]
video performance seems to be worse than than those with hardware accl.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=75563\"][{POST_SNAPBACK}][/a][/div]
..... i dont clearly understand
performance of the sl6000l are worse than c1000??
[div align=\"right\"][a href=\"index.php?act=findpost&pid=75575\"][{POST_SNAPBACK}][/a][/div]
not sure about c1k and c3k. but worse than c860 with w100 hard accl driver.
Title: Sl6000 Hardware Accelerated Display?
Post by: guylhem on April 17, 2005, 03:53:36 pm
cwaig, did you got the docs I sent ?

Any progress ?
Title: Sl6000 Hardware Accelerated Display?
Post by: seed on April 17, 2005, 05:51:24 pm
[/quote]
not sure about c1k and c3k. but worse than c860 with w100 hard accl driver.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=75654\"][{POST_SNAPBACK}][/a][/div]
[/quote]
the performance are worse cuz the lcd (wich is bigger) or it it simply a ploblem of dirver supporting video acceleration ?
does the c1000 use the same ship than the c860?
in  a purely hardware point of view wich one of those ship is the best
??
Title: Sl6000 Hardware Accelerated Display?
Post by: seed on June 12, 2005, 11:13:52 pm
any new about this
Title: Sl6000 Hardware Accelerated Display?
Post by: the_oak on July 30, 2005, 02:04:27 pm
Any new developments in video hardware acceleration for sl6000?
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix on November 16, 2005, 05:44:31 pm
bump!
Title: Sl6000 Hardware Accelerated Display?
Post by: guylhem on November 17, 2005, 08:51:55 pm
without the chip technical manual, no hope.
Title: Sl6000 Hardware Accelerated Display?
Post by: mahadri on November 28, 2005, 05:28:19 am
Sharp's tc6393fb.h has enough information to experiment.  First, I'd try modifying the fill command to draw colored boxes on the screen.  This is very useful for accelerating window managers, as they tend to draw the backing color, then the objects on top.  The source copy would be great for moving windows, scrolling windows, scrolling the console, and drawing console characters.

The TC6393 has 1MB of video memory.  The default 640x480x16bit mode only uses 600kB, leaving 424kB for console fonts, bitmaps, etc, for source copy.  Also, 424kB is enough for one large 528x400 buffer.  With a custom mplayer plugin, mplayer can render to that off-screen buffer, then StretchBLT the buffer to the 640x480 screen.  It looks like StretchBLT has vertical reverse and horizontal reverse options, too, so you can flip horizontal, or flip vertical, or rotate the video 180 degrees in hardware.

I'm working on the 2.6 kernel at the moment, and I'll work on video acceleration at some point (it's a low priority, so it could be a while).  If someone wants to experiment and help out, that'd be even better. =)

The TC6393's LCD controller has five accelration commands:
PXAIO_COMDI_CMGO - Cursor Move?
PXAIO_COMDI_FLGO - Fill
PXAIO_COMDI_SCGO - Source Copy
PXAIO_COMDI_SBGO - StretchBLT
PXAIO_COMDI_LDGO - Line Draw

Out of the set commands, we can group by ones that take a pixel color as a paremeter:
PXAIO_COMDI_FILL - fill color
PXAIO_COMDI_TCLOR - transparent color for Source Copy

ones that take a memory address as a parameter:
PXAIO_COMDI_CSADR - cursor screen address?
PXAIO_COMDI_PSADR - physical screen address?
PXAIO_COMDI_POADR - physical offset address?
PXAIO_COMDI_DSADR - destination screen address?
PXAIO_COMDI_SSADR - source screen address?

and ones that take a x or y offset or pixel count as a parameter:
PXAIO_COMDI_CHPIX - cursor horizontal pixels?
PXAIO_COMDI_CVPIX - cursor vertical pixels?
PXAIO_COMDI_PHPIX - physical horizontal pixels?
PXAIO_COMDI_PVPIX - physical vertical pixels?
PXAIO_COMDI_PHOFS - physical horizontal offset?
PXAIO_COMDI_PVOFS - physical vertical offset?
PXAIO_COMDI_DHPIX - destination horizontal pixels
PXAIO_COMDI_DVPIX - destination vertical pixels
PXAIO_COMDI_SHPIX - source horizontal pixels?
PXAIO_COMDI_SVPIX - source vertical pixels?
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix on November 28, 2005, 05:40:53 am
Quote
Sharp's tc6393.h has enough information to experiment.  First, I'd try modifying the fill command [div align=\"right\"][a href=\"index.php?act=findpost&pid=105197\"][{POST_SNAPBACK}][/a][/div]

this sounds very promising. Perhaps with the re-release of the 6000 as a windows mobile device more information will come out too.

Whilst I'd love to help, I'm only running kernel 2.4 on the Guylhem ROM, sorry :-(

I've also no experience at actually writing kernel modules. But, I'd be willing to give back-porting the driver to 2.4.x a shot, or even being a guinea pig if I can.

If nothing else, be encouraged that there are lots of eager people waiting for faster video drivers for their 6000!

Paul
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix on November 28, 2005, 05:41:12 am
p.s. and I'll gladly contribute to a beer fund!
Title: Sl6000 Hardware Accelerated Display?
Post by: mahadri on November 28, 2005, 06:10:51 am
Quote
this sounds very promising. Perhaps with the re-release of the 6000 as a windows mobile device more information will come out too.
I could reverse-engineer those drivers if they implement a feature we like.
Quote
Whilst I'd love to help, I'm only running kernel 2.4 on the Guylhem ROM, sorry :-(
The Sharp kernel exports an ioctl for video acceleration.  I doubt any Sharp-based ROM removed this ioctl, so you can test from userspace.  You just need a cross-compiler to compile tosaacc.c (http://oz.drigon.com/src/tosaacc.c).  It's a simple program that uses the Fill command to clear the screen to a color specified on the command line.

Usage: tosaacc <color in hex>
Example: tosaacc 48c0

If there's enough demand from people without cross-compilers, I can modify this program to read accelerator commands from stdin so I can distribute a binary version.  It's not as nice, though, as you can't use Sharp's #defines and would have to write all commands in hex.
Title: Sl6000 Hardware Accelerated Display?
Post by: guylhem on December 02, 2005, 06:34:51 am
Hello

By any chance, would you have the chip tech ref with details explaining the hardware acceleration? It would be great to have that working. Experimenting could take a while, but it would be great to have accel working...

Video Accel is IMHO the most important thing the 6000 miss (imagine playing divx from a microdrive at 640X480 24fps on that beautiful screen !) - it could be shared between 2.4 and 2.6 kernels

Email me guylhem at googlemail dot com if you want the information I have about the chip, the device, etc.

Guylhem
Title: Sl6000 Hardware Accelerated Display?
Post by: xenophobe on December 08, 2005, 11:15:01 am
Quote
Sharp's tc6393fb.h has enough information to experiment. First, I'd try modifying the fill command to draw colored boxes on the screen. This is very useful for accelerating window managers, as they tend to draw the backing color, then the objects on top. The source copy would be great for moving windows, scrolling windows, scrolling the console, and drawing console characters.

I found what a screen copy command (PXAIO_COMDI_SCGO) takes four arguments:
PXAIO_COMDI_DSADR - an addres of a destination region (left upper corner)
PXAIO_COMDI_DHPIX - a width of a region to copy
PXAIO_COMDI_DVPIX - a height of a region to copy
PXAIO_COMDI_SSADR - an address of a source region (upper left corner)

Formula to calculate address from coordinates is
Addr = 2*X+Y*960 - for VGA mode (2bytes per pixel)

Has somebody else any luck with Tosa video accelerator?
Title: Sl6000 Hardware Accelerated Display?
Post by: jcabrer on January 04, 2006, 08:09:08 pm
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 contacted Toshiba's TAEC U.S. headquarters today to request Datasheets for the TC6393XB.  I've had luck with Hitachi in the past doing this, so I'm keeping my fingers crossed.
Title: Sl6000 Hardware Accelerated Display?
Post by: jcabrer on January 05, 2006, 12:49:23 pm
My first response from Toshiba is displayed below.
Looks like a possible dead end.  I've sent the engineer another e-mail asking him to forward my request to someone who might be able to provide more information.  Hopefully I'll hear back from him soon.


Quote
Hi John,

This is a Secured Digital Host Controller (SDHC) device which we don't sell
anymore.  I also don't have any datasheet of that part to share with you.

Best Regards,
Noman
--------------------------------------------------------------------
Noman Waseq
System Engineering Manager
ASSP System LSI Group
Toshiba America Electronic Components, Inc
Office: (408) 526-2895   Cell: (408) 464-9660
http://www.toshiba.com/taec/ (http://www.toshiba.com/taec/)







                                                                           
             Rakesh                                                       
             Sethi/TOSHIBA_TAE                                             
             C                                                          To
                                       Noman                               
             01/04/2006 05:07          Waseq/TOSHIBA_TAEC@TOSHIBA_TAEC     
             PM                                                         cc
                                                                           
                                                                   Subject
                                       Fw: Honda R&D Americas, Inc  -     
                                       TC6393xb - CA                       
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




www.socworld.toshiba.com
Rakesh Sethi
System Level IC's  Biz. Development


----- Forwarded by Rakesh Sethi/TOSHIBA_TAEC on 01/04/2006 05:09 PM -----
                                                                           
             Tech                                                         
             Questions/TOSHIBA                                             
             _TAEC                                                      To
                                       Rakesh                             
             01/04/2006 04:44          Sethi/TOSHIBA_TAEC@TOSHIBA_TAEC     
             PM                                                         cc
                                                                           
                                                                   Subject
                                       Honda R&D Americas, Inc  - TC6393xb
                                       - CA                               
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           



Hello, Rakesh!
Can you please help us with this inquiry from Honda? Thanks
Regards,
Tech Questions


                                                                           
             jcabrer@hra.com                                               
                                                                           
             01/04/2006 04:17                                           To
             PM                        tech.questions@taec.toshiba.com     
                                                                        cc
                                                                           
             Please respond to                                     Subject
              jcabrer@hra.com          Technical Questions                 
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




---------------------------------------------------------------------------
Name: John Cabrer
Email: jcabrer@hra.com
Telephone: 310-781-6073
Organization: Honda R&D Americas, Inc.
City: Torrance
State: CA
Country: USA
Title: Systems Integration Consultant
Product Interest: ASIC/Soc
Product Interest Other:
Application Interest: Automotive
Application Interest Other:
Product Information: Yes
Question: I'm having a great deal of difficulty locating a datasheet for
the TC6393xb SoC. From what I understand, this component is used in several
ARM-based embedded products. Can you provide documentation for this device?
Thank you.

---------------------------------------------------------------------------
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix on January 05, 2006, 04:33:25 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 (http://msdn.microsoft.com/embedded/usewinemb/ce/drivers/supdrivers/default.aspx)
which would be a nice addition!
Title: Sl6000 Hardware Accelerated Display?
Post by: jcabrer on January 05, 2006, 05:20:40 pm
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 (http://msdn.microsoft.com/embedded/usewinemb/ce/drivers/supdrivers/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.
Title: Sl6000 Hardware Accelerated Display?
Post by: jcabrer 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.
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix 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.
Title: Sl6000 Hardware Accelerated Display?
Post by: jgardia 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
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix 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 (http://msdn.microsoft.com/embedded/usewinemb/ce/drivers/supdrivers/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.
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix 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.
Title: Sl6000 Hardware Accelerated Display?
Post by: jgardia 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...
Title: Sl6000 Hardware Accelerated Display?
Post by: dirk 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
Title: Sl6000 Hardware Accelerated Display?
Post by: jcabrer 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?
Title: Sl6000 Hardware Accelerated Display?
Post by: jcabrer 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                     
Title: Sl6000 Hardware Accelerated Display?
Post by: jcabrer 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

           
Title: Sl6000 Hardware Accelerated Display?
Post by: DrWowe 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.
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix 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!
Title: Sl6000 Hardware Accelerated Display?
Post by: xenophobe 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.
Title: Sl6000 Hardware Accelerated Display?
Post by: xenophobe 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.
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix 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.
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix on April 09, 2006, 06:33:27 pm
any news at all on this.. even a slightly improved driver would be better than nothing!
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix on June 05, 2006, 04:48:07 pm
I now work in the science park in Cambridge, and there's a Toshiba Europe lab nearby, and yet I am still unable to get introduced to someone at Tosh who can help!
Title: Sl6000 Hardware Accelerated Display?
Post by: GoLinux on October 29, 2006, 10:33:31 pm
Hi guys,

I'm afraid it might only be about the memory controller, but what about this:

http://mmc.drzeus.cx/wiki/Controllers/Toshiba/TC6393XB (http://mmc.drzeus.cx/wiki/Controllers/Toshiba/TC6393XB)

Quote
I now work in the science park in Cambridge, and there's a Toshiba Europe lab nearby, and yet I am still unable to get introduced to someone at Tosh who can help!
[div align=\"right\"][a href=\"index.php?act=findpost&pid=129941\"][{POST_SNAPBACK}][/a][/div]
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix on October 30, 2006, 05:45:07 am
Quote
Hi guys,

I'm afraid it might only be about the memory controller, but what about this:

sorry, dude, whilst that's useful for sd slot, no information about graphics acceleration programming
Title: Sl6000 Hardware Accelerated Display?
Post by: sdjf on August 01, 2008, 10:26:36 am
I have found the Tosa ROM 1.12 to be extremely slow in changing between applications compared to my theoretically slow sl5500's ROM 2.38.  I hope this is the right thread!

I take notes and transfer information between various apps and was amazed at how long it has always taken to switch between already apps.  Does this have to do with Accelerated display?  I'm talking between browser, editor, email, even before installed any ipks to the bare bones 1.12.

thanks,
sdjf
Title: Sl6000 Hardware Accelerated Display?
Post by: speculatrix on August 01, 2008, 10:57:20 am
Quote from: sdjf
I have found the Tosa ROM 1.12 to be extremely slow in changing between applications

sorry but no, this thread is about the ability to render graphics (whether moving windows around or playing movies).

your problem sounds like you've enabled swap and you've simply run out of ram... or that you're running off SD card and its very slow.
Title: Sl6000 Hardware Accelerated Display?
Post by: sdjf on August 03, 2008, 07:33:42 am
Uh, have done neither AFAIK but I'll go off and study those issues.  Brand new unit, no one else modified orig. ROM, one friend suggested maybe it's an app with a memory leak.  So, more homework to do on this.

thanks,
sdjf
Title: Sl6000 Hardware Accelerated Display?
Post by: the_oak on August 03, 2008, 09:39:51 am
Mine has never been slow switching between already open apps. I turned off "Fast Load" on all apps that I don't routinely use. I kept it on Address Book only. This frees RAM to make other apps faster. (Click and hold the icon for an app, then uncheck "Fast Load" box.)
Title: Sl6000 Hardware Accelerated Display?
Post by: sdjf on August 03, 2008, 05:50:41 pm
yeah, did that first thing  I'm afraid of getting too OT with this so will try to find or start an appropriate thread when I can.

thanks,
sdjf