Any tips on the circuit for an analog electronics gadget - the Magic Switch?

427 views
Skip to first unread message

oscarv

unread,
Feb 27, 2020, 7:33:27 PM2/27/20
to PiDP-10
All,

I guess the story is well-known: the wire coming out of a PDP-10's inner guts leading to a switch on a scruffy panel. There were three strange things about it:
- nobody knows why it was there, but it had a Magic and More Magic position.
- the one end of the switch was wired to the innards of the PDP-10, the other just had a few inches of loose wire dangling from it.
- yet, toggle from More Magic to just Magic and the system would crash.

From Lars' Twitter stream:

magic switch 2.jpeg

magic switch.jpeg


I think it would be a nice 'folly' to add this as an option to the PiDP-10. Neatly recessed into the case so you do not hit it inadvertently.

But to make it fun, the magic element should be there and should be real: it really should be a switch-to-nowhere that still results in a signal. An interesting little circuit that translate the shortened length of wire (when in Magic) to a clear digital signal that will drop the PiDP-10 into the simh command line.

I know the effect that could be used, but it doesn't mean I know how to make it work in a simple way.
- first, like a ham radio antenna output, a mismatched antenna length can hurt the transmitter. Phase length.
- second, there are circuits to detect cable length. Same principle I believe, things called "time-domain reflectometer".

But the beauty would be to do it in the simplest circuit. And I am way out of my depth with anything analog.

Does anyone here have some leads (as in, tips, not spare bits of wire)? The PiDP-10 PCB has plenty of empty space on it to add the circuit. Doesn't mean everyone has to populate it with parts.

Kind regards,

Oscar.

Lars Brinkhoff

unread,
Feb 28, 2020, 1:46:49 AM2/28/20
to PiDP-10
Oscar wrote:
I guess the story is well-known: the wire coming out of a PDP-10's inner guts leading to a switch on a scruffy panel. There were three strange things about it:

I have collected the known information here: https://github.com/PDP-10/its/issues/1232
 
- nobody knows why it was there, but it had a Magic and More Magic position.

Tom Knight says he installed it on the PDP-6.  On two different occasions he explained it was for
1. user mode I/O instructions, or
2. accumulator 17 used for PC-relative indexing.

All we can say at this point is that its original purpose is unclear.
 
- yet, toggle from More Magic to just Magic and the system would crash.

So the story goes, but according to a contemporary message it was just touching the switch.

I'm now the proud owner of a brand new 1TW1-3 switch, even tough it's not imbibed with magic.

1tw1.jpg

Neil Higgins

unread,
Feb 28, 2020, 6:41:07 AM2/28/20
to PiDP-10
Good story. I once had a devilish problem that turned out to be caused by “ground bounce” and was easily fixed, but I’d be pushed to reliably reproduce it on the periphery of a Raspberry Pi. I think you would need an OpAmp or similar to pick up a change in capacitance (so that the switch appeared to have only one connection) and turn it into a GPIO signal.

Neil Higgins

unread,
Feb 28, 2020, 6:56:27 PM2/28/20
to PiDP-10
Depending on the actual capacitance change due to adding a short length of wire (not much, sadly), a dual 555 circuit might work. One half to oscillate and the other half a retriggerable one-shot to measure the frequency and provide a GPIO signal.

Neil Higgins

unread,
Feb 28, 2020, 7:18:36 PM2/28/20
to PiDP-10
Yah, the change is only a couple of pF, so a bridge circuit might do better.

Neil Higgins

unread,
Feb 28, 2020, 9:32:06 PM2/28/20
to PiDP-10
Here is a rough circuit that might do it. It is essentially a “race to the top” for two R/C circuits, one of which is optionally loaded by the extra bit if wire. When the square wave goes high the caps start charging. When it goes low the output of the comparator is latched and the caps are discharged. Rinse and repeat. The trim pot (yuk) is adjusted so that the output is low when the switch is turned off. High component count but surely there is a genius out there who can reduce it to two transistors or less.

9B281BBF-534E-4053-842D-6C6FC5C8D4C5.jpeg

Robert Evans

unread,
Mar 2, 2020, 3:03:01 PM3/2/20
to PiDP-10


On Thursday, February 27, 2020 at 7:33:27 PM UTC-5, oscarv wrote:
Does anyone here have some leads (as in, tips, not spare bits of wire)? The PiDP-10 PCB has plenty of empty space on it to add the circuit. Doesn't mean everyone has to populate it with parts.

I think this is easily done by a micro-controller with a capacitive touch sensor, like Adafruit Trinket M0.  State could be communicated to the RPi via I2C.  See attached video -- the RED LED shows output state.

A tricky part is setting the sensor threshold  Assuming the switch is initially closed, Firmware as simple as the below seems to work.  For an enhancement, the main loop can monitor the raw_value and adjust the threshold to accommodate situations where the switch initially is open.

# Trinket M0 capacitive touch sensor demo
import board
from digitalio import DigitalInOut, Direction
from adafruit_debouncer import Debouncer
from touchio import TouchIn

# Capacitive touch input on D1
touch_sensor
= TouchIn( board.D1)
touch
= Debouncer( lambda: touch_sensor.value)

# Built in red LED
led
= DigitalInOut( board.D13)
led
.direction = Direction.OUTPUT

# Adjust threshold assuming switch is initially closed ...
touch_sensor
.threshold = touch_sensor.raw_value - 5

while True: ############## Main Loop #############
    touch
.update()
    led
.value = not touch.value # LED lights when we should crash
   
if touch.fell:
       
print( "*** Here is where the PDP10 crashes !!!")







VID_20200302_143030.m4v

Lars Brinkhoff

unread,
Mar 12, 2020, 7:46:30 AM3/12/20
to pid...@googlegroups.com
I need to mention there were more "electronics gadgets" on the AI PDP-10.
(Or actually the PDP-11/20 wired into the PDP-10 memory bus.)

Actually there was a whole zoo of weird hardware, but the ones I'm thinking
of are the elevator button and door buzzer.  Typing ESC E on the Knight
keyboard would signal for the elevator.  The software knows which floor
the keyboard is on.  Typing ESC D buzzes the 9th floor door open.
The elevator thing is also available over the Chaosnet.

Are there some I/O pins free for this?

Bill E

unread,
Mar 12, 2020, 8:44:35 AM3/12/20
to PiDP-10

As long as we're adding all the AI lab gadgets, we need more peripherals. An Imlac would be great for playing Mazewars, and don't forget that insanely expensive and flaky Xerox XGP. Just put a $100 laser printer in a used refrigerator cabinet and make sure it jams every other page.I did like the door buzzer. It would make a nice garage door opener now. As for the 'just touching the switch', I don't remember that, but then again I never touched the switch. There is a much simpler explanation for it crashing the system. If it was directly wired to one of the logic boards, all it would take would be a tiny static discharge to flip the state of some logic. Depending on where it was wired and what that node connected to, could easily have been the cause.

Adding that bit of magic to the PiDP-10 can be done in many ways, as discussed. I've built several, from simple to complex.The most reliable drove the top end of a capacitive divider with a square wave generated by the processor, touch plate was connected to the divider tap, bottom grounded. Monitor the voltage at the tap, if it decreases by some percentage over the average value, it's been touched. However, this requires an A/D and software. The fairly unreliable version used a single hex inverter IC. 3  gates were wired as a ring oscillator.It drove a capacitive divider as above. Tap drove the input of 1 inverter that was biased via a potentiometer to be in its analog range. The output via a diode to a smoothing capacitor connected to another inverter. With careful tweaking, a touch would reduce the signal enough to toggle the output of that inverter. Problem was drift, but it worked well enough for me to use it to control a light in my house (this was before touch switches were available at your local store).

