Open larsbrinkhoff opened 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.
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.
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.
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.
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.
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.
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.
.INSRT files:
Tools:
Got a binary for AI ITS 724 from 1972:
https://github.com/PDP-10/its-vault/blob/master/files/backup/%40.its
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.
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.
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
AI ITS 785 seems to go well with MTAPE 136, not 154.
Possible typo: TYPE1E1 should be TYP1E1.
I reconstructed ITS 781 source code by editing the 785 source until it matched the ML ITS 781 binary.
I pushed more old binaries to the lars/ooits branch:
Out of these, two have symbol tables: "@ ITS" 773 and ITS 796.
I found a binary of AI ITS 848 on Peter Samson tape D95A (reverse file) http://pdp-6.net/misc/@.ITS_848
Anything else on that tape? Any more tapes? Where are they?
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.
Extacted files here now: http://pdp-6.net/misc/samson_tapes.zip
Did you extract these with your Type 55x simulation?
I have made a file extraction tool, but the D95A tape comes out as garbage.
No, with my own extractor. I extracted the reverse file, which seemed to be ok.
@ LISP is a standalone Lisp with support for Microtape and 340 display.
340 display; TECO buffer with ITS. https://www.csail.mit.edu/node/6647
See #1596 for some information about the INFO program before EMACS.
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.
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.
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
SYSBIN; ITS CPY on ML tape 1054 seems to be an elusive 1974 version.
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?
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.
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.
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.
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.
The SALV merged into ITS 724 announces itself as "SALVATION MAG7". SYSENG; SALV MAG7 is a "possibly retrievable" file.
With all workarounds for SALV 9 in place, DSKDMP 80 works fine as is.
Timestamps for the tools:
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.
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.
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.
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.
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
To be clear, this is how to make disk packs for ITS 724.
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.
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.
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.
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.
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.
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
TS9 has been found! It has been stored in bad conditions in Greenblatt's garage. It has been sent to Josh Dersch for reading.
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?