• Please review our updated Terms and Rules here

help with re-netgenning rsx11m+

hush

Experienced Member
Joined
Feb 7, 2022
Messages
320
Location
MD, USA
hey all!

i have an 11/83 system that i'm starting to work on, and one of the first things i'm trying to do is to get a working rsx11m+ install in simh. the simulator is configured identically to the real machine. i'm starting with the pidp11 version since i'm still learning rsx11 and it's been a lot easier to work with than building my own system, so i figure starting from there isn't a bad idea.

the main issue i'm currently running into is with netgen- the original system has a simulated delua controller, and the target 11/83 has a delqa. i poked around at cfe and ncp but it seems that i need to rerun netgen in order to actually change which controller is being used. netgen runs successfully, but when i go to shut down the system i always get the following error:

Code:
>; The CEX will be unloaded since all CEX products have been unloaded.
>NCP SET EXEC STATE OFF
09:35:48  Task "NCPT0 " terminated
          Memory protect violation
          R0=000000
          R1=000000
          R2=000000
          R3=107126
          R4=131716
          R5=000002
          SP=120472
          PC=122176
          PS=174017

at this point the system will hang indefinitely until i ^E simh. i've tried a few different things, like netgenning with decnet loaded and unloaded, purging and not purging old files, but haven't been able to get it working. appreciate any information you can provide!

update: i tried disabling the executor with `ncp set exe sta off` prior to running netgen and got the following; it allowed the system to shut down, but i'm clearly still doing something wrong.

Code:
>; The CEX will be unloaded since all CEX products have been unloaded.
>SCP STOP SIL (I)
>LCP STOP
09:34:07  Task "LCPT0 " terminated
          Load failure. Read error
          R0=024040
          R1=071553
          R2=071141
          R3=066440
          R4=067157
          R5=064564
          SP=067157
          PC=064564
          PS=064564
>NCP CLEAR SYS
09:34:12  Task "NCPT0 " terminated
          Memory protect violation
          R0=000000
          R1=000000
          R2=000000
          R3=107126
          R4=131716
          R5=000002
          SP=120472
          PC=122176
          PS=174017
 
Last edited:
Starting with the PiDP-11 RSX11M+ is not a bad idea, but it was created for a virtual PDP-11/70 and you want to run on a PDP-11/83. In addition to the differences between the DELUA (UNA to RSX) and the DELQA (QNA to RSX) you also have some differences in the underlying RSX SYSGEN because the PDP-11/70 has Unibus map registers to allow 18 bit DMA to 22 bit memory and the 11/83 Qbus is direct 22 bit DMA from the DELQA to 22 bit memory. I'm not sure how those problems would manifest themselves but it likely explains what you see.

So, you need to start with a SYSGEN which can be done on the PiDP-11 platform as if you were designing RSX and NETgen for a target system that is Qbus. The RSX11M+ sysgen is pretty straight forward as long as you have all the CSRs and Vectors ready for those questions. Be sure to include any devices that you might want to add to your system in the future. If they don't exist RSX won't care and you can alter the CSRs and Vectors if needed during the boot up process. SYSGEN will automatically do a VMR using LB:[1,54]SYSVMS.CMD and when you finish you may want to create another RSX11M.SYS with PIP and reVMR using an edited SYSVMR.CMD where you increase the secondary pool from 1000 to 2000 or 3000. Also, with the large disks some extra performance can be had during the SAV step by
SAV /WB/MOU="/ACP=UNIQUE/LRU=14/WIN=30"
instead of the default SAV /WB
This provides for independent Files11 ACPs and additional buffers.

After you complete the SYSGEN, then the NETGEN should go fine. If you plan to use Johnny Billquist's TCP/IP and connect your PDP-11/83 to HECnet during SYSGEN you'll want to define node addresses that do not conflict with existing HECnet addresses and also NETGEN user defined network devices (IP-0-n) that run through your DELQA.

I run RSX11M+ systems on both real PDP-11/83 and PiDP-11/70 using basically the disk image with different SYSGEN, NETGEN and IPGEN (for Johny's TCP/IP). All the layered software products run on both systems fine.

Best,
Mark
 
Starting with the PiDP-11 RSX11M+ is not a bad idea, but it was created for a virtual PDP-11/70 and you want to run on a PDP-11/83. In addition to the differences between the DELUA (UNA to RSX) and the DELQA (QNA to RSX) you also have some differences in the underlying RSX SYSGEN because the PDP-11/70 has Unibus map registers to allow 18 bit DMA to 22 bit memory and the 11/83 Qbus is direct 22 bit DMA from the DELQA to 22 bit memory. I'm not sure how those problems would manifest themselves but it likely explains what you see.

So, you need to start with a SYSGEN which can be done on the PiDP-11 platform as if you were designing RSX and NETgen for a target system that is Qbus. The RSX11M+ sysgen is pretty straight forward as long as you have all the CSRs and Vectors ready for those questions. Be sure to include any devices that you might want to add to your system in the future. If they don't exist RSX won't care and you can alter the CSRs and Vectors if needed during the boot up process. SYSGEN will automatically do a VMR using LB:[1,54]SYSVMS.CMD and when you finish you may want to create another RSX11M.SYS with PIP and reVMR using an edited SYSVMR.CMD where you increase the secondary pool from 1000 to 2000 or 3000. Also, with the large disks some extra performance can be had during the SAV step by
SAV /WB/MOU="/ACP=UNIQUE/LRU=14/WIN=30"
instead of the default SAV /WB
This provides for independent Files11 ACPs and additional buffers.

After you complete the SYSGEN, then the NETGEN should go fine. If you plan to use Johnny Billquist's TCP/IP and connect your PDP-11/83 to HECnet during SYSGEN you'll want to define node addresses that do not conflict with existing HECnet addresses and also NETGEN user defined network devices (IP-0-n) that run through your DELQA.

I run RSX11M+ systems on both real PDP-11/83 and PiDP-11/70 using basically the disk image with different SYSGEN, NETGEN and IPGEN (for Johny's TCP/IP). All the layered software products run on both systems fine.

Best,
Mark
thank you for the response, mark! i forgot to mention that i am performing a sysgen for the 11/83 as part of this process, but i've been doing so by copying the pidp disk image to my simh machine, booting it there, and sysgenning it that way. once that's done i copy the sysgenned image to a backup and try netgen. is this incorrect? should i be sysgenning from the pidp?
 
Last edited:
thank you for the response, mark! i forgot to mention that i am performing a sysgen for the 11/83 as part of this process, but i've been doing so by copying the pidp disk image to my simh machine, booting it there, and sysgenning it that way. once that's done i copy the sysgenned image to a backup and try netgen. is this incorrect? should i be sysgenning from the pidp?
Ok, this is easiest to do with simh (not on the PiDP-11 itself) as you can easily change the simh configuration from an 11/70 to an 11/83 to boot the new sysgenned disk image. This should work but the RSX11M.SYS needs to match the simh configuration, then a new NETGEN on top of that should work.

Thinking about what might be going wrong, the SAV /WB step is what points the boot block of the disk image to the correct version of RSX11M.SYS
Did you do the SAV /WB after sysgen? If not then the boot block might still be pointed to the original 11/70 RSX11M.SYS
Does the 11/83 system have a different system name (entered during SYSGEN)? If so that can confirm which RSX11M.SYS is running.

VMR is a tool that you can use to inspect the different RSX11M.SYS images. From VMR the commands DEV and PAR can display the configuration
inside that particular RSX11M.SYS When VMR asks
Enter filename:
and you specify e.g. RSX11M.SYS;7 the RSX11M.STB that was produced during the SYSGEN has to have a matching version number.
sometimes this is not the case if you re-VMRed a system. You can get them to match again by with the PIP rename command which does
not copy the file but only changes the directory entry info. For example, if you needed a RSX11M.STB rename to match its corresponding RSX11M.SYS

PIP RSX11M.STB;7=RSX11M.STB;5/RE

Hope this help,
Mark
 
it looks like the issue is with versioning:

Code:
>dir rsx11m.sys;*


Directory DU0:[1,54]
30-DEC-2018 09:37

RSX11M.SYS;8        1026.   C  25-FEB-2022 03:13
RSX11M.SYS;6        1026.   C  14-FEB-2016 23:03
RSX11M.SYS;7        1026.   C  27-DEC-2018 10:11
RSX11M.SYS;9        1026.   C  30-DEC-2018 09:39
RSX11M.SYS;10       1026.   C  30-DEC-2018 09:35

Total of 5130./5130. blocks in 5. files

>dir rsx11m.stb;*


Directory DU0:[1,54]
30-DEC-2018 09:37

RSX11M.STB;4        37.        09-JAN-2016 23:12
RSX11M.STB;5        37.        27-DEC-2018 10:11
RSX11M.STB;6        37.        25-FEB-2022 03:12
RSX11M.STB;7        37.        30-DEC-2018 09:38
RSX11M.STB;8        37.        30-DEC-2018 09:35

Total of 185./185. blocks in 5. files

i'm a little unsure how to approach this, though- since my rsx11m.sys is 2 versions newer than rsx11m.stb, i can't think of a way to easily get it to where it needs to be. is this an issue with how i'm sysgenning, maybe?
 
Use the PIP /RE (rename) switch to make the .STB version number match.
The dates and times tell you which go together in case one is missin.

PIP RSX11M.STB;10=RSX11M.STB;8/RE
PIP RSX11M.STB;9=RSX11M.STB;7/RE

PIP RSX11M.STB;6=RSX11M.STB;4/RE
 
i am revisiting this after a bit, hopefully that isn't an issue, just made sense to update the thread as everything i already asked is in here.

after a fresh sysgen and booting into the new system, i perform a netgen to build in QNA support instead of UNA. same issue with mismatched RSX11M.{STB,SYS} files, and i am apparently unable to make pip happy. maybe there's an issue with my invocation? attempting to rename a file to a newer version that does not exist results in an error that the file does not exist, renaming it to an older version that does exist results in an error that the file does exist... maybe i'm overthinking this? :)

Code:
>dir rsx11m.stb;*


Directory DU0:[1,54]
27-DEC-2022 17:50

RSX11M.STB;4        37.        09-JAN-2016 23:12
RSX11M.STB;5        37.        27-DEC-2018 10:11
RSX11M.STB;6        37.        20-DEC-2022 11:04
RSX11M.STB;7        37.        27-DEC-2022 17:25

Total of 148./148. blocks in 4. files

>dir rsx11m.sys;*


Directory DU0:[1,54]
27-DEC-2022 17:50

RSX11M.SYS;8        1026.   C  20-DEC-2022 11:04
RSX11M.SYS;6        1026.   C  14-FEB-2016 23:03
RSX11M.SYS;7        1026.   C  27-DEC-2018 10:11
RSX11M.SYS;9        1026.   C  27-DEC-2022 17:26

Total of 4104./4104. blocks in 4. files

>pip rsx11m.stb;7=rsx11m.stb;8/re
PIP -- No such file(s)
>pip rsx11m.sys;9=rsx11m.sys;7/re
PIP -- Failed to enter new file name
DU0:[1,54]RSX11M.SYS;9 -- Rename - new file name already in use
 
Hello again. I think the problems with your PIP commands above are that you are using input and output files like the COPY command when PIP syntax is:
PIP output=input
thus PIP couldn’t find RSX11M.stb;8 for example.

The other thing is that the version numbers don’t HAVE to match if the highest version of each is the correct one. This is easy to check from the file time stamps. Just make sure that the RSX11M.SYS and RSX11M.STB was made from the same sysgen operation.
In the listing above RSX11M.STB;7 was made by the TKB @RSX11M step of SYSGEN and it is the highest version of the .STBs The RSX11M.SYS;9 was created one minute later from the VMR @SYSVMR step. Note that you may want to rerun the VMR @SYSVMR which creates RSX11M.SYS from RSX11M.TSK (again the highest version should be the one that matches).

Normally one would never need to explicitly supply the version number as RSX always uses the highest version if the version is NOT specified.

Best,
Mark
 
Hello again. I think the problems with your PIP commands above are that you are using input and output files like the COPY command when PIP syntax is:
PIP output=input
thus PIP couldn’t find RSX11M.stb;8 for example.

The other thing is that the version numbers don’t HAVE to match if the highest version of each is the correct one. This is easy to check from the file time stamps. Just make sure that the RSX11M.SYS and RSX11M.STB was made from the same sysgen operation.
In the listing above RSX11M.STB;7 was made by the TKB @RSX11M step of SYSGEN and it is the highest version of the .STBs The RSX11M.SYS;9 was created one minute later from the VMR @SYSVMR step. Note that you may want to rerun the VMR @SYSVMR which creates RSX11M.SYS from RSX11M.TSK (again the highest version should be the one that matches).

Normally one would never need to explicitly supply the version number as RSX always uses the highest version if the version is NOT specified.

Best,
Mark
d'oh, rookie mistake, and a good reminder to check the help next time :) that did it, thank you as always!
 
I read through your document and did not see any mistakes or omitted steps. I say this based on being pretty familiar with the disk images you started with. There are some additional steps to include the HECnet bridge IP-0-n DECnet device from Johnny’s TCP/IP software, but that is really another topic.

All that said, I haven’t tried to do exactly what you did. I’ve had both real 11/83 and 11/84 systems that have been maintained separately. Also, the PiDP-11/70 RSX11M+ disk image evolved from a BlinkenBone reanimated actual PDP-11/70 console.
 
appreciate the feedback as always, mark. i haven't set that up on my systems (since i haven't had the chance to get up on HECnet yet) so i would be interested in seeing how it's done!
 
Adding the HECnet bridge to RSX11M+ with Johnny's TCP/IP software is a bit involved but he dedicated a whole chapter to it his documentation.
See [IP]README.DOC chapter 10. It involves another NETGEN to add the IP-0-n network circuit which also utilizes the DELQA card in your Qbus system.
The next thing that you will need to do if you want to connect to the global HECnet network

see http://akdesign.dyndns.org:8080/map/

is a HECnet node address from Johnny (see http://mim.stupi.net/hecnet.htm ). Then, you will need to find a node connection somewhere hopefully
near you that is willing to make a connection socket for you. You can see where existing nodes are from http://mim.stupi.net/nodedb
The last two links are from Johnny's emulated PDP-11/74 (yes, multi-processor) RSX11M+ system serving up web pages. The latter link also
utilizes PDP-11 Datatrieve to query and manage the global HECnet address database.
 
Adding the HECnet bridge to RSX11M+ with Johnny's TCP/IP software is a bit involved but he dedicated a whole chapter to it his documentation.
See [IP]README.DOC chapter 10. It involves another NETGEN to add the IP-0-n network circuit which also utilizes the DELQA card in your Qbus system.
The next thing that you will need to do if you want to connect to the global HECnet network

see http://akdesign.dyndns.org:8080/map/

is a HECnet node address from Johnny (see http://mim.stupi.net/hecnet.htm ). Then, you will need to find a node connection somewhere hopefully
near you that is willing to make a connection socket for you. You can see where existing nodes are from http://mim.stupi.net/nodedb
The last two links are from Johnny's emulated PDP-11/74 (yes, multi-processor) RSX11M+ system serving up web pages. The latter link also
utilizes PDP-11 Datatrieve to query and manage the global HECnet address database.
i will give that a read, thank you! i'm still working on a longer term project to section off my retro machines from the rest of my LAN and put them online for more than just HECnet, so it may be a minute before my machines start checking in :)
 
one more bump for the folks who may one day stumble on this thread, i have documented the steps i took to produce a reliably booting system from the pi11/70 image here: https://wiki.syspro.gs/#DEC/PDP11/PiDP11_Image_Conversion.md
I was trying to take a look at your documented steps since I am going to do the same thing for my 11/83 with a DELQA, but I get this error trying to access it using Firefox:

Secure Connection Failed

An error occurred during a connection to wiki.syspro.gs. SSL received a record that exceeded the maximum permissible length.

Error code: SSL_ERROR_RX_RECORD_TOO_LONG
 
I was trying to take a look at your documented steps since I am going to do the same thing for my 11/83 with a DELQA, but I get this error trying to access it using Firefox:
i have a backup of the original wiki somewhere but honestly i would not recommend doing it the way i did it these days, johnny bilquist has a much nicer RSX11 image that includes some bug fixes and improvements he's made over the years, these aren't available anywhere else and currently there is no way to apply them to a custom installed system. you can download the tape image and install to a disk of arbitrary size. what i would do is go through the tape install in SIMH, perform a new sysgen to match your hardware and a new netgen to include the QNA driver, and then that should be bootable on real hardware.

  • Run SYSGEN on the system. You can use the saved answers provided, or give your own ones.
  • Run NETGEN to generate a new DECnet system based on the latest SYSGEN.
  • If needed, run [IPNET]IPNET to regenerate the IP device config, if you want to use DECnet over IP.
  • Boot and save the new system.
  • Adjust any startup scripts for any previous local adaptations you had.

pretty much all of the interesting stuff can be installed via RPM now, and you can always mount the original pi11 disks on the new system and pull over what you want, like the DECUS stuff
 
Last edited:
Yes, I am starting with Johnny's image, I was thinking your steps were starting there too and I could use them as a reference.
 
Yes, I am starting with Johnny's image, I was thinking your steps were starting there too and I could use them as a reference.
nope, i don't know if my steps predate johnny's image but they were written before i was aware of it. johnny's image pretty much deprecated those steps x)

i essentially took the pi11 RSX DU0: disk and hacked at it in SIMH until i got it working, the biggest issue was a trap to XDT when shutting the system down on a new netgen. afaict that is either my own mistake or something that was incidentally fixed in johnny's image, i just did a new netgen on a new simulator this morning and it worked just fine.

for reference here's my abbreviated netgen session from earlier:

Code:
>* 01.00 Do you want to see the NETGEN notes/cautions [D=N]? [Y/N]:
>* 02.00 Target system device [dduu, D=SY:] [S]:
>* 03.00 Listing/map device [dduu, D=None] [S]:
>* 04.00 UIC Group Code for NETGEN output [O R:1-377 D:5]:
>* 05.00 Do you want to perform a component mode generation [D=N]? [Y/N]:
>* 06.01 Do you wish to use the later set of saved responses [D=N]? [Y/N]:
>* 06.02 Do you wish to use the earlier set of saved responses [D=N]? [Y/N]:
>; 07.00 User ID to be used to identify your new responses
>*       [D=None] [S R:0.-30.]:
>* 08.00 Is this generation to be a dry run [D=N]? [Y/N]:
>* 09.00 Do you want a standard function network [D=N]? [Y/N]: y
>* 11.00 Should old files be deleted [D=N]? [Y/N]: y
>* 01.00 Use the RSXMC.MAC on SY:[005,010] [D=N]? [Y/N]:
>* 02.00 RSXMC.MAC location (ddu:[g,m], D=SY:[011,010]) [S]:
>* 03.00 Use the RSX11M.STB on SY:[005,054] [D=N]? [Y/N]:
>* 04.00 RSX11M.STB location (ddu:[g,m], D=SY00:[001,054]) [S]:
>* 05.00 Should tasks link to the Supervisor Mode FCS library [D=N]? [Y/N]:
>* 06.00 Should tasks link to the Memory Resident FCS library [D=N]? [Y/N]: y
>* 01.00 Device Driver Process name [<RET>=Done] [S R:0-3]: qna
>* 02.00 How many QNA controllers are there [D R:1.-2. D:1.]:
>;
>* 03.01 CSR address for QNA-0 [O R:160000-177777 D:174440]:
>* 03.02 Vector address for QNA-0 [O R:0-774 D:120]:
>* 03.03 Device priority for QNA-0 [O R:4-6 D:5]:
>;
>* 04.07 Set the state for QNA-0 ON when loading the network [D=N]? [Y/N]: y
>;
>* 01.00 Device Driver Process name [<RET>=Done] [S R:0-3]:
>* 01.00 What is the target node name [S R:0-6]: wooyoo
>* 02.00 What is the target node address [S R:0.-8.]: 27.101
>* 03.00 Target node ID [D=None] [S R:0.-32.]: WOOYOO PDP11/83 RSX11M+
>* 04.00 Do you want to generate a routing node [D=N]? [Y/N]:
>* 02.00 Do you want the Satellite Support Components [D=N]? [Y/N]:
>* 02.00 What is the Large Data Buffer (LDB) size [D R:576.-1484. D:576.]:
 
Last edited:
Back
Top