Page 1 of 8

Addons apps to current firmware

Posted: Mon Oct 26, 2009 9:34 pm
by aquadran
I found there are tree kind of apps which could be added into allready exist ones supported by exeDSP.
First: Flash (swf) based which could be played in Content Library, I saw example how someone on the net did that. However Flash is not my favorite thing :)
Second: Java Script based widgets in "InternetTV" program. Whould be nice to add some own custom widget.
Third: Native C++ apps in Game Content Library. I checked it's not need sign files, as for non-CI TV verification is not included in kernel and exeDSP.
Last thing can have great potential.
I'll post about more info what I get.

Re: Addons apps to current firmware

Posted: Mon Oct 26, 2009 9:53 pm
by erdem_ua
Thinking same thing?
Write an application to alternate exeDSP :)
:D

Re: Addons apps to current firmware

Posted: Mon Oct 26, 2009 10:21 pm
by aquadran
hehe, but not :)

That WireStar game is coded using SDL :) That interesting...

Re: Addons apps to current firmware

Posted: Mon Oct 26, 2009 11:37 pm
by aquadran
Ok, I tried last way that Game thing. I created subdir in GGame with own name, copied all files except sign files, renamed game icons, exe(lib), and updated changes in clmeta.dat to own name. Tried to run on TV. I have copy a game as second with different name :)
By comparing SDL original sources and Samsung one, I found it use own input, gfx, audio drivers in SDL by reusing "dummy".
Gfx video fullscreen mode is fixed in 960x540 pixel size. It can have pixels formats: ARGB8888, RGB656, ARGB1555. It's capable full acceleration hardware 2D blitting. Software blitting has some optimisations too. Audio support 16 bit audio samples, freq and format is unknown at this point but I guess it's fine.
Regarding input events, unfonately it only support own custom way, it seems only by remote controller with own key codes. Logical Joystick is suporrted most propably by remote controller. It seems all needed SDL includes and libSDL.so is included in Samsung sources. So that part is clear.
Ragarding "game" binary, it's handled by by loading dynamic library with name defined in clmeta.dat. Instead main() entry there is call proc "Game_Main" with two params. First one is path to game, second it's UDN (User Digital Number ?) it's from Content Library some ID of TV or something.
For now that all :)

Re: Addons apps to current firmware

Posted: Tue Oct 27, 2009 12:56 am
by aquadran
One more thing, you can put game dir content into usb root dir, and you will can run it from content manager too :)

Re: Addons apps to current firmware

Posted: Thu Oct 29, 2009 2:18 am
by newagehun
This sounds great. So theoretically we can write any application that can be started from USB from the TV menu. Sad it has no full screen access. Can it have internet access?
The best would be to access the video decoders :) and compile a better media player :)

Re: Addons apps to current firmware

Posted: Thu Oct 29, 2009 11:40 am
by aquadran
Yes, internet access is possible. I make small apps which do some small write to file for test of apps run. It works ok.
You can have same access to things same as any shell apps.
Today later I'll try add execture script from apps to startup telned and mount smb or nfs mounts. So there is no need hack firmware.

Re: Addons apps to current firmware

Posted: Thu Oct 29, 2009 8:55 pm
by aquadran
Here is example.
Copy 'Setup' directory to USB, open Content Manager, select USB, and TV will detect it.
I split main code into main.cpp, loader code which Content Manager execute is in Setup.cpp.
I did same way as WiseStar game have. It might have two reasons, split compile options to not effect on main game code.
Second, tv has some cache code of content definitions maybe also what it execute, but I don't think so.

Re: Addons apps to current firmware

Posted: Thu Oct 29, 2009 9:28 pm
by erdem_ua
Himm, do you know that which privileges used for this codes execution?
Might be we can write a code that read from /dev/tbmlc (need root privileges) to usb device
Or might we execute telnet program in a subprocess for access TV from outside
for work around CI+ devices encryption problem 8-)