Programming assembly for Nabaztags

Feel like posting Off Topic? Do it here.

Moderator: MaxCoderz Staff

User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Programming assembly for Nabaztags

Post by Timendus »

I'm not sure this belongs on this forum, so I'm posting it in the Off Topic section, but I think some of you may find it enjoyable :)

Image

One of my teachers discovered the Nabaztag some time ago, and he wants to use it as a big project for second year students. A Nabaztag is a small rabbit-formed thingy that connects to nabaztag.com through your Wifi network, and that has ears that can move, lights that can change colour, and it can make sounds.

So he asked me and another student to reverse engineer the thing so we could control what it does, how and when. The idea is that we make a start that second year students can play with later, and we're supposed to learn a few things from it ourselves in the mean time (we get a few European Credits for it).

We discovered that some people had already started on a .NET implementation of a proxy server to catch all data transmitted to and from nabaztag.com by the rabbit, and a start in controlling the rabbit through an interface on a PC.

To my delight I discovered that you can send small assembly programs to the rabbit, which it will execute once received :) The assembly programs are run in a virtual machine inside the rabbit, so you don't have to worry about interfacing with the wireless network or anything, you just give commands to the firmware which will execute them for you. So it's not all that much more difficult than calculator assembly, apart from the fact that I've had to learn a new set of opcodes and a different memory lay-out.

So the last two days I've been programming assembly in our computer lab not only legally for a change, but also supported by several teachers and for the Greater Good of my education :mrgreen:

You should see people's faces when I make a plastic white rabbit do "plingpling", move it's ears and change colour ;)

Check out my source 8):P
http://timendus.student.utwente.nl/~is3 ... hp/Timware

And check out these amateurs* not being able to properly control the rabbits, which we plan to do better :mrgreen:
http://nabazmob.free.fr/nabazfilm.html

*) who happen to be the people who originally programmed the things, but whatever ;)
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

Hardware hacking is always cool.

I'm really not sure what these rabbits are really useful for in the real world, beyond what you're doing with the hardware.

Code: Select all

bra Flicker_loop
Curious choice of mnemonics :)
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

I had a feeling it was curious, but I'm not sure why... My English still lacks a few expressions, I'm afraid. So please do explain :)

And you're absolutely right, these things are totally useless, but a lot of fun nonetheless :mrgreen:

To give a more serious answer: the thing that makes these rabbits cool is their ability to connect to the Internet and respond to things happening online (RSS feeds, e-mail notification, that kind of things). It makes the virtual world a lot more real than a computer screen :)
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
Arcane WIzard
Calc Guru
Posts: 856
Joined: Mon 21 Feb, 2005 7:05 pm

Post by Arcane WIzard »

You forgot to mention they talk. ö
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

Timendus wrote:I had a feeling it was curious, but I'm not sure why... My English still lacks a few expressions, I'm afraid. So please do explain :)
I'll leave the Cambridge English Dictionary to do the honours.
To give a more serious answer: the thing that makes these rabbits cool is their ability to connect to the Internet and respond to things happening online (RSS feeds, e-mail notification, that kind of things). It makes the virtual world a lot more real than a computer screen :)
I do suppose it might be quite handy to have something away from the computer to notify you of events such as new email, if you're the sort of person who is ever away from the computer.

No sound here, so I can't comment on it - what's the speech synthesis like, if it is speech synthesis?

Do you have any plans for what you to do with these?
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

Ah, you meant the opcode, never mind ;)
Arcane WIzard wrote:You forgot to mention they talk.
No I didn't. I said they make sound. Which is all they do. All text to speech functionality is located in the nabaztag.com server; the rabbits can only play (some form of) MIDI and PCM.

The speech synthesis is pretty bad... I don't know if it's the cheap server, the file type limitations or the rabbit, but it's pretty bad. The MIDI sounds are fun though, and pretty good quality.

Our plan is to write a Java server and some assembly software that communicate with each other so that you can connect multiple rabbits to one server and control all the rabbits through some interface with the server. Once that's been done we're officially done with the project, but I plan to write a bit of example software to redo their "rabbit opera" with a few less rabbits, but with proper synchronization. So that it could actually sound good, perhaps :)
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

bad thing is, that little bastards cost over 100 euro :no:
Image
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

A little under €100,- to be correct, but yes it isn't nothing that I'm playing with :) It's going to be fun to play with several €100,- toys when I get to writing my opera ;)

In comparison with other e-toys though it's quite cheap (Aibo for example). But I'm not trying to pursuade anyone to buy one, just telling you what I'm working on :P
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

I know, I know. I was just intrested in those things until I saw the price (which was 129 euro at mycom iirc, but could also be 99... not sure), which was a little disapointing.

You can't compare them to Aibo, can you? Aibo has AI... hence even those robosapiens in the toy store can propably do much more than this bunny and are at the same price range

Non the less I request a video of the opera once it's done :D
Image
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

You could use our remote control software to make it artificially intelligent ;) That's the fun thing about it, it's got WiFi. Only bad thing is that it doesn't have too many sensors, so communication is pretty much limited to one-way, unless you communicate with your PC and get feedback through the rabbit...

That could be a cool project; use your PC microphone and software for voice recognition and make the rabbit talk back :)

Anyway, video will be made if I get that far ;)
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
Arcane WIzard
Calc Guru
Posts: 856
Joined: Mon 21 Feb, 2005 7:05 pm

Post by Arcane WIzard »

That could be a cool project; use your PC microphone and software for voice recognition and make the rabbit talk back.
No I didn't. I said they make sound. Which is all they do. All text to speech functionality is located in the nabaztag.com server; the rabbits can only play (some form of) MIDI and PCM.
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

I think you tearing parts out of their context now, arcane.
Image
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

Maybe he just doesn't understand it. So once more:

The rabbit can play sounds that you send it, it can not generate speech from text, which the remark that it could talk would imply. The hardware can't talk; that's not what it was designed for. It can play sounds.

You can, however, send it a sound file that contains some audio that was generated with text to speech software. You can do that from the nabaztag.com server, or (theoratically) from your own PC.

I know the average user wouldn't care about the difference, but I expect more from you.
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
Arcane WIzard
Calc Guru
Posts: 856
Joined: Mon 21 Feb, 2005 7:05 pm

Post by Arcane WIzard »

Interestingly, if I would now point out fallacies in the context instead of my understanding of it, only the latter would be doubted regardless of whatever arguments would accompany the first.

I would expect both of you to not assume it was a critiquing statement when no clarity was given about the grounds for my quoting, as any decent person would.

I already understood that it simply plays sound files instead of internally converting text-to-speech before quoting you, that was not my point of doubt or question.

I'll leave it at saying that the word "talk" is very a-technical no matter what kind of technology you would be speaking of, prerecorded or not, and that you are the ones I would expect to understand that considering even an average user should.

`
User avatar
Shadow Phoenix
Calc Guru
Posts: 835
Joined: Mon 03 Jan, 2005 7:54 pm
Location: out there. seriosly.

Post by Shadow Phoenix »

RAM memory is 256 bytes (also holds stack)
Dang, that won't support me :(
Life is getting better.
Post Reply