This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rename [2015-09-10 19:10] – 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 '' |
- | : (this is not mentioned in distrib.its) | + | * add to '' |
- | * add to mchtab | + | * add to '' |
- | * add after RFLNSC | + | '' |
- | * maybe add to nodflt | + | * add to '' |
- | + | * add after '' | |
- | ;'' | + | * maybe add to '' |
- | ;'' | + | '' |
- | ;'' | + | * after '' |
- | ;'' | + | '' |
+ | * search for '' | ||
+ | '' | ||
+ | * search for '' | ||
+ | '' | ||
+ | * add a MACTAB entry, add to lists following | ||
===== Recompile: ===== | ===== Recompile: ===== | ||
- | * | + | TELSER |
:midas .temp.; | :midas .temp.; | ||
- | :copy .temp.; | + | :copy .temp.; |
- | | + | DDT |
:midas .temp.; | :midas .temp.; | ||
ddt$j | ddt$j | ||
$l .temp.;ddt bin | $l .temp.;ddt bin | ||
purify$g | purify$g | ||
- | :pdump sys;atsign ddt </ | + | :pdump sys;atsign ddt |
- | | + | PWORD/PANDA |
:midas .temp.; | :midas .temp.; | ||
:copy .temp.; | :copy .temp.; | ||
- | :copy .temp.; | + | :copy .temp.; |
- | | + | Make links (if you haven' |
:link sys;atsign pword, | :link sys;atsign pword, | ||
:link sys;ts panda, | :link sys;ts panda, | ||
- | :link sys;atsign hactrn, | + | :link sys;atsign hactrn, |
- | | + | ITS |
- | :midas .temp.;_system;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.;_l;*lisp | ||
+ | ^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 | ||
+ | < | ||
+ | ===== 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 | ||
+ | |||
+ | | 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 | ||
+ | - 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.) |