Programming assembly for Nabaztags
Moderator: MaxCoderz Staff
Programming assembly for Nabaztags
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
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
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 :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
http://nabazmob.free.fr/nabazfilm.html
*) who happen to be the people who originally programmed the things, but whatever
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
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 :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
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
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.
Curious choice of mnemonics
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
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
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
And you're absolutely right, these things are totally useless, but a lot of fun nonetheless
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- Arcane WIzard
- Calc Guru
- Posts: 856
- Joined: Mon 21 Feb, 2005 7:05 pm
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
I'll leave the Cambridge English Dictionary to do the honours.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 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.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
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?
Ah, you meant the opcode, never mind
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
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.Arcane WIzard wrote:You forgot to mention they talk.
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
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
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
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- kv83
- Maxcoderz Staff
- Posts: 2735
- Joined: Wed 15 Dec, 2004 7:26 pm
- Location: The Hague, Netherlands
- Contact:
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
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
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
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- Arcane WIzard
- Calc Guru
- Posts: 856
- Joined: Mon 21 Feb, 2005 7:05 pm
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.
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.
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- Arcane WIzard
- Calc Guru
- Posts: 856
- Joined: Mon 21 Feb, 2005 7:05 pm
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.
`
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.
`
- Shadow Phoenix
- Calc Guru
- Posts: 835
- Joined: Mon 03 Jan, 2005 7:54 pm
- Location: out there. seriosly.