Archive for the ‘PDP-10’ Category

ChaosNET implementations for PDP-10

February 10, 2010

This is not particularly interesting, but I wanted to record a couple of links to ChaosNET code for the PDP-10. The ChaosNET memo describes an ITS (Incompatible Time-Sharing System) interface, for which the code is somewhere in the ITS sources, and a Lisp Machine implementation, for which code is in the CADR sources and Symbolics code base, but also a TOPS-20/TENEX implementation, a VMS/VAX implementation, and a UNIX implementation. The UNIX implementation was documented by James E. Kulp for Symbolics, and the code seems to have survived. The TOPS-20/TENEX is harder to find, but it looks like BitSavers’ Foonly archives have some files.

DSK:<FOONEX>CHAOS.MAC;399
DSK:<FOONEX>CHABUG.MAC;8
DSK:<FOONEX>CHAOS0.MAC;3
DSK:<FOONEX>CHATTY.MAC;21

I have no idea whether this is at all related to the implementation the AI MEMO mentions.

A Google search turns up some interesting code (might be for the PDP-11 front end, for ITS)

from AI:SYSTEM

CH10.defs1 “PDP-10 chaosnet interface definitions”
CH11.defs1 “CH11 Unibus chaosnet interface definitions”
CHSDEF.15 “Chaos net packet definition (for PDP-10s)”
CHAOS.288
KSNET.1 “Chaosnet interface on Unibus” (presumably for the KS10)
IOELEV.432 “i/o eleven”
NET.32 General ITS networking code

ChaosNET and Python

February 5, 2007

My blogging has been much less frequent of late, mostly because of an unfortunate abundance of non-computer issues. Despite those, I believe I have made some progress in my Chaosnet-on-OpenMCL work, but I’ve switched most of my hobby-development to Python, mostly to get in touch with trends outside the Lisp Universe.

My current main project circulates around ChaosNET emulation; the main thing going for Python here is a socket interface that is roughly compatible between UNIX-like and Windows operating systems. Lisp can support that as well, but not for my favorite and familiar implementations. (One thing I hope to try before I get through this is to get an asyncore-like framework set up in CLISP.)

So far, I have implemented a `chaosd’ process in Python that simulates multiple ChaosNET `ethers’ in the form of localhost TCP streams (on Windows or UNIX-like) or UNIX-domain sockets (on UNIX-like); each stream corresponds to a subnet. The idea has manifold goals:

  • Allow the usim CADR simulator to communicate on Windows with minimal alterations using Winsock in place of BSD sockets (Done) (Brad Parker’s server, however, works with forking and other UNIXisms that would require more work)
  • Allow separation between local activity and activity exposed or connected to the wider Internet
  • Provide ‘masquerade’ and ‘network translation’ bridges, to flexibly map external resources, such as an ITS or TOPS-20 simulator into something that appears to be a local network. (The translation here is necessary because ChaosNET is a LAN architecture; outside resources might have their own incompatible scheme of subnetting and addressing. These translating gateways would allow me to place external UDP-responding resources into arbitrary Chaos addresses in my local scheme, without requiring any change on the external resource.)
  • Eventually, provide small modular `gateway’ simulators that appear to be ChaosNET resources on a local subnet, but translate to external services such as AOL Instant Messenger or IRC.
  • Recreate `historically accurate’ network organizations for amusement
  • If I ever break down and get a real Symbolics machine, I expect it to be able to speak Chaos over IP or raw Ethernet; I would like some way to connect that to multiple simulators on a single Mac or PC

As a step in this direction, I have implemented a stream-to-UDP masquerade, that automatically takes traffic on a local `ether’ for a particular address and feeds it over UDP using Bjorn Victor’s protocol. Running this on two machines, I am able (mostly) to allow a Lisp machine simulator on my Linux box and another on my Windows box to both believe they are on a single Chaosnet LAN, and to communicate with one another. The next step is to get something like a local ITS or TOPS-20 simulator running in KLH-10 on Linux supporting Bjorn’s UDP protocol (or possibly Bjorn’s machine) to provide FILE service and e-mail service to my Lisp machine simulators on either machine. I have been learning to recompile ITS, with mixed success. My initial impressions on Python in another post.

link dump for 22 Feb 2006

February 23, 2006

A bunch of stuff I was reading back then

Weak Data Structures write-up by Bruno Haible, courtesy of Gary King.

The classic UNIX HATERS Handbook.

Panda’s TOPS-20 System.

Spare Time Gizmos store front to buy actual hardware emulators of the PDP-8.
Rainer Joswig e-mail on feel of old Symbolics Lisp Machines

An e-mail discussion about CHAOS vs. TCP in port collisions, a list of Symbolics CHAOS services

Google cache of mahalito
Symbolics Y2K statement
ITS site HACK directory

Google Groups discussion on Basic Chaosnet information
Google Groups discussion on Chaosnet and ARP
Google Groups discussion on Transmitting Chaosnet over Ethernet

Google Groups discussion on Why Chaosnet (nostalgia)
Google groups search for chaosnet

ITS build information build.doc.txt

36bit.org
Retro PDP-10

Some ITS links

February 16, 2006

Wanted to collect a few links on ITS, the Incompatible Time-Sharing System