PDP-6 / ITS-138

https://gunkies.org/wiki/ITS_138
7 stars 5 forks source link

Typing and proofreading #2

Closed larsbrinkhoff closed 11 months ago

larsbrinkhoff commented 1 year ago

Announce your typing or proofreading here.

Please try to make an exact copy of the text, including spacing. If the original has a typo, keep the typo. I'm not sure what to do with hand written notes yet. It looks like lines are made of three line number digits, then 13 spaces, then the source text. If there's a symbol reference, it's five spaces after the line number, then three digits, one space, three digits, one space. Comments are usually put at a tab location. (The correct tab width is 8 spaces.) Type ^ for uparrow, and _ for leftarrow.

Ideally each page should be typed twice independently to weed out the typos.

File names are page, plus three digits for the listing page number (in the photo), plus one subpage digit or 0 if none, plus .txt.

Here's a summary of what has been done. I will update this table continuously. Except when I sleep. Pages Done Claimed
0-19 @larsbrinkhoff, @sebras
20-25 @larsbrinkhoff, @decuser
26-30 @aap, @drboone
31-35 @cameronshortt, @rcornwell
36-40 @aap, @rcornwell
41- 45 @sebras, @rcornwell
46-58 @aap, @rcornwell
59-64 @larsbrinkhoff, @rcornwell
65-70 @aap, @rcornwell
71-80 @larsbrinkhoff, @sebras
81-90 @aap, @cameronshortt
91-101 @drboone, @sebras
102-109 @larsbrinkhoff, @drboone
110-112 @larsbrinkhoff, @drboone
113-116 @larsbrinkhoff, @sebras
117-118 @sebras, @decuser
119-121 @sebras, @larsbrinkhoff
larsbrinkhoff commented 1 year ago

I'll get started on the first three pages, e.g. 11_22_23, 2_36 PM Microsoft Lens.jpg, (1), and (2).

larsbrinkhoff commented 1 year ago

I'm up to page 11.

larsbrinkhoff commented 1 year ago

I completed 0-14 + 113 yesterday. @sebras has completed an independent second transcription.

@decuser expressed interest in helping.

decuser commented 1 year ago

I'm on it for pages 114-118.1

sebras commented 1 year ago

I'll retype the last two pages of the symbol table now. If I come up with something I'll send a PR. :)

larsbrinkhoff commented 12 months ago

Hello volunteers, (@sebras, @decuser, @aap, @drboone, @cameronshortt)

I heard back from our MIT Museum friend the other day, and he says he will visit Sussman's office again next week to photograph the remainder of the listing. Maybe we should start thinking about how to divide the pages amongst us. Please also review the instructions at the top of this GitHub issue. The repository has a template.txt that is a useful starting point.

The range of pages are from 15 to 112. Some of those will span multiple sheets. (A sheet is max 60 lines; a long page will spill across to the next sheet.) Do you want to grab chunks of, say, 10 pages at a time? Keeping in mind that each chunk should be transcribed twice. This has proved to be a very effective way to catch typos.

When a chunk is done, you may either post a pull request here, or email me the files. I will arrange and rearrange pull requests into a linear history for easier reviewing. This may involve rebasing and force pushing your branch. The second time a page is transcribed, it will show up as a diff against the first transcription.

It's useful to know the basics of MIDAS syntax and the PDP-10 instruction set. MIDAS is described in AI memo 90 and INFO;MIDAS 23. PDP-10 instructions are described densely on the reference card, and in the PDP-10 Reference Handbook.

drboone commented 12 months ago

I didn't get a crack at any of the first round! Either divvy up the 100ish pages into 100/n page chunks for simplicity, or maybe subdivide them into more 5 page chunks?

sebras commented 12 months ago

May I suggest that @larsbrinkhoff subdivides into chunks (I like 5 pages/chunk!) and assigns a couple (2? 3?) chunks to each volunteer? And with a short deadline (a week?), by which if nothing has been contributed, @larsbrinkhoff will reassign the chunks. Does that sound reasonable to you @larsbrinkhoff?

I'm thinking this way everyone will get a satisfying first shot on a chunk of pages.

Ideally everyone should type all pages in the end though, to weed out mistakes, this is really useful! Last time I started by retyping the pages @larsbrinkhoff had already typed and found several mistakes and prompted the template, info about MIDAS and Instructions to be created because of my own mistakes. :)

