sound files on the xbc w/GBA

10 replies [Last post]
topazx2
topazx2's picture
Title: MiniBot
Joined: 12/14/2010
Posts:
BotPoints: 32
User offline. Last seen 1 year 44 weeks ago.

Hi,
I just picked up an XBC v10a and am considering using it to replace the Handyboard currently in use on my Little Johnny robot.
Anyway, I am very familiar with IC and the HB, in fact I am the creator of the Sumo11. I recently saw a video on the Charmed Labs site where a person programmed his robot to play ??.wav files?? whenever it saw certain objects. I would really like to play around with this, but unfortunately there is very little code samples available for the XBC w/gba.

Does anyone know who wrote that code? The video I'm referring to is called 'wander' and can be found here: http://www.charmedlabs.com/index.php?option=com_docman&task=cat_view&gid...

Any help on this would be much appreciated.

Also, has all information regarding the XBC been removed or was there just not much ever out there for it?

-Dan

Jeremy Rand
Jeremy Rand's picture
Title: Botball Youth Advisory Council
Joined: 04/03/2009
Posts:
BotPoints: 1168
User offline. Last seen 7 years 18 weeks ago.

Hi Dan,

The XBC can play .wav files over the GBA speaker, but this feature is not available within IC. Unfortunately, as you discovered, the documentation for programming the XBC in C++ is seriously lacking. The KIPR and Charmed Labs staff have pretty much abandoned the Xport in favor of the Chumby, Qwerk, and Gigapan, so I doubt they'll have the time to help you out. The two people with the most experience in reverse-engineering the XBC's C++ libs are myself and Farz Hemmati. We produced a custom XBC firmware for our Botball teams in 2007 and 2008, which had additional features exposed as CallMLs (so IC could use them). One of these features was .wav playing. The .wav file has to be compiled into the firmware binary, and a large switch statement is in the CallML implementation which chooses which sound to play. We actually made some major improvements over the Charmed Labs .wav libraries, including control over sample rate, interrupt-based looping, and support for longer sounds (the official libs don't like sounds longer than about 20 seconds).

Now, the catch. I'm personally fine with releasing that source code, seeing as I have no use for it anymore. However, Farz Hemmati is a co-author of that code, and I would have to check with him for permission to release it. I haven't talked to him in about 1.5 years, so I'm not certain how easy he'll be to contact.

Are you interested in seeing that source code?

(As for information being removed... I think there just wasn't much to begin with. Some information was lost when the old Botball forum got shut down; I don't recall what was there. All the hackers in Botball used the Charmed Labs forums rather than the Botball forums to discuss XBC stuff. That stuff should still be up, but Farz and I communicated mainly via IM, since at the time that stuff was valuable to our Botball teams.)

-Jeremy Rand
Senior Programmer, Team SNARC (2012-2013), Norman Advanced (2010-2011), Norman HS (2008-2009), Norman North (2005-2007), Whittier MS (2003-2004)
2012-2013 VP of Tech, 2011 President, Botball YAC (2009-2013)
Mentor, Alcott and Whittier MS

topazx2
topazx2's picture
Title: MiniBot
Joined: 12/14/2010
Posts:
BotPoints: 32
User offline. Last seen 1 year 44 weeks ago.

Jeremy,
I am definitely interested in the source code if that's something you can work out for me.

It's really a shame that the xbc stuff was abandoned without a forward compatible device. It seems to be a huge downfall of the botball organization, abandoning one platform for a completely new one every few years instead of building on to one and making it better and better. It seems that the students would be far better off (and better able to help future botballers) if the platform was a smooth transition from one to the next with better features/speed/firmware each year. I feel bad for all the students who spent so much time with the XBC just to see it abandoned.

I have searched high and low for code repositories and just basic support for the XBC and have found very little. At least the Handyboard is still supported and you can find lots of sample code for it. I would love to see a modern version of the Handyboard done with an Atmel processor and have all the features like color camera, etc. Something that can be built upon instead of discarded every few years.

I have tried several times to join the Charmed labs forums, but apparently it's broken and no one is answering emails to fix it.

Do you know of any websites that have more info about the xbc, code samples, cool projects, etc?

-Dan

KIPR Matthew
KIPR Matthew's picture
Title: KIPR Staff
Joined: 06/04/2009
Posts:
BotPoints: 154
User offline. Last seen 5 years 3 weeks ago.

Speaking from the KIPR side, we loved the XBC. We would have liked to keep it forever, but we were at the mercy of Nintendo and their supply of GBAs and Charmed Labs supply of XBCs.

The new controller we have moved to is made almost entirely in house, so we have a better control over our suppliers. We want to keep the CBC for years to come.

I am no help with the sound, but if you have any more questions feel free to post and I can see what I can do to help you out.

Here is an XBC robot I made a while back:

http://www.instructables.com/id/How-to-make-an-autonomous-basketball-pla...

Join the Botball folding at home team!
http://folding.stanford.edu/
Team 87314 "Botball"
Stats: http://folding.extremeoverclocking.com/team_summary.php?s=&t=87314

Jeremy Rand
Jeremy Rand's picture
Title: Botball Youth Advisory Council
Joined: 04/03/2009
Posts:
BotPoints: 1168
User offline. Last seen 7 years 18 weeks ago.

I do still plan to release the XBC source code; I've just been really busy with school, the new Botball season, and other real-life stuff. Sorry for the delays; I'll get to it as soon as possible.

-Jeremy Rand
Senior Programmer, Team SNARC (2012-2013), Norman Advanced (2010-2011), Norman HS (2008-2009), Norman North (2005-2007), Whittier MS (2003-2004)
2012-2013 VP of Tech, 2011 President, Botball YAC (2009-2013)
Mentor, Alcott and Whittier MS

topazx2
topazx2's picture
Title: MiniBot
Joined: 12/14/2010
Posts:
BotPoints: 32
User offline. Last seen 1 year 44 weeks ago.

Mathew,
I have the CYGWIN files required for compiling the XBC firmware, but the last time I used CYGWIN was to compile firmware for my Sumo11 boards back in 2003 and those were compiled using .asm files and compiled to .s19 for the 68hc11 processors.

Things look a lot different now. Would you or anyone on this forum be willing to step me through the compiling process once?

I have read through a ton of CYGWIN docs, but they don't really give me the direct info needed to compile IC firmware for the XBC. I am a very quick learner and I know I am only missing some small detail.

PS Jeremy, I would really like to see your mods to the IC firmware, Farz sent me what he had, but he thought yours were more direct to what I'm looking for. I didn't see any sound files in anything he sent. Would you consider sending me a zip file of related files from your directory?

-Dan

topazx2
topazx2's picture
Title: MiniBot
Joined: 12/14/2010
Posts:
BotPoints: 32
User offline. Last seen 1 year 44 weeks ago.

(sp) Matthew Sorry for the misspelling

Jeremy Rand
Jeremy Rand's picture
Title: Botball Youth Advisory Council
Joined: 04/03/2009
Posts:
BotPoints: 1168
User offline. Last seen 7 years 18 weeks ago.

Hi Dan, sorry for the delay. I'm currently uploading my XBC firmware directory to GitHub as I write this. I'll post back here when it's up.

-Jeremy Rand
Senior Programmer, Team SNARC (2012-2013), Norman Advanced (2010-2011), Norman HS (2008-2009), Norman North (2005-2007), Whittier MS (2003-2004)
2012-2013 VP of Tech, 2011 President, Botball YAC (2009-2013)
Mentor, Alcott and Whittier MS

Jeremy Rand
Jeremy Rand's picture
Title: Botball Youth Advisory Council
Joined: 04/03/2009
Posts:
BotPoints: 1168
User offline. Last seen 7 years 18 weeks ago.

It's up now; see my new thread.

-Jeremy Rand
Senior Programmer, Team SNARC (2012-2013), Norman Advanced (2010-2011), Norman HS (2008-2009), Norman North (2005-2007), Whittier MS (2003-2004)
2012-2013 VP of Tech, 2011 President, Botball YAC (2009-2013)
Mentor, Alcott and Whittier MS

topazx2
topazx2's picture
Title: MiniBot
Joined: 12/14/2010
Posts:
BotPoints: 32
User offline. Last seen 1 year 44 weeks ago.

Thanks Jeremy! Now I just need to figure out how to compile the firmware in CYGWIN... or is there already a compiled version for me to start with in the files somewhere?

-Dan

KIPR Matthew
KIPR Matthew's picture
Title: KIPR Staff
Joined: 06/04/2009
Posts:
BotPoints: 154
User offline. Last seen 5 years 3 weeks ago.

Topzx2,

Sorry, but I never wrote CYGWIN stuff. I will ask around after the office opens (it is closed due to the snow storm) and see if I can get you any additional help.

Join the Botball folding at home team!
http://folding.stanford.edu/
Team 87314 "Botball"
Stats: http://folding.extremeoverclocking.com/team_summary.php?s=&t=87314