Skip to content

Instantly share code, notes, and snippets.

@wohali
Last active June 25, 2023 04:01
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wohali/8d28e251ccb58c50b441 to your computer and use it in GitHub Desktop.
Save wohali/8d28e251ccb58c50b441 to your computer and use it in GitHub Desktop.
How to get the data off of a Micro PDP-11

I assume you have an RX50 dual-floppy on your machine, and that you're trying to get the data off of e.g. an ST506 MFM HDD that's in the machine.

  1. Get a PC or laptop setup with serial to the box. You want to connect to the Console port (the top left one), set the rotary switch to 9600 bps (setting 14) as 19200 is too unstable. You'll also need a null modem crossover to swap RX/TX and RTS/CTS. I recommend using Kermit on your machine to speak to the PDP, as you'll need it for file copies anyway. You can create the following script as e.g. pdp.ck and execute $ kermit pdp.ck to automatially connect to the machine with the correct parameters:

     set line /dev/ttyR0             ; replace with the correct device for you
                                     ; this is port 0 on a RocketCom 8-port serial card
     set speed 9600                  ; rotary switch setting 14 on the micro PDP-11
     set parity even                 ;
     set stop-bits 1                 ;
     set session-log binary          ; just in case. log everything.
     log session session.log append  ; log everything and don't overwrite
     c                               ; connect to the remote side
    
  2. All front panel switches should be OUT (not pushed in).

  3. Power on. DC ON should be green. Run should also be green. With any luck, the HDD Ready light (bottom right switch) should also be green.

  4. Allow machine to boot. If you get disk errors, you may need to give the machine an impulse. Pick up the case by ~2" and drop to the table/ground (seriously!) This will help unstick the bearing. Then, attempt another reboot. You may need to repeat a couple of times.

  5. Once the machine has booted, ^C and get to the dot prompt

  6. Double-check that you can DIR and see files, likely on DU0: (.DIR DU0:)

  7. Look for KERMIT.SAV or KRT.SAV or KRTMIN.SAV on the drive. You likely won't have it. You may or may not have MACRO.SAV on SY:, if so you can bootstrap Kermit directly over the serial line (check the C-Kermit for PDP-11 page for instructions on how to do this). My sysgen didn't have MACRO.SAV so I'm stuck with getting Kermit onto the machine another way.

  8. Find an old enough PC that has a real floppy disk controller and 5 1/4" drive, one that shows 360K or 1.2MB 5 1/4" in the BIOS settings for the floppy drive. I am lucky enough to have a real DD drive. You can experiment with an HD drive and you might get OK results. You're also going to need a standard 1.2MB HD 5 1/4" floppy disk you don't mind wiping.

  9. Prep a USB drive to boot to MS-DOS. I recommend Rufus.

  10. Copy PUTR.COM to the drive as well as the IMAGEDSK utilities and KRTMIN.SAV.

  11. Boot your PC to MS-DOS.

  12. Run the IMAGEDSK utility program TESTFDC.COM to verify that your disk can read/write to the disk at 250k for single-density and double-density. Repeat steps 8-12 until you have a working PC/Disk/media combo.

  13. Use the following commands to format the disk for RT-11 and copy the Kermit binary over to the disk. Be sure that the final directory command shows a working disk with a valid directory listing - if it failed, try the sequence again. If that fails, fall back to step 8 and find a new pc/drive/media combo that allows writes to succeed.

    putr.com
    format a: /rt11 /rx50
    mount a: /rt11 /rx50
    directory a:
    copy/binary c:krtmin.sav a:
    directory a:
    dismount a:
    exit
    
  14. Put the floppy into the RX50 - the left/top is DU1: and the right/bottom is DU2:.

  15. From your serial session, type DIR DU1: or DU2: and verify you can see KRTMIN.SAV. If you can't, start again from step 8.

  16. Start Kermit with .RUN DU1:KRTMIN.SAV

  17. At the Kermit prompt, type this and wait for the %KRTSER-I-Server Starting response:

    SET FILE BIN
    SET ATTRIBUTES ON
    SERVER
    
  18. Hit CTRL-\ followed by c to return to the Kermit prompt

  19. Type RCD DU0: to change the working directory to the hard drive

  20. Type RDIR *.* to validate that you can get a list of files on the hard drive from the remote Kermit instance

  21. Retrieve all of the files with MGET *.*

  22. Repeat for SY:. You may want to change local directories first with MD and CD.

  23. Use the c command to reconnect to the PDP-11. Hit CTRL-C to stop Kermit, then halt

Useful links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment