PDP-10 / its

Incompatible Timesharing System
Other
834 stars 80 forks source link

Ancient ITS #672

Open larsbrinkhoff opened 6 years ago

larsbrinkhoff commented 6 years ago

It looks like we have much of ITS version 785 from 1973. There's support for the KA10 AI and ML machines. (No DM from what I can see.)

So far, this repository has been focused on restoring and updating 1990 vintage ITS. These old files doesn't have any obvious place in this regime. Also, I feel I don't have time for this.

The files are checked into the syseng-1973 branch. Any takers?

eswenson1 commented 6 years ago

I think we should include the sources in our source tree, despite not building or using them. Otherwise they might become lost again.

larsbrinkhoff commented 6 years ago

That's a good point. They're already part of this repository, so that's some protection against them becoming lost.

Also, they would be more valuable if we ensure it's a complete set of files. If they can be built into a binary that's great. If not, we can visually audit the .INSRT statements to be reasonably confident everything's there.

If they can't be built with current MIDAS, there's an old MIDAS included in the branch. Maybe we should look for the binaries too, not just sources.

rcornwell commented 6 years ago

We have version numbers, nothing wrong with having multiple version numbers in the tree. I would prefer all the source files in the same directory tree.

eswenson1 commented 6 years ago

Yes, being in the repository is good. But it might be nice, for those who are building and installing their own ITS systems to actually have them in the loaded hierarchy. That way, it will be easy for those curious enough to look into them and possibly work on them. I guess it really depends on whether there is a lot of this kind of software and whether it would end up being considered clutter. Maybe an option during build to include them or not?

On Feb 19, 2018, at 11:06 AM, Lars Brinkhoff notifications@github.com wrote:

That's a good point. They're already part of this repository, so that's some protection against them becoming lost.

Also, they would be more valuable if we ensure it's a complete set of files. If they can be built into a binary that's great. If not, we can visually audit the .INSRT statements to be reasonably confident everything's there.

If they can't be built with current MIDAS, there's an old MIDAS included in the branch. Maybe we should look for the binaries too, not just sources.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/PDP-10/its/issues/672#issuecomment-366779786, or mute the thread https://github.com/notifications/unsubscribe-auth/AA0-YwtFzUqwe8516z8FsOYd1SywRbC0ks5tWcY9gaJpZM4SK-uq.

larsbrinkhoff commented 6 years ago

If we were to add old file versions, I wouldn't want to exclude anything (except private data). Who's to say what future generations consider important?

But then the file system would become unwieldy. Like Saildart with its directories burgeoning with files. A similar archive for ITS would absolutely be welcome, but that's a different goal from what I had in mind.

aap commented 6 years ago

I suggest another repo (its-archive) that will hold all the ITS files that we have. The complete AI and MC dumps, now the earlier stuff and whatever will come. This repo here would then be used as it is now, to build a working system from scratch.

larsbrinkhoff commented 6 years ago

I have now created the repository PDP-10/its-vault.

I have only put files there which match the FN1 of the files already published in the PDP-10/its repository. So it should be a superset of the files used in the ITS build, but still nothing private.

larsbrinkhoff commented 6 years ago

.INSRT files:

larsbrinkhoff commented 6 years ago

Tools:

larsbrinkhoff commented 6 years ago

Got a binary for AI ITS 724 from 1972:

https://github.com/PDP-10/its-vault/blob/master/files/backup/%40.its

larsbrinkhoff commented 6 years ago

In the binary, we have the salvager at 200000.

At 745136 there's a huge block of randomish data all the way to 777700 (where the DSKDMP boostrap usually is). NTSDDT would usually be at 774000, if I remember correctly. Maybe a symbol table in there? Near the end seems to be a file directory.

larsbrinkhoff commented 6 years ago

There's a list of devices:

LPT, DSK, TTY, NUL, USR, NVD, SYS, STY, JOB, BOJ, PLT, IPL, IMX, PTP, OMX, PTR, DIS, IDS, CLU, CLO, CLI, CLA, COM, COD, TVC, ERR, TPL, TAB, SPY, COR, TY, T, UT, ST, S, DK, P, PK, MT.

larsbrinkhoff commented 6 years ago

If I have time to bring up a system with ITS 785 or 724, I'll call it OO ITS. It could have EMACS 24 and STINK 7 along with other early versions of selected programs. I'll put the files here: https://github.com/larsbrinkhoff/ooits

larsbrinkhoff commented 5 years ago

AI ITS 785 seems to go well with MTAPE 136, not 154.

Possible typo: TYPE1E1 should be TYP1E1.

larsbrinkhoff commented 5 years ago

I reconstructed ITS 781 source code by editing the 785 source until it matched the ML ITS 781 binary.

larsbrinkhoff commented 5 years ago

I pushed more old binaries to the lars/ooits branch:

Out of these, two have symbol tables: "@ ITS" 773 and ITS 796.

aap commented 5 years ago

I found a binary of AI ITS 848 on Peter Samson tape D95A (reverse file) http://pdp-6.net/misc/@.ITS_848

eswenson1 commented 5 years ago

Anything else on that tape? Any more tapes? Where are they?

aap commented 5 years ago

The tape images are here: http://bitsavers.trailing-edge.com/bits/DEC/pdp6/X3411.2006_Peter_Samson_DECtapes/ I'm currently going through them and extracting all files since i noticed that bitsavers doesn't have the extracted files. ITS was alas the only file on that tape.

aap commented 5 years ago

Extacted files here now: http://pdp-6.net/misc/samson_tapes.zip

larsbrinkhoff commented 5 years ago

Did you extract these with your Type 55x simulation?

I have made a file extraction tool, but the D95A tape comes out as garbage.

aap commented 5 years ago

No, with my own extractor. I extracted the reverse file, which seemed to be ok.

larsbrinkhoff commented 5 years ago

@ LISP is a standalone Lisp with support for Microtape and 340 display.

larsbrinkhoff commented 5 years ago

340 display; TECO buffer with ITS. https://www.csail.mit.edu/node/6647 teco

larsbrinkhoff commented 5 years ago

See #1596 for some information about the INFO program before EMACS.

larsbrinkhoff commented 5 years ago

I have been testing the 1972 vintage ITS 724 with my work-in-progress DC-10 simulation.

ITS does start, but it will not load anything from disk. The reason is that it expects to use 200-cylinder Memorex disk packs. But our latest SALV is updated for the double density Calcomp packs.

I tried to use SALV version 9. It does MARK a pack, but TRAN runs into problems. First, it outputs filenames to NLPT for which we didn't have a simulation. I added that. Second, it needs one less header word than itstar writes. Next, it doesn't set the CORE DUMP bit in the magtape controller, so data is lost on input. I patched in the bit. Finally, now one file will load, but there's a HALT when loading the second file.

I also tried DSKDMP 80 which seems to have the right parameters. But it keeps telling me MFDCLB.

larsbrinkhoff commented 5 years ago

I had the idea to use the current SALV, version 314, and change the cylinders back to 200 and the TUT size to 1 block. However, I see now that SALV 9 and ITS 724/785 use a TUT byte size of 4 whereas SALV 314 uses 3-bit bytes. So I think it's better to stick with the old SALV.

larsbrinkhoff commented 5 years ago

Listing the ancient ITS versions.

File Version Timestamp Backed up Tape
138 1967 Sussman paper listing
ITS 265A 265 Greenblatt TSB
ITS 331 331 Greenblatt TS1
ITS 336 336 Greenblatt TS5
ITS 342 342 Greenblatt (no name)
ITS 343 343 Greenblatt TS3
ITS 344 344 Greenblatt TS4
ITS 346 346 Greenblatt TS6
ITS 527I3 527 Wright FW1
ITS 527I5 527 Wright FW4
SYSBIN; ITS BACKUP 671 1971-04? ToTS 3100150
SYSENG; ITS 672 672 1971-04? ToTS 3100150
SYSENG; ITS 673 673 1971-04? ToTS 3100150
SYSENG; ITS 674 674 1971-04? ToTS 3100150
.; @ OOITS 674 1971-03-28 1971-04? ToTS 3100150
.; @ OITS 674 1971-03-28 1971-04? ToTS 3100150
.; @ ITS 674 1971-03-28 1971-04? ToTS 3100150
RG; ITS LOST 674 1971-03-28 1971-04? ToTS 3100150
.; @ OOOITS 715 1972-02-04 1972-04? AI 1037, ToTS 3100151
.; @ OOITS 717 1972-03-02 1972-04? AI 1037, ToTS 3100151
.; @ OITS 719 1972-03-22 1972-04? AI 1037, ToTS 3100151
SYSENG; ITS 720 720 1972-03-30 1972-04? AI 1037, ToTS 3100151
SYSENG; ITS 722 722 1972-04-13 1972-04? AI 1037, ToTS 3100151
SYSENG; ITS 723 723 1972-04-14 1972-04? AI 1037, ToTS 3100151
.; @ ITS 724 1972-04-14 1972-04? AI 1037, ToTS 3100151
.; ITS BIN 724 1972-04-14 1972-04? AI 1037, ToTS 3100151
SYSENG; ITS 724 724 1972-04-15 1972-04? AI 1037, ToTS 3100151
BACKUP; @ ITS (AI) 724 1972-04-14 1972-04-21 AI 1042
.; @ OOITS ML 768 1972-12-15 ML 3, ToTS 7009548
.; @ OITS ML 771 1972-12-15 ML 3, ToTS 7009548
.; @ ITS ML 773 1972-12-15 ML 3, ToTS 7009548
.; @ OOITS ML 771 1973-01-11 ML 9, ToTS 7005620
.; @ OITS ML 773 1973-01-11 ML 9, ToTS 7005620
.; @ OOOITS AI 773 1973-03-15 AI 1062
.; @ ITS ML 776 1973-01-11 ML 9, ToTS 7005620
.; @ OITS ML 773 1973-06-14 ML 1032
.; @ OOITS AI 775 1973-03-15 AI 1062
.; @ OITS AI 778 1973-03-15 AI 1062
BACKUP; ITS COPY ML 781 1973-06-14 ML 1032
.; @ ITS AI 784 1973-03-15 AI 1062
.; ITS BIN AI 784 1973-03-04 1973-03-15 AI 1062
SYSENG; ITS 785 AI/ML 785 1973-03-08 1973-03-09 AI 1066
.; @ ITS ML 796 1973-06-04 1973-06-14 ML 1032
BACKUP; ITS CPY AI 842 1973-10-29 1973-07-12 AI 1087
.; @ ITS AI 848 1973-07-12 AI 1087
@ ITS AI 848 Samson D95A
SYSENG; ITS 849 849 1973-11-21 1973-12-07 AI 1091
SYSENG; ITS 850 850 1973-12-06 1973-12-07 AI 1091
SYSBIN; ITS CPY ML 864 1974-05-01 1974-06-12 ML 1054
.; @ OITS AI 914 1974-10-25 1974-12-05 AI 1117
.; @ ITS AI 914 1974-10-28 1974-12-05 AI 1117
SYSENG; ITS 915 915 1974-11-17 1974-12-05 AI 1117
.; @ NITS1 AI 915 1974-11-26 1974-12-05 AI 1117
.; @ OITS ML 921 1975-05-23 1975-09-07 ML 1074
BACKUP; @ ITS ML 921 1975-06-23 1975-09-07 ML 1074
.; ITS 939BIN ML 939 1975-06-20 1975-09-07 ML 1074
.; @ ITS ML 939 1975-07-07 1975-09-07 ML 1074
.; @ ITS DM 986 1975-10-12 DM 2301?
SYSTEM; ITS 997 AI/DM/ML/MC 997 1975-12-01 1976-01-21 AI 1184, MC 505

Also see ASMDAT here: https://github.com/PDP-10/its/pull/403#issuecomment-523609667

larsbrinkhoff commented 5 years ago

SYSBIN; ITS CPY on ML tape 1054 seems to be an elusive 1974 version.

larsbrinkhoff commented 4 years ago

AI memo 161A mentions the IBM 2311 drives were connected to the PDP-6. Maybe the 2314 compatible Memorex drives were particular to the PDP-10?

larsbrinkhoff commented 4 years ago

For the record, these are the parameters used by SALV 9, DSK DEFS10, FSDEFS 6:

NCYLS = 200. (Memorex)
NBLKS = 17500
MFDBLK = 7637
TUTBLK = 7636
NTUTBL = 1 (implicitly, the symbol doesn't exist)
NUDSL = 200.

larsbrinkhoff commented 4 years ago

SALV halts in TOLDU.

TRAN reads files off the tape. For each file, it compares the directory name (MHSNAM) against the directories in the MFD. Either it will find a match, or it will find a zero entry and then it'll make a new UFD. The problem is when there's a match to a previously loaded directory. TOLDU computes the disk block for the UFD and reads it from disk. However, this block is all empty which triggers the halt.

larsbrinkhoff commented 4 years ago

Apparently the drive active status in QACT is not up to date. If I run e.g. CHKR it will be OK, and then TRAN can write files just fine.

larsbrinkhoff commented 4 years ago

Next SALV problem is that MARK doesn't write M.F.D. to the MDCHK word, so DSKDMP will balk with the MFDCLB message. I guess MDCHK was a recent addition; it's in FSDEFS 6 but not in FSDEFS 5. However, if MFDR is called it will fix MDCHK, so that's a workaround.

larsbrinkhoff commented 4 years ago

The SALV merged into ITS 724 announces itself as "SALVATION MAG7". SYSENG; SALV MAG7 is a "possibly retrievable" file.

larsbrinkhoff commented 4 years ago

With all workarounds for SALV 9 in place, DSKDMP 80 works fine as is.

larsbrinkhoff commented 4 years ago

Timestamps for the tools:

larsbrinkhoff commented 4 years ago

Also trying ITS 785 for which there is source code. The AI version uses DC10, and old SALV and DSKDMP. The ML version uses adapted versions called MSALV and DECDSK DMP.

larsbrinkhoff commented 4 years ago

Both ITS 724 and AI ITS 785 freeze solid when started.

Both first load block 99/19/1, then 99/19/0. Those should be the MFD and the TUT, respectively. Then block 99/19/0 is read again, but the following read compare fails. ITS keeps retrying, but always fails.

larsbrinkhoff commented 4 years ago

The problem was that ITS was trying to read the TUT from drives 1 and 2. Having fixed that we get to "ITS 724 IN OPERATION", but nothing much happens after that.

larsbrinkhoff commented 4 years ago

With a little more patience, this is printed a while after typing ^Z:

 10000077460, 30000001574, 310000110356, 0, 777604001325,
 40, 43000110464, 0, 46000000015, 0,
 DDT BUG, REPORT WITH :BUG DDT <INFO> ^C. 

So it looks like HACTRN was run, but crashed.

larsbrinkhoff commented 4 years ago

It didn't crash too hard. I can type at DDT.


100/    LOGIN? 
LARS$U
100/    JOB? 
X$J!
100/   0   
101/   0   
102/   0   
103/   0   
104/   0   
larsbrinkhoff commented 4 years ago

To be clear, this is how to make disk packs for ITS 724.

  1. Configure the machine with three DC10 drives and the NLPT printer.
  2. Boot a MAGDMP tape and load DDT and SALV 9.
  3. MARK three packs.
  4. Run CHKR or else TRAN will not work.
  5. Run TRAN to put files on pack number 0.
  6. Run MFDR on pack 0, or else the M.F.D. magic word will not be written.
larsbrinkhoff commented 4 years ago

I tried DDT 495 previously. DDT 354 from April 1972 works better. It seems to handle whatever interrupt ITS throws at it. But still:

.^FNO SUCH DEVICE
 5712, .?

I'm guessing maybe there's something wrong with the disk pack numbers. I have them set to 0, 1, and 2, but maybe ITS expects something else.

larsbrinkhoff commented 4 years ago

There's nothing wrong. It's just that ^F only takes a device argument, not directories. So to e.g. view disk files do dir$^S then dsk^F.

larsbrinkhoff commented 4 years ago

I have edited ITS 785 sources to match binaries for ITS 781, 776, 773, 771, and 768. Now doing 724 which is the oldest ITS found so far.

larsbrinkhoff commented 4 years ago

A binary .; @ ITS for DM ITS 986 was found on TID7005366. It's hard to get at because it's sandwiched between two other .; @ ITS files on the same tape. I'm not sure the tape image is from a single tape, or maybe the tape was reused for later backups but earlier files are found after the logical end of tape.

larsbrinkhoff commented 4 years ago

Oh, now I see. I believe the tapes were copied at some point to newer tapes, and then several old tapes fit on one newer tape.

larsbrinkhoff commented 4 years ago

DECtape file listings in RG; FD 4/1/68:


TS1
FREE FILES 20   FREE BLOCKS 241
 ITS    331    316
 MAR    TEST1  2

FREE FILES 21   FREE BLOCKS 236
 ITS    342    323
TS3
FREE FILES 19   FREE BLOCKS 231
 ITS    343    325
 DUP    3      2
 O      T      1
TS4
FREE FILES 21   FREE BLOCKS 233
 ITS    344    326
TS5
FREE FILES 20   FREE BLOCKS 237
 ITS    336    322
TS6
FREE FILES 20   FREE BLOCKS 231
 ITS    346    326
 PLT    SYS    2
TSB
FREE FILES 18   FREE BLOCKS 105
 TECO   TS59   92
 TSDDT  64     74
 ITS    265A   286
 BBN    HACK5  2
larsbrinkhoff commented 4 years ago

TS9 has been found! It has been stored in bad conditions in Greenblatt's garage. It has been sent to Josh Dersch for reading.