Friday, July 6, 2012

SEED Supercomputer Part 2

SEED BASIC Stamp Supercomputer SBS stages
These are images of the first version Bstat Base Station. This test unit includes a Parallax wireless radio frequency transmitter and receiver, a piezo speaker, and various test circuits in place that will be used for switches and controls.
SBS BSTAT adds wireless radio control to BASIC Stamp Supercomputers
The Basic Stamp Supercomputer BSS has both LCD and uOLED monitors. For the SBS, I wanted absolute minimal power draw (total is 80ma for all 10 boards and piezo speakers), and to incorporate all BS1 projects at the most simple level. Sometimes developing the simple approach is more complicated than the complex approach and then it becomes a wonderful challenge and a great learning experience along the way.

The BSS is all about the entire range of BS2's and their advantages, and the SBS is all about the BS1 and its advantages. With the new SBS, compared to the other peripherals, the 20ma draw of a green screen was very heavy, and it's offered as an option.

With this project, the purity of the BS1 is maintained, the learning experience shows that it has good advantages. Even the remote base Bstat which communicates wirelessly with the SBS has a BS1 for a heart and it drives audio, radio transmitters, receivers, switches, LED, same as what a BS2 or Propeller can do. Anyone, of course, can build the SBS project and add a Propeller chip board as an upgrade, with TV, mouse and keyboard.

Views of a fully operational SBS supercomputer
SRAM Comment: The SRAM add on is one possibility. But you've got 4 MHz, 256 bytes EEPROM, 16 bytes RAM, and 8 i/o pins multiplied by ten to work with, which is ten times more than some computers I built in the past. There's Prop chips to interface but I prefer to keep this unit strictly pure with the Stamps. Doing a project like this one, with the Propeller chip, is an entirely different ball game. You can stitch together some boards using pin to pin but the real power is going to come from the man who can develop the suite of working software. The evolution of this project has gone in both directions, that of new hardware and new programming, i.e. the original released project has evolved in terms of a new circuit, new code, new concept and new name.

It's interesting how many people have now strung together Stamps, and Propeller Chips, to make supercomputers. It is not surprising that many doing this with the Propeller Chip are playing catch-up with the software to utilize the hardware. Both are very important considerations and must have a perfect marriage to harmoniously accomplish work. I would suggest starting with Basic Stamp projects and then working up to the Propeller chips, mainly to gain some experience working with Stamps at a more fundamental level and to create some working systems that have minimal development time, and especially since one can now follow the plans posted in the Forum. With the second Stamp Supercomputer, the hardware is well established and one may either use existing software examples or concentrate on developing all new software, as is accomplished with SEED.

Minuscule Stamp Supercomputer
Announcing a Minuscule Stamp Supercomputer. Mainly for testing this project. It's the smallest qualifier for a Stamp Supercomputer. Start with two and go up. Details and function, plus working transmitter and receiver serial software:

The stamp ai code is now posted in the software section of this series of postings. Stamp AI is one program that gives life to the Stamp SEED Supercomputer using only 256 bytes and less than 100 code statements. The same code evolves in each of the ten computers, they are born, unique personalities arise, they may get to know their neighbors, nap, sleep, dream, have memories, are self aware, deterministic, do work, thinking, and finally go into suspended animation with a heart beat every 2.6 seconds at 25 ua.

The schematic now posted into page 1 of this post series - includes details for all utilized ports and lines, power distribution, enumeration circuits and the Parallax transceiver for wireless communication. This runs stamp ai.bs1 software, also posted, and is the Worlds 1st Living Stamp Supercomputer.

Life Forms
Each stamp computer is a life form. However, a single life form could result by combining all individual life forms. The code is nearly maxed out, but includes enough space for a few more statements such as the Piezo Language expansion or other ideas. The code makes no significant effort to compress so there's plenty of room to gather up more programming space. Note the schematic is fully detailed and simplified so that any reasonably versed person can build it. Comments are welcome.

How stamp_ai.bs1 code works

How stamp_ai.bs1 code works
“Stamp AI gives a living soul to small Stamp microprocessors”
By Humanoido July 2009

