7
\$\begingroup\$

I have very little background on electronic design.

After studying a bit on how pseudo-random number generators work on general purpose computers, I became curious on how old hand-held games (like the Mattel Electronics series) randomized the events occurring in the game. As far as I know, many of them didn't utilize microprocessors at all.

Did they occupy a pseudo-random number algorithm implemented with basic electronic components, or are there ways of producing random-like numbers with basic electronic components? If such ways exist, why are they not available on our general purpose computers?

The main reason for my question stems from the need to seed the random number generator. Those primitive handheld games didn't seem to have a clock or something that could act as a seed (or perhaps they had a seeding counter running even if the game was turned off but connected to the battery?)

\$\endgroup\$
  • \$\begingroup\$ I seem to recall two basic methods, random noise generators based around diodes/transistors and shift registers with feedback using XOR to produce a pseudo-random number. \$\endgroup\$ – JIm Dearden Mar 21 '14 at 23:39
5
\$\begingroup\$

From the older machines that I have looked at, often a clock was kept running via a small cell battery. And the time on that clock at start up was checked and used for various calculations. I'll try to dig up a concrete example when I get home from work!

Edit:

One common way of implementing this was through the classic 555 timer chip, circia 1971 (Either the IC or designing one with electronic components) An explanation of the chip can be found here:

http://en.wikipedia.org/wiki/555_timer_IC

This chip can typically be found in any hobbyists toolbox, but how do we use this chip to generate random numbers? The short answer is that we cannot, we must use this in conjunction with other coutning circuits etc. While today these can be found in convenient IC packages, they can be recreated with common components. I tried to prepare a good example, but managed to find a much better one online! An example of such can be found/explained here:

http://www.engineersgarage.com/electronic-circuits/random-number-generator-using-7-segment-display

Hope this helps! :)

| improve this answer | |
\$\endgroup\$
  • 2
    \$\begingroup\$ I'll trade an upvote for the concrete example. \$\endgroup\$ – Ricardo Mar 21 '14 at 18:21
  • \$\begingroup\$ @Bubo Oh, I see. If I understand correctly the circuit you are referring to, you have a very fast running counter, and you peek at the counter value at a given time, with the BCD-to-7 -segment display acting as a modulo 8 operation. The randomness is tied to the time we decide to peek at the value, am I right? (this could be tied to the moment we pressed the game keys). This certainly seems like a very efficient way of implementing randomness for a simple game. Thanks for the response \$\endgroup\$ – sgorozco Mar 21 '14 at 23:46
  • \$\begingroup\$ Not a problem, glad I could help! \$\endgroup\$ – Bubo Mar 22 '14 at 16:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.