Sunday, June 21, 2015


Right now, the oldest computer in my collection is a (alas, non-functioning) Atari 800, at least in terms of when the model was introduced, not necessarily when the machine I have is made - although even by this measure it's still likely the oldest.  The Atari 400 and 800 were both introduced in 1979.  But most of the computers I've been playing with have come from the 80's - the CoCo launched in 1980, the VIC-20 in 1981, and everything else later than that.  And everything I've played with so far has been a personal microcomputer.  So it's been a bit of a change of pace for me over the past few days to really spend some time playing around with the PDP-8 and PDP-11.  Not real machines, of course, but using the simh emulator.

I've wanted to play around with the DEC PDP series for some time.  These minicomputers figure prominently in computer history, most notably perhaps with the development of both Unix and C on the PDP-7 and PDP-11, respectively.  And then with the 50th anniversary of the PDP-8, it's also gained some renewed interest in the vintage computing community.  Case in point, this very interesting PDP-8 emulator running on a Raspberry Pi with a front panel almost exactly like the original PDP-8's front panel.  I've been on the mailing list for this kit since I first saw it months ago, and I'm very anxious to get it towards the end of July when he's announced it will be ready.  By the way, this is from the same guy who supplied me the KIM Uno kit that I had some fun with some months back.

With the Retrochallenge Competition coming up, I had thought about doing a minimal Forth implementation on my VIC-20, but then Earl Evans decided to do a Forth implementation on the C128 (something I'm very interested in seeing, given my interest in the C128), so my VIC-20 project seemed too similar.  It's not really.  Despite using essentially the same processor, the C128 and VIC-20 (especially unexpanded) are very different machines, and their Forth implementations would be very, very different.  But still, I didn't want to do something so close to what someone else was doing.

Enter the PDP.  I have it in mind to do a multi-user game running on a PDP that can be connected to via telnet.  My requirements: I want multiple users to be able to connect and play the game at the same time.  I'm uncertain yet whether the game will require all users to be logged in, or if it will just support having multiple users logged in to complete their turns.  I specifically want to do this in some language I am not familiar with, one with history that may - or may not - still be in use.  COBOL was my first thought, but finding a COBOL for any PDP has so far proved challenging.  I am consider DIBOL, though; that is DEC's competitor to COBOL for the PDP-8.

So my first thing is just to get a PDP environment up and running.  I've got a PDP-8 running with both OS/8 (not multi-user) and TSS/8 (multi-user).  My only issue with these is finding the language I'd like to use.  I do like the idea of using a PDP-8, though, so I haven't ruled out either of these.

For the PDP-11, I've got both Unix v6 and v7 running.  Unix appeals to me just because of my history with Linux, and it would be interesting to play around with a considerably older version, but I've got issues here as well.  I've v6 running in a multi-user environment, but trying to find any software for it has been challenging.  It's got a C compiler and an assembler installed, of course, but no other language.  And the only editor is Ed, a line editor (think MS-DOS's old EDLIN).  That would be very painful to develop in.  Of course, I could write a full-screen editor, but that would keep me from writing the game.

I've got v7 running as well, but only in single-user mode.  I would like to enable multi-user, but I'm running into a problem.  I'm using a tape image to boot up Unix, and then using a disk image once it's booted.  During the process of configuring the system, I copied a bunch of stuff from the tape image to the disk image to be mounted as /usr.  This includes, among other things, the source for the system, which is important because I'll need to rebuild the system to enable multi-user support.  While I'm setting up the system, all the data on the /usr is present, but once I boot up, it's all gone.  I don't know whether it's an issue with my disk image, with my Unix install, or with my simh configuration.

Right now, I'm probably slightly leaning in favor of the PDP-8 with OS/8.  That means (unless I can figure out MULT-8 or MULTOS or one of the other multi-user systems that use OS/8) that I'll only have one person logging in at a time.  Also I'm uncertain at the moment of whether OS/8 supports user accounts.  Right now, as far as I can tell, it just supports terminals with no differentiation between users.  But OS/8 has several advantages.  There's a lot of software out there for it, and there's a lot of documentation.  It seems to have been the standard operating system for the PDP-8, so support for it is pretty extensive, relatively speaking.

If I can find software for Unix v6 or I can get my multi-user issues worked out with v7, then I'd probably use one of those instead.  I could even live without multi-user on v7, but the issue I'm having with the /usr mount really hampers the effectiveness of the system.

This will be the first Retrochallenge I've entered, and my obstacles are not insignificant.  First, I've never worked on a PDP-8 or 11 and know almost nothing about them.  Fortunately, I'm not looking to become a PDP expert, but obviously some familiarity with the machine will be required.  Second, while I might use C (given the age of the systems, it would be a noticeably different dialect than I'm used to), I'd prefer to use a language I don't already know - COBOL, Algol, Fortran, something like that.  And, third, I've got to come up with a game that I'll find interesting enough to play, i.e., not TIC-TAC-TOE or something simple, and it has to be something that can be played with other people.  And it's got to be interesting enough as a text-based game.

The Retrochallenge starts July 1st, so I really have some decisions to make.  I have to decide on my computer and operating system, I have to decide on my language, and I have to decide what game I'm going to write.

No comments:

Post a Comment