Lars Brinkhoff

unread,
Mar 12, 2020, 9:20:01 AM3/12/20
to PiDP-10
 Bill E wrote:
As long as we're adding all the AI lab gadgets, we need more peripherals. An Imlac would be great for playing Mazewars

There is an Imlac emulator.  It will not run MAZE yet, maybe because we have the wrong version
of "SSV", the Imlac "terminal emulator" software.

and don't forget that insanely expensive and flaky Xerox XGP. 

I have done some work on interfacing a PDP-11 emulator to the PDP-10 and have it accept XGP data.
But it's not finished yet. 

John Mann

unread,
Apr 4, 2020, 1:24:17 AM4/4/20
to Lars Brinkhoff, PiDP-10
Hi,

How about a music output interface?

---
Music System for the PDP-I0     10-9 
Program Version or Creation Date: 1
Keywords: Music
Author: P. R. Samson and R. Clements M.I.T. and Digital Equipment Corp., Maynard, MA.
Language or Program Requirements: MACRO-l0, Time-Sharing Monitor (DEC-l0-MTC0)
Hardware Requirements: PDP-l0/40, MK I0 or transistor radio
Abstract: This program is a complete music-compiling and playing system for the PDP-10. MUSIC is compiled under the timesharing system and played in the executive mode. An initial library, mostly Bach and Beatles, is supplied to which users are encouraged to submit additions.
Write-up/Listing or source on media.
M/P Codes: H32 Library Tape No. I :P190
---


And some action photos ...

Thanks,
    John

--
You received this message because you are subscribed to the Google Groups "PiDP-10" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-10+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-10/3c0f43d5-1724-4dee-bcd6-cb089eb4edcc%40googlegroups.com.

Lars Brinkhoff

unread,
Apr 4, 2020, 4:50:31 AM4/4/20
to PiDP-10
John Mann:
How about a music output interface?

It's funny you should mention this now.  Just the other day I added the
ITS suite of music programs: MUSCOM, MUSRUN, and BIG.  Music
can be played from the PDP-6 simulator.
 
Music System for the PDP-I0     10-9 
Program Version or Creation Date: 1
Keywords: Music
Author: P. R. Samson and R. Clements M.I.T. and Digital Equipment Corp., Maynard, MA.
Language or Program Requirements: MACRO-l0, Time-Sharing Monitor (DEC-l0-MTC0)
Hardware Requirements: PDP-l0/40, MK I0 or transistor radio
 
Is this available anywhere?

Lars Brinkhoff

unread,
Apr 4, 2020, 9:14:31 AM4/4/20
to PiDP-10
Music System for the PDP-I0     10-9 
Author: P. R. Samson and R. Clements M.I.T. and Digital Equipment Corp., Maynard, MA.
Is this available anywhere?

It's here.  Apparently MCOMP more or less the same program as MUSCOM in ITS,
so the .MUS files are compatible between both.

Lars Brinkhoff

unread,
Apr 5, 2020, 8:32:14 AM4/5/20
to PiDP-10
Lars Brinkhoff wrote:
It's funny you should mention this now.  Just the other day I added the
ITS suite of music programs: MUSCOM, MUSRUN, and BIG.  Music
can be played from the PDP-6 simulator.

Forgot to say I recorded this video:

Bradford Miller

unread,
Oct 17, 2020, 1:30:48 PM10/17/20
to PiDP-10


On Thursday, March 12, 2020 at 8:44:35 AM UTC-4 wjegr...@gmail.com wrote:

... and don't forget that insanely expensive and flaky Xerox XGP. 

I recall printing hundreds of pages on it and it never jammed. Used the wrong font sometimes (e.g. symbols instead of letters) but not jamming. Might have been after my time there (mid-late 70s). 

Lars Brinkhoff

unread,
Oct 19, 2020, 7:28:10 AM10/19/20
to PiDP-10
As long as we're adding all the AI lab gadgets, we need more peripherals. An Imlac would be great for playing Mazewars

