This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
rename [2015-09-10 18:05] – created victor | rename [2020-11-16 16:08] (current) – [Updating INQUIR via source code changes] victor | ||
---|---|---|---|
Line 9: | Line 9: | ||
- | SYSHST; | + | '' |
- | change name of address or add new entry | + | |
- | SYSTEM; | + | '' |
- | copy IFE MCOND MD,[ ... ] to IFE MCOND XY,[ ... ], make changes inside | + | |
- | SYSTEM; | + | '' |
- | copy MCONDX MD,{ ... } to MCONDX XY,{ ... }, no changes needed? | + | |
- | SYSNET; | + | '' |
- | maybe add a line over TCPOL | + | |
- | SYSEN2; | + | '' |
- | add to where NX appears (twice) - only needed on OTHER systems to reach THIS ONE! | + | |
- | SYSEN1; | + | '' |
+ | * 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 | ||
- | add to mchtab (don't forget to up mchcnt) | + | ===== Recompile: ===== |
- | add to bltspc, corresponding spec (copy from mdspec-mdspe) | + | |
- | add to devtab(?) | + | |
- | SYSEN1;DDT > (this is not mentioned in distrib.its) | ||
- | add to mchtab | + | TELSER |
- | add after RFLNSC | + | : |
- | maybe add to nodflt | + | :copy .temp.; |
+ | DDT | ||
+ | :midas .temp.; | ||
+ | ddt$j | ||
+ | $l .temp.;ddt bin | ||
+ | purify$g | ||
+ | :pdump sys;atsign ddt | ||
+ | PWORD/ | ||
+ | :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) !! | ||
- | L;*LISP > | + | ===== Dump new ITS for KLH10 ===== |
- | after UDIRSET, add your name | + | Dump .temp.;its bin as described in {{distrib.its.txt|distrib.its}} and restart with the new ITS. |
- | L;STRUCT > | + | |
- | search for MRA [ITS, | + | |
- | SYSEN1; | + | |
- | search | + | |
- | SYSENG;LUSER > | + | |
- | add a MACTAB entry, add to lists following | + | |
+ | ===== 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.) |