Posts Tagged how to

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.