New Blog: Learning PDP11

1,122 views
Skip to first unread message

Dave O'Reilly

unread,
Jan 19, 2021, 11:06:12 AM1/19/21
to [PiDP-11]
Hello everyone, hope you're all keeping safe and well!

This is my first time reaching out to say hello to the PDP-11 community!

Inspired by the PiDP-11 kit that I bought a while ago I have started learning all about the PDP-11 and I started a blog to track my journey: https://www.learningpdp11.com/.

There is a lot of information there that I haven't been able to find anywhere else (e.g. an instruction-by-instruction breakdown of the bootstrap loader and the absolute loader). Hopefully it's a useful resource for those who like getting really low level understanding, like machine code/assembly stuff.

I'm sharing this link here beacuse I thought it might be of interest to some of you and I'd love to get some feedback.

Thanks!

daveor

Clem Cole

unread,
Jan 19, 2021, 2:39:40 PM1/19/21
to Dave O'Reilly, [PiDP-11]
Nice start,  A couple of suggestions.   A nice tweak  you probably should have a running box on the side of the blog called 'resources' with pointers to all the resources you are using, like the simh github, where to download some of the tape files or the disk images to load.

But a few documents you should suggest downloading before you do anything and then make sure you are familiar with them would be looking into http://bitsavers.org/pdf/dec/pdp11/handbooks/ which is a library of many of the DEC handbooks.  In that directory,  PDP11_Handbook1979.pdf  is an excellent version, but it was later in the cycle and so some of the older processors are not listed.     PDP11_PeripheralsHbk_1976.pdf I think is the best edition of the peripherals handbook, but it lacks some of the devices that DEC released later in the life.

Also, if you are going to learn from examples from DEC, having a copy of:   PDP-11_Macro-11_Language_Reference_Manual is also a good idea if you are going to look at the DEC documentation.

That said, you want to learn the machine and how a real OS uses its features, I would also highly recommend beginning your journey with John Lions' Commentary on UNIX 6th Edition, with Source Code which is available at most reasonable online book retailers, many small independents shorts, most college libraries (as well as many small public ones), and even in the wild as downloadable PDFs.  [BTW: if you are going to mess with Sixth Edition - set simh up as an 11/40 to start not an 11/45 or 11/70 and make sure you have a copy of the processor handbook that includes the 11/40 -- the 11/34A replaced it, but they are not 100% identical].  Also, note the UNIX assembler and the DEC assembler are different.   People >>have<< ported a DEC compliant macro assembler to some early UNIX if you are planning to do assembly work, or just run RT-11, RSTS or RSX.

Also, when I was grad student at UCB, we had an undergrad course that used either Arthur Gill's Machine
and Assembly Language Programming of the PDP-11 ISBN-13: 978-0135418888 or Charles Kappos's Assembly Language for the PDP-11  ISBN-13: 978-0871503046     I can not speak directly for either book as I did not teach the course that used them. But I know the students that talked to at UCB had good things to say about those books back in the day (and they are generally available on the used market). Frankly, years before when I was an undergrad at CMU, I just had a copy of the processor handbook, and frankly it was the nth system I time I learned a new ISA. 



--
You received this message because you are subscribed to the Google Groups "[PiDP-11]" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-11+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-11/3a515e3b-653d-4ac9-868f-0d93438eb490n%40googlegroups.com.

Oscar Vermeulen

unread,
Jan 19, 2021, 2:44:46 PM1/19/21
to Dave O'Reilly, [PiDP-11]
Dave,

Very interesting! I like the focus of the blog on the bottom-up 'bare metal' aspect of the PDP-11, and how to leverage the simh command line for that. I added a link on my web site if that's OK. I think we need more of these practical how-tos.

Kind regards,

Oscar.

steve...@gmail.com

unread,
Jan 19, 2021, 4:34:40 PM1/19/21
to [PiDP-11]

"Also, when I was grad student at UCB, we had an undergrad course that used either Arthur Gill's Machine
and Assembly Language Programming of the PDP-11 ISBN-13: 978-0135418888 or Charles Kappos's Assembly Language for the PDP-11  ISBN-13: 978-0871503046     I can not speak directly for either book as I did not teach the course that used them. But I know the students that talked to at UCB had good things to say about those books back in the day (and they are generally available on the used market)."

What years were you at UCB? I was there between Jan, 1979 and Dec, 1981 for an undergrad L&S CS degree. Go Bears! I still have Gill's book from back then. I think it was a required textbook for Dave Patterson's CS-152A Computer Architecture cross-over EECS class. We designed a scaled back PDP-11 CPU: no I/O, no extended memory management, no FPP, etc. Just the core instruction set. I concur that Gill's book is pretty good. I'd say that if one already had a solid foundation in assembly level programming of any kind (for me, PDP-8) then just using the DEC processor handbooks is sufficient. If someone is trying to learn assembly-level programming for the first time and happen to be doing it on a PDP-11 then Gill's book would be better because it's more educational and less a pure technical description of the machine architecture.

George Marinos

unread,
Jan 19, 2021, 5:16:17 PM1/19/21
to steve...@gmail.com, [PiDP-11]
Hi Steve
I deinstalled that 11/70 in Evans Hall. I think in 1987. We needed the space for more Vaxen. And to run the then new BSD 4.

GJM

Sent from my iPhone

On Jan 19, 2021, at 1:34 PM, steve...@gmail.com <steve...@gmail.com> wrote:



"Also, when I was grad student at UCB, we had an undergrad course that used either Arthur Gill's Machine
and Assembly Language Programming of the PDP-11 ISBN-13: 978-0135418888 or Charles Kappos's Assembly Language for the PDP-11  ISBN-13: 978-0871503046     I can not speak directly for either book as I did not teach the course that used them. But I know the students that talked to at UCB had good things to say about those books back in the day (and they are generally available on the used market)."

