[HN Gopher] Reverse-engineering a tiny 1980s chip that plays Chr...
___________________________________________________________________
Reverse-engineering a tiny 1980s chip that plays Christmas tunes
Author : picture
Score : 172 points
Date : 2021-12-25 18:30 UTC (4 hours ago)
(HTM) web link (www.righto.com)
(TXT) w3m dump (www.righto.com)
| pvitz wrote:
| The linear-feedback shift register method is also used for
| procedurally generating content in e.g. demos. Funny to see this
| implemented in hardware and it would be interesting to know when
| this trick was used firstly.
| TedDoesntTalk wrote:
| > I dissolved the epoxy package in boiling sulfuric acid to
| expose the silicon die inside
|
| What!!?
| kragen wrote:
| I take it you prefer boiling colophony? Or are you a nitric
| man? Or are you, like me, surprised that even little old
| sulfuric could handle the job?
| textcortex wrote:
| I hope he did not inhale the fumes.
| authed wrote:
| I wonder why it needs to be boiling...
| SAI_Peregrinus wrote:
| It's very slow with cool acid.
| textcortex wrote:
| It's hard to imagine, how they designed this chips without having
| modern wafer design tools. Crazy
| bshep wrote:
| Any idea where i can source some of the -01L or 01S versions ( or
| something similar ). My google fu seems to be rusty... Id like
| 5-10 for some projects with the kids.
| kens wrote:
| Sorry, I don't have any sources other than what turns up on
| eBay.
| linker3000 wrote:
| Just an 08 equivalent:
|
| https://kitronik.co.uk/products/2939-happy-birthday-melody-i...
| kens wrote:
| Author here if anyone has questions about the chip...
| _joel wrote:
| Excellent work Ken, as always. Love the detail.
| RodgerTheGreat wrote:
| What is the "options" section in the block diagram? Does that
| represent the debug functionality you mention on unexposed
| pins? Anything else interesting that someone could do with
| these chips in a different package?
| vatys wrote:
| > The chip has 3 pins, but there are 8 pads on the die. The
| other pins appear to be used for testing. By activating one
| of the pins, the chip can be put into a test mode. The test
| mode runs through the songs at 512x speed so the chip can be
| tested quickly without waiting for the tunes to play. The
| other test pins appear to expose other internal data for
| testing.
|
| This makes me wonder if you put one of the other test pins on
| a scope, if you'd see a pattern representing the song or
| sequence, allowing quick verification of the chip. I think at
| 512x speed, even a more limited storage scope of the era of
| these chips could capture the full output on-screen. Each
| flavor of the chip probably had an expected pattern based on
| ROM which could be checked.
|
| I'm imagining a technician sitting at a test bench, having to
| do verification work on these all day, thankful for having a
| test pin instead of having to listen to the same dang beeping
| song over and over :)
| kens wrote:
| The options are things such as staccato notes vs held notes
| or making the chip loop continuously. These are implemented
| in the logic section through connections in the metal layer
| to power or ground. In other words, different versions of the
| chip have the metal layer constructed slightly differently to
| obtain different behavior.
| hugolundin wrote:
| I've been following your blog for a while and just wanted to
| thank you for your work. Keep it up! :)
| vatys wrote:
| The block-diagram level breakdown of the different sections of
| silicon is really a wonderfully helpful way to look at this. It
| makes the zoomed in view of each section more meaningful. Then
| seeing the die photo of individual transistors or groups of
| them, next to schematic level interpretation, really drives it
| home. Thanks for making something so instructive.
|
| Have you decapped other sound-making devices? The greeting card
| chip makes me think of the ubiquitous "laser noise" chip from
| countless 80's kids toys. That or one of the many kid's
| keyboards or baby noise console devices, that have all of the
| function inside a single epoxy-blobbed die. It would be pretty
| fascinating to see a similar breakdown of which sections encode
| samples, note values, rhythm and sequences, control inputs,
| etc.
| scoot wrote:
| Your description immediately made me think of the TI SN76577
| "Complex Sound Generator" IC [1]. If I'm not mistaken it was
| used in the early versions of the MB Games Electronic
| Battleship game (think falling missile and white-noise
| explosion sounds).
|
| Edit: Not a decap, but this page [2] has links to the
| datasheet and other reference material that includes a block
| diagram, and even has circuit diagrams of the internal
| circuitry.
|
| Edit 2: A video [3] demonstrating some of the possible
| sounds.
|
| [1] https://en.wikipedia.org/wiki/Texas_Instruments_SN76477
| [2] http://sandsoftwaresound.net/sn76477-complex-sound-
| generator... [3] https://www.youtube.com/watch?v=atH1MvXDYYE
| kens wrote:
| Coincidentally, I've written about that chip :-)
| http://www.righto.com/2017/04/reverse-
| engineering-76477-spac...
| scoot wrote:
| Nice!
| jhpankow wrote:
| Is it possible that your "Structure of an inverter" image is
| mislabed? NMOS would be on the left and PMOS on the right. My
| thinking is the PMOS has the extra diffusion step to create the
| n-well for the channel under the gate.
| kens wrote:
| It's quite possible that they are reversed; I'm sort of
| guessing. PMOS transistors are usually bigger, so I think
| it's the one on the left. The chip could have n-wells or
| p-wells, so it could go either way with the extra diffusion.
| ashleyn wrote:
| One of my earliest memories is my grandmother giving me a
| musical christmas card that played a medley of Jingle Bells and
| Santa Claus is Coming to Town. I thought it was the cutest
| thing ever. This had to have been it. Thank you so much for
| reminding me of this old memory on Christmas. :)
| kloch wrote:
| Can boiling sulfuric acid like you used to dissolve the epoxy
| package be used to successfully de-bayer a CMOS camera sensor?
| genewitch wrote:
| You'd think someone would have a service dedicated to this,
| but I've wanted a monochrome dslr or mirrorless for like a
| decade and a half, already.
|
| Preferably Nikon, but my limited understanding is that the
| canon sensors are easier to debayer.
| jcims wrote:
| Crazy thing is you can buy the same sensors monochrome for
| industrial and astro applications but the cameras are twice
| as expensive.
|
| Eg Sony IMX455 61MP sensor in the $4k ASI6200:
| https://astronomy-imaging-camera.com/product/asi6200mm-
| pro-m...
| kens wrote:
| Maybe; I haven't tried that. I don't know what the Bayer
| layer is made of; if it's glass, you'd need HF or something
| nasty.
| kragen wrote:
| Nice work!
|
| How many transistors does it have in all?
|
| They could have used an LFSR for the PC too. Would that have
| saved some area? If not, I wonder why they used them elsewhere.
|
| Are the resets (on 10000...) synchronous? If not I wonder how
| they handled glitch safety.
| kens wrote:
| I estimate about 1500 transistors. Yes, they could have used
| the LFSR for the PC; I've seen that in early
| microcontrollers. I actually expected to see a LFSR there.
| Maybe they wanted to have a linear ROM layout to make their
| life simpler.
|
| Yes, the resets are synchronous.
| kragen wrote:
| Thank you very much!
|
| I wonder if you could do a CMOS mC in 1500 transistors; my
| best ideas so far are barely under 3000. Of course to make
| music that way you need a much faster clock plus some code
| memory.
| rvba wrote:
| Can you post a video of all songs?
|
| My parents had that card when I was a kid, it really was great.
| _joel wrote:
| Behold, the Santasizer courtesy of LMNC (Highly recommended sub,
| if you like circuit bending, old tech being used to make music,
| Gameboy/Megadrive arrays etc etc etc)
|
| https://www.youtube.com/watch?v=qcqGqpI4qBU
|
| Merry Christmas!
| _joel wrote:
| Oh and flame-throwing pipe organs, as well, why not?
___________________________________________________________________
(page generated 2021-12-25 23:00 UTC)