Posts

Showing posts from 2012

Basic ITS hacking

OK, so ITS has only one level of directory in its file system, otherwise known as the SNAME portion of a filename. How do you create a directory if there isn't one already? For instance, if you login as an unknown user JAO and ITS complains it can't find MD:USERS1;LOGIN JAO , and Emacs won't let you create a file USERS1;LOGIN JAO because USERS1; doesn't exist, what do you do? I expected there to be a DDT command to create a directory. But there isn't one. I found a cryptic comment to "look at the documentation for the OPEN UUO." So I did. Examining SYSDOC;_CALLS.124 The file names ..NEW. (UDIR) cause a new directory to be created with the given sname if none already exists. Creating a directory in this way causes a message to be printed on the system console. (A directory is destroyed only when the disks are salvaged by the stand-alone salvager, which is generally run just before the time-sharing system is restarted. A directory is then destroy

Getting KLH-10 and ITS to work under Mac OS X

I've cycled back to being interested in the Incompatible Timesharing System (ITS). In the interim, I replaced my G4 iBook with a Intel-based MacBookPro. With a bit of hacking, I was actually able to get local networking to communicate with the simulated PDP-10, and thought I would record some of the details. I needed to Install tuntaposx . I used the macports version. Crudely hack the ks-base-its build in klh10-2.0h from panda-dist (and additional patches) to define KLH10_NET_TUN=1 under Mac OS X. I need to clean up my own sources and put them up on github. Also, I needed to hack around the removal of "mtio.h" from Mac OS X 10.6, borrowing the minimum definitions from FreeBSD headers. I guess Apple decided they really didn't want tape drives connected to their machines. Maybe it is still in OS X server? There are a few rough edges in tun/tap support. Following a hint I found online, I open a bash shell as root, and execute exec 4<> /dev/tap0 # create t