What years were you at UCB? I was there between Jan, 1979 and Dec, 1981 for an undergrad L&S CS degree. Go Bears! I still have Gill's book from back then. I think it was a required textbook for Dave Patterson's CS-152A Computer Architecture cross-over EECS class. We designed a scaled back PDP-11 CPU: no I/O, no extended memory management, no FPP, etc. Just the core instruction set. I concur that Gill's book is pretty good. I'd say that if one already had a solid foundation in assembly level programming of any kind (for me, PDP-8) then just using the DEC processor handbooks is sufficient. If someone is trying to learn assembly-level programming for the first time and happen to be doing it on a PDP-11 then Gill's book would be better because it's more educational and less a pure technical description of the machine architecture.

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

Dave O'Reilly

unread,
Jan 20, 2021, 11:49:25 AM1/20/21
to [PiDP-11]
Thanks very much for your feedback.

I will certainly take a look at creating a resources section however I have found that there are quite a number of resource repositories already available on the Internet. On the other hand, I haven't found anywhere that has answered the questions that I have considered in (most of) my posts.

By the way, my favourite resource is the PDP-11 Programming Card. I have it permanently open in a tab on my desktop these days.

Clem Cole

unread,
Jan 20, 2021, 12:04:52 PM1/20/21
to Dave O'Reilly, [PiDP-11]
On Wed, Jan 20, 2021 at 11:49 AM Dave O'Reilly <dave.ore...@gmail.com> wrote:
Thanks very much for your feedback.
Most welcome

I will certainly take a look at creating a resources section however I have found that there are quite a number of resource repositories already available on the Internet. On the other hand, I haven't found anywhere that has answered the questions that I have considered in (most of) my posts.
My point, was a little like a recipe or how good 'Instructables' are written.  There is a single place with the resources that will be needed / referenced.  Thus before some starts what you are describing, the collect the materials laid out in the resources section.     Just a thought ...
 

By the way, my favourite resource is the PDP-11 Programming Card. I have it permanently open in a tab on my desktop these days.
Back in the day, it was probably in my backpack ;-)

I have a drawer full of them - my IBM 'green card', PDP-8, 10, 11 cards. Most micro's from the day.  OS cheat sheets, Tek Plot 10, etc. -- whatever systems I was using in those times. where I did not need to memorize everything, but it was handy to be able to look something up quickly.  Funny the things you commit to memory.

Charley Jones

unread,
Jan 20, 2021, 12:39:09 PM1/20/21
to Clem Cole, Dave O'Reilly, [PiDP-11]
Always great to hear the reminiscing. I’ve had 3 career kills of as/400’s.  Was able to translate out the data to sql server and asp web pages.  I got to throw the off switch on 3 of them. 

Dataman in Vegas 
Sent from my iPhone Xs!

On Jan 20, 2021, at 9:04 AM, Clem Cole <cl...@ccc.com> wrote:


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

Neal G.

unread,
Jan 21, 2021, 1:24:27 PM1/21/21
to [PiDP-11]
Hi Dave;
if you have not already seen it, the BlinkenBone project, a variant of Simh, has a PDP-11/20 with paper-tape BASIC configuration.
I found it interesting and helpful to understand how to use Simh for paper-tape use.

- Neal G.




Roger Linhart

unread,
Jan 21, 2021, 1:46:18 PM1/21/21
to Neal G., [PiDP-11]
I got my start when Teletypes and Paper Tape were the norm. Lately I've found myself playing with the idea of creating an optical or mechanical paper tape punch/reader. With the current DIY manufacturing capabilities how challenging would it be to create a mechanical paper tape punch? My recollection of the vintage paper tapes punches is that there was a lot of engineering. Adding oil to the paper to lubricate the punches and a very complicated feed mechanism. Does anyone think this could be simplified to a DIY home project or was all that engineering the optimum solution? 

This is the main question that moderates my thoughts on whether an optical solution is more obtainable. I don't think it would be too hard to get spools of paper tape to feed through a custom printer and then use an optical sensor to read the printed paper tape. Maybe a webcam with OpenCV. Has anyone else already done something like this?

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


--
Roger Linhart
Portland, OR  97230
Mobile: 541-690-8560

Stephen Casner

unread,
Jan 21, 2021, 3:13:21 PM1/21/21
to Roger Linhart, Neal G., [PiDP-11]
On Thu, 21 Jan 2021, Roger Linhart wrote:

> This is the main question that moderates my thoughts on whether an optical
> solution is more obtainable. I don't think it would be too hard to get
> spools of paper tape to feed through a custom printer and then use an
> optical sensor to read the printed paper tape. Maybe a webcam with OpenCV.
> Has anyone else already done something like this?

High-powered laser for optical punch? :-)

-- Steve

Roger Linhart

unread,
Jan 21, 2021, 4:00:54 PM1/21/21
to Stephen Casner, Neal G., [PiDP-11]
Indeed! 

Clem Cole

unread,
Jan 21, 2021, 4:35:02 PM1/21/21
to Roger Linhart, Neal G., [PiDP-11]
I have tried a couple of schemes for readers, punch has been the bigger problem.   For readers, they all use the same basic idea.  And array of phototransistors and a light above them - pull the tape through.  But the issue is the phototransistors read the holes.   The two I have made have meant sanding the sides down so you can fit 9 of them in parallel.   I have yet to find a replacement that has been satisfactory from a mechanical standpoint, but they work and if you pull slowly and carefully, they are self clocking and something like an Ardunio or a RPi works fine.

This is an old design for a TRS-80, I have a couple of others.  If I could solve the optical array better, I would make a couple of PCB boards and off them up.




TC-8-PaperTapeReader.pdf

David Johnson

unread,
Jan 21, 2021, 4:48:17 PM1/21/21
to Clem Cole, Roger Linhart, Neal G., [PiDP-11]
I’ve never tried anything like this, but could you run an array of light pipes aimed at the holes,
back to the phototransistors mounted elsewhere in a convenient spacing?


