Table of Contents

TYMCOM-X Project

Reviving Tymshare's TYMCOM-X Operating System

Possible hosts

Current plans

  1. Get system to boot. This is being done by compiling the TYMCOM-X monitor under emulated TOPS-10 and copying the result to SYS:MON14.EXE[1,4]. Then DSKB.dsk and DSKC.dsk are copied in whole to TYMB0.dsk and TYMB1.dsk. The TOPS-10 BOOT v3 is used to load MON14 and start at location 141 (DDT). This part works.
  2. Get through REFRESH dialog. The disks do not have valid TYMCOM-X BAT pages or SAT pages, requiring them to be initialized, DSKB defined, and refreshed. This part works.
  3. Login in Console mode. Success. See TYMCOM-X Startup page.
  4. Restore from a TITO ALL-FILES tape. An emulated tape with TITO.SAV and an ALL-FILES save need to be placed on the emulator. See the Status page.
  5. Login to emulated DZ11. Up to 8 telnet users.
  6. Login to emulated Base. More than 8 users via telnet.

Not in consideration

General Notes

Hardware

TYMCOM-X ran on four types of hardware:

  1. Standard KI-10. Core memory was replaced by Ampex solid-state memory and the RH10 replaced by an Systems Concepts SA10 channel controller. The SA10 allowed the use of second hand IBM 3330-II disk drives and IBM tape drives. No terminals other than the CTY.
  2. The original KL-10, set up like a KI-10, with external memory and DIA-10 I/O bus. Once the diagnostics were accepted, the DEC memory, RH20 and RP06 would be disconnected and sold off. TYMCOM-X could not run on the Model-B backplane, use internal MOS memory, or RH20 devices. No terminals other than the CTY
    • A minor upgrade was to use IBM 3350 disk drives for additional storage.
    • A more major upgrade was to treat the IBM 3352 disk drives as two logical 3350 devices, but with coordinated cylinder movement.
  3. A standard KS2020, with RM03/RP06 disk and TU45 tape. The 2020 also needed a DR-11 parallel interface and a KMC-11 co-processor. DZ11 lines were present, but not used.
  4. The Foonly F3 had custom hardware for disk and tape, an a parallel intereface for talking to Tymnet.

Connection to the network

TYMCOM-X (the PDP-10 system as a whole) doe not connect to TTYs (other than the Console). Instead, a Tymnet Node (known as a Base) does DMA to/from two circular buffers (IRING and ORING) in the PDP-10's memory. The Base is connected by synchronous serial links to two or more Tyment Nodes using the T201 (Tymnet II) Node Code protocol. The nodes are indirectly connected to the Tymnet Supervisor, which is responsible for creating login circuits (known as Needles when they reach their destination).

The Base-Host protocol is based on the Tymnet Circuit protocol, but designed to be delivered as 32-bit messages over a parallel connection. The KI-10 and KL-10 systems had an EBUS slot (M68000 based) storing data left justified in a 36-bit word, with all ones in the unused low-order 4 bits. The KS-2020 systems had a PDP-11/23 known as a microTymSat using the 16-bit DR-11 parallel interface going into a DR-11 plugged in to the 2020's low-priority UNIBUS. The data from the DR11 is processed by a KMC11 and stored right justified in two 18-bit halfwords. When the KMC11 is used, the KS needs special microcode to implement UUILDB and UUIDPB to process bytes. When the KMC11 is not used, data is left justified just like the KL.

The Base uses a pointer in low memory (IRP620) to write data into the IRING, then update the IRP620 modulo the ring size. The PDP-10 uses its pointer (IRPPDP) to read the IRING whenever the pointers differed. These characters would go into SCNSER's TTY chunks, to be processed at clock level. Output from the PDP-10 would first go into SCNSER's TTY chunks, and from there to the output buffer (ORING). The PDP-10 updates its pointer (ORPPDP) and the Base reads from the ORING whenever its pointer (ORP620) fell behind. Transfers occurred 60 times per second, but each transfer could include many characters from many lines at once.

Cornwell's KI10 emulator now has bare-bones support for the Base interface as used on SUMEX-AIM. See https://github.com/rcornwell/sims/blob/master/PDP10/kx10_tym.c

Host-Base protocol

General format: one byte of code or code+length, one for channel number, two bytes data. A two-word message would include a total of six bytes of data. Code 0 is illegal, the other are:

Other pages

Overview page, SIMH Setup page, TYMCOM-X Startup page, TITO on disk page, Status page.