decuser commented 12 months ago

I'm on board, either way. 5 page chunks are a good idea, I'm not the quickest, but a week seems reasonable.

larsbrinkhoff commented 12 months ago

Ok, I'm fine with 5 pages. I'll post your assignments once the new listing is in!

As for me, I'd rather have a go at doing the whole thing because it's so fun to see the code. But I suppose that would limit the conversion rate too much.

cameronshortt commented 12 months ago

I don't see any problems with someone transcribing the whole thing as long as they finished their assigned chunks. It certainly can't hurt to have a few extra copies for typo-checking.

sebras commented 12 months ago

I don't see any problems with someone transcribing the whole thing as long as they finished their assigned chunks. It certainly can't hurt to have a few extra copies for typo-checking.

That is indeed my plan, but by having Lars handing out assignments everyone gets the opportunity to transcribe some pages for the first time. I can wait to be the 2nd or 3rd on typing out the same thing. :)

larsbrinkhoff commented 12 months ago

From what I have seen so far, transcribing each page twice should be enough. Three times seems unnecessary, so the effort would be better spent moving forward in the listing.

Note that there are also other mechanisms for verifying the transcription:

larsbrinkhoff commented 12 months ago

@aap and @rcornwell say they are on board as well.

larsbrinkhoff commented 11 months ago

The complete listing has arrived! These are your first assignments. May the odds be ever in your favour.

larsbrinkhoff commented 11 months ago

Page numbers are those in the photos. One logical page may be several sheets, the second having a .1 page number suffix. The transcribed text files are named pageNNNX.txt where NNN is the page number and X is the suffix, or 0 for no suffix.

larsbrinkhoff commented 11 months ago

By the way, if you want to hang out and chat with the rest of the team, there's the #PDP-10 IRC channel on libera.chat.

larsbrinkhoff commented 11 months ago

It helps to understand MIDAS syntax and the PDP-10 instruction set. See above.

But also, the listing has some information that can be used to verify the listing. Each line has a line number, most lines have a symbol reference, and some lines has a label or other definition. For example, on page 21 we have this line: Screenshot from 2023-12-14 11-31-49 This means that line 17 has a label called UFL8, and refers to the symbol UPR which is defined on page 118 line 24. We can check that location: Screenshot from 2023-12-14 11-35-50 Indeed, UPR is defined there.

Also, there's a symbol table at the end. We can see UFL8: Screenshot from 2023-12-14 11-37-04 But UPR isn't there! It seems the table skips some symbols in between columns.

aap commented 11 months ago

I will also do 36-40 now.

sebras commented 11 months ago

Ok I'll take pages 41-45 next. Ok, those are done and available in a draft transcription in pull request #52

larsbrinkhoff commented 11 months ago
larsbrinkhoff commented 11 months ago

I have now added a table to the top comment in this issue. It shows which page ranges have been transcribed, and by whomst.

larsbrinkhoff commented 11 months ago

Everyone, if you want to do more, please check the above table and write a comment here what you grab. I will update the table.

aap commented 11 months ago

now working on 50-57. not sure about 58 because the notes look a bit hard to understand

aap commented 11 months ago

i can probably do 82-90 tomorrow. @larsbrinkhoff i think you should do 81. the last few lines of the GE code...

larsbrinkhoff commented 11 months ago

Right, but I kind of wanted to do a nice split on numerical boundaries.

aap commented 11 months ago

I'll take 81-90 then

sebras commented 11 months ago

@larsbrinkhoff I transcribed pages 3-4 and 11 as well, but couldn't find any issues at the time.

sebras commented 11 months ago

Ok, after having retranscribed pages 3, 4 and 11 I did find something on page 3, but no diffs on pages 4 and 11. See issue #59

sebras commented 11 months ago

I'll take the retyping of pages 71-80 as well. So far I have retyped 71-74 since that is what @larsbrinkhoff has transcribed.

larsbrinkhoff commented 11 months ago

Hey everyone: @sebras, @decuser, @aap, @drboone, @cameronshortt, @rcornwell

Some of you put your changes on your own master branch. This complicates things, and is prone to mistakes. I strongly recommend always having your local master branch matching master in the main fork (this repository). And make a local branch for your changes.

When you post a pull request, I will sometimes have to rewrite it to make it easier to review. This may include rebasing or moving your files on top of the previous files. I must then force push your branch to have GitHub display a nice diff. If that branch is your master branch, you will then have to fetch the upstream master, reset your local master, and then force push that to your fork. Egads! Better have a separate branch.

larsbrinkhoff commented 11 months ago

The current standing is that 81-90 and 91-112 have only been claimed once, so need second transcribers. Great work everyone, we're almost done!

... but it's just the start for the next phase. First trying to verify the numbers in the symbol references and symbol table. And then running the source code through MIDAS to see if there are any complaints.

And then some major work to get it running on one or two PDP-6 emulators.

cameronshortt commented 11 months ago

I'll take 81-90.

larsbrinkhoff commented 11 months ago

I'll help @drboone with pages 102-112.

larsbrinkhoff commented 11 months ago

Last free slot is 91-101.

sebras commented 11 months ago

I'll do 91-101 after walking my cat! :)

larsbrinkhoff commented 11 months ago

Final standings:

Some of us are getting antsy and may jump on 59-70 later today.

larsbrinkhoff commented 11 months ago

Great job everyone! I think this has been a lot of fun, both typing, and working together with you all. I feel a bit sad that there is no more pages to type (soon).

But fear not! There will be more in the future. Here is a list of other listings @gfedorkow saw when he visited Sussman's office. See you all again soon.


Mac lisp

Lisp cs2 - lisp compiler written in Fortran style ("Before we knew how to code")

Teco Editor 1969 - large listing - 150 pgs?

DDT Debugger 1968 (Maybe part of ITS?)

Lisp teco-sm 1968 (Maybe Lisp Macros?)

OLT2

Lisp Teco documentation

Lisp 97 compiler written in pdp6 asm

Users guide to lisp 1970 (Gerry had two copies, kept one and handed me the other).

Mac lisp init compiler 1976. "Written in a more modern style" - code generator for some not-pdp6 machine. Probably for GE-635 Multics

LAP assembler for pdp6 written in Lisp

Polynomial arithmetic in pads lisp ‘no idea’

LISP-97 1969 written in assembler

PDP-6 Lisp 1967

larsbrinkhoff commented 11 months ago

@decuser, you're off the hook.

larsbrinkhoff commented 11 months ago

The final pages are in. The entire listing is complete. I'm so glad we could do the double transcription. It has caught a lot of subtle errors that don't show up in the assembler or checking against the symbol table.

larsbrinkhoff commented 11 months ago

The listing still has a puzzle that hasn't been solved. Does anyone understand what the asterisks in the symbol table mean? Check the last three pages: 119-121. They each have six columns that list all symbols and where they are defined: page + line. However, some of those have an asterisk in between the page and line numbers. What is that about?!

larsbrinkhoff commented 11 months ago

Oh, I see. It looks like those are unreferenced symbols.

larsbrinkhoff commented 11 months ago

Hello Team!

Two good news items:

eswenson1 commented 11 months ago

@larsbrinkhoff so what happens when you type ^Z to HACTRN?

larsbrinkhoff commented 11 months ago

It seems like it exits, which makes ITS go back and restart @ HACTRN. Note well, it's not a full HACTRN as we would expect from the ITS environment, but more a bare bones NTS DDT that has been converted to use the TTY: device instead of direct IO instructions to the TTY hardware device.

larsbrinkhoff commented 11 months ago

Maybe more material coming in a week or two. I will open a new issue for each listing to coordinate typing.

sebras commented 11 months ago

each listing

Is everything related to ITS? Or should some be transcribed elsewhere?

larsbrinkhoff commented 11 months ago

Everything I learned so far is listed above: https://github.com/PDP-6/ITS-138/issues/2#issuecomment-1858808770

As you can see, one is possibly a Multics Maclisp listing. All the rest look related to the AI lab PDP-6 or 10, timesharing or not.

larsbrinkhoff commented 10 months ago

Here are some more listings now: https://github.com/PDP-6/ITS-138/pull/90

larsbrinkhoff commented 10 months ago

I'm working on LISP TECOSM.

@aap wanted to grab LISP 97 when the full listing is available. It's more than 150 pages, but we do have some later source code to compare against, so it doesn't need to be typed in full.

Anyone else, write a comment here if you work on something.