steve...@gmail.com

unread,
Jan 21, 2021, 4:50:44 PM1/21/21
to [PiDP-11]

Regarding optical paper tape readers, here's a kit that includes an array of photodiodes:


I got one about 6 months ago, and with some fiddling around with the light source it works pretty well. It's not direct-connected into either PiDP-8/i or PiDP11/70. Mine is patched into the GPIO on a spare Pi. I read the tape on the spare Pi and save it as a byte stream data file. I then move the data file over to the PiDP and use the pseudo-reader there. I wrote up how I did it in the PiDP-8/i forum but I'm not having luck searching there to find a link. I'll look more closely.

As long as you work out the simple parallel output on the reader being converted into a suitable serial input on SIMH, it would be possible to direct-connect it into a PiDP if that's your goal.


Clem Cole

unread,
Jan 21, 2021, 5:06:46 PM1/21/21
to steve...@gmail.com, [PiDP-11]
It's been listed as out of stock for a long while.  I'm impressed you got one 6 months ago.  Hence I made my own using a similar scheme.

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

Ron Pool

unread,
Jan 21, 2021, 5:30:41 PM1/21/21
to Clem Cole, steve...@gmail.com, [PiDP-11]

Strange – I also got one about 6 months ago.  And today I was able to add one to a cart and got o checkout, though I didn’t actually place on order as I don’t need two of the OP-80A reproduction optical paper tape readers.  I can’t see anywhere on the product page that shows it’s out of stock right now.

Oscar Vermeulen

unread,
Jan 21, 2021, 5:40:02 PM1/21/21
to Clem Cole, steve...@gmail.com, [PiDP-11]
A new paper tape reader exists on github, which achieves amazing results with minimal hardware. From Dave Hansel, the man who did the design of the AltairDuino:

As for a paper tape punch - I think by now my opinion is 'forget it'. Much harder than you'd think. Lasers won't work, the hole they burn is not clean enough. My last attempt was to bother a Swiss company that did thousands of parking lot ticket machines over here. Because oddly, these use a credit-card format parking ticket with punched holes *exactly* identical to regular paper tape. So I asked them if they had any plan for these punches now that they are moving over to magnetic tape for their new products. It was quite clear over the phone they thought I was a lunatic and they politely told me to seek a solution for my life issues elsewhere...

So I bought some old Facit paper tape punches in the end.

One thing I have been wondering about is to convert a simple thermal cash register printer ($15 on Aliexpress etc) into a paper tape, er, printer. Black dots instead of holes. One of these printers, followed by a cutter to make the roll into 1" tape. I'm sure Dave Hansel's reader, above, could be modified to be dual-mode in that it would read printed tape as well as punched tape. Because it is clear the world needs a future-proof paper tape solution...

Kind regards,

Oscar.


Clem Cole

unread,
Jan 21, 2021, 5:40:41 PM1/21/21
to Ron Pool, steve...@gmail.com, [PiDP-11]
I sent them email and they told me there needed to reset the web site.  I just ordered one also.

Drew Rogge

unread,
Jan 21, 2021, 10:16:46 PM1/21/21
to pid...@googlegroups.com
I was never a student at UCB but I did work for a company between 1976 and 1984 that used  one of the U's PDP-11/70s for cross developing software for the TI 9900 microprocessor. Another part of the company did a simulation of the California Aqueduct for the state and that got us the user account. I use to loving taking Humphrey-Go-Bart up to the campus to pickup printouts at Evans Hall. I did visit on of the terminal rooms once and there were row upon row of ADM3a's with the word "login:" burned into the upper left of the screen :-) We eventually got our own PDP-11/44 but it didn't have the same glamor as an 11/70.

Drew

