microRSX-11 RX50 distribution

microRSX-11 is a expanded subset of RSX-11/M plus and was targetted at the microPDP-11 family of machines. Here is an archive of a distribution set of RX50 floppies I was recently given:

Image Name Label Description
URSX1INS.DSK MICRO/RSX V1 RX50 INSTALL (BL-Z022A-BC)
URSX1OS1.DSK MICRO/RSX V1 RX50 1/6 (BL-Z023A-BC)
URSX1OS2.DSK MICRO/RSX V1 RX50 2/6 (BL-Z024A-BC)
URSX1OS3.DSK MICRO/RSX V1 RX50 3/6 (BL-Z025A-BC)
URSX1OS4.DSK MICRO/RSX V1 RX50 4/6 (BL-Z026A-BC)
URSX1OS5.DSK MICRO/RSX V1 RX50 5/6 (BL-Z027A-BC)
URSX1OS6.DSK MICRO/RSX V1 RX50 6/6 (BL-Z028A-BC)
URSX1HEL.DSK MICRO/RSX V1 RX50 HELP (BL-Z029A-BC)
URSX1ERL.DSK MICRO/RSX V1 RX50 ERROR LOGGING (BL-Z030A-BC)
URSX1AP1.DSK MICRO/RSX ADV PRG V1 RX50 1/5 (BL-Z031A-BC)
URSX1AP2.DSK MICRO/RSX ADV PRG V1 RX50 2/5 (BL-Z032A-BC)
URSX1AP3.DSK MICRO/RSX ADV PRG V1 RX50 3/5 (BL-Z033A-BC)
URSX1AP4.DSK MICRO/RSX ADV PRG V1 RX50 4/5 (BL-Z034A-BC)
URSX1AP5.DSK MICRO/RSX ADV PRG V1 RX50 5/5 (BL-Z034A-BC)

RT-11 RX50 Disk Images

In my missing to archive all software I have for my PDP-11, I’ve spent some time working through my RX50 disks. Here are the results of my labours

I archived them using John Wilsons excellent PUTR utility using a PC fitted with a 5.25″ floppy drive (as drive B:). Here is the process I used:

  • Start up PUTR
  • Mount the RX50 in foreign mode with:MOUNT B: /FOREIGN /RX50
  • Then for each floppy:COPY/DEV/FILE B: [imagename]

Here are the initial set of disk images I have created. I’ve not had a chance to look at them in detail, but there looks like there is plenty of stuff that is of interested to the general community:

Image Name Label Description
KERMIT.DSK RT11 KERMIT
RT11-XM.DSK BOOTABLE RTXM WITHOUT PM
CZFNAG0.DSK CZFNAG0 Micro-11 formtr RX50
MINC-FOR.DSK MINC FORTRAN
LANGUAGES.DSK LANGUAGES MASTER - 2-MAR-89
FORTRAN.DSK FORTRAN IV KIT
FORTOTS.DSK FORTRAN IV OTS KIT
DUNGEON1.DSK DUNGEON 1/2
DUNGEON2.DSK DUNGEON 2/2
CAVE.DSK CAVE
CAVE2.DSK CAVE (prob a copy of CAVE.DSK)
FLGHTSIM.DSK REGIS FLIGHT SIM
GAMES01.DSK GAMES .SAV(CHESS) .BAS
GAMES02.DSK BAS/FOR GAMES
GAMES03.DSK BASIC GAMES 1
GAMES04.DSK GAMES - SPACE INV., AIRCRAFT, CHESS
GAMES05.DSK GAMES - BACKUP 1
GAMES06.DSK GAMES - BACKUP 2
GAMES07.DSK BASIC GAMES
GAMES08.DSK BASIC GAMES (bad blocks during copy)
GAMES09.DSK WORKING GAMES
DECODE.DSK DECODE - .SAV FILE DISSEMBLER
TXTWRT.DSK TXTWRT - SCREEN OUTPUT EDITOR
RUNOFF.DSK RTCALL, RUNOFF
DD-DRV.DSK V5.4 DD DRIVER
MONITOR.DSK MONTOR UTILITIES - LOGICA, RMOM, TABLES
VARIOUS0.DSK CLOCK, FOCAL, SHEET
INDSUBDR.DSK IND_SUBDIR
MJCLOK.DSK MJCLOK
SHEET.DSK SHEET 3.0
TAG.DSK TAG
CACHE.DSK CACHE
UCLPLUS.DSK UCL+
LDUSR.DSK LD USER
SPELL.DSK SPELL
ASC.DSK ASC
SHEET2.DSK SHEET
SUBDIR.DSK SUBDIR
VARIOUS1.DSK FIND,SDIR
FONT.DSK FONT

