Skip to content

Instantly share code, notes, and snippets.

@desaster
Forked from svofski/pdp11-cheatsheet.md
Last active April 13, 2022 19:54
Show Gist options
  • Save desaster/2ea6904e6387a207f0e7c7ac5bc3e243 to your computer and use it in GitHub Desktop.
Save desaster/2ea6904e6387a207f0e7c7ac5bc3e243 to your computer and use it in GitHub Desktop.

Original: https://gist.github.com/svofski/ce9bfc37d865b8ef38c43d52e0a8e82a

RSX-11M

List devices

DEV

Edit accounts

RUN [1,54]ACNT

Process map

INS $RMD
RMD

Terminal setup

SET /TERM=TT:VT100
SET /TERM=TT:LA120

PIP magic

PIP /FREE
PIP /LI

WHere is a specific file located?

dir [*,*]RSXMAC.SML

EDT

Description Action
Enter screen editor mode change
Exit screen editor mode ^Z
Save exit
Don't save quit

To open EDT in screen editor mode by default, create a file EDTINI.EDT with contents:

SET MODE CHANGE

Also

http://www.loomcom.com/retrocomputing/rsx11m_notes.txt

3.2 Mini-Reference (63 pages) http://bitsavers.trailing-edge.com/pdf/dec/pdp11/rsx11/RSX11M_V3.2_Jun79/AV-5570C-TC_RSX11-M_3.2_MiniRef_May79.pdf 3.1 RSX-11M Beginner's Guide (61 pages) http://skn.noip.me/pdp11/resources/rsx/DEC-11-OMBGA-A_D_RSX-11M_Beginners_Guide_Jun77.pdf

Mounting and restoring a typical DECUS tape

In simh (ctrl-e)

SET RP1 RP06
ATTACH RP1 scratch.rp06
SET TS ENABLE
SET TS0 FORMAT=TPC
SET TS0 LOCKED

In DCL:

>; To list a save set
>BACKUP/REW/SAVE_SET:RSX84A1/LIST MS0:

>; To restore (this will WIPE everything on DB1:)
>; In our case it's scratch.rp06
>;
>DIS DB1:
>ALL DB1:
>BACKUP/REW/SAVE_SET:RSX84A1 MS0: DB1:
Initialize output disk [Y/N]:Y
BAC - Starting Tape 1 on MS0:

BAC -- *WARNING* -- No bad block data file found

BAC - This disk will not contain a hardware bootable system

BAC - End of Tape 1 on MS0:

BAC - Completed

>DEALL DB1:
>SET /PUB=DB1:
>MOU DB1:RSXS84

; DB1:[0,0] will contain a list of directories, e.g.:
>DIR DB1:[0,0]


Directory DB1:[0,0]
22-DEC-16 14:03

INDEXF.SYS;1        2022.      22-DEC-16 13:03
BITMAP.SYS;1        85.        22-DEC-16 13:03
BADBLK.SYS;1        0.         22-DEC-16 13:03
000000.DIR;1        2.         22-DEC-16 13:03
CORIMG.SYS;1        0.         22-DEC-16 13:03
003054.DIR;1        1.      C  22-DEC-16 13:03
003176.DIR;1        1.      C  22-DEC-16 13:03
300001.DIR;1        1.      C  22-DEC-16 13:03
300002.DIR;1        1.      C  22-DEC-16 13:03
300021.DIR;1        5.      C  22-DEC-16 13:03
300023.DIR;1        1.      C  22-DEC-16 13:03
300070.DIR;1        1.      C  22-DEC-16 13:03
300203.DIR;1        1.      C  22-DEC-16 13:03
307310.DIR;1        1.      C  22-DEC-16 13:03
307311.DIR;1        1.      C  22-DEC-16 13:03
307312.DIR;1        1.      C  22-DEC-16 13:03
307313.DIR;1        1.      C  22-DEC-16 13:03
307314.DIR;1        1.      C  22-DEC-16 13:03
307315.DIR;1        1.      C  22-DEC-16 13:03
312315.DIR;1        1.      C  22-DEC-16 13:03
312317.DIR;1        1.      C  22-DEC-16 13:03
312322.DIR;1        1.      C  22-DEC-16 13:03
312345.DIR;1        6.      C  22-DEC-16 13:03
312346.DIR;1        1.      C  22-DEC-16 13:03
312366.DIR;1        2.      C  22-DEC-16 13:03
312371.DIR;1        4.      C  22-DEC-16 13:03
312375.DIR;1        1.      C  22-DEC-16 13:03
312376.DIR;1        2.      C  22-DEC-16 13:03
326001.DIR;1        1.      C  22-DEC-16 13:03
326112.DIR;1        1.      C  22-DEC-16 13:03
326113.DIR;1        2.      C  22-DEC-16 13:03
326116.DIR;1        1.      C  22-DEC-16 13:03
332012.DIR;1        7.      C  22-DEC-16 13:03
333020.DIR;1        1.      C  22-DEC-16 13:03
335050.DIR;1        1.      C  22-DEC-16 13:03
344377.DIR;1        1.      C  22-DEC-16 13:03
350031.DIR;1        2.      C  22-DEC-16 13:03
351140.DIR;1        1.      C  22-DEC-16 13:03
351142.DIR;1        1.      C  22-DEC-16 13:03
351144.DIR;1        1.      C  22-DEC-16 13:03
351145.DIR;1        1.      C  22-DEC-16 13:03
351150.DIR;1        2.      C  22-DEC-16 13:03
351160.DIR;1        5.      C  22-DEC-16 13:03
356040.DIR;1        16.     C  22-DEC-16 13:03
370060.DIR;1        1.      C  22-DEC-16 13:03
344067.DIR;1        2.      C  22-DEC-16 13:03

