ITS 138

From Computer History Wiki
Revision as of 06:56, 15 December 2023 by Larsbrinkhoff (talk | contribs) (Supported hardware: Vidissector slaved to the 340.)
Jump to: navigation, search
ITS 138 front page

Gerald Sussman has preserved a listing of ITS version 138 from around 1967-68. It was mentioned in Grant Fjermedal's 1986 book "The Tomorrow Makers". In 2023, MIT Museum staff began processing the listing, and volunteers transcribed it to machine readable files; at this point there are 25 pages out of more than 120. The TITLE statement on the first line says "ITS 1.0 3/19/67", but there is reason to believe the date has not been kept current with edits.

The format of the listing is in the output of some cross reference tool. Each line is prefixed with a line number and a symbol reference. The last three pages are a table which lists all symbols and where they are defined.

Supported hardware

  • Modified TTY device that handles four more teletypes, as per AI memo 105 "Modifications to PDP-6 Teletype Logic". Interestingly, this was done already in August 1966.
  • Four GE Datanet 760 CRT consoles, present already in July/September 1967 per Project MAC Progress Report IV.
  • The second generation vidissector, "TVB". Mentioned in AI memo 113. The input is slaved to the Type 340 deflectors.
  • 16K core, or (preferably) 256K moby core memory from Fabri-Tek. The latter was installed in 1966, but took almost a year to be fully operational.
  • DEC Type 555 "microtapes" with data channel.
  • DEC Type 340 display.
  • Line printer.
  • MAR register to trap memory accesses.
  • One-proceed for single stepping.

Source code walkthrough

Page Description
1-3 Basic definitions, accumulators, PI channel assignments, etc.
4 "GO" entry point, initialization. Jumps to the core job.
5-7 Handlers for clock, parity error, and other processor interrupts.
8-9 Job scheduling.
10 PC "losering"
11-16 Job switching and starting.
17-18 Wait for event.
19-23 UUO handling; system calls and user calls.
24-48 Implementation of most system calls.
49 Vidissector I/O.
50-51 Memory allocation.
52 NUL device I/O.
53-57 USR job device I/O.
58-59 Line printer I/O.
60-69 Teletype I/O.
70-82 GE console I/O.
83-115 Microtape I/O.
116 The system core job.
117-118 Various variables and END statement.

System calls

These are the UUO calls defined on page 19. Note how the symbols do not have the . prefix here.

040 IOT CALL 1, DISMIS OPER 1 ITYI
041 OPEN CALL 2, TRAND OPER 2 LISTEN
042 OPER CALL 3, TRANAD OPER 3 SLEEP
043 CALL CALL 4, VALRET OPER 4 SETMSK
044 USET CALL 5, UTRAN OPER 5 GETMSK
045 BREAK CALL 6, CORE OPER 6 LOGIN
CALL 7, TRNDL OPER 7 CLOSE
CALL 10, DSTART OPER 10 UFLUSH
CALL 11, FDELE OPER 11 ATTY
OPER 12 GBLTTY
OPER 13 IPUSH
OPER 14 IPOP
OPER 15 DFLUSH
OPER 16 DSTOP
OPER 17 RDTIME
OPER 20 RDSW
OPER 21 LPEN
OPER 22 UDISMT

External links