I enjoyed that. I think it's the first time I've seen a computer running a program from a tape in the real Turing sense, i.e. executing directly from the tape, with loops and everything. I used to program via paper tape back in the day, but the tape was read into (core) memory and executed from there. Thus the program size was limited by the amount of RAM memory available (which was core RAM in the computer I used back then, so not very large). This TIM computer uses the tape directly, as a (potentially infinite) direct-access ROM. Very nice to finally see that at last!
Oh yeah, wish I could get hold of a tape punch and reader. Or even the paper tape.
I sometimes muse on the idea of using spools of common or garden printing calculator paper with something to print bytes on it as dots and an optical reader.
eBay seems to have quite a few lots of 1 inch tape, but at the moment only a couple of readers and no punches.
Perhaps just as well. You really haven't experienced the definition of the word "mess" until you see the awesome pile of teeny tiny chads emitted by a paper tape punch in the course of recording a few kilobytes of data. They get into everything. And $DEITY help you if you pick a large roll up by the edge and the center falls out.
That's really cool. If I weren't fully occupied with a crazy physics project right now, I might make a high-speed version of this using brushless outrunner motors and a box of Sharpies.
eBay seems to have quite a few lots of 1 inch tape, but at the moment only a couple of readers and no punches.
Perhaps just as well. You really haven't experienced the definition of the word "mess" until you see the awesome pile of teeny tiny chads emitted by a paper tape punch in the course of recording a few kilobytes of data. They get into everything. And $DEITY help you if you pick a large roll up by the edge and the center falls out.
I worked at a small newspaper when I was a teenager, and one of the great pranks to pull in the summer time was to get a bunch of the 'chads' from the AP teletype. Then throw a cup of water on the victim's car, followed by the chads. Once dry, it is a LOT of work to remove all those little paper dots.
Looking at some of the "punch tape" readers it seems they are optical, The teleprinter we had at school i'm almost certain used mechanical pins to read the holes in the tape they were spring loaded as I remember pressing them down with my finger.
As for the mess I agree the little plastic bin underneath the punch mechanism got filled very quickly!
I wonder if they were used as well as tickertape to welcome the astronauts back home? Would have hated to be a road sweeper in those days
This is awesome, I love it! Have you told Harry Porter about it? He would probably be interested in it.
True story. I discovered Harry Porter's relay computer when I made a typo while doing a Google search for Harry Potter. I spent the next two hours entranced reading his documentation on his computer. I then sent him an email explaining that his materials finally bridged the gap between logic gates and CPU's which was always a mystery to me until this point.
Been there, done that, way back in my Air Force days. We had vacuums handy to pick them up when we dropped a container of them. Luckily, most of the tape rolls I had to work with were only 10-12 feet, so relatively easy to roll up. We used a figure 8 around thumb and little finger to roll them, then held them with a paper clip.
I think the teletypes we used could go about 80-100 wpm, I could get about a foot or so of tape started and actually keep up - for awhile.
It was in the mid 1970's that mechanical pin-sensing inch-wide tape readers started to give way to optical. You still had to have the punches of course to make the tapes. On a Teletype machine both reading and writing went at about 10 characters per second (thus 110 baud). The high-speed punches could go ten times that fast, making a merry racket and spitting out a blizzard of chads. The optical readers could go ten times faster than the new fast punches, spraying tape out in a cloud on the floor. The high speed tape reader was made to hold the very end of the tape at the end of a read so it wouldn't get lost in the end of a tape cloud on the floor; you'd need that to set it in the power rewinder and suck the cloud back up into a spool.
8 kilobytes was a roll of paper tape about 4 inches in diameter.
But a ROM is not a user serviceable component, so it would be "blown" at the factory and cleanly packaged before shipment.
I just pictured some computer company shipping their ROM module - nice looking box with a fancy (proprietary) connector containing a matrix of selectively "blown up" capacitors. Ahh, the good old days!!
I just pictured some computer company shipping their ROM module - nice looking box with a fancy (proprietary) connector containing a matrix of selectively "blown up" capacitors. Ahh, the good old days!!
The Apollo program used little old ladies (seamstresses?) to make core rope memory ROMs. Nothing "blown up" there, but the turn-around time was abysmal.
If I remember correctly, back in the 70's Pitney Bowes teamed up with a company called Alpex and developed an electronic point of sale system named SPICE. It featured what they called a "wire ROM" which was based on the core rope memory, but used much larger cores through which were threaded the "program Wires". Hundreds or thousands of wires were threaded through and around 12 cores and when a single wire was pulsed with a suitable current each of the cores would sense either a one or zero. I believe the cores were constructed so that they could be opened thus speeding up the "programming" process, unlike the Apollo ones which were small torroids. The cores themselves were not the memory device, but used as transformers to sense the current pulse of the wire threaded through it. The bit pattern of each word was determined by which cores the wire went through or around.
I wrote about this in a blog a few years ago. See: Rope Memory.
I had started working on building my own computer in about 1971.
The processor control was based on a Univac punch card keyboard which operated just as you said.
At that time I had acess to the forrunner of TTL logic called Ray3 by Raytheon.
I also had a bunch of DTL logic chips.
256 bit static rams, as I recall, would be the ram.
Each of the core outputs would clock the processor registers in sequence depending on which one
of the "instruction wires" passed through a core.
Sadly, I never finished it, but I got many parts of it working at the time.
This rope memory concept has stuck in my mind and I've used it a few times since.
I have worked with an even weirder memory concept dubbed a "Delay Line Memory". It was actually an electro-mechanical device and was ingeniously simple in concept and execution. It consisted of a long, thick wire made of a copper-beryllium alloy (I believe) about 15-20 feet long and wound into a loose coil arrangement for space consideration. At the beginning of the wire was welded a magneto-constrictive alloy and coil and was designated the "Write or Launch Coil". Under electronic control the coil would be pulsed which would cause a very fast but very slight twisting of the wire end. This twist would travel the length of the wire in something like 10 or so milliseconds. Reaching the other end a read coil, identical to the write coil, would read the twist and convert it to an electrical pulse. By means of a digital timing chain the position of the twists relative to a Start pulse would determine the bit value of each pulse. It was a linear memory device and was used commercially in some of the first electronic calculators during the late 60's.
Wasn't the output Coil also then fed back to the input Coil, as to 'hold' several bits in a round-robin fashion? Since this was a purely mechanical storage device you were relying on the mechanical propagation delay as opposed to an electronic propagation delay.
I have one of the torsion wire mechanical delay lines.
Mine was from a Frieden Electronic Calculator from 1966 or so I was told.
I haven't seen it for years, must be deep in my horded archives.
The aluminum frame is about 6" square.
We thought it could hold about 16K bits.
When playing with it I found that there was a critical termination resistance, Just like a coax cable.
If the termination resistance wasn't correct the pulse would reflect back and forth several times, maybe 5 times, before dying out.
The pulses were nice and crisp and would be relatively easy to reconstruct, retimed, and stuffed back in again.
I was told the data was in ASCII for numbers and program storage. Pretty advanced for the time.
If I can find it I will post a picture.
Duane J
There is a nice picture in the Wikipedia article pointed to by Heater. Magnetostrictive_delay_lines
Mine has only the delay line wire and transducer.
My wire looks much thinner and had more turns.
Duane: OMG! Friden was my first civilian employer when I mustered out of the Navy in '67. They sent me to Rochester, NY for a 7 week school to learn how to service the EC130 & EC132 calculators, the one you were referencing. (The 132 also did square root. Engineers loved it.) It was rather large, used a crt for display, and had that delay line under the motherboard. The codes for the numbers weren't ASCII but a Johnson Code which used 5 bits.
1 was 00001,
2 was 00011,
3 was 00111,
4 was 01111,
5 was 11111,
6 was 11110,
7 was 11100,
8 was 11000,
9 was 10000,
and 0 was 00000.
The logic boards had no chips, just transistors, resistors, caps, and diodes. The square root function on the EC132 used the 'sum of odd integers' method.
Beau: The output coil was actually fed into the logic unit so that data entry, math functions, & storage could be manipulated. The serial stream would shift into 5 discreet flip flops and if nothing was pending they would shift right back out again to the Launch Coil.
Hal
(I guess my avatar is too close to the truth for comfort.......)
Comments
Makes my projects look "normal".
DRAM using thermionic valves and leyden jars might be a fun place to go from here.... Proper
steampunk hardware.
"I'll just clear it, turn it off and on like Windows."
-Tor
I sometimes muse on the idea of using spools of common or garden printing calculator paper with something to print bytes on it as dots and an optical reader.
http://www.youtube.com/watch?v=FcX7i1DxdEU
Perhaps just as well. You really haven't experienced the definition of the word "mess" until you see the awesome pile of teeny tiny chads emitted by a paper tape punch in the course of recording a few kilobytes of data. They get into everything. And $DEITY help you if you pick a large roll up by the edge and the center falls out.
That's really cool. If I weren't fully occupied with a crazy physics project right now, I might make a high-speed version of this using brushless outrunner motors and a box of Sharpies.
I worked at a small newspaper when I was a teenager, and one of the great pranks to pull in the summer time was to get a bunch of the 'chads' from the AP teletype. Then throw a cup of water on the victim's car, followed by the chads. Once dry, it is a LOT of work to remove all those little paper dots.
As for the mess I agree the little plastic bin underneath the punch mechanism got filled very quickly!
I wonder if they were used as well as tickertape to welcome the astronauts back home? Would have hated to be a road sweeper in those days
True story. I discovered Harry Porter's relay computer when I made a typo while doing a Google search for Harry Potter. I spent the next two hours entranced reading his documentation on his computer. I then sent him an email explaining that his materials finally bridged the gap between logic gates and CPU's which was always a mystery to me until this point.
http://forums.parallax.com/showthread.php/62327-Old-School-Hackers?p=538579&viewfull=1#post538579
I think the teletypes we used could go about 80-100 wpm, I could get about a foot or so of tape started and actually keep up - for awhile.
8 kilobytes was a roll of paper tape about 4 inches in diameter.
That would be by blowing up the bits that need to be turned off?
Now, now, someone isn't using there marketing voice!
But a ROM is not a user serviceable component, so it would be "blown" at the factory and cleanly packaged before shipment.
The only ones who really need to know the process (sausage making) are the government and telephone companies.
I just pictured some computer company shipping their ROM module - nice looking box with a fancy (proprietary) connector containing a matrix of selectively "blown up" capacitors. Ahh, the good old days!!
The Apollo program used little old ladies (seamstresses?) to make core rope memory ROMs. Nothing "blown up" there, but the turn-around time was abysmal.
I wrote about this in a blog a few years ago. See:
Rope Memory.
I had started working on building my own computer in about 1971.
The processor control was based on a Univac punch card keyboard which operated just as you said.
At that time I had acess to the forrunner of TTL logic called Ray3 by Raytheon.
I also had a bunch of DTL logic chips.
256 bit static rams, as I recall, would be the ram.
Each of the core outputs would clock the processor registers in sequence depending on which one
of the "instruction wires" passed through a core.
Sadly, I never finished it, but I got many parts of it working at the time.
This rope memory concept has stuck in my mind and I've used it a few times since.
Duane J
I have worked with an even weirder memory concept dubbed a "Delay Line Memory". It was actually an electro-mechanical device and was ingeniously simple in concept and execution. It consisted of a long, thick wire made of a copper-beryllium alloy (I believe) about 15-20 feet long and wound into a loose coil arrangement for space consideration. At the beginning of the wire was welded a magneto-constrictive alloy and coil and was designated the "Write or Launch Coil". Under electronic control the coil would be pulsed which would cause a very fast but very slight twisting of the wire end. This twist would travel the length of the wire in something like 10 or so milliseconds. Reaching the other end a read coil, identical to the write coil, would read the twist and convert it to an electrical pulse. By means of a digital timing chain the position of the twists relative to a Start pulse would determine the bit value of each pulse. It was a linear memory device and was used commercially in some of the first electronic calculators during the late 60's.
Hal
Wasn't the output Coil also then fed back to the input Coil, as to 'hold' several bits in a round-robin fashion? Since this was a purely mechanical storage device you were relying on the mechanical propagation delay as opposed to an electronic propagation delay.
Interesting!!
http://en.wikipedia.org/wiki/Delay_line_memory
Basically a bit could be stored for about every meter of fiber cable as long as it could get refreshed at a SONET or SDH repeater switch.
I have one of the torsion wire mechanical delay lines.
Mine was from a Frieden Electronic Calculator from 1966 or so I was told.
I haven't seen it for years, must be deep in my horded archives.
The aluminum frame is about 6" square.
We thought it could hold about 16K bits.
When playing with it I found that there was a critical termination resistance, Just like a coax cable.
If the termination resistance wasn't correct the pulse would reflect back and forth several times, maybe 5 times, before dying out.
The pulses were nice and crisp and would be relatively easy to reconstruct, retimed, and stuffed back in again.
I was told the data was in ASCII for numbers and program storage. Pretty advanced for the time.
If I can find it I will post a picture.
Duane J
There is a nice picture in the Wikipedia article pointed to by Heater.
Magnetostrictive_delay_lines
Mine has only the delay line wire and transducer.
My wire looks much thinner and had more turns.
1 was 00001,
2 was 00011,
3 was 00111,
4 was 01111,
5 was 11111,
6 was 11110,
7 was 11100,
8 was 11000,
9 was 10000,
and 0 was 00000.
The logic boards had no chips, just transistors, resistors, caps, and diodes. The square root function on the EC132 used the 'sum of odd integers' method.
Beau: The output coil was actually fed into the logic unit so that data entry, math functions, & storage could be manipulated. The serial stream would shift into 5 discreet flip flops and if nothing was pending they would shift right back out again to the Launch Coil.
Hal
(I guess my avatar is too close to the truth for comfort.......)