Total of 2193./2193. blocks in 46. files

>

; Here the names of DIR files are comprised of project, user. E.g.
; 344067.DIR -> [344,67]
>DIR DB1:[370,60]


Directory DB1:[370,60]
22-DEC-16 14:05

CURSE.PIC;1         7.         01-JUN-84 16:56
JFK.PIC;1           5.         01-JUN-84 16:56
PLANE.PIC;1         9.         01-JUN-84 16:52
PUSCAT.PIC;1        10.        01-JUN-84 16:52
README.DOC;1        3.         01-JUN-84 17:00
README.RNO;1        2.         01-JUN-84 16:57
SNOOPY.MAC;1        13.        01-JUN-84 16:52
SNOOPY.PIC;1        5.         01-JUN-84 16:52
SNOOPY.TSK;1        18.     C  01-JUN-84 16:53
TWEETY.PIC;1        17.        01-JUN-84 16:54

Total of 89./89. blocks in 10. files

>

A partial restore

Here we only restore an area of interest, which is a kermit distribution. The entire tape will not fit to DL0, so we select UIC [356,40] and restore it to DL0:

>BACKUP/REW/SAVE_SET:RSX89A MS0:[356,40] DL0:
Initialize output disk [Y/N]:Y
BAC - Starting Tape 1 on MS0:

BAC - This disk will not contain a hardware bootable system

BAC - End of Tape 1 on MS0:

BAC - Completed

>MOUNT DL0:
Label? RSX89A
>DIR DL0:[0,0]


Directory DL0:[0,0]
23-DEC-16 03:01

INDEXF.SYS;1        2067.      23-DEC-16 03:01
BITMAP.SYS;1        6.         23-DEC-16 03:01
BADBLK.SYS;1        20.        23-DEC-16 03:01
000000.DIR;1        1.         23-DEC-16 03:01
CORIMG.SYS;1        0.         23-DEC-16 03:01
356040.DIR;1        4.      C  23-DEC-16 03:01

Total of 2098./2100. blocks in 6. files

>

FLX: File Exchange, single file copy from tape

in MCR:

mou /for ms0:
flx sy:/rs=ms0:[1,10]bp2rsx.cmd/do

If a task image is not contiguous

You get "INS -- File not contiguous" error. This can be fixed in-place with PIP (from MCR):

> PIP /nv/co=xx.tsk

Copying arbitrary files to RSX-11M

It's a pain in the ass.

There is no default file transfer program. The easiest way is to find the proper distribution media and attach it to simh.

If this is not a feasible solution, there is kermit.

Kermit for RSX-11M version 3.60 can be found in RSX89A tape at [356,40].

Modern version of UNIX kermit is C-Kermit and can be installed via various distributions. E.g. brew install c-kermit.

C-Kermit can connect via telnet. By default it will start some kind of negotiation that RSX-11M does not appreciate. Instead, try connecting like so:

telnet /nowait pdp-11 11023

This will throw you directly to the DZ prompt. Login and start PDP-11 kermit, type in "receive" and escape into unix kermit by pressing C-\ C. Type "send <localfile.txt>". It should just work. However I could never make it work with binary files. Kermit distribution contains an utility to hex-dehex the files.

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