Changing the origin on a Type 30 display.

33 views
Skip to first unread message

MICHAEL GARDI

unread,
Dec 16, 2025, 12:19:24 PM (23 hours ago) Dec 16
to [PiDP-1]
I was looking at the "Bug in PDP-1 Emulator?" conversation and this caught my eye:

The dpy instruction (73cb07) causes one point to be displayed on the scope. (...) The three "b" bits control the brightness -- 4 is visible to photomultiplier tubes only, 7 is barely visible in a dark room, 0 is normal, and 3 is brightest. The "c" bits control the centering. 0 makes the origin in the center of the scope. 1 puts it at a the center of the bottom edge. 2 makes the origin be half way up the left edge, while 3 puts it at the lower left corner.

More specifically The "c" bits control the centering. I had not seen this before so I thought I would try it out and I can't seem to get it to work. No matter what value I use for "c" the origin always seems to be the center of the screen. Is this something that was only implemented in one of the Type 30 variants?  

Mike

Matthias Barthel

unread,
Dec 16, 2025, 12:37:16 PM (23 hours ago) Dec 16
to MICHAEL GARDI, [PiDP-1]
Mike, 

I think the implementation of the display is a "light" version, only this things are coded that the most need  programs for  working. Anyone must make a lot of work and reimplement the display new with the full functionbits .

I try this on my esp32-pdp1 when the existing code works good. Same fot the io-halt implementation.

Matthias 

--
You received this message because you are subscribed to the Google Groups "[PiDP-1]" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-1+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/pidp-1/cb07e5ce-5625-4546-b15e-bd4d26ee86f2n%40googlegroups.com.

MICHAEL GARDI

unread,
Dec 16, 2025, 12:46:11 PM (23 hours ago) Dec 16
to [PiDP-1]
Another thought I just had.  If the origin could be changed to the lower left corner of the screen would the values in the upper 10-bits of the AC and IO registers then be treated as unsigned integers?

Mike

Matthias Barthel

unread,
Dec 16, 2025, 12:57:10 PM (22 hours ago) Dec 16
to MICHAEL GARDI, [PiDP-1]
Thats a good question mike ...
We need to study some papers to know this.

...

Norbert Landsteiner

unread,
Dec 16, 2025, 3:04:43 PM (20 hours ago) Dec 16
to [PiDP-1]
Yes, this isn't a well known feature, at all, and rather obscure.
The only use, I personally know of, is in "snowflake_sa-100.bin", where we can select the origin with sense switch #2 (off: center, on: lower left corner):.


(In my online emulation, sense switch settings may be accessed by option menu in the top right corner or toggled by pressing SHIFT+<number>, here: SHIFT+2.)

As I see it, "dpy+3000" will display like this:

snowflake-8dots-2.png

