
Original Source code for the Furby [pdf] - rahimiali
http://www.seanriddle.com/furbysource.pdf
======
jackhack
Surprisingly 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.

~~~
chocolatebunny
6502 is also what the Terminator ran. We should thank our time traveler
saviors for stopping the Furby uprising from happening.

~~~
danellis
I think we can assume that, given the complexity of a Terminator, the 6502 was
just there for I/O, kind of like a BBC Micro with an ARM processor.

~~~
mschaef
Or a Mac IIfx... "Wicked Fast".

------
ChuckMcM
I 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.

------
js2
Furby 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)

~~~
joshmarlow
Here'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?

~~~
EGreg
Yes the uncanny valley can cause that already.

For example, in the past, when someone asked you for directions you gave it to
them. Now some people are like “don’t you have google?” Same goes for asking
for any type of informational help.

Before, many people would cook or help people do things like move or pick them
up from the airport. Now they can just do it via a gig economy app so why
bother.

So yeah, parents don’t really pay attention to their kids, friends don’t pay
attention to their friends, dating has become shallow, people’s attention
spans are lower etc.

Why? Because we have new modes of communication with swiping and LOL and we
don’t actually want to hear long heartfelt explanations when the shorthand
takes far less time so we can fit in more interactions in a single day.

Example: [https://www.lifehack.org/299404/](https://www.lifehack.org/299404/)

[https://www.psypost.org/2018/05/smartphones-can-prevent-
pare...](https://www.psypost.org/2018/05/smartphones-can-prevent-parents-
cultivating-feelings-connection-children-51198/amp)

[http://www.wired.com/2014/02/outsourcing-humanity-
apps/](http://www.wired.com/2014/02/outsourcing-humanity-apps/)

~~~
klez
I don't know how to say this without seeming offensive, but you seem to have
really shitty people around you if this is your experience.

The worst I received when asking for directions was a brusque "I don't know"
(like, just a couple of times in my whole life). If I ask friends for help,
they help. We do dinners together at home and last time I moved, a little army
materialized.

If you were looking for reasons to shit on the gig economy (and I would have
nothing against it) you could find really better reasons.

~~~
EGreg
Literally as I was about to reply to you, the doorbell rang and the Uber Eats
person dropped off the stuff. They said “thank you” and that was the extent of
our interaction.

Most of the people in my building under 60 don’t know ther upstairs neighbors,
or even on the same floor. The streets, once filled with people, are mostly
empty. People rarely write letters or postcards and visit less often than
before. Dating communication has texting instead of voice (takes too long when
you’re multitasking). Heck even with birthday wishes - once thoughtful calls
have been replaced with facebook posts where you don’t even look at the
person’s wall.

If you really think it’s just me, compare photos of the 50s to now. Also here
are studies and statistics:

[https://en.m.wikipedia.org/wiki/Bowling_Alone](https://en.m.wikipedia.org/wiki/Bowling_Alone)

[http://www.wired.com/2014/02/outsourcing-humanity-
apps/](http://www.wired.com/2014/02/outsourcing-humanity-apps/)

[https://www.theatlantic.com/magazine/archive/2017/09/has-
the...](https://www.theatlantic.com/magazine/archive/2017/09/has-the-
smartphone-destroyed-a-generation/534198/)

[https://theconversation.com/with-teen-mental-health-
deterior...](https://theconversation.com/with-teen-mental-health-
deteriorating-over-five-years-theres-a-likely-culprit-86996)

[https://www.npr.org/sections/health-
shots/2018/05/01/6065885...](https://www.npr.org/sections/health-
shots/2018/05/01/606588504/americans-are-a-lonely-lot-and-young-people-bear-
the-heaviest-burden)

[http://www.wsj.com/articles/to-beat-the-blues-visits-must-
be...](http://www.wsj.com/articles/to-beat-the-blues-visits-must-be-real-not-
virtual-1464899707)

~~~
walrus01
I have heard people complain that everyone is glued to their phone these days
while riding public transit. But humans are easily bored and want _something_
to do. Here's a photo of a train full of people reading newspapers, what's the
difference?

[https://www.raconteur.net/wp-
content/uploads/2017/02/Digital...](https://www.raconteur.net/wp-
content/uploads/2017/02/Digital-revolution-1-1280x720.jpg)

------
dnrvs
Alternative source with multiple formats including an OCR'd text file:
[https://archive.org/details/furby-source](https://archive.org/details/furby-
source)

~~~
userbinator
_The 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
I 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
You 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...](https://hackaday.com/2015/11/24/building-the-infinite-matrix-of-
tamagotchis/)

~~~
pronoiac
They made a heaven for emulated Tamagotchi! This makes me happy.

[http://tamahive.spritesserver.nl/](http://tamahive.spritesserver.nl/)

------
ebullientocelot
I just ordered a print copy of this. Going to have a ritual burning of the
Furby source at upcoming 90's nostalgia party.

------
Symbiote
I 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
That 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!

------
vjeux
For 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)

------
bvanderveen
Emulator when!?

… "Furbulator"

Need it to sneeze when the build fails.

------
ninjakeyboard
Reminds me of this video
[https://www.youtube.com/watch?v=IHbaBd3h0FU](https://www.youtube.com/watch?v=IHbaBd3h0FU)

------
EvanAnderson
I 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
It would be really neat to have a "build a furby" kit with motors and chips
you had to flash yourselves with this source code..

------
kaycebasques
An 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
I 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.

------
jcoffland
I 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.

------
pinewurst
If I remember correctly, the Furby was a deinstructioned 6502 copy, somewhat
like the Ricoh NES processor.

~~~
monocasa
It'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
[http://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
OK, 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?

------
ixtli
"Due to lack of time, I resort to brute force ... YUK ..." \- (label Simon3
page A-60)

Same here :(

------
acobster
Anyone know what the Easter eggs in the Furby35 changelog entry are?

> _BURP ATTACK, SAY NAME, TWINKLE SONG, and ROOSTER LOVES YOU_

~~~
SopaXorzTaker
> 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.

------
th0ma5
Seems like it is supposed to be cp437 but the font used to print this isn't.

------
lgats
[https://exif.tools/https://www.seanriddle.com/furbysource.pd...](https://exif.tools/https://www.seanriddle.com/furbysource.pdf)

------
moepstar
Just a friendly warning if you're on mobile: the PDF weighs in at 62MB...

~~~
superkuh
It's 6.4 MB. But maybe the URL was changed?

~~~
Retr0spectrum
Yes, 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
Yes, the OCRed version has a lower quality and is smaller. However,
archive,org does preserve the original if you need it.

------
nastypasty
Is that real?