Software Archiving

One of my main fears with my collection is loosing software over time as disks slowly decay. DEC media has proven amazingly resilient with many of my disks well over 30 years old. The reality is though that they won’t last forever and so I’ve decided now is the time to start a program of archiving them all to modern media.

I have the following to work my way through:

  • 40 RL02 packs
  • 24 RL01 packs
  • ~250 RX01 and RX02 floppies
  • ~100 RX50s
  • 24 TU56 tapes
  • ~100 TU58 tapes
  • 28 RK05 packs

Software wise, these will yield a mixture of XXDP, RT-11, RSX-11/M, RSX-11/M PLUS, and Unix software. As I complete them I will put any useful finds online to download for others to use.


DECWriter III Rebuild

00001.jpgTo give a nice period console to my 11’s I decided to have a crack at rebuilding the DECWriter III that has sat forgotten in the corner of my office for the last few months. The terminal was in a pretty mucky state, so I started with a deep clean using solvent based cleaning fluids. This quickly took of the layers of muck that had built up and revealed a very clean terminal.

The lid was then removed and the innards cleaned out. All the sound proofing foam was removed as it had started to turn to mush. A couple of the mounting pillars which hold the lid to the case have sheered off and so these will need to be glued back into place.

With the terminal cleaned, power was cautiously applied and the voltages confirmed to be correct.

Having confirmed the power was ok, paper was loaded and a serial loop back plugged into the serial port and the terminal was powered back on. Typing on the keyboard resulted in activity from the print head although no actual print (the ribbon was dried out). I then help SETUP and T together to put the console into test print mode and the head went into over overdrive and slowly but surely the ribbon started to deliver ink. The print quality is fairly good, although the first row appears to be dead.

Next on the todo list is to fit a new ribbon (I have 4 on the way) and see if I can restore line 1 to life.


New Arrivals: TC11 + TU56, TU55s and an 11/40

Some highly treasured items have just joined my collection, a TC11 and TU56 together with a further 3 TU55 drives and parts to build up a second 11/40.

I plan to use the TC11 and TU56 on my forthcoming 11/40 rebuild.

TC11

TC11

TU55

TU55

TU55

TU55

TU55

TU55


Adventures in LSI land

Over the last couple of weeks I have spent most of my available ‘PDP’ time bringing rebuilding as many of my QBUS machines as I can.

This has largely been a painless process, largely aided by the set of LSI-11 maintenance manuals I recently got hold of. Compared with their large UNIBUS brothers, the QBUS family of machines are relatively easy to rebuild as the backplanes are much simpler with no wirewrap and much more generalistic (there are no slots dedicated to a particular peripheral). Often its just a case of planning the board layout using a simple set of rules to determine their placement and all fires up well. When it doesn’t it is often just a case of reducing the setup to a simple working configuration and building it back up from there.

For anyone attempting to rebuild a QBUS machines, here are my tips:

  1. If you machine is already populated with boards, carefully take note of the locations of each board in your system and then strip all the boards out.
  2. Carefully clean/vacuum the chassis to remove any crud/hair/dust that has built up within it
  3. Apply power to the empty chassis, for 5 seconds, 10 seconds, 30 seconds, 1 minute to confirm the power supply is working. Check the fans are all spinning whilst doing this.
  4. With a multimeter, check all the DC voltages coming from the PSU
  5. If all is well, start with a simple setup of a CPU, memory, SLU and bootstrap. If you are lucky you may have a CPU board with onboard bootstrap and SLU (KDF-11B or KDJ-11B), in which case you will just have to insert 2 cards.
  6. Hook up a console and setup it to the appropriate baud rate for your SLU (9600 baud is the most common if you don’t know this), set your HALT switch to the down (halt) position.
  7. Power on the machine. If all goes well you should see:173000
    @
  8. This is an ODT prompt, an interactive utility that allows you to toggle code into memory and start the CPU running.
  9. Confirm you can write to memory by depositing some values and reading them back. For example:@1000/ 0000000 123123
    @1000/ 123123

    In the above, the bolder characters are what you need to type. This deposited the value 123123 into location 1000 and then read it back (confirming that the value we had deposited had correctly been stored into memory). Try it for a few locations

  10. If all is well, move the HALT switch to the up position (non-HALTED) and hit restart. If all is well, the machine should now start its bootstrap. If you have a bootstrap board or a KDF-11B you should see a "START ?" prompt. If you have a KDJ-11B, you should see a countdown as it steps through its diagnostics before giving you a menu of options.
  11. If this fails, then you need to look at the status LEDs on your various boards to get clues as to the nature of the failure. These vary from CPU to CPU:
    • KDJ-11B: This has the best diagnostic output in the form of a seven segment display. This should give you a hex number detailing the nature of the problem. If you refer to uPDP-11 documention you should find a table of codes detailing the nature of the fault.
    • KDJ-11A: 4 LEDs on the CPU card should give you a rough indication of the fault
    • KDF-11B: 4 LEDS on CPU

