Posts Tagged RT-11

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.

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.

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.