Just wondering if anyone has been able to simulate some or all of the marble-operated Digicomp II from the 1960s using the Turing Tumble? (I think I read that this was one of the inspirations for the TT.)
You can learn a bit more about the digicomp at https://shop.evilmadscientist.com/productsmenu/375
There is also a Digicomp II simulator in Python at https://jamesmccaffrey.wordpress.com/2018/07/30/digi-comp-ii-simulator-program-using-python/
This image shows a partial Digi-Comp II simulator that fits on a game board and does binary multiplication. It uses three more bits than the standard kit provides but you can run it with this simulator link or build this simplified version with fewer bits. The image shows all bits set to initial “zero” values (some bits have the 0 and 1 directions reversed.)
Here’s the same design with a straight accumulator on a larger simulated board.
The read-only M1-M3 register uses ramps instead of bits and contains the number to be added. The Q1-Q3 counter controls how many times the addition is repeated to do multiplication. The A1-A7 accumulator holds the result. In the first image the A5-A7 bits (with reversed 0 and 1 values) are wrapped from the A4 carry using a red ball. The D1-D3 distributor controls a four-ball addition cycle where the first ball decrements Q1-Q3 (stopping on underflow) and three balls add M1-M3 to A1-A7.
To run, set M1-M3 to the number to be added and Q1-Q3 to the number of times to add it (001 for simple addition.) The binary digits in each register are read from bottom to top in high to low bit order. Start with the blue lever. The M1-M3 and Q1-Q3 values will be multiplied and added to A1-A7. After every run the D1-D2 and Q1-Q3 bits must be reset before running again. To stop on overflow change the overflow ramp to an interceptor.
It is possible to emulate more Digi-Comp II functionality on a very large simulated board with many parts.
Excellent work Phil!
Or you could just build a Digi-Comp II replica: https://www.instructables.com/id/Digi-Comp-II-Replica/
That’s what I did.
I dabbled with this one, but I especially like your real game board solution. I have implemented it using the physical game board using weighted gear bits for the D-bits (see Adding weights to gear bits using only parts from the box) and it works reasonably OK.
Here’s a complete Digi-Comp II emulator on a large simulated board. Gear bits are used to clear the A1-A7 accumulator and toggle the T1-T6 accumulator mode bits, making a complex 7-bit register on the right half of the board. Running it is similar to my previous post except for the new M4 bit and the ramps (indicated by arrows) that provide additional capabilities. Most of these new capabilities could be done manually on the previous simple versions, which might be educational. Here’s the simulator link. The image shows all bits set to initial “zero” values.
To stop on overflow set the Overflow ramp. To stop after each ball set the Automatic/Manual (AM) ramp.
The Multiply ramp selects between multiplication (as before) or one of these operations:
- To zero A1-A7 set the Clear and AM ramps, run (uses one ball) then reset Clear and AM.
- To count all remaining balls (by incrementing A1-A7) set the Count ramp and run, then reset Count.
- To negate A1-A7 set the Complement ramp and run to do an elegant four-ball 2’s complement operation using CF1, CF2 and T1-T6, then reset Complement.
Subtraction is done by negating one number and adding. Division and other operations are too long to explain here.
My previous post showed how a diagonal accumulator can be more compact than a vertical accumulator. Perhaps this big version could be folded up smaller like the first image. This has been challenging and educational. It’s nice to know that Turing Tumble can completely emulate Digi-Comp II on a simulated board. Good topic, DavidP!
Wow, impressive stuff! Thanks all. I have a Digicomp I which I was given as a Christmas Present in the 60s, but I don’t think Digicomp II was sold here in the UK. It’s been very interesting finding out about it.
This also works for addition, subtraction and division (provided that you set the 2’s complement in the accumulator for subtraction and division). It also handles counting if you substitute the Bits at D2 and D3 with ramps pointing to the right and also set M1 to 1 by reversing the direction of the M1 Ramp.
The only Digicomp functions that it doesn’t support are CLEAR and COMPLEMENT, as on Digicomp II these use the underboard flip-flops for CLEAR and the T1-T6 flip-flops for COMPLEMENT. However, CLEAR is covered by Challenge #41 (Hard Reset) and COMPLEMENT is covered by a separate topic (One ball adder - 4-bit + 4-bit), so all of the Digicomp II functionality can be replicated on the board (but not all at the same time!).
The Digicomp II Manual can be downloaded from https://cdn.evilmadscientist.com/KitInstrux/DCII-manual.pdf
It does support CLEAR, COUNT and COMPLEMENT (with MULTIPLY set to route to the right) but unfortunately I used different terminology than the manual, sorry. In the bullets above I should have said:
The MULTIPLY ramp selects between multiplication (as before) if set to route to the left or one of these three operations if set to route right:
- To CLEAR A1-A7 set the CLEAR and AM ramps both to route left, run (uses one ball) then reset CLEAR and AM.
- To COUNT all remaining balls (by incrementing A1-A7) set the COUNT ramp to route left and run, then reset COUNT.
- To COMPLEMENT A1-A7 set the COMPLEMENT ramp to route right and run to do an elegant four-ball 2’s complement operation using CF1, CF2 and T1-T6, then reset COMPLEMENT.
To COUNT you do not need to change D2 and D3 (although that works) just set MULTIPLY to the right and COUNT left.
The underboard flip-flops for CLEAR and T1-T6 COMPLEMENT are already included in the gear bits using gears to link them on one Turing Tumble board where Digi-Comp II uses rotating shafts to link flip-flops on two stacked boards. Digi-Comp II does not have gears or crossovers and uses different physical mechanisms but TT can do all the same operations.
I also had a Digi-Comp I in the 60s that helped inspire me to become a software engineer. The Digi-Comp I might be harder to simulate on TT because it doesn’t use marbles. I have a Mad Scientist wooden replica Digi-Comp II now. Thanks for the feedback.
Hi Phil, sorry - it was your excellent actual board solution that I didn’t think allowed for Clear or Complement. Is that right? I can see that the virtual solution handles all of the functionality.
ESR has a lot to answer for! I think that what I learnt from Digi-comp 1 helped to get me a Maths place at Cambridge and then, like you, a career in IT.
It’s amazing what you’ve been able to do with TT. I have been figuring out how Digi-comp II works from the manual and the various on-line documents, and both Digi-comp I and II were very clever creations.
Thanks again, David
David- Yes, the big simulator supports all Digi-Comp II functionality but it’s complicated and confusing to use. I often refer to the arrows on the image above to locate the control ramps/switches on the board. This Manual Input Bit idea would make them easier to find but the board size might get too big.
This Proof of Turing Completeness link shows how custom flip-flops can be made from gears and gear bits. Let me know if you have more questions.
Like the Digi-Comp I and Digi-Comp II introduced us and many others to computer concepts in the last century, Turing Tumble is doing for people now. Turing Tumble is amazing!