{"id":1136,"date":"2020-11-17T22:50:23","date_gmt":"2020-11-17T22:50:23","guid":{"rendered":"https:\/\/pdp2011.sytse.net\/wordpress\/?p=1136"},"modified":"2020-11-17T22:50:23","modified_gmt":"2020-11-17T22:50:23","slug":"building-a-rk-minc-disk","status":"publish","type":"post","link":"https:\/\/pdp2011.sytse.net\/wordpress\/building-a-rk-minc-disk\/","title":{"rendered":"Building a RK MINC disk"},"content":{"rendered":"\n<p>The only known BASIC for MINC comes in the form of a RX02 diskette image.<\/p>\n\n\n\n<p>But PDP2011 does not have a RX controller. Yet. And while the controller doesn&#8217;t look like it would take too much time, there&#8217;s the issue with the sector sizes; RX needs 128 byte sectors, and SD cards can only do 512. Ugly &#8211; I don&#8217;t like how it turned out for RL, and RX would be even worse.<\/p>\n\n\n\n<p>And the floppy images are a bit limited for size too. Better to have something like an RK05 image. So let&#8217;s try that then&#8230;<\/p>\n\n\n\n<p>First, the RT-11 version on the RX images is not the latest and greatest &#8211; from what I&#8217;ve been able to see, peering into the image with od and strings, it seems to be V03B. By a stroke of luck, there&#8217;s also a nice distribution image of V03B to be found at Bitsavers.<\/p>\n\n\n\n<p>So that is the starting point:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">http:\/\/bitsavers.org\/bits\/DEC\/pdp11\/floppyimages\/minc\/rx02\/\n(and from there we want these two files:)\nBA_J836B-BC_MINC_MA_SYS_23_V2.0_BIN_RX2.img\nBA-J837B-BC_MINC_MA_DEMO_23_V2.0_BIN_RX2.img\n\nhttp:\/\/bitsavers.org\/bits\/DEC\/pdp11\/discimages\/rk05\/\n(and from there we'll get this one:)\nAN-5752B-BC_RT-11_V03B.dsk.gz<\/pre>\n\n\n\n<p>The two floppy images are the proper distribution versions that insist on being copied before used. So let&#8217;s do that &#8211; boot them up, do the copy, then boot the newly created images &#8211; you&#8217;ll get a question if you want to run BASIC from VM, reply N to that. This is kind of essential, since the process creates a number of files &#8211; CONTNS.COM and MNCINI.COM for instance.<\/p>\n\n\n\n<p>A simh.ini file might come in handy to deal with the fact that these are high density floppy images, and thus DY instead of DX:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">set cpu 11\/24\nset rx disable\nset ry enable\natt ry0 &lt;original&gt;\natt ry1 &lt;new copy&gt;\nboot ry0 <\/pre>\n\n\n\n<p>Then RT11. gunzip the image, of course, then into simh &#8211; same setup as before, not sure if the set cpu 11\/24 is critical, but why not be meticulous about it. And attach the copied floppy images to ry0 (system) and ry1 (demo).<\/p>\n\n\n\n<p>So it is sysgen time &#8211; MINC needs an SJ monitor, and it needs timer support, and that is not on in the default distribution version. So let&#8217;s do this quickly &#8211; even though it was a big thing back in the day. I&#8217;ll only mention the sysgen questions that do not get the default answer &#8211; just press enter on all the others.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">.<strong>R SYSGEN<\/strong>\nDo you want the foreground\/background (FB) monitor <a href=\"Y\">Y\/N<\/a>? <strong>N<\/strong>\nDo you want timer support in the SJ monitor <a href=\"N\">Y\/N<\/a>? <strong>Y<\/strong>\nDo you want BATCH support <a href=\"N\">Y\/N<\/a>? <strong>Y<\/strong>\nDo you want RX02 diskette support <a href=\"N\">Y\/N<\/a>? <strong>Y<\/strong>\nDo you want line printer support <a href=\"Y\">Y\/N<\/a>? <strong>N<\/strong>\nHow many extra device slots do you want <a href=\"0\">D<\/a>? <strong>4<\/strong>\nWhat is the PHYSICAL name and unit of the source input device <a href=\"RK1\">DDU<\/a>? <strong>RK0<\/strong><\/pre>\n\n\n\n<p>Not quite sure if the Y to BATCH support is really necessary. Or the extra device slots, really. And the RX02 support might seem strange since PDP2011 doesn&#8217;t support those, but we&#8217;ll copy some files off the RX02 images next, that&#8217;s why. The LP is safely excluded though &#8211; even if you dream of having one.<\/p>\n\n\n\n<p>Next, type @sysbld, and go for a cup of coffee. Very quickly &#8211; even on my laptop this runs in under 30 seconds. And then &#8216;make install&#8217; the new version, that goes such like:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>COPY\/SYS *.SYG *.SYS\nCOPY\/BOOT RKMNSJ.SYS DK0:\nBOOT DK0:<\/strong><\/pre>\n\n\n\n<p>Now for the interesting bits &#8211; copying drivers and software from an image that I&#8217;m not quite sure which exact version it is, and I&#8217;m quite sure I don&#8217;t understand what all of these are. Here goes:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>COPY\/SYS DY0:SP.SYS DK0:\nCOPY\/SYS DY0:VM.SYS DK0:\nCOPY\/SYS DY0:C*.* DK0:\n\nCOPY TT: DK0:STARTS.COM\nSET USR NOSWAP\nSET TT SCOPE\nINS SP\nLOAD SP\nINS LP\nASSIGN RK0 HLP\n^Z<\/strong>                         (&lt;--- type control-Z)\n\n<strong>BOOT DK0:<\/strong>\n\n<strong>COPY DY0:M*.* DK0:\nCOPY DY0:Q*.* DK0:\nCOPY DY1:*.BAS DK0:<\/strong><\/pre>\n\n\n\n<p>Ok done!<\/p>\n\n\n\n<p>Burn that on a card, and it&#8217;ll work with PDP2011. Boot it up and type RUN Q4SZMX (ALL), or type @CONTNS if you feel nifty. <\/p>\n\n\n\n<p><strong><em>There is just one thing<\/em>.<\/strong><\/p>\n\n\n\n<p>It doesn&#8217;t work quite right. In the original setup &#8211; the setup that is on the floppy images, and that you can play with in SIMH as long as you don&#8217;t touch any of the &#8216;real&#8217; MINC functionality &#8211; you end up in a BASIC shell that you can&#8217;t get out of. You can type some RT commands at the READY prompt, like &#8216;dir&#8217; or &#8216;help&#8217; or even &#8216;bye&#8217; &#8211; with the floppy images, you&#8217;ll always return to the READY prompt. It is as if RT11 is not there anymore. <\/p>\n\n\n\n<p>But with the RK images made with this recipe, anything that is not a BASIC statement will drop you back to the RT11 command prompt, and you&#8217;ll have to restart BASIC yourself. And that is a shame, if only because the HELP thing is really useful. For instance:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">READY\n<strong>help ain<\/strong>\nAIN(mode,data-name,data-length,trigger,A\/D-channel,no.-of-channels)\nCollects analog data from an A\/D converter.\n------------------------------------------------------------------------------\nArgument           Type of Argument      Valid Values        Default Value\n\nmode               string expression     CONTINUOUS,DISPLAY, standard mode\n                                         EXTERNAL,FAST,LINE,\n                                         RANDOM,ST2\ndata-name          numeric variable      -2048 to 2047;      required argument\n                   or array name         full-scale values\ndata-length        numeric expression    &gt;= 1                1\ntrigger            numeric expression    0; &gt; 0 to 655.35;   0\n                                         1 to 65,535\nA\/D-channel        numeric expression    0 to 63             0\n                   or integer array\nno.-of-channels    numeric expression    1 to 64 or channel  1\n                                         array length\n------------------------------------------------------------------------------\nExample            70 AIN(,V(),100,1\/100,8,4)\nResult             Collects 100 values from the conversion sequence channels\n                   8, 9, 10, 11, one sequence every one-hundreth of a second;\n                   puts the values in array V.\nReference          BOOK 6\n\n<\/pre>\n\n\n\n<p>I&#8217;m hoping someone who understands how RT11 works can point me to the answers for this &#8211; it&#8217;d save me having to write the RX controller! and my guess is that is has something to do with the CONTNS.COM file and CONTXT.SYS. Or maybe the MNCINI.SAV. One of those would need to cause that CONTNS.COM is executed after any external program &#8211; for instance by setting it up as an alternate command interpreter, or some such. Can&#8217;t find how that would work though&#8230;<\/p>\n\n\n\n<p>Oh. Ehh. Yeah, I should probably mention copyright. Even though the installation images are freely found all over the web, I&#8217;m not sure what the copyright status of this software is, but you are likely not formally allowed to do anything at all with it. Just so you know &#8211; if you do so anyway, the consequences are yours alone.<\/p>\n\n\n\n<p>Some quick Q&amp;A I think I already know the answer for:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>You need the SP device. If you don&#8217;t have it installed and loaded, whenever you exit BASIC, your disk will be destroyed. Not sure why, but it happens.<\/li><li>You can probably do without the VM device &#8211; as I understand it now, it is just a trick to use the machine&#8217;s memory cache the q4szmx executable in between stepping out to the monitor. But you don&#8217;t really need that, the SD card is fast enough you wouldn&#8217;t really notice if the mechanism would work. <\/li><li>Yeah, the trick is pretty nifty &#8211; the MNCINI.SAV doing some magic, then writing the MNCINI.COM and then having that executed. There&#8217;s probably just one missing link&#8230;<\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The only known BASIC for MINC comes in the form of a RX02 diskette image. But PDP2011 does not have a RX controller. Yet. And while the controller doesn&#8217;t look like it would take too much time, there&#8217;s the issue with the sector sizes; RX needs 128 byte sectors, and SD cards can only do [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[8],"class_list":["post-1136","post","type-post","status-publish","format-standard","hentry","category-minc","tag-minc","missing-thumbnail"],"_links":{"self":[{"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/posts\/1136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/comments?post=1136"}],"version-history":[{"count":0,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/posts\/1136\/revisions"}],"wp:attachment":[{"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/media?parent=1136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/categories?post=1136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/tags?post=1136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}