27 ms·
Original Source code for the Furby [pdf]
- dnrvs 8y agoAlternative source with multiple formats including an OCR'd text file: https://archive.org/details/furby-source https://archive.org/details/furby-source
- ChuckMcM 8y agoInterestingly it is the exact same scan. (you can download from IA in pdf and get the same file that the link points to).
- userbinator 8y agoThe patent wrapper containing it was obtained and scanned by Sean Riddle (seanriddle.com). This is where it came from, in case anyone (including me) was wondering --- there are a handful of articles online claiming it was "leaked", but it doesn't appear to be so. It is probably not coincidental that this marks the 20-year expiry of that patent. Patents can have very interesting things in them, including source code. I can't find the reference now but I remember reading that a famous early calculator (TI? HP?) was reverse-engineered and emulated down to the transistor level because of the detailed chip layout and source code from a patent.
- SopaXorzTaker 8y agoI was occasionally Googling the source code out of boredom, and one day this yielded a bannister.org post of Sean claiming he had obtained a scan of the source code from the USPTO. I proceeded to contact him and he proceeded to scan and publish it in a few days.
- joshmarlow 8y agoYou could totally combine this with some ideas from the Tamagotchi Matrix [0] and create a virtual world of furbies. [0] - https://hackaday.com/2015/11/24/building-the-infinite-matrix-of-tamagotchis/ https://hackaday.com/2015/11/24/building-the-infinite-matrix...
- pronoiac 8y agoThey made a heaven for emulated Tamagotchi! This makes me happy. http://tamahive.spritesserver.nl/ http://tamahive.spritesserver.nl/
- bacon_waffle 8y agoI believe the period-correct way to combine things like this, is by imagining a beowulf cluster of them.
- beyti 8y agoI don't know how I missed this.
- moepstar 8y agoJust a friendly warning if you're on mobile: the PDF weighs in at 62MB...
- Operyl 8y agoYikes, that’s probably worth adding to the title. I was trying to load it in mobile Safari and I thought it was just hugged to death.
- superkuh 8y agoIt's 6.4 MB. But maybe the URL was changed?
- Retr0spectrum 8y agoYes, it appears to have been "optimised" at some point. Anyone have the full-res original? Edit: https://archive.org/details/furby-source https://archive.org/details/furby-source
- SopaXorzTaker 8y agoYes, the OCRed version has a lower quality and is smaller. However, archive,org does preserve the original if you need it.
- pinewurst 8y agoIf I remember correctly, the Furby was a deinstructioned 6502 copy, somewhat like the Ricoh NES processor.
- monocasa 8y agoIt's definitely a 6502 looking at the source. And the NES is a real 6502. They just made a couple very simple patches to the metal layer. Didn't want to pay for the patents on the BCD instructions AFAIR.
- pinewurst 8y agohttp://forum.6502.org/viewtopic.php?f=1&t=2027 http://forum.6502.org/viewtopic.php?f=1&t=2027 "The datasheet describes it as a 6502 instruction set, with an X register but no Y, and just 69 "instructions" (presumably opcodes, of which the 6502 has 151). It has a banked ROM architecture and just 128 bytes of RAM at $80 through $FF which "includes stack" - so page one is folded onto page zero presumably."
- monocasa 8y agoOK, it does look like a Sunplus SPC81A, like they said. Memory map, interrupts, I/O registers all match. http://www.ic72.com/pdf_file/-/428557.pdf http://www.ic72.com/pdf_file/-/428557.pdf FWIW though, it doesn't loo like page one is an alias of page zero, but is instead unmapped. That's not the biggest deal in the world to the zero page the fixed stack page given that this is probably a totally different mask set than a regular 6502. I wonder if you can underrun the stack into the HW registers or if their stack pointer is only 7 bits?
- jackhack 8y agoSurprisingly sophisticated. I didn't remember them being much more than annoying when my kids "had to have one." Hey, I recognize those opcodes. 6502 (Commodore, Apple 2, etc) Cool! I had no idea what was running these things. Time Slice Task Master (aka "cooperative multitasking without preemption") Interesting they set the PWM (pulse width modulation) based on battery voltage as not to stress out the motors. Cheaper than some caps & resistors for a voltage divider from a high V source, or a boost/buck controller. Still necessary for the CPU though. If I remember correctly, this thing ran off 4 1.5V cells (+6V). Yay, software! Clever use of tilt sensor to seed the pseudo-random num generator. (page A22) Too bad the diagnostic file isn't included (diag7.asm) per page A21. (A33) That cycle-counting timer loop brings back memories, too -- throwing in a few NOP (no-operation) calls just to eat a cycle and get the timing right on a horizontal/vertical retrace -- while here they're doing it so the service intervals on sound & motor control come out right. (A36) LOL @ "Rap mode" A39 - the various sensor sequences needed to trigger the modes I gave up at about 45 pages, but there is obviously some neat stuff here.
- cmrdporcupine 8y agoWestern Design Center still apparently sells millions of 6502 cores each year. Especially for devices like this. So it's quite possible this was properly licensed and WDC provided 6502 IP. It looks like this is basically a 6502 with no Y register and a reduced set of instructions. Some past discussion of this: http://forum.6502.org/viewtopic.php?f=1&t=2027 http://forum.6502.org/viewtopic.php?f=1&t=2027
- bsder 8y ago> It looks like this is basically a 6502 with no Y register and a reduced set of instructions. Why would you do this? It absolutely can't have made any difference to the cost of the processor in 1998.
- cmrdporcupine 8y agoWell, I'm not a hardware engineer, but... Who knows maybe the processor had been designed and produced a long time before that, and that made it super super cheap to throw on a BOM because it was technology from a few years before. Also likely to use sliiiightly less power, and be even more responsive to interrupts.
- js2 8y agoFurby was recently discussed in the middle third of this Radiolab episode: https://www.wnycstudios.org/story/more-or-less-human https://www.wnycstudios.org/story/more-or-less-human If you turn a Furby upside down, it will start saying that it's scared after a bit. So they do an experiment where they ask kids to hold a barbie doll, a Furby, and a hamster upside down to see how long the kid will hold the item upside down before the kid becomes uncomfortable and turns it right side up. The show goes on to interview the guy who designed Furby (Caleb Chung). He defends the Furby as being alive. He then talks about a dinosaur toy he designed (Pleo) that a review site posted a video of the reviewers beating up the dinosaur till it stops functioning[0]. That left him very uncomfortable. He's now working on designing an animatronic baby doll and is cognizant about how to design it so that it discourages (or at least won't encourage) any type of sociopathic behavior. This part starts 20 minutes in and is 20 minutes long. The first third of the episode is about the Turing test. The last third of the episode talks about using VR to allow someone to put themselves in another person's body. I enjoyed the whole episode. Radiolab doesn't publish transcripts, so you'll need to make an hour to listen. [0] https://www.youtube.com/watch?v=pQUCd4SbgM0 https://www.youtube.com/watch?v=pQUCd4SbgM0
- hmhrex 8y agoI was going to mention this too. It was a great episode that gave me a lot to think about (I have kids)
- joshmarlow 8y agoHere's a negative path that I hope doesn't occur - we build toys that are more lifelike, communicative and designed to invoke empathy, and some children will just become desensitized to empathy triggers. I wonder if there's any research to prove/disprove something like that? Is empathy desensitization a thing?
- mcheshier 8y agoMilitary forces around the world have figured it out - they have a common dehumanizing language to avoid empathy triggers.
- th0ma5 8y agoSeems like it is supposed to be cp437 but the font used to print this isn't.
- nastypasty 8y agoIs that real?
- ninjakeyboard 8y agoReminds me of this video https://www.youtube.com/watch?v=IHbaBd3h0FU https://www.youtube.com/watch?v=IHbaBd3h0FU
- kaycebasques 8y agoAn ex-girlfriend of mine worked for the company that works on the latest iterations of Furby. She wrote a lot of the lines that the Furby speaks, if I recall correctly. She loved to sit in on the voice recording sessions and hear the actors speak the lines. One of the voice actors was rather prominent and had done a lot of recognizable voices from various cartoons.
- GeorgeTirebiter 8y agoI build a system once for a furby-like product that was designed so that the voice talent could listen to all sorts of speech snippets, and, crucially, play them back over the exact same hardware as the final toy's. These 'golden ear' folks would pick the best (heavily compressed) speech that would be used in-product.
- vjeux 8y agoFor those like me who don't know what Furby is: "Furby is an American electronic robotic toy released in 1998 by Tiger Electronics. It resembles a hamster or owl-like creature and went through a period of being a "must-have" toy following its holiday season launch, with continual sales until 2000. Over 40 million Furbies were sold during the three years of its original production, with 1.8 million sold in 1998, and 14 million in 1999. Its speaking capabilities were translated into 24 languages." https://en.wikipedia.org/wiki/Furby https://en.wikipedia.org/wiki/Furby
- lgats 8y agohttps://exif.tools/https://www.seanriddle.com/furbysource.pdf https://exif.tools/https://www.seanriddle.com/furbysource.pd...
- Symbiote 8y agoI wonder if anyone could use this to improve on the Furby Organ? https://www.youtube.com/watch?v=GYLBjScgb7o https://www.youtube.com/watch?v=GYLBjScgb7o
- fluxsauce 8y agoThat guy is incredible; I've been a supporter for a while. He's also a hardware, not a software guy, so I strongly doubt he'd make use of it. He'd respect its existence and any derivatives or interfaces that might come out of it, though!
- ebullientocelot 8y agoI just ordered a print copy of this. Going to have a ritual burning of the Furby source at upcoming 90's nostalgia party.
- EvanAnderson 8y agoI really wish my wife hadn't gotten rid of her old original Furby. I'd love to "follow along" in the code while it's actually running.
- mewse-hn 8y agoIt would be really neat to have a "build a furby" kit with motors and chips you had to flash yourselves with this source code..
- ChuckMcM 8y agoI attended a talk that Dave Hampton gave on the creation of the Furby, it was a lot of fun. For such a "simple" toy there was a lot going on. I picked up a couple of Furbies and did the 'make them talk' hack (basically inserting an SBC with Ethernet into their bodies so that you could feed their audio and animitronic circuits with the output of a text to speech converter. For a while I had one reading out nagios alerts, and yes that is as creepy as it sounds.
- bvanderveen 8y agoEmulator when!? … "Furbulator" Need it to sneeze when the build fails.
- ixtli 8y ago"Due to lack of time, I resort to brute force ... YUK ..." - (label Simon3 page A-60) Same here :(
- jcoffland 8y agoI worked with Caleb Chung (designer of Furby) on the Pleo (Animatronic Dinosaur) project. It was much more sophisticated but that was also part of it's downfall. I worked on the VM (Pawn) that ran on it's ARM processor and would have allowed for user programming of new behaviors.
- acobster 8y agoAnyone know what the Easter eggs in the Furby35 changelog entry are? > BURP ATTACK, SAY NAME, TWINKLE SONG, and ROOSTER LOVES YOU
- SopaXorzTaker 8y ago> Anyone know what the Easter eggs in the Furby35 changelog entry are? They are well-known and documented almost everywhere. The interesting thing the code does reveal, though, is that there were only 15 possible names, with this being extended to 24 later.
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]