6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 4:06 pm

All times are UTC




Post new topic Reply to topic  [ 22 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Sat Dec 31, 2011 5:30 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Various places say or imply that the original Furby toy (40 million sold) was 6502-powered, or wasn't, or might have been. This seems to be the source:
Quote:
Furby's silicon "brain" is based on a low-cost variant of the chip that powered the original Apple II.

It turns out that recently someone made a confident identification: it's a Sunplus SPC81A, described there, as on the datasheet, as a RISC with 80k ROM.

Sunplus do (or did) make a variety of 6502-like SoCs - including some which went into HP calculators(*) - and this is one of the subset versions. 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.

The datasheet describes a 500ns instruction cycle time at 4MHz. That's 2 ticks, which if it's the minimum time and variable could still be a normal 6502 implementation (except for the missing Y register.)

The chip size is given as 2450micron by 2190micron - these parts are sold are bare die, to be used chip-on-board with a blob of epoxy.

There's a furby circuit diagram here which shows a 3.58MHz crystal, the limit at 3V for this part.

Read the patent here for the "described embodiment" (apt phrase, for once)

Cheers
Ed

(*) It seems there were at least a few years when much of HP's calculator lineup was built by Kinpo who used Sunplus' 6502-based chips. The 35s still uses a sunplus 8502 (not the same as the MOS 8502 chip!).

(**) Search for "CPU6502 Instruction Manual" and read (a preview of) the pdf to see what they've done. All the indexed modes have gone, except for
- zero,X for LDA, STA, CMP and DEC, EOR
- abs,X for LDA
- (zero, X) for LDA, STA
(The same doc shows that the SPC* parts have different opcodes but same cycle counts as 6502, where the same operations exist)

Edit to add picture:
Image

Edit to update some dead links with archived links.


Last edited by BigEd on Wed Dec 07, 2016 9:10 am, edited 3 times in total.

Top
 Profile  
Reply with quote  
PostPosted: Sun Jan 01, 2012 12:09 am 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
BigEd wrote:
...The chip size is given as 2450micron by 2190micron - these parts are sold are bare die, to be used chip-on-board with a blob of epoxy...

What person buys a piece of wafer die with epoxy covering it? I guess a better question is who sells such a thing outside of their production facility?


Last edited by ElEctric_EyE on Sun Jan 01, 2012 1:32 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 01, 2012 8:47 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Pretty much every low-cost piece of electronics is made this way and has been for a long time. It's not much different from packaging the die in epoxy with a metal lead frame, shipping that somewhere else and then soldering it to a board, except it's more direct and uses less materials.

I was given a very cheap, dead, calculator in '83 made like this, and couldn't get at the chip because epoxy is difficult stuff. (If you're tempted to attack it physically, wear eye protection!)

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 01, 2012 6:23 pm 
Offline

Joined: Fri Jun 27, 2003 8:12 am
Posts: 618
Location: Meadowbrook
Had a furby, was planning to hack in, but tis kind of impractical.

Speaking of epoxy, what is the best way to remove? Got a light fixture I am reverse engineerring and want to remove the epoxy. Any ideas?

_________________
"My biggest dream in life? Building black plywood Habitrails"


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 01, 2012 6:27 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Try
http://siliconpr0n.wikispaces.com/Decap ... 28epoxy%29


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 01, 2012 6:54 pm 
Offline

Joined: Fri Jun 27, 2003 8:12 am
Posts: 618
Location: Meadowbrook
Thanks! :)

_________________
"My biggest dream in life? Building black plywood Habitrails"


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 01, 2012 11:35 pm 
Offline

Joined: Wed May 20, 2009 1:06 pm
Posts: 491
The company I work for sells any kind of strength acid: Hydrochloric, Nitric, Sulfuric, etc. They would only ship it FED EX (we ship US only) and I'm only saying this because I know you are in the computer business. I wouldn't be making any money off of you - my boss would. I think you should shop around and see if you could get it cheaper from closer locations.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jan 02, 2012 1:26 am 
Offline

Joined: Fri Jun 27, 2003 8:12 am
Posts: 618
Location: Meadowbrook
Thanks but am going to see the methods without using acids, the heat I think can work out. Wiould be too scared to use strong acids..... Thanks again though, man.

//trying to stay away from wierd chemicals for now, doctor called about possible cancer. Sigh...

_________________
"My biggest dream in life? Building black plywood Habitrails"


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jan 02, 2012 2:34 am 
Offline

Joined: Wed May 20, 2009 1:06 pm
Posts: 491
Nightmaretony wrote:
Thanks but am going to see the methods without using acids, the heat I think can work out. Wiould be too scared to use strong acids..... Thanks again though, man.

//trying to stay away from wierd chemicals for now, doctor called about possible cancer. Sigh...


Sure. All you really need is kitty litter and possible sodium bicarbonate to neutralize acids. I'd probably use baking powder if I didn't have any.


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 09, 2023 1:53 am 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Someone has just posted about this on Hacker News (about an hour ago as I write this).

The following link takes you to the discussion among HN members. And at the top of the discussion page is a link to the article itself (on archive.org). Furby source code (1998)

And someone has linked to the datasheet for the SUNPLUS SPC81A.

There's a previous HN discussion (2018) here.

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 09, 2023 9:44 am 
Offline
User avatar

Joined: Tue Oct 25, 2016 8:56 pm
Posts: 362
It always astonishes me how much they'll strip back to save a few pennies.

As much as a fan as I am of the 6502, I would consider it a pretty basic architecture - stripping away what little functionality exists seems like madness!

But, I suppose, its a case of which saves more money: £20,000 in extra programmer's headaches or 2p per unit sold... If you're selling more than a million units, the latter!

_________________
Want to design a PCB for your project? I strongly recommend KiCad. Its free, its multiplatform, and its easy to learn!
Also, I maintain KiCad libraries of Retro Computing and Arduino components you might find useful.


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 09, 2023 9:51 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Another possible reason for making a Y-free 6502 is to allow a pricing differential: now you have two products, selling the simpler one for less but more importantly the more complex one for more. Or you can look at it this way: you have a cost-reduced offering without undermining your original offering. I'm pretty sure SunPlus did have a range of not-quite-6502 cores.


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 09, 2023 1:10 pm 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
Alarm Siren wrote:
It always astonishes me how much they'll strip back to save a few pennies.

As much as a fan as I am of the 6502, I would consider it a pretty basic architecture - stripping away what little functionality exists seems like madness!

But, I suppose, its a case of which saves more money: £20,000 in extra programmer's headaches or 2p per unit sold... If you're selling more than a million units, the latter!


That's basically it - save a penny a unit, sell a million and it starts to mount up. Examples all over the place - microcontrollers with built in pull-up (and sometimes pull-down) resistors to save an external resistor - and even if that external resistor has a fraction of a penny cost, other costs still apply - e.g. the cost to pick and place a component on a PCB which is mostly time, but also solder paste and costs further back in the line - such as the amount of chemicals to etch the PCB and the device developers time to layout that board. These fractions of a penny costs mount up - I've even had one place I did some work for ask me to use another microcontroller - because that one had some extra widgetry on-board and cost a few pence less - even though reports from others using it were not positive (and the software would be more complex) but save money!!!

It did somewhat amaze me the lengths some people went to in the early Raspberry Pi days - they added external resistors, pull up/down/limiting - I did wonder why - was it because they were used to the old ways of things like e.g. a 6522 which didn't have internal pull-ups or some soft of belt and braces approach or were they just old timers and "that's the way it's always been done" ... (As for old - I'd consider it a mind-set rather than a physical age - I've been tinkering with electronics for over 45 years now ...)

Back to stripping back the 6502 - smaller die means maybe more to a wafer - maybe means less time to do whatever voodoo is needed to prepare, etch, wire bond, etc. and time is money... Harder to program for? Maybe, but that's a one-off cost and labour is cheap outside the "western world" ...

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 09, 2023 1:20 pm 
Offline

Joined: Wed Jun 23, 2021 8:02 am
Posts: 166
I wonder how much they actually save by chopping out the Y register? I can understand using internal pullups and stuff like that - it saves actual physical components, plus board space and assembly time and complexity. But chopping out the Y register on a 6502?? What's a 6502 contain - something like 3500 transistors (although maybe the CMOS versions are more)? How many do you save by binning the Y register? I wouldn't be surprised if the on-chip peripherals and RAM use substantially more die area than the processor. 128 bytes of RAM is 6144 transistors if you use the standard 6 transistors per SRAM bit - that's already nearly 2 x the CPU and then you have the peripherals on top of that.


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 09, 2023 1:46 pm 
Offline
User avatar

Joined: Tue Oct 25, 2016 8:56 pm
Posts: 362
It could also be an effort to reduce defect rates. If BigEd's suggestion that they also make variants that do have the Y register, perhaps actually the die is the same on all of them, but if its found there's something wrong with the Y register during testing they just chuck it in the "no-Y-register" bin and sell it anyway.

Also, honestly from the description it sounds like they chopped out a lot more than just the Y register. The X addressing modes also appear to have been seriously cut back...
BigEd wrote:
(**) Search for "CPU6502 Instruction Manual" and read (a preview of) the pdf to see what they've done. All the indexed modes have gone, except for
- zero,X for LDA, STA, CMP and DEC, EOR
- abs,X for LDA
- (zero, X) for LDA, STA


I'm particularly defuddled as to the apparent arbitrary nature of that which remains. Why DEC and not INC? Why XOR and not AND/OR? Why does abs,X not have STA? Why have (ZP, X) and ZP,X addressing modes at all when ZP only contains I/O registers (according to the linked datasheet)?

Granted the amount of RAM is so tiny that perhaps the chip designers thought that almost everything will be in fixed locations anyway. LDA abs,X for example could be used for dynamic table lookups within the ROM, but there's unlikely - given the amount of RAM - to be any need to do STA abs,X. But yeah, what's left still feels like an odd collection.

_________________
Want to design a PCB for your project? I strongly recommend KiCad. Its free, its multiplatform, and its easy to learn!
Also, I maintain KiCad libraries of Retro Computing and Arduino components you might find useful.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 22 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 13 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: