{"id":1186,"date":"2021-01-23T15:49:51","date_gmt":"2021-01-23T15:49:51","guid":{"rendered":"https:\/\/pdp2011.sytse.net\/wordpress\/?page_id=1186"},"modified":"2021-01-23T15:49:51","modified_gmt":"2021-01-23T15:49:51","slug":"minc-rk05","status":"publish","type":"page","link":"https:\/\/pdp2011.sytse.net\/wordpress\/howto\/minc-rk05\/","title":{"rendered":"MINC RK05"},"content":{"rendered":"\n<p>Currently, there is only one known source of the special MINC BASIC: a set of RX02 diskette images on Bitsavers. However, PDP2011 does not have a RX controller. So we&#8217;ll have to convert the software on those RX02 images to disk images that will work with PDP2011. I&#8217;ve chosen for RK05 &#8211; mostly because those images are easier to work with than RL02, although RL02 is a bit more historically correct &#8211; there were MINC models with RL02 disks, but I&#8217;ve not found references to RK05.<\/p>\n\n\n\n<p>The MINC software runs on top of RT-11 &#8211; with some tricks to shield the user from the operating system. Several details on exactly how this works remain unknown, however, thanks to in-depth research by Jan Secker, we can now create RK images that comfortably work with MINC BASIC and the software environment that comes with it &#8211; the DIR command, but also the HELP system, the EDIT and INS commands etc.<\/p>\n\n\n\n<p>The starting point for the RK image are the two RX02 images for the MINC 11\/23, and the RK image of RT-11 V03B &#8211; both conveniently available on Bitsavers:<\/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. And we need to follow that procedure, because some of the files we need in the later steps are generated during a regular boot from the floppies, and others are renamed and possibly modified in other ways too. The good news however is that we will only really need the second floppy.<\/p>\n\n\n\n<p>A simh.ini file will come in handy, something like this should work:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">set cpu 11\/24\nset rx disable\nset ry enable\natt ry0 BA-J837B-BC_MINC_MA_DEMO_23_V2.0_BIN_RX2.img\natt ry1 rx2-demo.dsk\nboot ry0 <\/pre>\n\n\n\n<p>Then RT11. gunzip the image, of course, then into simh for the next steps. You will need a new, fresh RK image, and attach the copied floppy images to ry0 (system) and ry1 (demo). For instance with the following simh.ini:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">set cpu 11\/24\nset rx disable\nset ry enable\natt ry0 rx2-demo.dsk\natt rk0 AN-5752B-BC_RT-11_V03B.dsk\natt rk1 mincwork.dsk<\/pre>\n\n\n\n<p>Once into RT-11 (type &#8216;boot rk0&#8217; into simh) it is time for a sysgen; MINC needs an SJ monitor with 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. If you&#8217;re not too good at typing, you might want to enter &#8216;set tt scope&#8217; first &#8211; that&#8217;ll make the backspace key work like it should.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">.<strong>R SYSGEN<\/strong>\nDo you want the expanded form of dialogue [Y\/N] (Y)? <strong>N<\/strong>\nDo you want the foreground\/background (FB) monitor [Y\/N] (Y)? <strong>N<\/strong>\nDo you want timer support in the SJ monitor [Y\/N] (N)? <strong>Y<\/strong>\nDo you want line printer support [Y\/N] (Y)? <strong>N<\/strong>\nHow many extra device slots do you want [D] (0)? <strong>4<\/strong>\nWhat is the PHYSICAL name and unit of the\n   source input device [DDU] (RK1)? <strong>RK0<\/strong>\n<\/pre>\n\n\n\n<p>And again showing all questions for completeness, with the relevant questions highlighted in bold and italics:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">.<strong>R SYSGEN<\/strong>\n<em><strong>Do you want the expanded form of dialogue [Y\/N] (Y)? N<\/strong><\/em>\nDo you want the base-line single-job monitor [Y\/N] (N)?\nDo you want the single-job (SJ) monitor [Y\/N] (Y)?\n<em><strong>Do you want the foreground\/background (FB) monitor [Y\/N] (Y)? N<\/strong><\/em>\nDo you want the extended memory (XM) monitor [Y\/N] (N)?\n<em><strong>Do you want timer support in the SJ monitor [Y\/N] (N)? Y<\/strong><\/em>\nDo you want device time-out support [Y\/N] (N)? \nDo you want an error message on system I\/O errors [Y\/N] (Y)? \nDo you want the optional 50 Hz clock support [Y\/N] (N)? \nDo you want to use the KW11-P clock as the system clock [Y\/N] (N)?\nDo you want the startup indirect file [Y\/N] (Y)? \nDo you want memory parity support [Y\/N] (N)? \nDo you want power failure messages [Y\/N] (Y)? \nDo you want BATCH support [Y\/N] (N)? \nDo you want escape sequence processing [Y\/N] (N)? \nDo you want error logging [Y\/N] (N)? \nWhat is the name of the system device [DD] (RK)? \nDo you want RJS03 or RJS04 disk support [Y\/N] (N)? \nDo you want RF11 fixed-head disk support [Y\/N] (N)? \nDo you want RP11\/RPR02 or RP11\/RP03 disk support [Y\/N] (N)? \nDo you want RX01\/RX11 flexible diskette support [Y\/N] (N)? \nDo you want RX02 diskette support [Y\/N] (N)?\nDo you want support for a second RX02 controller [Y\/N] (N)? \nDo you want RX02 double density support only [Y\/N] (N)? \nDo you want RL01 disk support [Y\/N] (N)? \nDo you want TC11 DECtape support [Y\/N] (N)? \nDo you want RK06\/RK07 disk support [Y\/N] (N)? \nDo you want magnetic tape support [Y\/N] (N)? \nDo you want TA11 cassette support [Y\/N] (N)? \nDo you want VT11 or VS60 graphics support [Y\/N] (N)? \n<em><strong>Do you want line printer support [Y\/N] (Y)? N<\/strong><\/em>\nDo you want PC11 high-speed paper tape reader\/punch support [Y\/N] (N)? \nDo you want PR11 high-speed paper tape reader support [Y\/N] (N)? \nDo you want card reader support [Y\/N] (N)? \nDo you want the null handler [Y\/N] (Y)? \n<em><strong>How many extra device slots do you want [D] (0)? 4<\/strong><\/em>\nDo you want to retain the system OBJ's [Y\/N] (N)? \n<em><strong>What is the PHYSICAL name and unit of the\n   source input device [DDU] (RK1)? RK0<\/strong><\/em>\nWhat is the PHYSICAL name and unit of the\n   binary output device [DDU] (RK0)? \nWhat is the PHYSICAL name and unit of the\n   map output device [DDU] (TT)? \nEND OF SYSGEN PROGRAM--Don't forget to copy DK:SYCND.MAC and\n        DK:SYSTBL.MAC to the source disk before executing the\n        command file(s). Remember that SWAP.SYS must\n        be on all bootable volumes.\n<\/pre>\n\n\n\n<p>Next up &#8211; and this is one of the tricks Jan Secker discovered &#8211; we&#8217;ll need to edit the SYCND.MAC file to set a flag named CONTN$N; doing this lets the MINC BASIC stay in control, and lets you use the HELP and EDIT and DIR commands. Since the RT-11 editor is &#8216;a bit&#8217; different from what we are used to nowadays, I&#8217;ll include the editing process in detail &#8211; the main thing though is that in all commands, where you see two $$ signs, you should actually type ESCAPE twice:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">.<strong>EDIT SYCND.MAC<\/strong>\n*<strong>R$$<\/strong>                type R followed by two times ESCAPE\n*<strong>\/L$$<\/strong>               type \/L followed by two times ESCAPE\n\n.SBTTL  SYSTEM CONDITIONAL FILE\n        ; SYCND.MAC--SYSTEM CONDITIONAL FILE\n        ;\n        ; COPYRIGHT (C)    1978\n        ;\n        ; DIGITAL EQUIPMENT CORPORATION,  MAYNARD,   MASS.\n\nSYSG$N  = 1             ;INDICATE SYSGENED MONITOR\nTIME$R  = 1             ;ADD TIMER SUPPORT (SJ)\nRDF$L   = 1             ;ADD SYSTEM I\/O ERROR MESSAGE (SJ)\nCLOCK   = 60.           ;POWER LINE FREQUENCY (SJ,FB,XM)\nSTAR$T  = 1             ;STARTUP COMMAND FILE (SJ,FB,XM)\nPWF$L   = 1             ;POWER FAIL (SJ,FB,XM)\nESC$P   = 0             ;NO ESCAPE SEQUENCES (SJ,FB,XM)\n$RKSYS  = 1             ;SYSTEM DEVICE\n*<strong>20A$$<\/strong>               type 20A followed by two times ESCAPE\n*<strong>ICONT$N  = 1<\/strong>        exactly this, with a dollar and a return at the end\n<strong>$$<\/strong>                   type two times ESCAPE\n*<strong>EX$$<\/strong>                type EX and two times ESCAPE\n<\/pre>\n\n\n\n<p>Next, type @sysbld, and go for a cup of coffee. Quickly &#8211; the build takes about twenty seconds on my slow laptop.<\/p>\n\n\n\n<p>Next up, copying the software from the floppy. And also a couple of drivers that we don&#8217;t have the source for &#8211; and it&#8217;s not entirely clear what all of these do either.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>INIT RK1:<\/strong>\n\nRK1:\/Init are you sure?<strong>Y<\/strong>\n\n<strong>COPY\/SYS DY0:*.SYS RK1:\nCOPY DY0:*.SAV RK1:\nCOPY DY0:*.HLP RK1:\n<\/strong>\n<strong>COPY TT: RK1:CONTNS.COM\nRUN Q4SZMX\nALL\n^Z<\/strong>                         (&lt;--- type control-Z)\n\n<strong>COPY TT: RK1: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>COPY DY0:*.BAS RK1:<\/strong><\/pre>\n\n\n\n<p>And the final step &#8211; copy the sysgenned system to the new disk. This is last, so that we&#8217;ll overwrite the old versions that came from the floppy with the previous commands.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>COPY\/SYS *.SYG RK1:*.SYS\nCOPY\/BOOT RK1:RKMNSJ.SYS RK1:<\/strong><\/pre>\n\n\n\n<p>Ok done! you can boot the image on simh to be sure it works, but without MINC devices or VT105 there&#8217;s not much that you can do with it. Burn it on a sd card and boot it on a MINC PDP2011!<\/p>\n\n\n\n<p>And of course I should mention copyright. Even though the disk images are freely found on the web, you are probably not allowed to do anything at all with the software. 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 (HELP command, DIR, EDIT, INS&#8230;), your disk will be destroyed. Not sure why, but it happens.<\/li><li>I&#8217;ve set up this description to 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><\/ul>\n\n\n\n<p>There are a few mysteries left though &#8211; the MUTIL and MNCINI executables on the floppy don&#8217;t seem to work, and it&#8217;s not really clear why. The MUTIL and VM driver are used to reload the BASIC system from memory instead of from floppy &#8211; we can do without that. And MNCINI seems to be used to set up start-up files &#8211; but we can make do with a manually edited CONTNS.COM.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Currently, there is only one known source of the special MINC BASIC: a set of RX02 diskette images on Bitsavers. However, PDP2011 does not have a RX controller. So we&#8217;ll have to convert the software on those RX02 images to disk images that will work with PDP2011. I&#8217;ve chosen for RK05 &#8211; mostly because those [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":542,"menu_order":400,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1186","page","type-page","status-publish","hentry","missing-thumbnail"],"_links":{"self":[{"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/pages\/1186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"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=1186"}],"version-history":[{"count":0,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/pages\/1186\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/pages\/542"}],"wp:attachment":[{"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/media?parent=1186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}