On 1/19/21 1:34 PM, steve...@gmail.com wrote:
>
> "Also, when I was grad student at UCB, we had an undergrad course that used either Arthur Gill's */Machine
> /**/and Assembly Language Programming of the PDP-11/* ISBN-13: 978-0135418888 or Charles Kappos's */Assembly Language for the PDP-11/*  ISBN-13: 978-0871503046     I can not speak directly for either book as I did not teach the course that used them. But I know the students that talked to at UCB had good things to say about those books back in the day (and they are generally available on the used market)."
>
> What years were you at UCB? I was there between Jan, 1979 and Dec, 1981 for an undergrad L&S CS degree. Go Bears! I still have Gill's book from back then. I think it was a required textbook for Dave Patterson's CS-152A Computer Architecture cross-over EECS class. We designed a scaled back PDP-11 CPU: no I/O, no extended memory management, no FPP, etc. Just the core instruction set. I concur that Gill's book is pretty good. I'd say that if one already had a solid foundation in assembly level programming of any kind (for me, PDP-8) then just using the DEC processor handbooks is sufficient. If someone is trying to learn assembly-level programming for the first time and happen to be doing it on a PDP-11 then Gill's book would be better because it's more educational and less a pure technical description of the machine architecture.
>
> --
> You received this message because you are subscribed to the Google Groups "[PiDP-11]" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to pidp-11+u...@googlegroups.com <mailto:pidp-11+u...@googlegroups.com>.
> To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-11/dac57f2b-57f2-4960-84a3-d3fbe7f9dfcfn%40googlegroups.com <https://groups.google.com/d/msgid/pidp-11/dac57f2b-57f2-4960-84a3-d3fbe7f9dfcfn%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
Drew Rogge
dr...@dasrogges.com

Phone: 8934OOO629OO4829631OOOOOOO

jeff.t...@gmail.com

unread,
Jan 22, 2021, 12:01:07 AM1/22/21
to [PiDP-11]
I definitely want to create a modern USB-based paper tape writer! 

Until that happens, there is an application that will create DXF files from the PTAP archive format, which then can be used with low cost personal cutting machines (like the Silhouette Cameo).  I've printed off a few tapes and it works, but it's slow and the results really depend on having the correct combination of paper and cutting heads.  A laser cutter would probably work even better, as long as the paper didn't catch fire...

https://github.com/1944GPW/ptap2dxf

bill....@gmail.com

unread,
Jan 22, 2021, 12:53:16 AM1/22/21
to [PiDP-11]
So tempting!  But I think the shipping from the UK to the US would be an appreciable fraction of the $US 130 of the kit.  :-(

Dave O'Reilly

unread,
Jan 22, 2021, 4:37:54 AM1/22/21
to [PiDP-11]
Hi Neal,

Thanks for this, I wasn't aware of it.

I was thinking about your email last night and it has prompted me to ask a question of all of you PDP gurus:

This question arose as I was doing my teardown of the absolute loader code (https://www.learningpdp11.com/post/loading-a-program-from-tape-part-4-the-absolute-loader):

Absolute loader reads blocks of data from tape, blocks have a header (consisting of a signature word, a byte length and a load address) followed by data and a checksum. Blocks on tape that have no data are called jump blocks. When a jump block is read, the load address is interpreted as the program entry point and execution jumps to this address...unless the load address is odd.

If the load address is odd the absolute loader halts. If you press CONT after the absolute loader halts the code jumps back to the start and begins loading another tape. At the time I was writing about this I hypothesised that one reason for this behaviour to be present could be to support a situation where a single program is being loaded from multiple paper tapes. (first tape loaded, loader encounters jump block with odd address, halts, operator changes tape, presses cont, load second tape, loader encounters jump address with even address and runs code).

This was the most reasonable explanation that I could think of.

So, I'm wondering (a) was it ever the case that programs loaded with the absolute loader were split across multiple tapes and (b) if so, can anyone point me to a set of multi-tape PTAP files so that I can confirm whether the jump address on the tapes is even or odd?

Thanks,
daveor

Bill Saltzstein

unread,
Jan 22, 2021, 7:14:24 AM1/22/21
to Roger Linhart, Neal G., [PiDP-11]
Back in the day, I could read ASCII paper tape.  What a valuable skill today, right?

I’ve looked into this, but not followed through; here are a couple of pages to consider:


If someone has time/energy, I think this would be great!

Bill


Bill Saltzstein

unread,
Jan 22, 2021, 7:14:24 AM1/22/21
to Oscar Vermeulen, Clem Cole, steve...@gmail.com, [PiDP-11]
Oscar — your closing comment is priceless; and I quote: Because it is clear the world needs a future-proof paper tape solution...

You made my day!

I’d honestly be more interested in a useable DecTape solution.  I’ve seen the simulation version (which is very cool and tempting), but what about a real one, or at least some sort of tape backup device adapted.  Any thoughts/musings?

Thanks all,
Bill

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

Geert Rolf

unread,
Jan 22, 2021, 11:33:13 AM1/22/21
to [PiDP-11]
Indeed some die-hards do want to know more about the PDP-11. I'm not suggesting all should know what 000777 does or what 000240 does, but some nerds know these codes if you wake them in the middle of the night.  Writing assembler code that in the end runs on Bare Metal...  for Oscar.... Bare Plastic ;-) can be a lot of fun and a way of learning about PDP-11 fundamentals.

I'm working on this idea:
  • You write a Macro-11 program using RT11. If you do not use calls to RT11 it can run on Bare Metal.
  • The LINK program can give you a .LDA file in stead of .SAV file. The .LDA file is what you already know as the binary papertape.
  • We virtually punch this file by copying to PC:
  • I made another PiDP-11 setup called "LDA_your_program" that loads the Absolute Loader and next your binary papertape. After that your own program runs without any operating system, without any debugging tool on a bare naked PDP11, if you have one.
The above works at my desk, albeit with a different RT11. I'm working on the standard installed RT11 to get it in better shape. After that we will meet again and you can use it at home. And YES, I will provide some demo programs that can be fun to figure out.

So....  APPEARING SOON IN THIS THEATRE (at least this one is open)

Geert

Hans

unread,
Jan 22, 2021, 11:40:48 AM1/22/21
to [PiDP-11]
How about... 
A simple program that males black-dotted paper tape to scale for 200/250/300 gram white A4 or A3 paper to cut to strips and glue together.
Plus a simple optical papertape reader that can bot read real paper tape and these "fake" tapes by detecting black dots and send them out at 9600 baud?
Generating the strips in PDF format based on a hex-file cannot be that difficult, a Java programs with a PDF library would do the trick.
The hardest thing about the reader is finding optical detectors fast and accurate enough and hook 9 of them up to an Arduino.
If I can find the detectors and the time, it would be a relatively simple project...
greetz, Hans

Op donderdag 21 januari 2021 om 23:40:02 UTC+1 schreef oscarv:

jeff.t...@gmail.com

unread,
Jan 22, 2021, 11:46:33 AM1/22/21
to [PiDP-11]
I can't find it now, but someone recommended using Flight Strips (for example: https://www.hermieusupply.com/en-EN/flight-strip.html) which are still used by air traffic controllers, widely available in 1" strips, and has a thermal printer layer.

Mike Katz

unread,
Jan 22, 2021, 12:44:40 PM1/22/21
to Geert Rolf, [PiDP-11]
A good working knowledge of the machine language of the machine you are running on contributes to writing better code in higher level compiled languages.

I have seen programs from programmers with a master degree in CS that are extremely poorly coded due to being totally oblivious what is happening "under the sheets".  I have seen this in both C and C++.

i'm not talking about esoteric hard to read obscure code but basic things like understanding how the stack works.   I remember one program that was using unsigned longs to count to 10 in a loop on an 8 bit machine when an unsigned char would have worked just as well with considerably less code space and CPU cycles.
--
You received this message because you are subscribed to the Google Groups "[PiDP-11]" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-11+u...@googlegroups.com.

Anton Lavrentiev

unread,
Jan 22, 2021, 1:08:24 PM1/22/21
to Geert Rolf, [PiDP-11]
> what 000240 does

LOL good humor 'cuz it does do nothing :-)))

Stephen Casner

unread,
Jan 22, 2021, 1:12:59 PM1/22/21
to Mike Katz, [PiDP-11]
Agreed! Speaking of stack, I encountered one instance where a
professional colleague of mine wanted to segment a long procedure into
subset functions, presumably to follow the dictum that no function
should be longer than a page (of paper). These were written in
sequence in the source file with each one calling the next one just
before returning. Yikes! I don't happen to believe that dictum; I
would simply have put an appropriately descriptive block comment
between the segments of code and skipped the call and return
altogether.

-- Steve

On Fri, 22 Jan 2021, Mike Katz wrote:

> A good working knowledge of the machine language of the machine you are
> running on contributes to writing better code in higher level compiled
> languages.
>
> I have seen programs from programmers with a master degree in CS that are
> extremely poorly coded due to being totally oblivious what is happening "under
> the sheets". I have seen this in both C and C++.
>
> i'm not talking about esoteric hard to read obscure code but basic things like
> understanding how the stack works. I remember one program that was using
> unsigned longs to count to 10 in a loop on an 8 bit machine when an unsigned
> char would have worked just as well with considerably less code space and CPU
> cycles.
>
> On 1/22/2021 10:33 AM, Geert Rolf wrote:
> > Indeed some die-hards do want to know more about the PDP-11. I'm not
> > suggesting all should know what 000777 does or what 000240 does, but some
> > nerds know these codes if you wake them in the middle of the night. Writing
> > assembler code that in the end runs on Bare Metal... for Oscar.... Bare
> > Plastic ;-) can be a lot of fun and a way of learning about PDP-11
> > fundamentals.
> >
> > I'm working on this idea:
> >
> > * You write a Macro-11 program using RT11. If you do not use calls
> > to RT11 it can run on Bare Metal.
> > * The LINK program can give you a .LDA file in stead of .SAV file.
> > The .LDA file is what you already know as the binary papertape.
> > * We virtually punch this file by copying to PC:
> > * I made another PiDP-11 setup called "LDA_your_program" that loads
> > the Absolute Loader and next your binary papertape. After that
> > your own program runs without any operating system, without any
> > debugging tool on a bare naked PDP11, if you have one.
> >
> > The above works at my desk, albeit with a different RT11. I'm working on the
> > standard installed RT11 to get it in better shape. After that we will meet
> > again and you can use it at home. And YES, I will provide some demo programs
> > that can be fun to figure out.
> >
> > So.... APPEARING SOON IN THIS THEATRE (at least this one is open)
> >
> > Geert
> > On Tuesday, January 19, 2021 at 5:06:12 PM UTC+1 Dave O'Reilly wrote:
> >
> > Hello everyone, hope you're all keeping safe and well!
> >
> > This is my first time reaching out to say hello to the PDP-11
> > community!
> >
> > Inspired by the PiDP-11 kit that I bought a while ago I have
> > started learning all about the PDP-11 and I started a blog to
> > track my journey: https://www.learningpdp11.com/
> > <https://www.learningpdp11.com/>.
> >
> > There is a lot of information there that I haven't been able to
> > find anywhere else (e.g. an instruction-by-instruction breakdown
> > of the bootstrap loader and the absolute loader). Hopefully it's a
> > useful resource for those who like getting really low level
> > understanding, like machine code/assembly stuff.
> >
> > I'm sharing this link here beacuse I thought it might be of
> > interest to some of you and I'd love to get some feedback.
> >
> > Thanks!
> >
> > daveor
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "[PiDP-11]" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to pidp-11+u...@googlegroups.com
> > <mailto:pidp-11+u...@googlegroups.com>.
> > <https://groups.google.com/d/msgid/pidp-11/5cb4a35e-ccf8-4a5b-9d76-4a89fd3918a9n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google Groups
> "[PiDP-11]" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to pidp-11+u...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pidp-11/ecc40079-15d4-c8a4-0d29-92de7ceb9100%40gmail.com.
>

Neal G.

unread,
Jan 22, 2021, 2:14:10 PM1/22/21
to [PiDP-11]
Dave,

Yes, there are programs that are split cross multiple tapes.

The paper tape version of the PAL-11 assembler appears to have been distributed on a set of tapes.

- Neal G.

Drew Rogge

unread,
Jan 22, 2021, 2:49:56 PM1/22/21
to pid...@googlegroups.com
I've always maintained that paper tape with a mylar center layer is the perfect archive medium. It can even be read by the light of a fire in a cave.

On 1/21/21 3:34 PM, Bill Saltzstein wrote:
> Oscar — your closing comment is priceless; and I quote: */Because it is clear the world needs a future-proof paper tape solution.../*
>
> You made my day!
>
> I’d honestly be more interested in a useable DecTape solution.  I’ve seen the simulation version (which is very cool and tempting), but what about a real one, or at least some sort of tape backup device adapted.  Any thoughts/musings?
>
> Thanks all,
> Bill
>
>> On Jan 21, 2021, at 2:39 PM, Oscar Vermeulen <vermeul...@gmail.com <mailto:vermeul...@gmail.com>> wrote:
>>
>> A new paper tape reader exists on github, which achieves amazing results with minimal hardware. From Dave Hansel, the man who did the design of the AltairDuino:
>> https://github.com/dhansel/PaperTapeReader <https://github.com/dhansel/PaperTapeReader>
>>
>> As for a paper tape punch - I think by now my opinion is 'forget it'. Much harder than you'd think. Lasers won't work, the hole they burn is not clean enough. My last attempt was to bother a Swiss company that did thousands of parking lot ticket machines over here. Because oddly, these use a credit-card format parking ticket with punched holes *exactly* identical to regular paper tape. So I asked them if they had any plan for these punches now that they are moving over to magnetic tape for their new products. It was quite clear over the phone they thought I was a lunatic and they politely told me to seek a solution for my life issues elsewhere...
>>
>> So I bought some old Facit paper tape punches in the end.
>>
>> One thing I have been wondering about is to convert a simple thermal cash register printer ($15 on Aliexpress etc) into a paper tape, er, printer. Black dots instead of holes. One of these printers, followed by a cutter to make the roll into 1" tape. I'm sure Dave Hansel's reader, above, could be modified to be dual-mode in that it would read printed tape as well as punched tape. Because it is clear the world needs a future-proof paper tape solution...
>>
>> Kind regards,
>>
>> Oscar.
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups "[PiDP-11]" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to pidp-11+u...@googlegroups.com <mailto:pidp-11+u...@googlegroups.com>.
>> To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-11/CAJAwMc3yNE72gi7V6FsO2V06yzXPp1iot%3DT1LnuzipvveBnZGA%40mail.gmail.com <https://groups.google.com/d/msgid/pidp-11/CAJAwMc3yNE72gi7V6FsO2V06yzXPp1iot%3DT1LnuzipvveBnZGA%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google Groups "[PiDP-11]" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to pidp-11+u...@googlegroups.com <mailto:pidp-11+u...@googlegroups.com>.
> To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-11/390CDAAD-229B-49BE-9426-AB751D402600%40gmail.com <https://groups.google.com/d/msgid/pidp-11/390CDAAD-229B-49BE-9426-AB751D402600%40gmail.com?utm_medium=email&utm_source=footer>.

Bill Saltzstein

unread,
Jan 22, 2021, 3:57:03 PM1/22/21
to Drew Rogge, pid...@googlegroups.com
That explains the early cave paintings?

--
Bill Saltzstein


> On Jan 22, 2021, at 11:49 AM, Drew Rogge <dr...@dasrogges.com> wrote:
>
> I've always maintained that paper tape with a mylar center layer is the perfect archive medium. It can even be read by the light of a fire in a cave.
> To unsubscribe from this group and stop receiving emails from it, send an email to pidp-11+u...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-11/a59b4efc-19ee-7319-6807-4ca1c1fc07c4%40DasRogges.com.

steve...@gmail.com

unread,
Jan 22, 2021, 6:35:02 PM1/22/21
to [PiDP-11]

Bill,

"Back in the day, I could read ASCII paper tape.  What a valuable skill today, right?"

Believe it or not, yes it can still be a valuable skill (smile). Earlier this year I was reconstructing the source code for EduSystem 20 Basic version C (for the PiDP-8/i) from the EduSystem 25 source code and a printed listing I have. Unfortunately the Edu 20C listing is missing 2 pages so I had to reverse-engineer that code from a paper tape (attached photo).

Cheers,

-- steve


Read Paper Tape.jpeg

Mike Katz

unread,
Jan 22, 2021, 7:01:35 PM1/22/21
to steve...@gmail.com, [PiDP-11]
I think for 2 pages of text I would have bought an OP-80A reader kit (http://jmprecision.co.uk/shopping/start.php?browse=1&cat=20&=SID#)  or build my own reader.

How many feet of paper tape is 2 pages of source code?
--
You received this message because you are subscribed to the Google Groups "[PiDP-11]" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-11+u...@googlegroups.com.

steve...@gmail.com

unread,
Jan 22, 2021, 7:32:47 PM1/22/21
to [PiDP-11]

"I think for 2 pages of text I would have bought an OP-80A reader kit (http://jmprecision.co.uk/shopping/start.php?browse=1&cat=20&=SID#)  or build my own reader.

How many feet of paper tape is 2 pages of source code?"

I should have been more clear, sorry. I was reverse-engineering the missing pages of source code from the BIN (Binary Loader) format paper tape. The missing section of code was approximately 18 inches / 46 cm of the binary tape. That section was in the middle of the stored data table for interpreting Basic keywords like READ, RESTORE, GOSUB, FOR, DIM, etc. so there weren't any code comments to worry about.

If you assume an average of, say, 20 characters of (PAL-8) source code per printed line with 55 lines on a page of 8.5x11 paper then you are talking about 2200 characters. At 10 characters per inch that's 220 inches (18 feet / 5.6 meters) of paper tape.

In fact, I did buy an OP-80a reader and got it running so I could compare the binary  output I created from the re-constituted source code to  (a copy of) the original physical paper tape from DEC.


-- steve


Geert Rolf

unread,
Jan 23, 2021, 9:30:47 AM1/23/21
to [PiDP-11]
000777 does just a little less than 000240, Anton ;-)

(but takes little more to find out)

Anton Lavrentiev

unread,
Jan 24, 2021, 9:11:55 AM1/24/21
to Geert Rolf, [PiDP-11]
> 000777 does just a little less than 000240

Only if hanging your cpu is considered less benign than doing nothing ...

Geert Rolf

unread,
Jan 24, 2021, 9:51:30 AM1/24/21
to [PiDP-11]
BR . (dot)  jumps to the same location and the NOP at least proceeds to next instruction.

Funny, you mentioned "hanging"... We used it to prove the CPU was not hanging.
That needs some explanation. When your large Unibus PDP was sick and needed debugging, you make the machine smaller by moving the bus terminator from the end of the bus step by step to the front (=the cpu). In each step you leave out some of the peripherals. If the cpu shows healthy behaviour you know you just cut off the part with a problem. The ultimate situation is where the bus terminator is just after the CPU, which means no memory on models that have memory on the Unibus. (Not the case with the PDP 11/70 that has its memory on separate bus.)

How to prove a PDP has proper cycle and timing without memory??  Set 000777 on switch register and start the machine from address 177750. If it runs it is not hanging.

On your PiDP-11:  17777750 load address / 000777 / start

Some, but not all, PDP-11 models can run small program in registers, where the PC advances by 1 not 2.

Anton Lavrentiev

unread,
Jan 24, 2021, 9:58:11 AM1/24/21
to Geert Rolf, [PiDP-11]
Cool hack(s)!! :-)

By hanging I meant it'd be stuck at that instruction forever (well, with you I should be more careful about wording -- so, until the cpu is powered on LOL 😆)



Johnny Billquist

unread,
Jan 24, 2021, 10:43:06 AM1/24/21
to Geert Rolf, [PiDP-11]
To expand on that a bit. Running from the registers were really a rather
special case, and as you mention, only working on some models.

Another "trick" is to use the MMU relocation registers. When the MMU is
not turned on, the PAR registers on machines capable of 22-bit
addressing are free to use, and they actually provide at least 16
consecutive usable memory locations. If you go through the 11/70 service
manuals, there are some basic test programs you are given that can be
toggled in on the front panel. And they use the PAR registers.

Which again means you are not dependent on working memory. And as a
first test, that is very useful.

Johnny
> <https://www.learningpdp11.com/>.
> >>
> >> There is a lot of information there that I haven't been
> able to find anywhere else (e.g. an
> instruction-by-instruction breakdown of the bootstrap loader
> and the absolute loader). Hopefully it's a useful resource
> for those who like getting really low level understanding,
> like machine code/assembly stuff.
> >>
> >> I'm sharing this link here beacuse I thought it might be
> of interest to some of you and I'd love to get some feedback.
> >>
> >> Thanks!
> >>
> >> daveor
> >
> > --
> > You received this message because you are subscribed to
> the Google Groups "[PiDP-11]" group.
> > To unsubscribe from this group and stop receiving emails
> from it, send an email to pidp-11+u...@googlegroups.com.
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/pidp-11/5cb4a35e-ccf8-4a5b-9d76-4a89fd3918a9n%40googlegroups.com
> <https://groups.google.com/d/msgid/pidp-11/5cb4a35e-ccf8-4a5b-9d76-4a89fd3918a9n%40googlegroups.com>.
>
>
> --
> You received this message because you are subscribed to the
> Google Groups "[PiDP-11]" group.
> To unsubscribe from this group and stop receiving emails from
> it, send an email to pidp-11+u...@googlegroups.com.
>
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pidp-11/cf3663f9-3ca3-4744-9c59-b7dc74564286n%40googlegroups.com
> <https://groups.google.com/d/msgid/pidp-11/cf3663f9-3ca3-4744-9c59-b7dc74564286n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "[PiDP-11]" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to pidp-11+u...@googlegroups.com
> <mailto:pidp-11+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pidp-11/442f0dca-bc5f-4fa4-a11f-bcf6b55beea2n%40googlegroups.com
> <https://groups.google.com/d/msgid/pidp-11/442f0dca-bc5f-4fa4-a11f-bcf6b55beea2n%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: b...@softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol

Johnny Billquist

unread,
Jan 24, 2021, 10:43:31 AM1/24/21
to Anton Lavrentiev, Geert Rolf, [PiDP-11]
Or until you get an interrupt...

Johnny
> <https://www.learningpdp11.com/>.
> >>
> >> There is a lot of information there that I haven't
> been able to find anywhere else (e.g. an
> instruction-by-instruction breakdown of the bootstrap
> loader and the absolute loader). Hopefully it's a useful
> resource for those who like getting really low level
> understanding, like machine code/assembly stuff.
> >>
> >> I'm sharing this link here beacuse I thought it
> might be of interest to some of you and I'd love to get
> some feedback.
> >>
> >> Thanks!
> >>
> >> daveor
> >
> > --
> > You received this message because you are subscribed
> to the Google Groups "[PiDP-11]" group.
> > To unsubscribe from this group and stop receiving
> emails from it, send an email to
> pidp-11+u...@googlegroups.com.
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/pidp-11/5cb4a35e-ccf8-4a5b-9d76-4a89fd3918a9n%40googlegroups.com
> <https://groups.google.com/d/msgid/pidp-11/5cb4a35e-ccf8-4a5b-9d76-4a89fd3918a9n%40googlegroups.com>.
>
>
> --
> You received this message because you are subscribed to the
> Google Groups "[PiDP-11]" group.
> To unsubscribe from this group and stop receiving emails
> from it, send an email to pidp-11+u...@googlegroups.com.
>
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pidp-11/cf3663f9-3ca3-4744-9c59-b7dc74564286n%40googlegroups.com
> <https://groups.google.com/d/msgid/pidp-11/cf3663f9-3ca3-4744-9c59-b7dc74564286n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "[PiDP-11]" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to pidp-11+u...@googlegroups.com
> <mailto:pidp-11+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pidp-11/442f0dca-bc5f-4fa4-a11f-bcf6b55beea2n%40googlegroups.com
> <https://groups.google.com/d/msgid/pidp-11/442f0dca-bc5f-4fa4-a11f-bcf6b55beea2n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "[PiDP-11]" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to pidp-11+u...@googlegroups.com
> <mailto:pidp-11+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pidp-11/CAAo%3Dyr1QJKtxVawnWmXYMzO_xKPjfe7M9xL5Pa5FsnDtt%3DoXSQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/pidp-11/CAAo%3Dyr1QJKtxVawnWmXYMzO_xKPjfe7M9xL5Pa5FsnDtt%3DoXSQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.

Neil Higgins

unread,
Jan 26, 2021, 8:09:03 PM1/26/21
to [PiDP-11]
We also need future-proof magnetic drum memory. Albeit this was never used with PDP-11s AFAIK; however it was an integral part of architectures like the LGP30. A (physically) small and functional drum memory would be nice, but it’s hard to imagine how to build one without sophisticated machine tools and industrial-quality materials. Even cheap read/write tape heads (ex. audio cassette) are becoming hard to find. I have toyed with the idea of an optical analogy, e.g. fluorescent material that could perhaps be excited by a LED or laser so that it would glow like a “1” for a single revolution of the drum, then fade - “dynamic drum memory”.

Robert Evans

unread,
Jan 27, 2021, 12:33:06 PM1/27/21
to [PiDP-11]
I remember the RF11/RS11.  I always thought of this as the PDP-11 equivalent of drum memory.  The RF11 controller can connect a Unibus to as many as eight RS11 fixed-head (or head-per-track) disks.  Each RS11 can store 0.5 MB of data. 

  (First computer I programmed in 1960's had a drum for the main memory since core was more costly.   This was tragically slow, about 200 instructions per second..)

Roger Linhart

unread,
Jan 27, 2021, 1:52:30 PM1/27/21
to Robert Evans, [PiDP-11]
Please forgive me this deviation from PDP history. I've been searching for information on an old computer I used in high school in the early 70's, the ECP-18. It had drum memory too. It was built into an oversized desk with a teletype and paper tape punch and reader. It had the coolest blinkenlight display. The illuminated pushbuttons were arranged for Octal with alternating white and amber lenses.

The woman in the photo wrote the two pass assembler that I used in class. An interesting story about this can be found here: https://lookingthroughwater.wordpress.com/2012/06/02/memoir-chapter-seven-bread-trucks-and-computers/

ECP Computer.jpg

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

Robert Evans

unread,
Jan 27, 2021, 6:16:20 PM1/27/21
to Roger Linhart, [PiDP-11]
Same vintage, different machine (Digiac 3080), also in an oversized desk.  I wrote an emulator for this machine.  Details are on Ed Felberbaum's Digiac 3080 Tribute page.

image.png

Sorry, I have no knowledge of the ECP-18.


On Wed, Jan 27, 2021 at 1:52 PM Roger Linhart <linh...@gmail.com> wrote:
Please forgive me this deviation from PDP history. I've been searching for information on an old computer I used in high school in the early 70's, the ECP-18. It had drum memory too. It was built into an oversized desk with a teletype and paper tape punch and reader. It had the coolest blinkenlight display. The illuminated pushbuttons were arranged for Octal with alternating white and amber lenses.
Roger Linhart

Marian Aldenhoevel

unread,
Mar 14, 2021, 3:36:16 PM3/14/21
to [PiDP-11]
Hi Dave,

I have started reading your blog and being new to this world of hands-on vintage computing very much appreciate the detail you are going to.

I have read most of your posts by now and even watched the video playlist you are quoting and am full of nostalgia and a warm glow of having learned a lot of very interesting formerly very useful stuff.

I may have a tiny sliver of information to add myself. In your post about using the line clock feature you observe:

     "if you query the value of memory address 177546 you always get zero back, even after setting bit 6. I don't know if this is the expected behaviour or a bug in the emulator."

Just having watched the DEC training videos I think the answer is in "Tape 21 - IO Programming part A".

    https://www.youtube.com/watch?v=CkVbzedJdaU&t=448s

I believe the CSR in question propably is of the mentioned write-only-variety. So I think the behaviour might well be expected.

Thanks again for your great writeups!

Regards, Marian
Dave O'Reilly schrieb am Dienstag, 19. Januar 2021 um 17:06:12 UTC+1:
Hello everyone, hope you're all keeping safe and well!

This is my first time reaching out to say hello to the PDP-11 community!

Inspired by the PiDP-11 kit that I bought a while ago I have started learning all about the PDP-11 and I started a blog to track my journey: https://www.learningpdp11.com/.

Johnny Billquist

unread,
Mar 14, 2021, 4:34:36 PM3/14/21
to pid...@googlegroups.com
The LKS (17777546) register is not write only.
There are only two bits defined, but they are:

Bit 7: LCM - This bit is set by the clock signal edge, whatever the
source. It is cleared by a CPU interrupt acknowledge, or by writing a 0
to it. (At least on a J11. I haven't checked the manual for the DL11-W).
Bit 6: LCIE - This bit is set/cleared under program control, and should
read back as written.

Depending on what emulator you are using, though, I know that the LCM
bit might not work. A bit surprised if LCIE isn't working either. What
emulator is used? Or are people actually testing on real hardware?

Anyway. On a real 11/70, running RSX:

.ope 17777546/knld
17777546 /000300

And a real 11/93:

.ope 17777546/knld
17777546 /000100

Clearly neither reads back as 0. Both correctly shows that LCIE is 1.
And obviously it seems the DL11-W on an 11/70 does not clear the LCM on
interrupt acknowledge. But it's cleared at some point, since the
interrupts are coming in...

Also, I did a change to the 2.11BSD boot program, where it does a
countdown at startup, instead of just sitting at the boot prompt. That
is done by polling the LCM bit, and whenever I see it set, one tick have
passed, and I explicitly write a 0 in there again.
You can see that code in sys/pdpstand/prf.c, function getchar2().
That obviously depends on that register not always reading out as 0. But
I know that it don't work on the p11 emulator, which have some strange
clock behavior. But it does work in simh.

Johnny
> <https://www.learningpdp11.com/>.
>
> There is a lot of information there that I haven't been able to find
> anywhere else (e.g. an instruction-by-instruction breakdown of the
> bootstrap loader and the absolute loader). Hopefully it's a useful
> resource for those who like getting really low level understanding,
> like machine code/assembly stuff.
>
> I'm sharing this link here beacuse I thought it might be of interest
> to some of you and I'd love to get some feedback.
>
> Thanks!
>
> daveor
>
> --
> You received this message because you are subscribed to the Google
> Groups "[PiDP-11]" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to pidp-11+u...@googlegroups.com
> <mailto:pidp-11+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pidp-11/48192c7a-76de-4d70-8b2e-26b1b6d36c9en%40googlegroups.com
> <https://groups.google.com/d/msgid/pidp-11/48192c7a-76de-4d70-8b2e-26b1b6d36c9en%40googlegroups.com?utm_medium=email&utm_source=footer>.
Reply all
Reply to author
Forward
0 new messages