(The image is taken from my writeup on Snowflake, which has more on this and can be found here: https://www.masswerk.at/nowgobang/2019/snowflake-archeology.)

In other words, the c-bits just relocate (shift) the origin, but anything else stays the same. On the PDP-1 side, this should be easy to implement in any update. (Just check the two bits and relocate the origin in the respective direction.) But, at the top of my head, I'm not really sure, how this is communicated to the Type 30.

The relocatable origin seems not to be available for the Type 30E (which is the one, we have the manual for). At, least, I don't see it in the manual (but I could be missing something.). From this follows that the coordinates are always handled as ones' complement 10-bit data (i.e. bit  #0 is the sign-bit). My guess is that any more advanced display, like a Type 30H should maintain basic compatibility to this.

Best,
Norbert

Bill E

unread,
Dec 16, 2025, 3:17:50 PM (20 hours ago) Dec 16
to [PiDP-1]
With all these type 30 questions, I came across the type 340. Seems DEC decided to throw everything they could think of into this one. Only 2 full-size racks and more power than the -1 took.
I tried to post the manual, but G says it's too big.  You can find it at http://www.bitsavers.org/pdf/dec/graphics/H-340_Type_340_Precision_Incremental_CRT_System_Nov64.pdf

Bill

MICHAEL GARDI

unread,
Dec 16, 2025, 3:53:44 PM (19 hours ago) Dec 16
to [PiDP-1]
OK. I tried running  "snowflake_sa-100.bin" on the PiDP-1 and it looks like turning Sense Switch 2 ON does modify the display, but it is hard for me to tell if this is because the origin has changed. It is probably working though. And when Switch 2 is ON and you turn Switch 1 ON it does go to a single strain or ray of dots without reflections. So I will dig a little deeper by writing a better test. 

Mike

Bill E

unread,
Dec 16, 2025, 4:05:26 PM (19 hours ago) Dec 16
to [PiDP-1]
Looking at the emulator code in pdp1.c, I don't see anything being sent to the display process other than x, y, and intensity. If re-origining is happening, must be in the snowflake code.
Bill

MICHAEL GARDI

unread,
Dec 16, 2025, 4:10:15 PM (19 hours ago) Dec 16
to [PiDP-1]
Should have done this before the previous post. I checked out Norbert's https://www.masswerk.at/minskytron/?version=snowflake&sense=2 and while the Sense Switch 2 does change the snowflake display on the PiDP-1, it is definitely not the inside-out looking display seen at masswerk.at.  So setting the lower,left origin is doing something but not the right thing?

Mike

MICHAEL GARDI

unread,
Dec 16, 2025, 4:15:52 PM (19 hours ago) Dec 16
to [PiDP-1]
Thanks Bill, 

Sometime I miss the obvious ;-)

Perhaps it is a combination of an origin change and code change in snowflake. At any rate I'm going to create a low priority request on GitHub to see if it is worth while to implement this feature.

Mike

Norbert Landsteiner

unread,
Dec 16, 2025, 6:20:19 PM (17 hours ago) Dec 16
to [PiDP-1]
But always keep in mind that there's also some amount of interpretation involved on my side.
I vaguely remember that I had something to prop this up, but it has been 10+ years since. So I can't really make my point here.

On the other hand, as for "Snowflake_SA-100", this is fully analysed: for the "inward-out" mode with SS #2, it switches from the usual 12-dot display to an alternative 8-dot display routine. So this is a special display routine.
For giggles, here it is (mind the "dpy 3000"s, my comments):

dx5,  dpy-1000     / display a dot; no wait, request compl. pulse
      szs 10       / sense switch 1 zero?
      jmp i dxx    / no, return
      ioh          / wait for completion pulse
      cma          / complement ac (flip horizontally)
      dpy 3000     / display a dot; wait, origin at lower left
      rcl 9s       / swap ac and io (exchange x and y)
      rcl 9s
      dpy 3000     / display it
      cma          / complement ac (flip horizontally)
      dpy 3000     / display it
      rcl 9s       / swap (exchange x and y)
      rcl 9s
      dpy 3000     / display it
      cma          / complement ac (flip horizontally)
      dpy 3000     / display it
      rcl 9s       / swap (exchange x and y)
      rcl 9s
      dpy 3000     / display it
      lac t2       / load t2 as x (swapped!)
      lio t1       / load t1 as y
      dpy 3000     / display it

dx6,  lac t1       / load t1 into ac
      lio t2       / load t2 into io
      jmp i dxx    / and return


So, it displays a dot at given location, and if SS #1 is high that's already it and we return (thus just displaying a single strand).
Otherwise, we swap X and Y (as in AC and IO) and display it for second dot then flip it around what's now X (by complementing AC), exchange X and Y again, etc., mirroring it around the two major axes and the two diagonals for a total of 8 dots by actually kind of walking around the compass..

Best,
Norbert

Adam Thornton

unread,
Dec 16, 2025, 8:45:23 PM (15 hours ago) Dec 16
to [PiDP-1]
Has anyone already built a hat for the Pi that brings out the signals for a type 30 display to a pair of ADCs and thence to time-varying voltages?  I've been repairing my Vectrex this past week and realized that I have a perfectly good 2-channel analog oscilloscope, which would be a lot cooler than, you know, a window on an LCD screen.

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

Matthias Barthel

unread,
Dec 16, 2025, 9:51:39 PM (13 hours ago) Dec 16
to Adam Thornton, [PiDP-1]
Adam,

You can use my backplane for pidp1 (coming next days, i'am just waiting for the pcb's) to connect a Digital to analog Converter on the AC and IO pins and drive your oscilloscope.

I think this can be working with a 10bit r2r-ladder.


Matthias 


Reply all
Reply to author
Forward
0 new messages