11

So I know most common way to generate pseudo-random numbers on Famicom or NES is linear feedback shift-register. However... It came to my mind - Famicom controller has a microphone. Did any game ever implement to instead do RNG by sampling noise from the microphone input? If not, would it be possible?

6
  • I don't think that the famicom controller had a microphone in it. Are you sure about that? Commented Jun 14 at 13:23
  • 4
    @OmarandLorraine - The Famicom’s Built-In Microphone Was Wonderfully Weird Commented Jun 14 at 13:45
  • I can't see why it wouldn't be possible; if you used a maximal polynomial for the LFSR size and checked you weren't seeding it with the one remaining illegal state.
    – Tommy
    Commented Jun 14 at 14:19
  • 4
    The second question of your two is just a 'what if' that applies to any system with a microphone in it, not just retro systems. Yes, it's possible but lots of things are possible. That's much more a discussion forum question rather than suited for a Q&A site.
    – TonyM
    Commented Jun 14 at 14:52
  • 1
    @ChrisWarrick, my point is valid, I can only assume you're not familiar with RNGs or serial data. A RNG gets long sequences of bits from a single random noise source by reading bits successively at intervals, then putting them together into a single binary value. That's basic computing and has already been said below. It also applies to anything with a mic input, not just Famicon. Hence my point.
    – TonyM
    Commented Jun 18 at 10:47

1 Answer 1

17

There are no documented games that used the mic for RNG. Hardly any games used the mic at all, and the mic was so unpopular it was dropped in later versions of the Famicom. As far as I can tell, there's not even ten games that used the mic. The mic is also unsuitable as a hardware entropy source, as it provides a simple 1-bit signal for the audio. That's right, it's basically an acoustically operated button. If a game wanted hardware entropy, it would have been much easier to just use the player's inputs as the source, because then you'd have 8 bits of entropy to use. However, most, if not all, developers either used a deterministic (e.g. frame counter) or a LFSR algorithm. Even if a modern developer from today were to write a new game for the Famicom, they'd likely use a LFSR, as they were cheap to implement on hardware that doesn't have many spare clock cycles.

3
  • 9
    but you could also read the microphone several times to get more bits. Commented Jun 14 at 20:33
  • 3
    @Jean-FrançoisFabre unless the user was actively dumping audio into the mic, they'd all be zeroes. According to various forums, there's a lowpass filter on the mic, and you also have to be actively trying to trigger the mic (audio at a close distance or loud dB) to register 1 bits. It'd be a fun gimmick to implement, but the player would need to know it's even a feature to intentionally try RNG manipulation using this hardware setup.
    – phyrfox
    Commented Jun 15 at 12:11
  • So in a way it was the original "Nintendo gimmick nobody found a good use for", right before ROB, forced touch controls on DS and forced 3D on 3DS? Cool, lmfao
    – shinobody
    Commented Jun 24 at 22:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .