Closed larsbrinkhoff closed 5 months ago
It has DDT and SALV.
AI memo 356 "Logo Progress Report 1973-1975" (subtitle might be "excessive use of XGP fonts")
Originally Logo was implemented in assembly language on the PDP-10. In order to provide a computer system dedicated to educational use, it was adapted for the PDP-11. The first milestone in this direction was the completion in 1973-1974 of a dedicated timesharing system running 11LOGO.
The was not an entirely satisfactory solution because of the inability of the system to be self-maintaining or to run other languages or special purpose jobs (like a simulation environment or an educational real-time game). During 1974-1975, our programming staff, under the direction or R. Lebel, completed the design and implementation of a general purpose multi-language timesharing system for the PDP11/45. The SITS timesharing system was developed to provide an environment suitable for running Logo and other PDP11/45 programs. It incorporates a Multics-like tree structured file system including (potentially) full access control. It also provides unique capabilities for running programs as multiple process systems, rather than the more common single process approach, and the ability for each user to run many jobs simultaneously. The system include provisions for using both the older refreshed displays and our new raster displays.
RUG is the exec DDT + DSKDMP tool. Understands the Logo disk format.
@brianharvey wrote in Message-ID: <9f1v00$5o1$1@abbenay.CS.Berkeley.EDU>
to comp.lang.logo in 2001:
I know about the BBN work only second-hand. When I met up with Logo it was at the MIT lab that Papert set up post-BBN, running on a PDP-11 under a homebrew operating system called SITS (Small ITS, named after ITS, the homebrew operating system on the AI Lab PDP-10 upstairs.) [...] Anyway, the glory days of the MIT Logo Lab, including that no-statistics proposal we've been discussing on another thread, was built around the PDP-11 Logo implementation. This started before there were microcomputers, let alone Logo for micros. Both the TI-99/4 Logo and the MIT Logo for the Apple (the origin of what's now Terrapin Logo) came out of this group after the early research using the PDP-11. Hal Abelson was, I think, the main person pushing the development of implementations that people outside MIT could actually use (meaning both the TI and the Apple projects).
Brian, FYI we have MIT's BBN-derived PDP-10 Logo in this repository, 11LOGO, the Apple II Logo sources, and possibly SITS some day.
Also in Message-ID: <al5a47$35h$1@abbenay.CS.Berkeley.EDU>
How about the General Turtle 2500 standalone Logo machine?
O, I don't know. I mean this is the first time I hear about a Logo machine. What is the software/OS of this machine? Is it a-la-Logo?
It's a variant of PDP-11 Logo, using the same operating system: SITS (Small Incompatible Timesharing System, named after ITS, the OS used on the MIT AI Lab PDP-10).
@leighklotz, updates about SITS will appear here.
I was thinking, since SITS had raster displays how would the users type input? Then I remembered people talking about a special Logo keyboard which was similar to a Knight keyboard or Space-cadet keyboard. Maybe those were used with the raster displays, much like the AI TV system?
Or else the TV consoles were just output devices, and teletypes were used for input.
I have run SITS' SALV to initialize an empty disk.... I think. Of course, there are no files on it yet.
@leighklotz clued me in on how to get RUG to read a file from disk. Apparently the Logo 11/45 had a note stuck to it: "Alt L Zero Colon Gee, SITS is up!". Testing this, I get:
*$L 0: G
FILE NOT FOUND?
I read some RUG documentation. It should be possible to read files from paper tape. I think $L P:
does this. There's a PUNCH program that runs in ITS to make paper tapes for RUG.
Things that work:
$Y
to dump a core image to a file.^Q
to delete a file.$^D
and $^U
to dump and load RUG itself to a disk swap area.Hello @hqm,
In this GitHub issue I'm making notes on SITS. Do you remember if General Turtle used SITS?
I see a version of 11LOGO mentions a "Little SITS emulator" for the LSI-11. I'm mostly guessing here, but I think it would make sense if the General Turtle 3500 had an LSI-11 and 11LOGO had a SITS emulation layer to run on it.
I do not know what the 3500 used for an OS for its LSI-11. Maybe Brian Silverman or Danny Hillis would remember.
On Mon, Sep 16, 2019 at 8:36 AM Lars Brinkhoff notifications@github.com wrote:
Hello @hqm https://github.com/hqm,
In this GitHub issue I'm making notes on SITS. Do you remember if General Turtle used SITS?
I see a version of 11LOGO mentions a "Little SITS emulator" for the LSI-11. I'm mostly guessing here, but I think it would make sense if the General Turtle 3500 had an LSI-11 and 11LOGO had a SITS emulation layer to run on it.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PDP-10/its/issues/1730?email_source=notifications&email_token=AAAAORXAKBTKZCRON34FXJDQJ54VPA5CNFSM4IWI2OH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6Y7XWI#issuecomment-531758041, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAAORTV5WO2WQVTSFAYAC3QJ54VPANCNFSM4IWI2OHQ .
-- Henry Minsky
Thank you HQM.
Starting SITS from GO, I now get to MEMTST:
GO: RESET
MOV #PDL,P ;SET UP THE PDL
MOV #RUGVEC,A ;POINTER TO VECTOR STORAGE
MOV #BPTBRV,B ;THE VECOTR
MOV (B),(A)+ ;THE STUFF
MOV #BPTBRK,(B)+ ;SET UP OUR VECTOR
MOV (B),(A)+ ;STORE STATUS
MOV #340,(B)+ ;SET UP INFINITE PRIORITY
JSR PC,PARIN ;INITIALIZE THE PARITY STUFF
JSR PC,TYINIT ;INITIALIZE THE TTY'S
JSR PC,MAPSET ;SET UP THE INTIAL MAP
JSR PC,INITTB ;LINK UP LISTS
JSR PC,MEMTST ;SET UP MEMORY TABLES
It crashes when it calls DISALC to allocate a buffer for a TK display.
Later on during initialization, the "system sphere" will be loaded from the disk file ". SYSSPR". The system sphere will print "SITS IS UP!" when it's started. I have not yet got to this point.
Adding more memory and disks, I now get from GO all the way to starting scheduling. I expect I need to figure out how to put files onto the SITS disks now. In particular ". SYSSPR" which is the first program to get loaded.
I think this SALV comment
;WHEN INITING THE MOVING HEAD DISK
;RUG WANTS BLOCKS 0,4-23, AND 54-217 ON DISK 0
;LOGO WANTS 100-1100 FOR SWAPPING ON DISK 1
Translates to a session like this. Not sure how much swap to use, or if a second area is necessary.
SALV 70
*INIT
SURE?Y
FORMAT?N
BASE YEAR: 1974
SWAP AREA 1: 1000-2000
SWAP AREA 2:
RESERVED: 0
RESERVED: 4-23
RESERVED: 54-217
RESERVED:
WRITING BLOCK 000050
WRITING BLOCK 000047
DISK NAME: SITS
WRITING BLOCK 000046
WRITING BLOCK 000045
WRITING BLOCK 000044
*
To make paper tapes for RUG to read, run the PUNCH program in ITS. Type a filename, and proceed from the valrets until EDONE.
To read a paper tape in RUG, type $L P:
Continue from the HALTs until the * prompt reappears. Save a core image to disk with $Y 0: FOO
The symbol table is lost.
The SYSJOB is started, but crashes due to making a bad system call (EMT). The system call is $INVOK involving the file ". SYSSPR". The file is there, or at least I can load it from RUG and verify its contents.
Ed Hardebeck wrote:
I remember well that the Logo PDP-11/45 had a Knight-TV system very similar if not identical to the one on MIT-AI (ITS PDP-10). I don't remember the keyboards having colored keys (other than blue and gray), they seemed very similar to the ITS ones. These were the normal-sized ones, not the Lisp-Machine space cadet keyboards with hyper-super etc. They did have a long travel on the keys and really nice action, I think Hall-effect.
I have tried to see what SITS is doing with the ". SYSSPR" file, but I haven't had much luck yet. It seems processing the "." directory is OK, but the "SYSSPR" file is not.
Now I'm making notes about the SITS file system layout, and checking that all of SALV, RUG, and SITS agree on this. I'm making a tool which can examine a SITS disk image file.
A disk is divided into blocks of 1K bytes. The root directory is block 46. A directory is a series of entries:
The root directory should have entries for:
All directories should have entries for their parent directory, and itself. Much like Unix?
The first entry is the self entry. It includes fields for the directory length, and a timestamp. The second entry is for the parent.
There is a disk image in the ITS file 11LOGO; SITS0 DISK from 1978 and it seems to be a fully loaded SITS system.
@hga, I suppose the probability is infinitesimal, but do you by any chance have any recollection of the Logo PDP-11/45 arriving to CCC having a cartoon attached? It would have been a picture of the pope saying something like "Alt L Zero Colon Gee, SITS is up!"
Two interesting pieces of information from hga and #1164, about the Logo 11/45:
I have been looking for Chaosnet support in SITS but haven't found anything yet. So maybe that was a CCC addition when it ran Unix.
I may very vaguely remember a cartoon on the Logo lab 11/45, but that sort of memorabilia was removed by the lab's people before we salvaged the hardware. SITS was something I printed out and looked at for curiosity, the group of students I gathered didn't have the manpower to take it over, and it was said to had severe limitations like crashing if two people logged in at the same time. The CHAOSNET driver for PDP-11 UNIX came from if my memory is correct Bruce Edwards while he was working at the International Institute for Applied Systems Analysis (IIASA).
Thank you. I'll check with some Logo people if they have the cartoon.
I have been hampered by lack of a good debugging environment. I tried to boot into RUG and have it load and run SITS from disk. First it just crashed. Turns out starting from the start address is wrong; use the 157000 entry point.
Second, loading a program from paper tape would get the core image right but lose the symbol table. When I checked things in RUG, it dutifully loaded the symbol table but no where did it update the pointer to the start of the table. Maybe some kind of bit rot set in? A three-line patch fixed that.
From HENRY; 11LOGO INFO
Procedure for making modifications to the 11Logo system:
The Logo source code is 11LOGO;LOGO >.
To load a new Logo into the 11, bring down the 11 by logging in as SYSKILL.
[Switch 2 on the PDP11 console must be up to allow this.] This will
leave you in RUG. Type the following:
$L M:11LOGO;LOGO
$Y 0:NLOGO BIN
$L 0:SALV
$G
G
To install a new version of Logo as the system copy:
:COPY SLOGO.BIN, OLOGO.BIN
:COPY NLOGO.BIN, SLOGO.BIN
$L SLOGO.BIN
PURIFY$G
$$Y SLOGO
@foxkit wrote on stackexchange: https://retrocomputing.stackexchange.com/questions/9381/documentation-for-the-mit-pdp-1x-os
The PDP-1x is a Digital Equipment Corporation PDP-1 computer modified to support both ones and twos complement arithmetic, and to include a memory management unit. It ran a locally developed operating system with specific facilities to represent virtualized devices and inter-process communications. The top-level element was called a "Sphere". It contained resources (called capabilities) and execution elements. I believe the execution elements were called "processes".
The sphere and capability concepts seem to be exactly like in SITS.
From PDP35 memo, part 5A, page 9:
A virtual memory space, any virtual processors (processes) that might be executing inside that memory space, plus the list of associated resources (C-list) comprise a sphere.
From tape 3100093, .INFO.; COLORT INFO:
Now bring the 11Logo system back up. Turn off the two switches on
the left side of the disk. Put 157000 into the data
switches on the PDP11, lift the HALT switch, then press LOAD
ADDRESS, then START. The 11 system terminal should then type a star.
Type ^[L on the terminal [^[ is ESC on the keyboard], and it should
type back a few spaces. Then type 0:SITS and a carriage return.
After a few moments it should type back a star, then type ^[G, and
it should eventually say SITS IS UP.
I have found several newer versions of SITS, other than the single 1975 copy. The latest version is from 1979.
You won't find a later version than 1979, for in January 1980 the machine was taken apart and moved piece by piece to the Concourse Computer Center, to eventually run V7 UNIX after power wiring was in place, it was reassembled, etc.
Thank you, @hga. I believe this is the complete list for now:
File | Timestamp |
---|---|
SITS; SITS 136 | 1979-05-01 |
SITS; SITS 134 | 1978-09-14 |
SITS; SITS 119 | 1977-11-28 |
SITS; SITS 118 | 1977-10-25 |
SITS; SITS 117 | 1977-09-11 |
SITS; SITS 103 | 1976-11-27 |
SITS; NSITS 112 | 1975-12-17 |
SITS; NSITS 111 | 1975-12-17 |
SITS; SITS 1146 | 1975-10-07 |
BEE; SITS 456 | 1974-12-04 |
BEE; SITS 455 | 1974-12-04 |
RJL; SITS 68 | 1973-11-03 |
ToTS tape 7005044, JAY; SITS DOC
USING SITS
I. System Console
A. start RUG at 157000
if RUG doesn't start...
1. halt machine
2. load MOVING RUG BOOT paper tape
3. load address 177002
4. clear switches
5. hit START
to load SITS
B. <alt>L 0: SITS
C. <alt>G
The console should now type out SITS IS UP! along with version numbers and LOGIN:
If, for some reason, you want to get back to RUG, this can be done by...
A. Clear all switches
B. Switch 15 on
To salvage disks
A. Get into RUG
B. <alt>L 3: SALV
C. <alt>G
After the opening statement (SALV XX), to check a disk type <N>C, where <N> is the
disk number (0-3).
To return to RUG from the SALVAGER, type <cntrl>Z.
To get a fresh copy of RUG while in RUG, type <alt><cntrl>U.
II. User Consoles
A. Television Displays
1. Hit <DO IT> key
2. Type LOSER NAME <cr>
B. Teletypes
1. type <cntrl>Z
2. type LOSER NAME <cr>
ENTERING A NEW USER ON THE SYSTEM
1. RUN A DDT
2. RUN INQUIR (<ALT>L . INQUIR,OR : . INQUIR)
Apparently the Logo TV keyboards had a "DO IT" key.
@picobrian, up here is the first time I noted something abuot the 2500. It was a Usenet message from @brianharvey. I also logged some progress running SITS.
Files now available courtesy of Ron J. Lebel:
https://github.com/larsbrinkhoff/mit-logo-and-sits-raw-files
Bring-up in progress.
What we see here is a "teletype" connected to one of 16 DH11 ports. I started LOGO and drew some turtle graphics on the "NG" vector display. On the top right is a TV raster display. The emulator is not fully working yet. The bottom right shows the boot dialogue.
Wow that is quite amazing! I always liked the proportions of the MIT LOGO turtles!
On Tue, Oct 18, 2022 at 1:52 AM Lars Brinkhoff @.***> wrote:
Bring-up in progress. [image: Screenshot from 2022-10-18 07-43-21] https://user-images.githubusercontent.com/775050/196346565-3ca1a6f3-f3c6-44fa-b9ff-acf266c421f3.png
— Reply to this email directly, view it on GitHub https://github.com/PDP-10/its/issues/1730#issuecomment-1281847885, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAAORQ7TS2IDCC7QALKUTTWDY3H7ANCNFSM4IWI2OHQ . You are receiving this because you were mentioned.Message ID: @.***>
-- Henry Minsky
@hga wrote:
[SITS] was said to had severe limitations like crashing if two people logged in at the same time.
I can debunk this rumor. Two or more people can log in at the same time.
However, there is some truth to it. I made an Expect script to log in and recursively list all directories. SITS would regularly hang after listing ten directories or so.
Possibly, SITS reputation for being unstable was a bit unwarranted. Info from @poetnerd:
So the biggest player at CCC was Gill Pratt, who is a bigwhig with Toyota's Robotics group now. I have said, "If a rainy day was a Unibus device, Gill could fix it." We DID get the Logo 11/45, but never ran SITS on it. But we know WHY SITS was so flaky. Eventually Gill found the root cause: A mis-wired FCO that left the high bit of the Floating Point Processor floating. Depending on the incident radio frequency interference, that line might go high and cause an illegal instruction trap, even if there was NO floating point instruction in progress!
aha!
On Fri, Mar 15, 2024 at 4:49 PM Lars Brinkhoff @.***> wrote:
Possibly, SITS reputation for being unstable was a bit unwarranted. Info from @poetnerd https://github.com/poetnerd:
So the biggest player at CCC was Gill Pratt, who is a bigwhig with Toyota's Robotics group now. I have said, "If a rainy day was a Unibus device, Gill could fix it." We DID get the Logo 11/45, but never ran SITS on it. But we know WHY SITS was so flaky. Eventually Gill found the root cause: A mis-wired FCO that left the high bit of the Floating Point Processor floating. Depending on the incident radio frequency interference, that line might go high and cause an illegal instruction trap, even if there was NO floating point instruction in progress!
— Reply to this email directly, view it on GitHub https://github.com/PDP-10/its/issues/1730#issuecomment-2000421536, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAAORTHCWPHSYAOLA2CT7TYYNNF5AVCNFSM4IWI2OH2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMBQGA2DEMJVGM3A . You are receiving this because you were mentioned.Message ID: @.***>
-- Henry Minsky
I forwarded this to Gill Pratt, he replied
Gill Pratt via https://support.google.com/mail/answer/1311182?hl=en mitalumprod.onmicrosoft.com 5:41 PM (22 minutes ago) to Henry, Milan Thanks, Henry. I'm not sure how to reply to this, but could you forward the following:
By chance, I just bought and assembled a PiDP-11 with my 11 year old son and, 40 years later, am fooling around with it running 2.11 BSD (the last OS the Logo 11/45 ran was 2.8 BSD with a driver Pace Willisson wrote for its Knight TV system (Logo edition).
I understand there will be an unveiling of the PiDP-10 April 1 (no fooling) at the MIT Museum, perhaps running ITS? I heard that someone is working on an emulator for the original Knight TV system on the AI-10 (which CCC also eventually inherited).
Gill
On Fri, Mar 15, 2024 at 4:49 PM Lars Brinkhoff @.***> wrote:
Possibly, SITS reputation for being unstable was a bit unwarranted. Info from @poetnerd https://github.com/poetnerd:
So the biggest player at CCC was Gill Pratt, who is a bigwhig with Toyota's Robotics group now. I have said, "If a rainy day was a Unibus device, Gill could fix it." We DID get the Logo 11/45, but never ran SITS on it. But we know WHY SITS was so flaky. Eventually Gill found the root cause: A mis-wired FCO that left the high bit of the Floating Point Processor floating. Depending on the incident radio frequency interference, that line might go high and cause an illegal instruction trap, even if there was NO floating point instruction in progress!
— Reply to this email directly, view it on GitHub https://github.com/PDP-10/its/issues/1730#issuecomment-2000421536, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAAORTHCWPHSYAOLA2CT7TYYNNF5AVCNFSM4IWI2OH2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMBQGA2DEMJVGM3A . You are receiving this because you were mentioned.Message ID: @.***>
-- Henry Minsky
And now I'm here. Thanks to everyone for all of this great work !
I am presently in touch with CCC alum, one of whom (Bob Powell) may have a copy of the the KTV driver we wrote for the Logo 11/45 (it eventually ran 2.8 BSD).
It was not color. It used 32KBytes of 1103-based DRAM per screen, and there were 4 screens. The Logo version did not have a video switch, unlike the AI-10 KTV system.
The monitors were green phosphor. My recollection is the sides were fake wood paneling, unlike the AI KTV monitors, which were in blue aluminum cases or naked.
The keyboards indeed had long travel cherry switches (I believe hall effect). I think similar to the AI-10 KTV keyboards.
Let me know of any other questions - I can querey the other CCC alum.
Best,
Gill
Hello @gillpratt, glad to have you here! And thanks @hqm for forwarding.
That's great news about the 2.8BSD TV driver! I'd love to see it. I added support for the Logo TV system to the SIMH PDP-11 emulator, and SITS runs fine, so hopefully the 2.8BSD driver would too. Unfortunately the PiDP-11 software has diverged from SIMH, so the TV support is not there (yet).
Here is information about the PiDP-10 "special seminar", and it will indeed run ITS. The Knight TV support is already done an will be demoed. https://pidp.net/images/pidp10/MITM%20ITS%20Workshop%20Flyer.pdf
I have Tom Knight's contact info if you want to invite him to the demo of the PDP 10
On Sat, Mar 16, 2024 at 5:48 AM Lars Brinkhoff @.***> wrote:
Hello @gillpratt https://github.com/gillpratt, glad to have you here! And thanks @hqm https://github.com/hqm for forwarding.
That's great news about the 2.8BSD TV driver! I'd love to see it. I added support for the Logo TV system to the SIMH PDP-11 emulator, and SITS runs fine, so hopefully the 2.8BSD driver would too. Unfortunately the PiDP-11 software has diverged from SIMH, so the TV support is not there (yet).
Here is information about the PiDP-10 "special seminar", and it will indeed run ITS. The Knight TV support is already done an will be demoed. https://pidp.net/images/pidp10/MITM%20ITS%20Workshop%20Flyer.pdf
— Reply to this email directly, view it on GitHub https://github.com/PDP-10/its/issues/1730#issuecomment-2001931622, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAAORXPJONNXMCPEGRFM5DYYQIPZAVCNFSM4IWI2OH2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMBQGE4TGMJWGIZA . You are receiving this because you were mentioned.Message ID: @.***>
-- Henry Minsky
SITS directory on AI backup tape from December 1975.
Also:
RJL; SALVD 3
RJL; TECO 9 RJL; TECOIO 19 RUG; AR 613
TINTE editor #1390
LISP11 #1528
SITS; ARC 1 has some applications. MACRO assembler, LINK linker, SHIP maybe Spacewar?