Original Source code for the Furby [pdf]
Surprisingly sophisticated. I didn&#x27;t remember them being much more than annoying when my kids &quot;had to have one.&quot;<p>Hey, I recognize those opcodes. 6502 (Commodore, Apple 2, etc) Cool! I had no idea what was running these things.<p>Time Slice Task Master (aka &quot;cooperative multitasking without preemption&quot;)<p>Interesting they set the PWM (pulse width modulation) based on battery voltage as not to stress out the motors. Cheaper than some caps &amp; resistors for a voltage divider from a high V source, or a boost&#x2F;buck controller. Still necessary for the CPU though. If I remember correctly, this thing ran off 4 1.5V cells (+6V). Yay, software!<p>Clever use of tilt sensor to seed the pseudo-random num generator. (page A22)<p>Too bad the diagnostic file isn&#x27;t included (diag7.asm) per page A21.<p>(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&#x2F;vertical retrace -- while here they&#x27;re doing it so the service intervals on sound &amp; motor control come out right.<p>(A36) LOL @ &quot;Rap mode&quot;<p>A39 - the various sensor sequences needed to trigger the modes<p>I gave up at about 45 pages, but there is obviously some neat stuff here.