This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| rename [2015-09-10 19:07] – [Edit some files] victor | rename [2020-11-16 16:08] (current) – [Updating INQUIR via source code changes] victor | ||
|---|---|---|---|
| Line 9: | Line 9: | ||
| - | ;'' | + | '' |
| - | ;'' | + | * change name of address or add new entry |
| - | ;'' | + | '' |
| - | ;'' | + | * copy '' |
| - | ;'' | + | '' |
| - | ;'' | + | * copy '' |
| - | | + | '' |
| - | | + | * maybe add a line over TCPOL |
| - | * add to bltspc, corresponding spec (copy from mdspec-mdspe) | + | '' |
| - | * add to devtab(?) | + | * add to where NX appears (twice) - only needed on OTHER systems to reach THIS ONE! |
| + | '' | ||
| + | * add to '' | ||
| + | * add to '' | ||
| + | * add to '' | ||
| + | '' | ||
| + | * add to '' | ||
| + | * add after '' | ||
| + | * maybe add to '' | ||
| + | '' | ||
| + | * after '' | ||
| + | '' | ||
| + | * search for '' | ||
| + | '' | ||
| + | * search for '' | ||
| + | '' | ||
| + | * add a MACTAB entry, add to lists following | ||
| - | ;'' | + | ===== Recompile: ===== |
| - | | + | |
| - | * add to mchtab | + | |
| - | * add after RFLNSC | + | |
| - | * maybe add to nodflt | + | |
| - | ;'' | ||
| - | ;'' | ||
| - | ;'' | ||
| - | ;'' | ||
| + | TELSER | ||
| + | :midas .temp.; | ||
| + | :copy .temp.; | ||
| + | DDT | ||
| + | :midas .temp.; | ||
| + | ddt$j | ||
| + | $l .temp.;ddt bin | ||
| + | purify$g | ||
| + | :pdump sys;atsign ddt | ||
| + | PWORD/PANDA | ||
| + | :midas .temp.; | ||
| + | :copy .temp.; | ||
| + | :copy .temp.; | ||
| + | Make links (if you haven' | ||
| + | :link sys;atsign pword, | ||
| + | :link sys;ts panda, | ||
| + | :link sys;atsign hactrn, | ||
| + | ITS | ||
| + | :midas .temp.; | ||
| + | (type in your new system name IN UPPERCASE) !! | ||
| + | ===== Dump new ITS for KLH10 ===== | ||
| + | Dump .temp.;its bin as described in {{distrib.its.txt|distrib.its}} and restart with the new ITS. | ||
| + | |||
| + | ===== Purify ===== | ||
| + | Let programs repurify: run each of these once | ||
| + | < | ||
| + | :peek | ||
| + | :name | ||
| + | :probe | ||
| + | :meter | ||
| + | :prufd | ||
| + | :sysmsg | ||
| + | </ | ||
| + | and purify MIDAS: | ||
| + | < | ||
| + | midas$j | ||
| + | $l sysbin; | ||
| + | purify$g | ||
| + | </ | ||
| + | Patch DUMP so it knows where it's running (you could also just recompile SYSENG; | ||
| + | < | ||
| + | dump$j | ||
| + | $l sysbin;dump bin | ||
| + | setsc1+34// | ||
| + | :pdump sysbin;dump bin | ||
| + | </ | ||
| + | |||
| + | ===== Make LISP etc ===== | ||
| + | First make a new LISP. LISP knows its shared image is in '' | ||
| + | < | ||
| + | :midas .temp.; | ||
| + | ^C (midas guesses ITS anyway) | ||
| + | *lisp$j | ||
| + | $l .temp.; | ||
| + | $g | ||
| + | purify $g | ||
| + | :pdump sys;purqio > | ||
| + | </ | ||
| + | Now re-create some LISP-based programs: | ||
| + | ==== Create new COMPLR (lisp compiler) ==== | ||
| + | < | ||
| + | ===== Update INQUIR ===== | ||
| + | There are two approaches you can take. | ||
| + | |||
| + | - You can patch INQUIR (doesn' | ||
| + | - You can rebuild INQUIR from sources (requires some additional assets for which an ITS tape image exists) | ||
| + | |||
| + | ==== Updating INQUIR via source code changes ==== | ||
| + | In order to be able to build INQUIR from sources, you will need various dependent files that were not included in the public (PI) ITS distribution. These files include: | ||
| + | |||
| + | | reader 28 | (Kent Pitman (KMP) provided this source) | | ||
| + | | fake-s 28 | (found on the Internet) | | ||
| + | | lsrrtn 31 | (found on the Internet) | | ||
| + | | netrtn fasl | (found on the internet; FASL only; no source) | | ||
| + | |||
| + | You can find these files, in the collection of files found on the newinquire.tps tape image that can be downloaded here: http:// | ||
| + | |||
| + | < | ||
| + | fake-s.28 | ||
| + | fake-s.fasl | ||
| + | </ | ||
| + | |||
| + | The PI distribution should have contained INQUIR 181 and this tape adds the file INQUIR 182. The difference | ||
| + | between these two versions are: | ||
| + | |||
| + | - added definition for ES ITS machine (you will need to add your machine name here) | ||
| + | - changed reference to TURNIP; READER to INQUIR; READER | ||
| + | - changed reference to SPACY; FAKE-S to INQUIR; FAKE-S | ||
| + | - changed reference to SPACY; LSRRTN to INQUIR; LSRRTN | ||
| + | - changed reference to SPACY; NETRTN to INQUIR; NETRTN | ||
| + | |||
| + | In order to build INQUIR 182 from source, follow these steps: | ||
| + | |||
| + | * compile READER '': | ||
| + | * compile FAKE-S '': | ||
| + | * compile LSRRTN '': | ||
| + | |||
| + | Update INQUIR; INQUIR 182 to add your ITS machine name. Write out your changed INQUIR as INQUIR > | ||
| + | * compile INQUIR '': | ||
| + | * dump out a new INQUIR; INQBIN > '': | ||
| + | |||
| + | Verify that the link INQUIR; TS INQUIR points to the new INQUIR; INQBIN >. If it doesn' | ||
| + | |||
| + | Your INQUIR should now be updated with the new machine name. | ||
| + | |||
| + | ==== Patch INQUIR (if you didn't rebuild as above) ==== | ||
| + | The first patch (starting with " | ||
| + | < | ||
| + | inquir$j | ||
| + | $l inquir; | ||
| + | $g | ||
| + | .VALUE... | ||
| + | qai/ | ||
| + | udirse+7/ | ||
| + | :pdump inquir; | ||
| + | :delete inquir;ts inquir | ||
| + | :link inquir;ts inquir, | ||
| + | </ | ||
| + | I hope other lisp-based programs are as easy... | ||
| + | |||
| + | **IF you have users without homedirs**, update '' | ||
| + | ===== Notes after going through all this ===== | ||
| + | If you write new programs, **never** use hardcoded data if you can avoid it at all. Read a config file, or construct data on-the-fly. To find the names of local ITSes, read .GETSYS ITSNMS. You can find silly examples in *LISP, which uses a hardcoded list of machine names in order to convert from sixbit to atom. Why not use the SIXATM routine to create the atom on-the-fly? (There may possibly be reasons, such as other MIDAS code using QMX as the known address of 'MX. I'll see when I try it.) | ||