There is now a choice of two Imlac emulators that will both run the Maze game.  (And more coming, maybe.)


Oscar Vermeulen

unread,
Oct 19, 2020, 7:39:29 AM10/19/20
to Lars Brinkhoff, PiDP-10
Lars,


On Mon, 19 Oct 2020 at 13:28, Lars Brinkhoff <lars.br...@gmail.com> wrote:

As long as we're adding all the AI lab gadgets, we need more peripherals. An Imlac would be great for playing Mazewars

Given the wonderful playground that is ITS, I'm wondering if I should not add a socket for an optional esp32 on the PCB. It's the simplest way of adding a touch-sensitive one-wire Magic switch, and it fits the general playground idea. It could take on many roles, including graphics terminal emulation. Heck, it has enough oomph to be the connected PDP-11...

Apologies for a long radio silence on my PiDP-10. For the next few months, my priority is to take care of my mother who now needs 24 hour care, and I do that two-three weeks per month.
But the PiDP-10 will be done; lots of parts for the first 200 kits are clogging up the spare bedroom...

Kind regards,

Oscar.

Lars Brinkhoff

unread,
Oct 20, 2020, 12:32:38 PM10/20/20
to PiDP-10
Oscar wrote:

Given the wonderful playground that is ITS, I'm wondering if I should not add a socket for an optional esp32 on the PCB. It's the simplest way of adding a touch-sensitive one-wire Magic switch, and it fits the general playground idea. It could take on many roles, including graphics terminal emulation.

I think this is an excellent idea.  For people who likes to tinker with hardware, it could be a great way to enhance their PiDP-10.  A PDP-10 was, and should remain, a very open-ended computer.

I have been eyeing this: https://github.com/fdivitto/FabGL
 
Heck, it has enough oomph to be the connected PDP-11...

Angelo's and mine experience is that the TV-11 needs a decent shared-memory bandwidth to the PDP-10.  Would they talk over wifi?  Even if the ESP32 CPU is fast enough, the bandwidth may not be.  Maybe there's some optimization that can be made to fix this.  Still, the AI lab PDP-10 had room for eight attached PDP-11 so there's plenty of room for creative experiments.

Bradford Miller

unread,
Oct 21, 2020, 12:47:41 PM10/21/20
to Oscar Vermeulen, Lars Brinkhoff, PiDP-10
Maybe it’s just me, but I’d love a simple way to connect the PiDP-11 as a FEP (front end & I/O processor) for the PiDP-10 much as the AI lab did.


--
You received this message because you are subscribed to the Google Groups "PiDP-10" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-10+u...@googlegroups.com.

Lars Brinkhoff

unread,
Oct 21, 2020, 1:01:51 PM10/21/20
to PiDP-10
Bradford Miller wrote:
Maybe it’s just me, but I’d love a simple way to connect the PiDP-11 as a FEP (front end & I/O processor) for the PiDP-10 much as the AI lab did.

Angelo and I wanted to support this use case, so the KA10 emulator talks to the TV-11 emulator through a regular TCP/IP socket.  It's just that anything but the loopback interface is a tad slow.

d...@froghouse.org

unread,
Oct 22, 2020, 7:57:00 AM10/22/20
to PiDP-10
This is all still speculative since I haven't made much recent progress but the design I've been doing for my FPGA PDP-10 should be able to drive multiple Raspberry Pi-like consoles.  In other words, a PiDP-10 and perhaps multiple PiDP-11s.  In any case, it's not just you.

Lars Brinkhoff

unread,
Oct 23, 2020, 2:15:18 AM10/23/20
to PiDP-10
As long as we're adding all the AI lab gadgets

On this topic, I'm in the process of assembling a floor turtle.  There are many variations; I ordered this:  https://github.com/aspro648/OSTR

Reply all
Reply to author
Forward
0 new messages