Stamp SEED Supercomputer! All new! This is a ten core, ten month project, with the 1st Stamp AI software to fit into 256 bytes eeprom - self determinate, evolving, enumerating, dreaming, poetic, noisy, talkative, and downright friendly. It runs on only one program that self evolves differently in each of the ten computers. It's evolutionary - it's revolutionary!

Load stamp_ai.bs1 into all ten computers. Connect to the computer you want to monitor and load the code. Turn off the entire supercomputer when the blue debug screen appears (before any words appear on the screen). Now turn on the supercomputer. The debug screen will show the thinking of the computer it is connect to. This is the viewer. It shows what the life form is thinking and doing. It even shows dreams. All life forms are unique and develop individual personalities.

There is an unseen birthing process that takes place. This is the DNA part of the program, with directives, declarations, and initializations. Then, introduction takes place. Suddenly, evolution begins. The life form looks at pin 1 from which it determines its own unique identity, using a resistor capacitor circuit. Next, the unique identification (self enumerating) is used to determine its computer number and its physical location to know which block it lives on. The supercomputer is divided into ten blocks, computer 1 lives on the lowest block while computer ten lives on the top block (deterministic).

This personal information is committed to memory. There are two memory locations, 0 and 1, designated for the id and computer number. Throughout the life of the entity, this information is remembered and recalled. Now the life form will take a series of naps. The NAP number is 0, which represents 18 milliseconds. In between each nap, there is a dream. Dreams are pseudo random in nature and occur in Vers Libre, a kind of abbreviated poetic verse.

Dreams also include numbers and their pseudo random bit representation. Dreams are unique because they are seeded with the unique personal id.

After napping and dreaming, a deep sleep results. The length of sleep is directly related to the life form’s computer number. The lower computer number life forms have shorter sleep, while the higher number life forms spend more of their time sleeping. Sleeping can have cause and effect, because in the next waking phase, a life form will talk - call out and speak its personal information to its neighbors. These are the friendly ones. Whether neighbors hear this information depends on whether they are sleeping or awake. The lazy ones will miss the information. In the extreme case, life form 10 sleeps so much that he misses hearing all of his neighbors, and becomes somewhat of a hermit. His memory has little information. Life form one sleeps the least time, and as a consequence, knows all his neighbors and is very friendly. His memory is rich and filled with all the neighbors information.

In the next phase of life, the memories about the neighbors are recalled. All of this appears on the viewer. Thinking and information always appear on the viewer. This is a unique privilege to see the life form’s thought process on the screen. No life form is complete without doing some work in life. Each life form will start talking about its computer number, identification, how many seconds it did sleeping, how many neighbors it heard, how many neighbors it missed hearing, and how many dreams it had. These life forms do not live long compare to humans. Their actual lives are approximately one minute long. At the end of a life cycle, hibernation takes place. This is a kind of suspended animation with a heart beat of once every 2.6 seconds. Memories and information are retained but there is no known way to retrieve it in this time era.

Personality galore! You’ll find these life forms interesting, unique and with varying personalities. The differences from one to the other include different identifications, different computer numbers, different dreaming, varied sleep times, some are friendly and some don’t know any neighbors. Some have filled enriched memories and remember all their neighbors while others can only remember two things and spend all their time sleeping.

The code could have sufficient modification to prevent the life form from dying, and to create an indefinite hibernation in which it can wake up on demand. Instead of and END statement, the code could terminate in a continuous loop. Inside the loop, it looks at a pin status. If the pin goes high, the program can go back to some place in the code for continued function. Another way to preserve the life form’s state is discussed in the Stamp SEED Supercomputer Handbook.

Sometimes the life form will become sick and require personal sick leave. The sicknesses are varied. For example, the following maladies are discussed in further detail elsewhere – psychotic breakdown, fitful sleep, sudden death, brain amnesia, unable to resuscitate, alternate identity syndrome, stroke, epileptic pins, and stuttering.

The Handbook of BASIC Stamp Supercomputing
includes the Stamp Seed Supercomputer and additional information, projects, etc. Download it here.

Other Supercomputer Sources
Tiny AI for the Basic Stamp SEED Supercomputer 

Tiny AI for the TriCore Supercomputer