Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History for libexec/mkos8
2018-12-06
| ||
23:51 | Deleted: Merge os8-v3f-extensions branch to trunk. This replaces the old mkos8 builder with a generic scripting facility, os8-run. It also puts some historical sources "os8-v3f" under source control to build an update from OS/8 v3d. The ultimate aim of the v3f work is to re-generate the lost OS/8 Combined Kit which includes device drivers from the "OS/8 Device Extensions Kit" as well as integration of pieces that were formerly add-ons. The "Combined Kit" work is now possible. check-in: [b7bc669fdc] user: poetnerd branch: trunk, size: 0 | |
2018-06-02
| ||
18:55 | Deleted: Tiny cleanup: Changed variable "MKOS8" to "OS8RUN". Removed mkos8 program because it has been subsumed by os8-run. Further cleanups of the simh.py and os8script.py libraries will not be backwards compatible with the use made by mkos8. check-in: [61529b46b6] user: poetnerd branch: os8-v3f-extensions, size: 0 | |
2018-04-01
| ||
03:58 | Fixed argument parsing in mkos8 that I broke when I was experimenting with and evolving the ideas of how to pass in new options. Now instead of -o --option, mkos8 responds to --enable and --disable To set open ended enablement and disablement options that are not defined elsewhere. file: [53c342bf1b] check-in: [025010d6f3] user: poetnerd branch: os8-v3f-extensions, size: 43816 | |
2018-03-10
| ||
06:04 | Recast the script command set to more closely align with how options were set in mkos8: Instead of "option" we have "enabled" and "not-disabled". Instead of "configure option" we have "enable". Instead of "unset_option" we have "disable". The command line "-o" and "--option" are now "--enable" and "--disable". os8-run makes a stab at using lib/mkos8/opt.py. I'm still not sure how this really should be done. file: [b8c176df8b] check-in: [a02f051f37] user: poetnerd branch: os8-v3f-extensions, size: 43399 | |
2018-03-08
| ||
04:42 | Since we want to turn off options, we need to guarantee that options appear in the options_set only once. This required flattening the options list that comes from argparse. How to do that? stackoverflow is your friend... file: [1a6eec49fe] check-in: [55dc609201] user: poetnerd branch: os8-v3f-extensions, size: 43383 | |
2018-03-07
| ||
04:26 | Configure command tested in the tc08.mkos8 script. New set_foo_config interface replaces old change_from_to interfaces in simh. os8script and testing in mkos8 use them. file: [25233b72de] check-in: [c14d2e72ee] user: poetnerd branch: os8-v3f-extensions, size: 43123 | |
03:50 | Successful run of mkos8 head -o tc08 and mkos8 head -o td12k with the code for OS/8 scripting pulled out of mkos8 and put into lib/os8script.py Also a style pass was run on the names of things. Additional os8script methods have been added: configure_command which is an interface to the simh change commands and which allows on-the-fly setting of options. unset_option_command that allows unsetting of an option. I want the configure command so I can get rid of the "simh" command. I don't want to allow full scripting of simh. But I might be wrong here. I want to ability to set options inside scripts because the tdrom config is a variation on td12k, and I can set a common sub-option for the common bits now. TODO: test mkos8 system with the new library. TODO: Change the "change_" interface because we are repeating the describe code. We should "set" options rather than "change from x to y". The change interface requires fetching status twice, first to figure out what to do, and second, when calling the do_routines, to recheck inputs. TODO: Rename some "do_" methods in simh.py not to have the "do_" file: [b7979958a0] check-in: [0d3e4cce6c] user: poetnerd branch: os8-v3f-extensions, size: 43113 | |
2018-03-06
| ||
06:09 | Beginnings of spinning out the script runner stuff into its own class: os8script which contains a simh and the global state like the options list for running the os8 scripts. SNAPSHOT! DO NOT USE! file: [4793481391] check-in: [3e7d1ab258] user: poetnerd branch: os8-v3f-extensions, size: 59064 | |
2018-03-03
| ||
23:33 | Added a describe_dev_config routine, and tried out cleaner approach to parsing _child.after. TODO: Update the existing code to use the cleaner approach. The testing routine tests everything now. file: [3e6b1e5447] check-in: [79b7a7bd9d] user: poetnerd branch: os8-v3f-extensions, size: 58791 | |
20:43 | Change between KSR and 7b implemented and tested. file: [6acc16bb87] check-in: [b6403b276e] user: poetnerd branch: os8-v3f-extensions, size: 58058 | |
19:59 | Change for rx01/rx02 is done. TODO: ksr/7bit change. Also: Ponder if this stuff is being too verbose. file: [0c18a0f31a] check-in: [0e4f9c3777] user: poetnerd branch: os8-v3f-extensions, size: 57938 | |
18:42 | do_tape_change is fully fleshed out. mkos8 testing is the driver to test it. TODO: Repeat for RX01/RX02 and ksr/7bit file: [90c75504f3] check-in: [692b0368ee] user: poetnerd branch: os8-v3f-extensions, size: 57930 | |
06:22 | Snapshot: Beginnings of routines to change configs in simh Swapping td/dt DECtape devices; rx01/rx02 devices; ksr/7bit console. Currently just inventories what's attached to dt/td devices. TODO: Finish the swapping code: Detach what's attached and send the config change. Then fill in the stubs for RX and console device work. file: [d1e3cea118] check-in: [d2167af791] user: poetnerd branch: os8-v3f-extensions, size: 57813 | |
04:27 | Cleaned up external use of simh_context. The housekeeping boiled down to three locations: 1. Initialize to simh. 2. back_to_cmd sets simh. 3. The clever part: in send_cmd, look to see if the command being executed enters the OS, and if so set context "os8". TODO: RE-test os8-cp and all legacy mkos8 commands to make sure I didn't break anything. Then remove the context commands. The rule now is: Returning to simh leaves you in the simh context until you issue a boot, continue, or go command. file: [47c290cabb] check-in: [7b0047d2cc] user: poetnerd branch: os8-v3f-extensions, size: 57626 | |
2018-03-02
| ||
05:22 | Ok, this is a bit gross. tc08.mkos8 now understands the td12k option, but it was a pain to get there. I had to create a simh command because we needed to disable dt and enable td. This also runs BUILD on os8v3d-patched.rk05 to switch from TC08 to TD8E drivers. It is very gross, but it does clean up after itself. (If it makes it all the way through.) This exploration has let me to believe that we might very well want to craft this as python code to, "Switch SIMH from DT to TD" and "Switch SIMH from RX01 to RX02". It is a mess of abstraction barrier violations to try and do it cleanly. So what we have now is a proof of concept. An icky one. file: [f727916e5d] check-in: [966fb1026b] user: poetnerd branch: os8-v3f-extensions, size: 58809 | |
02:53 | Yup I had broken absldr. (Forgot to delete legacy code.) Fixed now and tested. file: [e8850c3b7c] check-in: [5998f944de] user: poetnerd branch: os8-v3f-extensions, size: 57135 | |
2018-03-01
| ||
19:36 | Improved approach to option handling. No longer requires custom logic in every sub-command. Also consolidates parsing of comments into a common module. TODO: Test creating a TD12K system with TC08 turned off. TODO: Re-test v3f to make sure I didn't break the absldr sub-command. file: [34e6fc6ed3] check-in: [e67f63046a] user: poetnerd branch: os8-v3f-extensions, size: 57336 | |
06:30 | Taught mkos8 a new run command: Options. Now, before the mkos8 command arg, you can have options, for example "tc08". In the script file you enclose options in begin option foo end foo If the command line argument specifies -o foo, the lines are used. If not, they are ignored. Optional blocks can appear in commands with their own command processors, and can be nested. In this way a single command file can be used with variations on the same theme depending on which option is enabled. file: [4aa7cd5af0] check-in: [10848363e5] user: poetnerd branch: os8-v3f-extensions, size: 57086 | |
2018-02-26
| ||
04:28 | Added include functionality and split out the FOTP copy into a separate file so that it can be common to multiple system head creations scripts. file: [1a7a8e1425] check-in: [f6c639f923] user: poetnerd branch: os8-v3f-extensions, size: 53112 | |
04:19 | mkos8 head command now uses the tc08.mkos8 command instead of the in-line code. mkos8 system now uses the v3f-control.mkos8 file to redo the work of the v3f command. Added pal8 and absldr command parsing to script parser. TODO: add file inclusion to script parser. add patching to script parser. try out other system bulld scripts. file: [b8c63868c1] check-in: [aa81f5802a] user: poetnerd branch: os8-v3f-extensions, size: 52665 | |
2018-02-24
| ||
04:50 | Finally bit the bullet and added a _context to simh object so we now EXPLICITLY keep track of what command context we are in, and we can now explicitly know, "You have to do s.back_to_cmd so you're back in the simh context and can issue those commands." This is needed to get the rewritten mkos8 working. This version of the rewritten mkos8 uses tc08.mkos8 to successfully redo all the things that were in the "head" command to create a bootable tc08 DECtape. TODO: 1. Change head to do run_system on that file. 2. Add code to enable v3f-control.mkos8 to reproduce what the "v3f" command does. 3. Do the same thing with bin, patch, src. Open issue: How do we want to re-express all the optional build stuff? I think the cleanest way is to have os8-v3d-patched.mkos8.in file: [853b3532fa] check-in: [e0b7feccad] user: poetnerd branch: os8-v3f-extensions, size: 49145 | |
2018-02-23
| ||
06:17 | SNAPSHOT: Beginnings of yet another mkos8 rewrite. This one creates a "system" command that reads in a control file and parses it into call outs to OS/8 in simh. It is half done. When there is a complete first draft, then we go back and see what can be pruned. Still being considered: How much parsing and filtering should we do for lines being passed into OS/8? file: [4051e82923] check-in: [c3d90b5b86] user: poetnerd branch: os8-v3f-extensions, size: 47290 | |
2018-02-21
| ||
03:31 | Additional all-important comment: In SIMH, make sure you do, "set rx rx28" if you are going to use rx02 and "set rx rx8e" if you are going to use rx01. rx8e is currently the default. file: [5d5c8befc3] check-in: [77f7c141e7] user: poetnerd branch: os8-v3f-extensions, size: 39971 | |
03:16 | mkos8 v3f now builds the device drivers. mkos8 head now fleshes out the build with the all-important RX02 driver from v3f. The code has extensive comments on how we would build different configurations including 12K and ROM TD8E systems. TODO: Design an architecture for picking though these system creation options. file: [6f17c8dd6f] check-in: [a53265ed60] user: poetnerd branch: os8-v3f-extensions, size: 39775 | |
2018-02-20
| ||
03:28 | New command in mkos8 is live and working: head -- takes what we've built in "v3f" and creates a bootable DECtape image. Utilizes the OS/8 v3d device driver dectape image, and runs os8v3d-patched.rk05 as the bootable system. file: [2db036af76] check-in: [48f84ed990] user: poetnerd branch: os8-v3f-extensions, size: 36623 | |
02:04 | Fixed problem with squish. os8_squish puts in the colon for us, so when I called it with "RKB1:" it called SQUISH on "RKB1::" file: [95a452bb4b] check-in: [32c3b1e1ae] user: poetnerd branch: os8-v3f-extensions, size: 33058 | |
2018-02-19
| ||
17:47 | Re-creation of OS/8 Device Extensions work from a ground truth of sources discovered as "OS/8 V3F" Checking in the v3f baseline sources and an initial version of changes to mkos8 to perform the build and integrate. Ultimately, mkos8 will know how to build the sources and create a distribution DECtape based on them. file: [36e1c94ef4] check-in: [95f361a076] user: poetnerd branch: os8-v3f-extensions, size: 33060 | |
2017-11-27
| ||
16:51 | Extended the "skips" mechanism used in the "mkos8 patch" facility so that we can skip the FUTIL V7 patches when MACREL is being installed, since we know they will fail. Technically speaking, this change is not absolutely necessary since mkos8 was already smart enough to cope with the failure of the patch to apply, but we don't want end users complaining about "failed patches", not realizing that they are not expected to apply correctly when you do not give --disable-os8-macrel. file: [f9fc7aae6a] check-in: [faec308ed2] user: tangent branch: trunk, size: 29115 | |
09:16 | Rather than duplicate all of the option definitions and help texts between auto.def and lib/mkos8/argparser.py, we now generate lib/mkos8/opts.py from auto.def based on the options() values at the top of auto.def which mkos8's argument parser reads and uses to define most of its command line options, making a near-parallel of most of the configure script's --*-os8-*. This is on a branch because there are quite a few subtleties in all of this which means this feature needs more testing to be sure it is complete and doesn't break anything. So far, this change is a delta loss of 132 lines, a good sign that it's worth the complexity of doing things this way. Provisionally closes [f5d5cf50c4] and [68dae7cc88]. file: [342203fe19] check-in: [9dcaed3c64] user: tangent branch: mkos8-option-dry-fix, size: 28585 | |
05:18 | After much testing I provide this new integration of MACREL: v2. Additionally I have updated os-patching.md to reflect current reality, and spun two sections from that doc into their own docs that cover macrel and the OS/8 V3D Device Extensions kit. MACREL v2 contains an update version of FUTIL that matches MACREL. That drove hand-integration of FUTIL patch 32.13.1M to get it working again under batch. The test program, RESORC, from the OS/8 V3D Device Extensions kit runs just fine when installed on SYS: but not anywhere else. I wailed on this problem for a while but could not find root cause. That version if RESORC is NOT installed. I'm just trying to understand what it is about that epoch of building that behaves in that unexpected way. file: [4106753105] check-in: [c0e2d1ce56] user: poetnerd branch: trunk, size: 28639 | |
2017-11-16
| ||
17:38 | The "SAVE SYS BUILD" did the wrong thing. It carefully saved the updated setup on SYS which had been changed to the RK05, and then, moments later, overwrote it with the original from the DECTAPE. So we do "SAVE DTA0 BUILD" to put our revised setup where it will then be copied along with everything else to the RK05 SYS. file: [0f108bf01a] check-in: [40a3f17c58] user: poetnerd branch: trunk, size: 28334 | |
06:42 | All of the users of class simh which were using "expect" regexes like '\.' to wait for an OS/8 prompt had to be changed to '\\.' because the string is double-interpreted, first by Python in a string formatting construct (printf(), kinda) and then again in a regex construct, so that without the doubled backslash it was just looking for ., meaning any character in RE-speak. Did the same for '\*' because that was reducing to *, meaning "zero or more of the previous", and without a "previous", it matched anything. This doesn't seem to fix anything; I found it trying to fix something else, which I hope to check in soon. file: [7afae63fc9] check-in: [f8d7dc89bf] user: tangent branch: trunk, size: 28260 | |
2017-11-14
| ||
09:13 | Fixed a crash in one of mkos8's exception handlers. file: [72dc40a2f5] check-in: [b6acd6291c] user: tangent branch: trunk, size: 28227 | |
09:12 | "mkos8 patch" no longer tries to apply patches to FORTRAN II and FORTRAN IV files if the corresponding --disable-os8-fortran-* options were given to the configure script. file: [01426ac0bd] check-in: [f4d3cf118a] user: tangent branch: trunk, size: 28217 | |
08:36 | Rewrote the code in mkos8 emitting DEL foo.SV commands as part of --disable-fortran-ii processing so that only one command goes to the simulator, which runs faster and logs nicer. file: [83ef0e9ac6] check-in: [ff1e1c0545] user: tangent branch: trunk, size: 27802 | |
08:27 | Small Python style tweak file: [408d85d3ca] check-in: [0db3c5fc38] user: tangent branch: trunk, size: 27749 | |
08:13 | Giving --disable-os8-fortran-ii now leaves out LOADER, LIBSET, and SABR. Because the OS/8 version of CC8 depends on LOADER and SABR, it also implicitly sets --disable-os8-cc8. file: [93626d83c2] check-in: [648ea9921c] user: tangent branch: trunk, size: 27757 | |
03:49 | Moved another part of the "send file to OS/8" process from mkos8 to simh.os8_send_file(). file: [4395bdf9f5] check-in: [12dd946f7a] user: tangent branch: trunk, size: 27707 | |
00:17 | Factored the "send INIT.TX" step of mkos8 out as simh.os8_send_file() so we can reuse it in another script. file: [c234936d2a] check-in: [b14acea3cd] user: tangent branch: trunk, size: 27823 | |
2017-11-12
| ||
00:26 | mkos8 was reading init.tx from dirs.os8mi, which is in the source tree, not the build tree, so the recent change to test-mkos8 to write a neutral init.tx file was not doing anything useful. This removes the reason for this branch, so I'm closing it now. file: [afd9946622] check-in: [5111887856] user: tangent branch: test-mkos8-pinned, size: 27973 | |
2017-11-11
| ||
02:30 | The new "throw exception on GPIO failure" feature added to prevent teco-pi-demo from colliding with other simulator users broke mkos8 under the collision case. (Not otherwise.) It is now possible to tell class simh whether this condition is considered fatal or not. file: [e847a45b6a] check-in: [7e16fe3b23] user: tangent branch: trunk, size: 27578 | |
01:25 | Added "SET TTY COL 3" to mkos8 to give 3-column DIRECT listings, like the old os8.rk05 did. This checkin will cause a binary change to all RK05 bin disks created by mkos8; thus the new tag on checkin [fe441b85b]. file: [8808ee0595] check-in: [676330e2d9] user: tangent branch: trunk, size: 27805 | |
00:44 | Class simh now throws an exception when the GPIO is locked at simulator start time. If this happens, teco-pi-demo exits with an error and mkos8 just grouses a bit; the difference being, teco-pi-demo really needs the display and mkos8 really doesn't. Applying tag "test-mkos8-mark" to this release because a change a bit down the timeline breaks all of the test-mkos8 outputs so far, so we need to be able to return to this checkin symbolically until we're done using that test corpus. file: [ae1906428f] check-in: [fe441b85b4] user: tangent branch: trunk, size: 27697 | |
2017-11-01
| ||
03:04 | Added error diagnostics around making the rk05 copy to be patched. file: [ce704b66ae] check-in: [2f669b050f] user: poetnerd branch: trunk, size: 27464 | |
02:48 | Fixed an error in Python namespacing introduced in [b80f275e25] file: [9f3ed4cc53] check-in: [73fd0da382] user: tangent branch: trunk, size: 27276 | |
02:37 | Add error detection around the creation of the bootable OS/8 DECtape image. Sometimes the creation fails and blows something else out unexpectedly. file: [6e08a21619] check-in: [892c109447] user: poetnerd branch: trunk, size: 27269 | |
2017-10-31
| ||
04:22 | mkos8 contains in-line code to replace FORLIB.RL with the patched one on local.tu56. os8-patching.md documents this new state of affairs. file: [b80f275e25] check-in: [1fbbf7a508] user: poetnerd branch: trunk, size: 26886 | |
03:14 | Updated Fortran IV install: Move the tapes to the subsys directory. Tape #2 is not needed. It contains the source files for the FORLIB.RL run time library. TODO: Add in the source DECtape images to the repository. file: [962c8ffa30] check-in: [16d14955b5] user: poetnerd branch: trunk, size: 25872 | |
2017-10-28
| ||
21:52 | Uncommented the OS/8 SQUISH commands at the end of the make_patch function in mkos8. file: [d35926110c] check-in: [887632c998] user: tangent branch: trunk, size: 25981 | |
2017-10-27
| ||
08:41 | The bootable-*.tu56 copy of the OS/8 boot tape created by mkos8 to avoid modifying input media is now being created in dirs.os8mo instead of os8mi, since the latter is shared among the children of test-mkos8, which means that when one of them deletes their temporary copy of this file, the copy used by all of them gets deleted. The file, being volatile, must go into each child's build directory. file: [373c8cccf1] check-in: [0e8e159cf5] user: tangent branch: parallel-test-mkos8, size: 25985 | |
05:14 | Reworked the dirs.py module so that dirs.media now points to the "media" directory only, not to "media/os8". Then added dirs.os8mi and dirs.os8mo for the mkos8 input and output directories, respectively, and adjusted mkos8 and teco-pi-demo accordingly. file: [98391b0aac] check-in: [6e102afa3a] user: tangent branch: trunk, size: 25985 | |
2017-10-26
| ||
23:53 | mkos8 now writes *.rk05.save to bin, not to media/os8. file: [273e90012a] check-in: [d61163b731] user: tangent branch: trunk, size: 25975 | |
2017-10-23
| ||
01:05 | Put args.debug stuff back into mkos8, reverting part of [9663cf4b750]. Not sure why it was failing on Bill's machine, but it works here. file: [791e4598c2] check-in: [81f6f42e86] user: tangent branch: trunk, size: 25978 | |
2017-10-22
| ||
23:08 | Adding OVDRV patch for completeness. Updating patching.md with a few tweaks. mkos8: Make OS/8 command parse error a fatal error. Temporary change: The args.debug stuff didn't work for me. Kluding it out. file: [9b51f363ed] check-in: [9663cf4b75] user: poetnerd branch: trunk, size: 25980 | |
2017-10-20
| ||
16:23 | Removed an unused function from mkos8, and did some whitespace and comment tweaks. file: [c9598d3286] check-in: [4a64ffe7ce] user: tangent branch: trunk, size: 25979 | |
16:01 | Suppressed most of the ODT/FUTIL patch application debugging messages in mkos8 by default. Added a --debug flag to re-enable them. This is distinct from --verbose in that the latter swaps the SIMH logging from sending to a log file to sending to stdout, which in turn suppresses most other output from mkos8. We might want to rethink these two options, combining them somehow to avoid the new confusion. file: [77ac5cabd6] check-in: [66b56643e4] user: tangent branch: trunk, size: 26172 | |
03:58 | mkos8: Close patch files when done with them. (minor housekeeping oops) Rudimentary FUTIL support now supports the 4th PAL8 patch. Discovered the ABSLDR patch supplied is just wrong. It's for a version of ABSLDR we don't have and which exists on the OS/8 V3D Device Extensions kit, which is rare, and not yet visible in the archives I've scoured. TODO: 1. MACREL and LINK patches. 2. Decice what to do about the patches that require very different application: FORLIB 51-1-01M is a source patch that would require a batch script. Same with OVDRV 40.6.1M. LQP 21.49.1 runs BUILD in a batch script which is actually not possible unless you have the version of BUILD unique to the OS/8 V3D Device Extensions kit. file: [82db8471bb] check-in: [241d6b4a25] user: poetnerd branch: trunk, size: 25889 | |
2017-10-19
| ||
21:25 | 44 Patches, all but one verified against source. The one un-verified one is for FRTS.SV, which is recommended. I just cant figure out how to build FRTS from source to verify it. mkos8 successfully applies them all. patch_list.txt names all patches, comments out non-recommended ones and says why. file: [c22a989dc6] check-in: [1bec0d528f] user: poetnerd branch: trunk, size: 23660 | |
2017-10-15
| ||
23:46 | Refined patcher. Successfully applies about 40 of the 56 patches. TODO: Verify the successful patches at source code level. Get the rest of the patches to apply. file: [73aaeb6648] check-in: [7278e6aceb] user: poetnerd branch: trunk, size: 23696 | |
22:30 | Backed out [1e62781bcd0]: it added a guard for a condition that apparently cannot fail, so it's useless at best and may be masking the real problem now at worst. file: [0a9518468e] check-in: [f396fbb736] user: tangent branch: trunk, size: 23661 | |
17:22 | ODT Patches now check old value and abort the patch if the actual contents do not match the expected contents. There is detection of "dont care" old contents as well. Added ability to comment out lines in patch_list.txt manifest file. TODO: 1. Add in a bunch of patches and try them out. 2. Add in support for other patches than ODT. 3. Make patching conditional in auto.defs. file: [3adb8c57a3] check-in: [a5d1d41858] user: poetnerd branch: trunk, size: 23642 | |
15:02 | Got out-of-tree building again with mkos8. file: [c7668264e2] check-in: [a6c3123bff] user: tangent branch: trunk, size: 22975 | |
2017-10-14
| ||
06:38 | The line to remove a prior sullied bootable OS/8 TU56 tape image in make_bin() within mkos8 wasn't checking whether it exists first. Calling os.remove() on a file that doesn't exist throws an exception, killing the program. (Clearly we two haven't been running without this file always existing from a prior run for quite some time, or have been missing this failure!) file: [2390be64c7] check-in: [1e62781bcd] user: tangent branch: trunk, size: 22932 | |
03:14 | Basic patching with ODT works. First two Patches to EDIT.SV as requested in patches/patch_list.txt are applied correctly. TODO: Try more ODT patches. Implement support for "R EPIC" and "R FUTIL" file: [a82f9ed04a] check-in: [f382a12204] user: poetnerd branch: trunk, size: 22899 | |
2017-10-13
| ||
20:07 | Assorted cleanups to the new "mkos8 patch" feature file: [a7cf302114] check-in: [e8a468e8d6] user: tangent branch: trunk, size: 21442 | |
02:58 | Fix bug in handling of "all": The "all" action should not be one of the things acted upon. Now we have "allowed acts" and "do_all_acts" that just has src and bin. Begin work on the patch maker: A manifest file will list the patch files. For each patch file, parse it and act on it. Parsing the patch file is fun! Create a degenerate state machine to control what we do when we're in a command. ODT is currently parsed. TODO: Connect the parsed stuff to calls out into OS/8. file: [fc66eb1ba8] check-in: [1798cb2765] user: poetnerd branch: trunk, size: 21218 | |
2017-10-12
| ||
12:38 | Fixed a bug in mkos8 introduced by the "class simh" refactoring. file: [b69a3306ad] check-in: [cff76df975] user: tangent branch: trunk, size: 19382 | |
12:11 | Renamed sim.send() to simh.send_cmd() to be clearer about what it does and to bring it in line with send_os8_cmd(). file: [f2edbdf2ae] check-in: [97f4e96d90] user: tangent branch: trunk, size: 19378 | |
11:22 | Moved the dirs.py module out of lib/mkos8 into a new lib/pidp8i directory, since it really isn't mkos8 specific. (A later checkin will include another program that also uses it.) file: [35dc6cda6c] check-in: [d66f92ce95] user: tangent branch: trunk, size: 19241 | |
11:09 | Extracted class "simh" from mkos8 to collect all of the functions that call pexpect either to command SIMH or OS/8 *via* SIMH. Also threads that object instance through the mkos8 call chain instead of having everyone refer to a global, and cleans up the function naming to be a bit more self-consistent. file: [cfcf05d530] check-in: [2af351187f] user: tangent branch: trunk, size: 19220 | |
2017-10-10
| ||
02:29 | Small fix to --disable-os8-fortran-ii. (Was attempting to delete FORT.SV from DSK:, not SYS:.) file: [9049227594] check-in: [28c643da36] user: tangent branch: trunk, size: 23640 | |
02:24 | Calling SQUISH on SYS: and DSK: at the tail end of make_bin() in mkos8. file: [c001237876] check-in: [b5ea0bca7f] user: tangent branch: trunk, size: 23635 | |
02:24 | Added --disable-os8-fortran-ii configure option file: [3809d72593] check-in: [1370066ffe] user: tangent branch: trunk, size: 23338 | |
02:04 | Added --disable-os8-macrel configure option file: [6e66e83be3] check-in: [aaadf0d75c] user: tangent branch: trunk, size: 23239 | |
01:57 | Added --disable-os8-fortran-iv configure option file: [9c06157b54] check-in: [9b93db676b] user: tangent branch: trunk, size: 23142 | |
2017-10-09
| ||
22:49 | Forgot to install the adventure setup file, ADVENT.IN on advent.tu56. So it kept thinking it was uninitialized. With that file in place, the code to run the dialog is no longer needed. I commented it out of mkos8. TODO: Delete the dialog code. file: [d4d13a1598] check-in: [cb498b03ba] user: poetnerd branch: trunk, size: 23783 | |
03:19 | mkos8 now runs Adventure after installing it to answer the configuration questions it asks on first run, since we know the answers and the user is more likely to be fine with our answers than they are able to answer differently *and* correctly on their own. file: [3681fa2a34] check-in: [880632ab80] user: tangent branch: trunk, size: 23769 | |
02:33 | Improved the comment on the "SET SYS NO INIT" command sent during OS/8 BUILD in mkos8. file: [3c1c625cea] check-in: [d2c10add20] user: tangent branch: trunk, size: 23043 | |
2017-10-08
| ||
18:44 | Replaced the "Hello, world!" init message with one based loosely on the "FIELD SERVICE PDP-8 DIAGNOSTIC SYSTEM" message, but showing information more likely to be useful to our end users. file: [20ed0ce0e6] check-in: [e95de3f1a6] user: tangent branch: clean-os8-packs, size: 22651 | |
18:16 | Sketched in the initial implementation of the --enable-os8-init feature, which creates INIT.TX and INIT.CM on the OS/8 bin disk just before finishing up. If the option is set, it calls SET SYS INIT to make it run on boot, but it always does get created, so the user can turn it on later without rebuilding their bin disk. This version just says "HELLO, WORLD!" We'll be doing something more substantial next. file: [59dc5b0b6f] check-in: [3f8551641f] user: tangent branch: clean-os8-packs, size: 22591 | |
17:34 | Whitespace and comment tweaks file: [096d5db317] check-in: [f3dceaeb79] user: tangent branch: clean-os8-packs, size: 21040 | |
2017-10-05
| ||
20:32 | Added DCP Disassembler to packs. Does this by default. I sort of don't like how you have to touch 3 files in 3 places to add stuff to the packs. file: [3d6d3cea60] check-in: [a60baa0fb2] user: poetnerd branch: clean-os8-packs, size: 21039 | |
20:03 | Converted install of Case conversion, chess and vtedit to file-based subset copyin from local.tu56. This structure is what would be used for the DCP16/DCP24 disassembler copyin. file: [cc76168cb1] check-in: [7d045ed598] user: poetnerd branch: clean-os8-packs, size: 20783 | |
16:48 | Reworked the configure script --*focal* options and their corresponding mkos8 options so that FOCAL 69 is disabled by default and U/W FOCAL remains enabled by default. Also added documentation for all of this to the main README.md file. file: [808b9714f2] check-in: [942424a30f] user: tangent branch: clean-os8-packs, size: 21139 | |
05:04 | Fixed FOCAL installs. They were installing way too much and overran the limits of the system directory. Only 1 file is installed for U/W FOCAL: SYS:UWF16K.SV. Only a few files are installed for FOCAL69 all into RKB0: FOCAL.BN,4WORD.BN,4KVT.BN,8KVT.BN,8KNOVT.BN Personally I favor telling people just fetch these from the focal69.tu56 DECtape image. Also tested new UWF16K.SV, and it properly initializes PI. file: [58e47afae2] check-in: [6456a6e06d] user: poetnerd branch: clean-os8-packs, size: 21144 | |
2017-10-04
| ||
07:46 | Added --disable-os8-focal, --disable-os8-focal69 and --disable-os8-uwfocal configure script options and corresponding mkos8 options and their implementations. file: [d25990d24f] check-in: [be5885a806] user: tangent branch: clean-os8-packs, size: 20901 | |
07:41 | accidental checkin file: [0e42eb79e9] check-in: [69b3d8c9f2] user: tangent branch: bogus, size: 20838 | |
2017-10-02
| ||
00:26 | Diagnosed the "SIMH cont problem" in mkos8 and came up with a less traumatic way to re-enter OS/8 than rebooting the whole simulator without complicating the send/expect sequencing. file: [4689b5bf2a] check-in: [bd610a4a17] user: tangent branch: clean-os8-packs, size: 20486 | |
2017-10-01
| ||
23:49 | Adds file_copyin data structure. All existing copyins get a new element that points to the file_copyin array or to None. cc8 install is now done using this method. This prepares for other copyins that are per file. Added extensive documentation of how copyins work. file: [06ce1dfc7b] check-in: [c14aa1561a] user: poetnerd branch: clean-os8-packs, size: 19476 | |
22:50 | Added missing header comment file: [d67768966c] check-in: [ea77d77d6e] user: tangent branch: clean-os8-packs, size: 17045 | |
04:18 | Fix a typo that caused only LCSYS.BI and LCBAS.BI to be installed. Now UCSYS.BI and UCBAS.BI will be installed. TODO: Change how this works so we can create a file-based copy-in data structure. file: [3758d6d2b0] check-in: [5f22db82fd] user: poetnerd branch: clean-os8-packs, size: 16971 | |
2017-09-30
| ||
21:42 | Moved a bunch of the path handling from libexec/mkos8 into dirs.py. Along the way, made it possible to run mkos8 within the installation tree and have it update the installed RK05 images, not the ones in the development tree. file: [98e9333b93] check-in: [407cdb4014] user: tangent branch: clean-os8-packs, size: 16971 | |
18:49 | Renamed and modified libexec/mkos8.in → libexec/mkos8. Moved the @abs_top_srcdir@ and @builddir@ stuff out of libexec/mkos8.in into lib/mkos8/dirs.py.in, which exists only to hold those directory definitions. Then reworked the make dependencies so that simply regenerating the lib/mkos8/dirs.py file no longer causes a rebuild of the OS/8 media, since by far the most likely reason for this is that auto.def or some other *.in file changed. Also removed the simulator as a make dependency of the OS/8 RK05 media, since we just need it to *exist*, not to be older than the media. Instead, we check for it before rebuilding the media, and we only do that when one of the input files for building the media change, which explicitly does not include dirs.py. There's one missing step in all of this which can cause us to miss a needed rebuild, but that will be taken care of next. file: [96cf80e23f] check-in: [9b76afeacb] user: tangent branch: clean-os8-packs, size: 17125 | |