Hacking devices can/will void your warranty and can turn your expensive consumer electronics into worthless trash if you don't know what you're doing. This blog is for information purposes only, and if you try to hack into your own consumer electronics, you do so at your own risk. The device I'm currently hacking is the Canon SX10 IS camera.

Sunday, November 29, 2009

Update and minor discovery

I haven't been posting much to my blog, but what I've been doing is studying the Ellion source and trying to understand the structure.

I have managed to create the traditional "hello world" and have it appear on the TV. That may not seem significant, but for me that's a major step forward since it means I have all of the steps identified for initializing the ScreenPlay. However, most of the steps for painting the rectangle, loading the font and writing the Hello World text on screen still rely on the internal structures of the DvdPlayer program.

In the process, I've had to stop/restart multiple times. Each time that the program stops, whatever was displayed on the TV stays there. If you try to run the program again, it fails to allocate graphical memory because the memory is already allocated. I've been using "stopall" to free up the memory.

What I didn't realize was that stopall was NOT the program responsible for freeing up the memory. It's RootApp, which is called without any command line arguments by the stopall program.

Well, the code for RootApp reinitialize can now be incorporated into my starting Hello World program to auto reinitialize each time :) Like I said, minor discovery, but I felt it was worth sharing anyway.

9 comments:

  1. I try to make a simple program for playing music with my sansun device (rtd1282), but its not so easy to strip down the DvdPlayer program, and some important lower / middle level source files are missing, e.g. FlowManager,Stream, *rpc* ASO, but it should be possible to use the existing libraries.
    I also noticed, that code from DvdPlayer is neccessary to get hd access
    (HddUtilAP::identify_storage_device()).
    Martin

    ReplyDelete
  2. Congratulations! This is really a big step forward!

    I think a lot of guys are still reading your blog to see what's going on in this area.

    Thanks!

    ReplyDelete
  3. Nice!
    I've been trying to compile this firmware, but wasn't able to create a valid toolchain. I think my lack of knowledge on Linux is the reason.
    Do you have by any chance a VMWare image I can use to try to compile and see if I can help you with research?

    ReplyDelete
  4. Hi Roman,
    Start by going to this post: http://consumerelectronicshacker.blogspot.com/2009/10/organization-and-yet-another-toolchain.html

    I identify the location of the VMWare image I started with. And then you get the conceptronic sources I listed and the GCC 3.4 compiler. All of that is in that post. Inside the conceptronic sources is a readme that tells you how to set up the toolchain. Once you've done that, then refer to my post: http://consumerelectronicshacker.blogspot.com/2009/11/thats-not-my-menu.html and particularly the comments in the post.

    If you get stuck somewhere along the line, post problems or questions on the topic you get stuck on so that any answers to the comments can help other people out.

    ReplyDelete
  5. Hi can you post the source code for the "hello world" and the Makefile. I'm trying to compile a "hello world" using the DirectGraphics.h calls but can't link with the libraries. I already compiled phoneme (java vm) and is working in my STB. If i manage to compile a "hello world" with access to the Graphic system maybe we can create a graphic driver or better an awt toolkit for the java vm.

    ReplyDelete
  6. I'm still in process of trying to strip out all of the unnecessary code. As it sits now, the "Hello World" is 9.3 MB, only .3 MB smaller than the DvdPlayer program because large chunks of the DvdPlayer program are still in there. As I get it down small enough, I'll post it.

    With two birthdays, Christmas, New Years, and the family get-together that I'm in charge of all occurring during this month, amongst other things, I've been unable to set aside any time for hacking. But I'll be getting back to it soon.

    ReplyDelete
  7. STB - Code posted @ http://forum.xtreamer.net/viewtopic.php?f=38&t=6066

    It isn't the stripped down version, but I figured since I put it out there, you'd want to know in case you wanted to start looking and/or helping.

    ReplyDelete
  8. any news of progress to the screenplay pro?

    ReplyDelete
  9. Still in discovery mode. Able to display graphics, pictures in BMP and PNG mode, text, and cursor (although it is not known how to shape the cursor at this point so it is just displaying a random dot cursor). a99 has gotten audio to work, and I'm in process of trying to understand how to piece works so I can start working on video. I'm away from the screenplay right now, but hope to be back to it within a week.

    ReplyDelete