Latest Arrivals

A few more new machines arrived this week and some might fine additions they were two:

  • PDP-11/70 in H960, alas no memory at present
  • PDP-11/70 in a tallboy corporate cabinet
  • PDP-8/E, OEM branded
  • Dec Professional 380
  • 2 x Decmate IIIs
  • TSZ07 SCSI Mag tape drive
  • PDP-11/05 (5.25″ version), missing its front graphics (I guess swiped by a trophy hunter)

uPDP-11/83 rebuild begins

For some light relief from rebuilding the more complicated UNIBUS machines, I decided to take a break and tackle something a bit simpler, a QBUS based uPDP-11. I have a few uPDP (BA-23) chassis lying around so I picked one of these as the basis for the machine.

As the machine had only left service a mere 5 years ago, I thought I would take a chance and test the power supply the evil way. With all the boards removed, I powered on. All started up well and I confirmed the correct voltages with a multimeter. So far so good

Before I started installing cards I took a break to download the required manuals from Bitsavers (http://www.bitsavers.org) and was deeply engrossed when my nose picked up the first warning signs that all was not as it should be. Sure enough, I looked up to find smoke streaming out of the back of the PSU.

I quickly removed the power and confirmed there wasn’t an actual fire inside the machine. After airing the machine for 10 minutes to rid it of the worsed of the smell, I removed the power supply and opened it up. I was met with an impressive scene of fluff, grease and a variety of insect remains but surprisingly no signs of damage or exploded capacitors.

After a thorough clean, I returned the power supply to the chassis and tentatively put the power cable back into the chassis. With fire extinguisher on hand I waited to see if the smoke returned. After 10 minutes and no smoke, I decided to risk a power on and eureka, all came up well and voltages were still as they should be.

So I was really rather lucky here, but I guess the moral of the story is never power on an old machine without first thoroughly inspecting it.


HOWTO: Create Logical Disks under RT-11

Logical disks are a convenient way of getting round the lack of a directory structure in RT-11. A logical disk is a file which can be mounted as a virtual storage device.

To make a logical disk:

  1. Create an empty file to act as your logical disk:

    CREATE [filename]/ALLOCATE:[number of blocks]

    For example:
    CREATE GAMES.DSK/ALLOCATE:500

  2. Mount the file as a logic disk:

    MOUNT LD[number]: [filename]

    For example:
    MOUNT LD0: GAMES.DSK

  3. Initialize the new logical disk:

    INITIALIZE LD[number]:

    For example:
    INITIALIZE LD0:

  4. You should now have a working logical disk. Try typing DIR LD[number]: to confirm. You can now subsequently remount this disk at any time using the MOUNT command from step 2.

HOWTO: Create a MSCP MAP in RT-11

RT-11 is restricted to each devices is limited to 32MB of usable space. This is due to the filesystem using a 16-bit field to represent blocks, giving a maximum of 65535 x 512 byte blocks.

For larger MSCP disks, such as RD53, RD54, RA series and third party disks, all is not lost. Within RT-11 a mechanism exists to partition the disk into multiple logical drives allowing you to access the remaining disk space.

To achieve this, issue the commands:

SET DU[id] DEVICE=[unit]
SET DU[id] PART=[part]
SET DU[id] PORT=[port]

Where:

  • id is the numerical number of the DU devices you wish to map onto your device. This is in the range 0-7 on versions of RT-11 prior to 5.4
  • unit is the unit number of the device you wish to map onto the DU device.
  • part is the ‘partition’ number within the device you wish to map. So PART-0 would be the first 32MB of the disk, PART=1 would be the next 32MB and so on
  • port is the MSCP device number. If you only have a single MSCP controller on you machine this would be PORT=0

So for example, if you have  an RD54 currently on DU0, you could access the remaining space with the commands:

SET DU1 PORT=0
SET DU1 DEVICE=0
SET DU1 PART=1

SET DU2 PORT=0
SET DU2 DEVICE=0
SET DU2 PART=2

SET DU3 PORT=0
SET DU2 DEVICE=0
SET DU2 PART=3

You will now have 4 devices, DU0,1,2,3 each with 32MB of space.

Whilst this is very useful, there is a bit of a sting in the tail in that the DU id range is only 0-7 on all but the most recent versions of RT-11. This limits you to a maximum of 8 32MB devices, which whilst a huge amount of space by PDP-11 standards, still doesn’t allow you to access all of the space on some of the more modern disks.