PiDP-8/I Software

Timeline
Log In

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

1300 check-ins using file examples/pep001-f4.ft version 563fbd105d

2024-04-21
23:14
Create new branch named "pi5" Leaf check-in: c877fedf8b user: poetnerd tags: pi5
2024-03-18
15:53
Broken URL fixes Leaf check-in: a555587cd1 user: tangent tags: trunk
15:16
Link made to work only under "fossil ui" now works under other hosting check-in: 024c80d686 user: tangent tags: trunk
2024-03-14
05:20
Removed the test for the pidp8i-test -v flag. It was added in 20170401 with the intent of printing the software configuration string and exiting, but it no longer works, if it ever did. check-in: 24803b41aa user: tangent tags: trunk
2024-02-08
21:09
Using the new Pikchr diamond primitive in the contribution guide's commit flowchart. check-in: d1b190b233 user: tangent tags: trunk
2023-04-30
16:28
Added notes on defects found in YAHTZE.BA. check-in: 416088d7ea user: poetnerd tags: trunk
2023-03-06
04:32
Add more debug output to os8-progtest Refine basic-games.yml because a race condition broke it on M2 Macs. I think this refinement will be definitive. Fingers crossed. check-in: c124f7a6e7 user: poetnerd tags: trunk
2022-12-24
18:53
Correct attribution of SIMH hack to Kyle Owen check-in: 6019a1e1a7 user: poetnerd tags: trunk
2022-10-15
09:43
Markdown formatting fix check-in: b56241f7d7 user: tangent tags: trunk
2022-10-13
03:03
Installing os8-cp after os8-run in "make install" check-in: 6beed7df47 user: tangent tags: trunk
2022-07-04
12:28
Grammar tweak check-in: 0ef5a18707 user: tangent tags: trunk
2022-01-08
02:55
Typo fix check-in: ef142cdc8e user: tangent tags: trunk
02:51
Updated SIMH to get Rick Murphy's FPP bug fix. check-in: b74012df75 user: tangent tags: trunk
2022-01-02
01:37
Small tweak to "clone" language in the contributing guide check-in: 96307b81e3 user: tangent tags: trunk
2021-12-20
17:21
Merged CONTRIBUTING.md changes in Leaf check-in: 6c073bdde3 user: tangent tags: cycle-realistic
17:21
Fixed an obvious bug in the new material added to src/pidp8i/main.c.in check-in: 8689b4ae5c user: tangent tags: cycle-realistic
17:20
Merged cycle-accurate branch tips together. check-in: f5d7f8b691 user: tangent tags: cycle-realistic
17:05
Typographic tweak check-in: ef267a71d2 user: tangent tags: trunk
17:04
Simplified the tail end of "Getting Started with Fossil" now that the 1.x versus 2.x crisis point is years in the past. check-in: 82951c6a5a user: tangent tags: trunk
16:58
Rewrote the list of starting points in the "Getting Started with Fossil" section of the contribution guide. check-in: 4a054cc15d user: tangent tags: trunk
2021-12-11
19:48
Here is the cycle-realistic version. For some reason, Fossil is not picking up some changes to pidp8i.h as well. This is needed in pidp8i.h: typedef enum { pft_stopped, /* the cpu is not running */ pft_running, /* the cpu is running */ pft_go, /* the cpu is (re-) starting from being stopped */ pft_exit /* exit(ing) SIMH */ } pidp8i_flow_t; check-in: 03fb9d8dc5 user: stevet tags: cycle-realistic
2021-12-04
21:20
First apparently working version of the cycle-realistic PiDP-8/I. This makes the Sing Step switch on the PiDP-8/I front panel behave the same as on a real -8 (subject to a minor risk that MA and MB may not be 100% correct in all major states). See the thread "New, experimental, (hopefully) cycle-realistic version of the PiDP-8/I" in the user group for more information about how to use it. check-in: 241d799d53 user: stevet tags: cycle-realistic
21:11
Create new branch named "cycle-realistic" check-in: 53974b1c29 user: stevet tags: cycle-realistic
2021-11-16
02:34
Calling udevadm from the "make install-system" target via a relative path since the upstream OSes keep moving it about. It's been found in /sbin, /bin and /usr/bin! check-in: 870c65f831 user: tangent tags: trunk
2021-11-09
01:16
First version of fixes. "Why are the ILS equations now not symmetrical excepting the scaling factor?" https://tangentsoft.com/pidp8i/tktview?name=135d14a0c2 "Extremely low throttle values cause blinky display" https://tangentsoft.com/pidp8i/tktview?name=b8d9865f31 Perhaps also "ILS brightness takes seconds to settle at low throttle values" https://tangentsoft.com/pidp8i/tktview?name=26cc6b3614 In the initial test version I deliberately exaggerated the rise and decay delays just so that people testing this are convinced this is really still doing a "lamp" simulation. Perhaps one should make those settings user configurable anyway. Still to do: fix some code indentation, check if there are comments that are no longer describing the current code, check if the timing of the switch management is still ok. Leaf check-in: 44e6476477 user: HBEggenstein tags: led-update-fixes
00:09
Begin branch to fix some LED update issues: -prevent excessive undersampling of the LED states especially with high (unthrottled) instructions-per-second rates -speed up the ILS thread by reducing the number of GPIO switching -fix a bug in the calculation of the target brightness when the number of sampled instructions is rel. low (say < 100) -improve double buffering of LED "display" : swap displays only when updates were made (helps with extremly aggressive throttling) check-in: febe31baea user: HBEggenstein tags: led-update-fixes
2021-11-08
23:33
Begin branch to fix some issues related to the LED panel display Leaf check-in: 556e1a6952 user: HBEggenstein tags: bogus, led-fixes
2021-10-31
22:41
in order to check whether a deposit is made to nonexistent memory, the memory size need to be passed now in the handle_flow_control_switches function. Now the code even compiles.. Leaf check-in: 01aa183fda user: HBEggenstein tags: fix-dep-exam-ignore-if
20:15
Begin branch with fix for bug : "Deposit and Exam limited to first 4096 words" check-in: ccf47d95d4 user: HBEggenstein tags: fix-dep-exam-ignore-if
2021-10-23
14:16
I2CB: build process, documentation improvements As this feature is still experimental and to allow the continuous integration to build the simh executable without th installed dependencies (libi2cd), the I2CB device logic is not included in the build by default for now, but configure offers the --i2c-bridge option to enable it, provided the libi2cd lib and header file can be found. Leaf check-in: 36a77478e0 user: HBEggenstein tags: i2c-bridge-device
2021-10-18
07:54
I2CB: reformatted source code, added some documentation, changed (C) remark as per Warren Young's feedback check-in: 3a58bc038e user: HBEggenstein tags: i2c-bridge-device
00:38
Restored a space present in an upstream SIMH file to prevent a pointless merge conflict. check-in: fab3f7655b user: tangent tags: i2c-bridge-device
00:25
Began a new ChangeLog entry with this branch's contribution as its first entry. check-in: bf5d1b8113 user: tangent tags: i2c-bridge-device
00:04
Removed the "PiDP add" and "PiDP end" comments. Those markers are only for injections into upstream files; this one's new. check-in: 151d16011d user: tangent tags: i2c-bridge-device
2021-10-17
21:42
I2CB device: first mostly functional version. check-in: 11736019ce user: HBEggenstein tags: i2c-bridge-device
2021-10-16
13:50
work in progress. minor tweaks but seems to compile and have basic device configuration working now, except attach/detach logic and flawed association between I2C addr and dev no check-in: 6b2c49bf4c user: HBEggenstein tags: i2c-bridge-device
00:41
Work in progress The association of dev no and I2C address per unit need more work check-in: d3432d4092 user: HBEggenstein tags: i2c-bridge-device
2021-10-13
23:07
Initial commit to start a branch exploring the idea of having a generic SIMH device that will forward IOT instructions for configurable PDP-8 devices so they can be implemented on external hardware, typically a microcontroller connected to the host via I2C. This could be used for rapid prototyping of either historical device emulation or emulating custom I/O logic. check-in: fbcfafaf43 user: HBEggenstein tags: i2c-bridge-device
2021-07-12
12:35
Merged trunk changes in check-in: a9eb4a4733 user: tangent tags: pi4-gpio-clean
2021-06-05
12:09
Dropped the ETOS matter from COPYING.md, and clarified the blanket licensing info for the rest of the DEC software. check-in: d80d302db1 user: tangent tags: trunk
2021-05-17
15:18
Changed the way "bosi prepare" handles sshd first start to use a Raspberry Pi specific mechanism that [https://groups.google.com/g/pidp-8/c/qCVLKZoJPkU/m/TLqY2IkaBAAJ | reportedly regenerates the shredded keys]. check-in: 02c35e52bf user: tangent tags: trunk
2021-04-23
19:51
Updated to the latest SIMH to fix a problem with TSS/8 booting. It seems they updated some of the device handling since the Feb 3 update we did just prior to the current stable release. check-in: f02ebe72df user: tangent tags: trunk
2021-04-05
01:18
Tweaks to the U/W FOCAL manual supplement's section on getting program text in, following with the wiki edit to the more generic "Getting Text In" doc. check-in: 19b97405ed user: tangent tags: trunk
2021-04-01
22:07
Added a patch to the build of U/W FOCAL. It puts code that clears EAE Mode B (and copes appropriately with other PDP-8 Family members that don't have EAE Mode B) into a block of initialization code reserved for "CLEAR ANNOYING FLAGS". This should resolve bug 025575a170. check-in: 9f44dd87b8 user: poetnerd tags: trunk
2021-02-15
08:49
Adjustments to the build advice in the readme to track the changes made to "bosi build". check-in: 218401a205 user: tangent tags: trunk
08:10
Added missing ;; in one of the case statements in bosi check-in: 247961207f user: tangent tags: trunk
07:59
Small tweaks to the release process doc. check-in: d28caab153 user: tangent tags: trunk
07:04
Merged yet more changes for v20210214 in Leaf check-in: 73038fadf8 user: tangent tags: release, v20210214
06:57
Reworked the logic in the new "bosi build nls" code so it copies any missing images from UV, rather than blindly copy all of them only when the first one is missing. This lets you re-run the script later, relying on it to fill in the gaps before starting on the expensive parts of the build. check-in: 5ec88693ac user: tangent tags: trunk
06:53
Fixed a misplaced curly brace in previous check-in: 59e778933e user: tangent tags: trunk
06:51
Added the "nls" parameter to "bosi build" so the single-core build can share the images synced as unversioned content up to the public server rather than need to rebuild them. This also clones the images down as part of the repo for the first time, so the user has a more complete clone of the repo. check-in: 3d933f656d user: tangent tags: trunk
06:34
Moved the Python 3 library stuff back up in bosi from "build" to "init" step again after the "sudo make install" step failed, since that may need to run one of the class simh or class os8script Python programs that depend on one of these as root. Using platform binary packages rather than pip3 user packages. check-in: 3a02a9163b user: tangent tags: trunk
03:50
Moved the pip3 install command down from "bosi init" into "bosi build" so it's run as the pidp8i user, not as root. It does us no good to have the Python libraries installed for use by root! check-in: e4a27760c4 user: tangent tags: trunk
03:31
Merged still more trunk tweaks in check-in: 280c662a13 user: tangent tags: release, v20210214
03:31
Moved the 8GB image size requirement up after reflecting on the prior change. check-in: 9cac6262d6 user: tangent tags: trunk
03:17
The "bosi shrink" process roached the SD card, and I can't be bothered to figure out why. It's a minor optimization, not worth spending the time on, given that you have to go out of your way to find something smaller than 8GB and end up paying about as much for it when you do find one. I'm therefore betting that almost no one is actually trying to use a 4GB card, the only thing smaller that could possibly work, since even with the shrink, the finished image wouldn't fit on a 2GB card. check-in: d79a842547 user: tangent tags: trunk
02:42
Swapped commands in "sudo time" constructs in bosi so we use the calling shell's builtin version instead of /usr/bin/time, since at least on macOS, the builtin's output is clearer. Tweaked the prior commands to ensure that we don't count the time taken while sudo is blocking waiting for a psssword input against the time taken by the elevated command. check-in: 1ef732c32c user: tangent tags: trunk
02:36
Merged more trunk tweaks in check-in: 50be8bd991 user: tangent tags: release, v20210214
02:36
Comment tweak check-in: 4a67ec5806 user: tangent tags: trunk
01:59
Documented need for prior commit's change in the release process doc. check-in: fba31778b0 user: tangent tags: trunk
01:58
Updated "stretch" to "buster" in tools/bosi check-in: f0461538d2 user: tangent tags: trunk
01:27
Had to reorder and update some of the steps in "bosi prepare" to make it work on the current Rasperry Pi OS version. check-in: aeac6fa347 user: tangent tags: trunk
00:58
More tweaks to the BOSI process. check-in: 356fc7e331 user: tangent tags: trunk
00:14
Merged trunk tweaks in check-in: d6d2943cec user: tangent tags: release, v20210214
00:02
Upped minimum SD card requirement from 2GB to 8GB after "bosi init" failed with an out-of-space message on the "apt upgrade" step, even after removing the biggest disk hogs we can most do without. The Foundation recommends 8GB, so we now do, too. check-in: 0136f1193f user: tangent tags: trunk
2021-02-14
23:10
URL fix check-in: be28caef24 user: tangent tags: trunk
22:51
Merged trunk changes for v20210214 into release branch check-in: 1fa1be1425 user: tangent tags: release, v20210214
22:39
Released v20210214 check-in: fad938bcb7 user: tangent tags: trunk
2021-02-11
06:13
Reworked the way the Python missing module detection stuff works so it generates the proper module names on Debian Buster. Dropped recommendation of easy_install (semi-obsolete) and rewrote the advice it emits to be a bit clearer. check-in: 76133aacd0 user: tangent tags: trunk
2021-02-09
02:18
Mentioned class-os8script doc. Took credit for some stuff. check-in: 3bd3ff0759 user: poetnerd tags: trunk
02:00
Update of ChangeLog to accurately report the fix to UCSYS.BI. check-in: 4e30777357 user: poetnerd tags: trunk
2021-02-08
23:43
"file link" doesn't exist in Jim Tcl, so the new symlink recreation stuff doesn't work when configured without "real" tclsh available. check-in: 1eb3e88ec3 user: tangent tags: trunk
23:29
tools/autosetup-update now removes the contents of autosetup/* before doing its work so we track upstream deletions properly. This results in a lot of files being deleted, but it looks like it's a result of files being merged, rather than removal of functionality. The configure script appears to run still... check-in: 2dbb85383b user: tangent tags: trunk
23:08
Fix for c23c91bdd. Futil was matching on the size of the file being edited. Now the regex that skips over the file has been refined. check-in: e96b7f3637 user: poetnerd tags: trunk
22:56
Year fix in ChangeLog: it's 2021 now, really! check-in: 77a8cc35a2 user: tangent tags: trunk
22:23
Merged SIMH updates down to trunk. check-in: 5dedd3ca5d user: tangent tags: trunk
22:07
Cherrypicked the last two changes on the bogus file-renaming branch down to trunk. check-in: 25d04173ec user: tangent tags: trunk
22:06
Redo of [e0af34dd55] atop fixed parent. check-in: a38bb07eca user: tangent tags: trunk
22:04
Retry commit [ccb4c54bb2], without the inadvertent reversion of the Advent filename case folding fixes. check-in: d02c0ede5a user: tangent tags: trunk
21:55
Removed the last remaining symlinks, being those for CC8's init.h and libc.h files, which CC8 always looks for in the CWD, yet which need to exist in 3 different places. Creating symlinks for the other two at configure time so we no longer need those making checkouts to "fossil set allow-symlnks 1" to avoid screwiness. Closed-Leaf check-in: 3fcbc85340 user: tangent tags: file-renaming
21:21
Added tools/simh-bisect.in to INFILES in Makefile.in so clean builds and such work properly. (Probably harmless, but no point letting that list drift from the corresponding on in auto.def.) check-in: 8197e6123d user: tangent tags: file-renaming
21:10
Renamed the old .agignore files to .ignore. (This is why we couldn't commit them to the repo at the same time as previous: does Fossil remove before rename, or vice versa?) check-in: e0af34dd55 user: tangent tags: file-renaming
21:09
Removed the .ignore symlnks. (Purposefully separate from next step, so there isn't a naming conflict.) check-in: ccb4c54bb2 user: tangent tags: file-renaming
20:53
Merged trunk in Leaf check-in: d022dae222 user: tangent tags: simh-update
20:53
Re-lowercased src/advent/* (excepting README.md) check-in: 5bab882cd4 user: tangent tags: simh-update
18:39
Updated the Fossil instructions in the contribution guide to track recent upstream changes. check-in: a15213d710 user: tangent tags: trunk
09:33
Merged trunk changes in check-in: 0748329823 user: tangent tags: simh-update
09:25
Several cleanups to the "make clean" target: removing bin/*.rk05 generically rather than a long list of explicit names, so we always remove everything we built; removed several redundant TU56 entries since we were already removing bin/*.tu56 for the same reason; and removed a few generated files from the repo so they don't show up as MISSING after a "make clean". If these latter aren't being regenerated properly after being removed, that's a reconfig issue, not a reason to check the last generated version in. check-in: 44ace29ebe user: tangent tags: trunk
06:32
Lowercased all the file names in pspec/advent.pspec to match their new case in the repo. Without this, the build only succeeds on systems with case-insensitive filesystems like macOS, and then only with the default FS options. check-in: c425495e2c user: tangent tags: trunk
06:01
The simh-update tool could put diffs for non-managed files into the patch, which would complicate patch application. This is especially problematic in bisecting, since it increases the "footprint" of the patch needlessly, increasing the risk of bad merges on switching versions in place. check-in: 7e2e92698e user: tangent tags: simh-update
05:26
Merged trunk changes in so I can run simh-bisect on the branch. check-in: 98b3c85a50 user: tangent tags: simh-update
04:27
New tool: simh-bisect, a companion to simh-update for bisecting upstream SIMH changes against our local PiDP-8/I patches. check-in: 0a19e8889c user: tangent tags: trunk
03:57
New SIMH had extra whitespace in attach output. One place in os8script was not robust about that. Fixed now. check-in: 40717103a9 user: poetnerd tags: simh-update
03:28
Sync advent sources from new upstream at poetnerd.com: Source names are in lower case. There are a couple typos fixed: advent.dc and getwrd.ra. There is a runad.bi script, but it appears incompatible with the version of BATCH we have. There is also a clear.bi script, but it's also probably out of sync with reality. check-in: 1d9cb9aa3e user: poetnerd tags: trunk
00:51
Updated Autosetup to 0.7.0+ check-in: 5d15b9ec74 user: tangent tags: simh-update
00:43
Updated ChangeLog for the imminent release check-in: 600a9459a8 user: tangent tags: simh-update
00:43
New release policy: point at the release branch for released version file and directory links, using trunk only for the prerelease version notes. check-in: c5b5ced48b user: tangent tags: simh-update
00:41
Updated SIMH to GH commit 2f66e74c506420959d2591ffd1700a9b58d59f28. EDIT: Moved to the simh-update branch since it breaks clean builds. (Worked fine prior to commit due to preexisting RK05 and TU56 media that didn't get rebuilt as part of testing.) check-in: e3aba3706e user: tangent tags: simh-update
2021-02-07
23:54
MIME type fix for previous check-in: efb452f916 user: tangent tags: trunk
23:53
URL fix in previous check-in: b39d87f092 user: tangent tags: trunk
23:49
Markdown improvements to the Adventure dir's readme check-in: ffe6313b33 user: tangent tags: trunk
23:10
Fixed a problem with LOAD_ADD + EXAM interactions due to use of IR instead of MB register in the tail end of the PDP-8 CPU instruction decoding loop. We use IR instead high up in the loop for an early display update, but that's because MB isn't settled yet. Without this, you can get bogus MB displays, per bug [7ae7a73744c9c0], which this closes. check-in: 709bc3a7f6 user: tangent tags: trunk
2021-02-04
18:56
Fixed a Markdown rendering problem. (Unwanted line break in literal text.) check-in: b91714a2ed user: tangent tags: trunk
2021-02-02
02:34
Fixed build of basic-games.tu56. Wasn't supposed to install the README.md file. The blow-out was benign on Mac build, but kicked out other files on the Pi build. It should have been fixed like this long ago. TODO: Figure out why the state machine in os8-cp couldn't recover as easily in the pi build. check-in: bfbf64133a user: poetnerd tags: trunk
2020-12-16
19:52
Moved a link for better locality. check-in: daf8e4403c user: tangent tags: trunk
19:35
Added "Simplifying Boot and Login" section to the top-level README.md file. check-in: f7c4a027ba user: tangent tags: trunk
19:28
Added named anchors to several more sections in README.md, and moved them to the end of the header so they a) don't harm readability in text form as much; and b) link you to the actual header line, not to a prior empty paragraph. check-in: fee8b21e16 user: tangent tags: trunk
19:15
Moved the sshd config instructions into doc/OS-images.md, since README.md primarily covers the build-from-source option, where the step isn't actually necessary. Since we've given out links to this section of README.md multiple times on the mailing list, kept a forwarding link to it in case someone follows one of those links. check-in: 5bc5a272b9 user: tangent tags: trunk
19:03
Tightened up the top-level README.md file some more. check-in: 4befb5ef3c user: tangent tags: trunk
2020-12-14
16:59
Assorted updates to the top-level README.md, mainly to track changes since the last release. check-in: c21b97be5f user: tangent tags: trunk
2020-12-09
06:17
Fixed the message prompting for the installation of pyyaml on configure. check-in: 76d2c7abee user: tangent tags: trunk
06:12
Added libbcm_host stuff for Deeper Thought check-in: b9eb3c36f2 user: tangent tags: trunk
03:57
os8script class document is complete. The demo program is moved to its permanent location. check-in: 77a525a884 user: poetnerd tags: trunk
02:49
Changed os8script.check_and_run to have an optional replies arg. Fleshed out and commented the demo program. Cleaned up document. TODO: 1. move the demo to its permanent home. 2. Write the documentation to point to it. 3. The proofreading, grammar, etc. check-in: 25dc789408 user: poetnerd tags: trunk
2020-12-08
05:24
Created a demo program for the os8script class. Along the way I realized that the housekeeping was needlessly complex, and should be added to the os8script class. By way of a test I moved cleanup code from os8-progtest to os8script. The class document has moved forward but is still not ready. The example needs to be cleaned up, and the appropriate smoothings of best practices need to be documented: 1. The recommended os8.check_and_run method assumes you're running the command decoder, and needs to be taught about the arrays of responses. Otherwise: 2. The use of the response arrays requires calling os8.simh.os8_cmd to run commands. The use of send_string, send_command, and os8_cmd is not orthogonal, and isn't using the respnse arrays where it could. check-in: 23d51abbd5 user: poetnerd tags: trunk
2020-12-07
03:03
Snapshot. Almost, but not quite done. TODO: 1. Finish the narrative on how to write a complete program. 2. Confirm all the links work. 3. Completeness, style, and grammar check. check-in: 0a1d0ed404 user: poetnerd tags: trunk
2020-12-06
17:11
Added mention of ocomp. Added links to README files. Under OCK, now link to the os8-combined-kit.md doc. check-in: 3af5c9428d user: poetnerd tags: trunk
2020-12-05
22:43
Moved the testing theory and methods from doc/RELEASE-PROCESS.md to a new file, doc/testing.md. check-in: 5bcfb770a0 user: tangent tags: trunk
22:31
"make test" now depends on "all" check-in: 4b8d41ed9e user: tangent tags: trunk
21:16
Update Changelog.md with packaging and testing status updates. check-in: 0ef418b9ce user: poetnerd tags: trunk
20:22
Documented testing regime, including the layers of the system, the existence proof of working lower layers, and the use of os8-progtest and make test. check-in: 116f6dba66 user: poetnerd tags: trunk
19:50
Add documentation of the --exitfirst option and the work-around for long output. check-in: 0c003f5ef9 user: poetnerd tags: trunk
19:15
I found a way to kick the basic games tests when they stall: Send a newline, and then cope with extra newlines in output. check-in: d2feb4a20c user: poetnerd tags: trunk
04:23
Added 'make test'. auto.def looks for tests for the packages it builds. Makefile runs them. Along the way I learned that tests with lots of output like basic-games:snoopy and basic-games:bunny sometimes randomly hang up. It looks like pexpect is returning a partial read on the output. I've experimented with the maxread argument to pexpect spawn, and with pausing for a second between tests. But the tests are still flaky. For this snapshot I've got them commented out of basic-games.yml while I ponder reponses. Also fixed a mistake I made in -x option: I wasn't calling clean_quit to exit and so I was leaving temp files. check-in: f212194966 user: poetnerd tags: trunk
03:02
Add --exitfirst, -x to exit with -1 status on FIRST failure. This will be useful when we want to run all tests but blow out if one fails. Let's blow out on the first failure. check-in: a8991d9a8a user: poetnerd tags: trunk
02:40
os8-run manages context. We do not need resume. It was commented out of dist-rk05.os8. Deleted now. It is now deleted from src-rk05.os8. This may rid us of a race condition where we're doing resume but don't need to. check-in: e92c4bb634 user: poetnerd tags: trunk
2020-12-04
05:20
Added a test harness for basic-games. It runs HELLO.BA, SNOOPY.BA, and BUNNY.BA. More tests can be added. check-in: f15facae14 user: poetnerd tags: trunk
2020-11-24
05:30
Snapshot. Starting to organize into a logical sequence of presentation. TODO: 1. Work through more API calls. 2. Decide how to present the match tables. check-in: f1dd4ef410 user: poetnerd tags: trunk
2020-11-20
05:03
Another snapshot of class-os8script.md Still brainstorming content. check-in: bcefc61e95 user: poetnerd tags: trunk
2020-11-19
21:32
Snapshot of class-os8script.md In course of documenting, figured out a one character change to the initialization that elimintates nade for fakeout_script. So I did it. check-in: 20b6b2476b user: poetnerd tags: trunk
2020-11-18
22:13
Found another rename needed to follow convention. dcp writeup. check-in: 4654cb8a4a user: poetnerd tags: trunk
22:12
I spazzed and didn't follow the naming convention. Remaned new os8script class doc to contain a dash instead of an underscore. check-in: dc2c5dc5c3 user: poetnerd tags: trunk
2020-11-17
01:29
A few Markdown fixes in the new os8-progtest doc check-in: f0513f19c8 user: tangent tags: trunk
01:11
Added whitespace to the ADVENT test, since we're using it as an example. check-in: ef57a63a2f user: tangent tags: trunk
01:11
Edit pass on the os8-progtest doc. check-in: 7528959167 user: tangent tags: trunk
2020-11-16
05:28
Fixed apt package name for pyyaml in GH-CI. check-in: fc48b818df user: tangent tags: trunk
05:25
Forgot the license info in os8-progtest.md. Fixed now. check-in: 09ac12b129 user: poetnerd tags: trunk
05:01
I must have gotten confused with the merge of trunk. I thought I moved the tests to scripts/os8-progtest/. Now they're moved for real. Next step in production: shift os8-progtest to os8-progtest.in so we parameterize the Python version. check-in: b5df9631af user: poetnerd tags: trunk
04:51
Further cleanup to make os8-progtest ready for production use: 1. Change failure to print failure and continue on to other tests. 2. Correct comments about escape characters. 3. Move the test .yml files from tools/testing to scripts/os8-progtest. 4. Add a --srcdir option, and properly expand the path for finding the test files. 5. Document usage of the program and creation of the state machine files in doc/os8-progtest.md check-in: 11b7f30c67 user: poetnerd tags: trunk
00:00
Added pyyaml prereq to the GitHub CI workflow check-in: bf53ce3e08 user: tangent tags: trunk
2020-11-15
23:51
Converted the tests for Python modules in auto.def to a loop over the module names, then added pyyaml to that list. check-in: 41c08ee670 user: tangent tags: trunk
17:48
Added ability to process multiple tests on command. Removed superfluous "program" item in test files. Added test of fib to cc8. check-in: 7d40ec51ed user: poetnerd tags: trunk
16:53
Added a "config" parameter, and if config contains "slow" then wait .05 seconds between sending each character. This enables interaction with uwfocal without overrunning keyboard buffer. This structure can be expanded... check-in: ed4d5840ec user: poetnerd tags: trunk
03:20
Converted os8-progtest to use files. Bit the bullet and used YAML. YAML is now a prereq. (I have not yet added the prereq code to auto.def.) check-in: b37034d41d user: poetnerd tags: trunk
2020-11-14
04:55
Eliminate redundant line of verbose output. check-in: 4ebe4ee822 user: poetnerd tags: trunk
04:41
Added testing for chekmo. Improved output on test failure. Further cleanup on exit. check-in: c5184fcbbc user: poetnerd tags: trunk
04:21
Add comments to give clues to proper reply strings. check-in: 14ed9296d3 user: poetnerd tags: trunk
04:12
Needed to remove the temp file created for the boot device. check-in: a090dfb35b user: poetnerd tags: trunk
2020-11-13
23:08
Program test harness. Will validate advent, cc8, and uwfocal. Note: uwfocal is fragile. It EASILY gets its input buffer overrun. check-in: cd63546a8a user: poetnerd tags: trunk
18:42
Fixed a missing backtick and a typo. Should fix the rendering of the last couple pages of this doc. check-in: e11923f83d user: poetnerd tags: trunk
06:17
Early snapshot. Beginnings of a document of the os8script.py API. Probably begin with a paste-in of the comments from the code. Currently consists of a reminder how I open coded the OCOMP command state machine. check-in: 452f1a6dba user: poetnerd tags: trunk
05:50
Since we can print the File not found error, we should be able to print the user error output similarly. check-in: 1472e398b9 user: poetnerd tags: trunk
05:38
code cleanup: Pulled common test and run code from ocomp, pal8 and os8 commands into a single method. This also fixes that pal8 and ocomp tested for simh context too late to be useful Eliminated redundant testing of results. Taught ocomp how to report WHICH file is not found (using code from pal8_command I'd forgotton I had.) Note that there STILL seems to be a race condition in the os8 command with regards to ^C out of some commands. I tried to chase it down but have not yet found it. check-in: aeb9b2026e user: poetnerd tags: trunk
03:17
Small change: Make the replies a dictionary parameterized by command name so that we can be more table driven. check-in: 66a76695bb user: poetnerd tags: trunk
2020-11-12
00:40
Converted the inventory to an HTML table without all the cross-page links to other content. I copied this version into the Wiki. TODO: Pick ONE of these either the Wiki or the README.md as canon. check-in: dea2133077 user: poetnerd tags: trunk
2020-11-11
09:58
Actual fix for previous: I misunderstood what the grandparent commit was trying to accomplish. check-in: 4280bbc50d user: tangent tags: trunk
09:53
Fixed a backslash problem in the Markdown for the ASCII table in uwfocal-manual.md. check-in: 70127af4ad user: tangent tags: trunk
01:49
Attempt to compensate for problem in Appendix I on the backtick. The <code></code> blocks screw up the table. Let's delete them for now. check-in: 68f6e49bd2 user: poetnerd tags: trunk
01:31
Improved os8pkg verify command. Uses new `ocomp` os8-run command. Documentation is updated for both tools. Test script for the ocomp command. Fixed a bug I introduced when I changed the os8script API: Need to pass in the script_path for error reporting. Oops. check-in: 5910fa4e4c user: poetnerd tags: trunk
2020-11-10
04:16
Snapshot: Initial crude verify command. Runs OCOMP on the outputs and prints results. TODO: Teach os8pkg and os8script how to interpret the "NO OUTPUT" result as "success" and "File not found" as failure so the user doesn't have to make interpretation. check-in: 50d0971000 user: poetnerd tags: trunk
04:13
API change: Allow us to run a script on an in-memory file created with Python io library. check-in: 5eba589cde user: poetnerd tags: trunk
02:55
Keep the creator for ocomp.tu56 as a test script. check-in: f954eba078 user: poetnerd tags: trunk
2020-11-09
21:39
Integrate the OCOMP Octal Compare and Dump tool into the DIST packs so that os8pkg can use it for verification. check-in: 543326f0a9 user: poetnerd tags: trunk
2020-11-06
04:52
cc8 package needed updating to include the new ctbl.tx driver table. This fixes [ac71d98abf1c]. check-in: fb220f4ad2 user: poetnerd tags: trunk
2020-11-05
04:00
I see that I broke install when I re-arranged the code. Fixed now. check-in: d1a1219a0f user: poetnerd tags: trunk
2020-11-04
21:03
With re-arrangement of basic and basic-games packages, v3d-patched no longer has HELLO.BA. But we don't need it in a default basic. check-in: 7005ea8350 user: poetnerd tags: trunk
19:23
More "hacker" reference replacement check-in: 2319bd5fae user: tangent tags: trunk
19:21
Replaced embedded doc references to HACKERS.md with CONTRIBUTING.md, so clicks don't have to go through the HTTP redirect. check-in: 64c9b68d74 user: tangent tags: trunk
18:31
Caught mis-conditional of LCBAS on "ba" not "basic". check-in: 5e6bcb2689 user: poetnerd tags: trunk
2020-11-03
22:23
Redesign of how packages are managed. New tool os8pkg with a different approach allowing command-line based install and uninstall of packages in a way compatable with the previous config setups. check-in: d96fac26dc user: poetnerd tags: trunk
22:14
And I forgot to save the document with the updated location. Leaf check-in: 60e7962e68 user: poetnerd tags: os8pkg
22:08
Move pspec files from a scripts subdir to a top level dir, "pspec". check-in: b4799fbe0d user: poetnerd tags: os8pkg
21:43
We don't install 600 blocks of KERMIT.PA source on our boot packs. check-in: 167527cdaa user: poetnerd tags: os8pkg
21:24
Added conflicts command that identifies output files seen in multiple packages. check-in: bbf49da0ed user: poetnerd tags: os8pkg
20:56
Backported the merger of the PiDP-8/I and MySQL++ "Submitting Patches" and GitHub mirroring sections of CONTRIBUTING.md to minimize differences. check-in: 396bbd5213 user: tangent tags: trunk
19:56
Renamed HACKERS.md to CONTRIBUTING.md to placate GitHub, and added the new Fossil 2.14 "fossil clone URI" method. check-in: 2cdd8800d6 user: tangent tags: trunk
14:03
Amend all command to not run include. Move build so that it will follow deps and precent install when all command is run. check-in: 132c4aa095 user: poetnerd tags: os8pkg
04:53
A bit of cleanup to the internal structure of main: Startup of os8script runner is make into a subroutine that's called once when needed. A new command, "build" has been added that runs either the build: section, or performs os8-run on the default builder script. check-in: 6938c19e1f user: poetnerd tags: os8pkg
03:19
Get rid of a superfluous line of code that was distracting me. It should have been deleted some time ago. check-in: be9572ec4c user: poetnerd tags: os8pkg
2020-11-02
22:39
Removed uwfocal-4e-[12].tu56 binary blobs. Switched to managing uwfocal in src/uwfocal, controlled by scripts/pspec/uwfocal.papec. We build UWF16K.BN and UWF16K.SV. We copy more documentation in now. There is other stuff we could build. But that is for another day. check-in: a421a7ee91 user: poetnerd tags: os8pkg
00:21
Binary blob, local.tu56, and all its usage, and mention in docs has been removed because everything that was in it has been spun out to source-tree based implementations. check-in: 82a7a25b1c user: poetnerd tags: os8pkg
2020-11-01
23:24
Move the patched FORLIB.RL binary out of media/os8/local.tu56 to the source tree. TODO: Pull in all the sources and create a forlib-51.10M-tu56.os8 script that builds it from source. check-in: 4d4aa628a0 user: poetnerd tags: os8pkg
20:13
Switch DCP from binary blob in local.tu56 to the source tree managed by os8pkg. Found a bug in Makefile.in: New packages were not generating a new scripts/os8pkg/pkgs.os8 file. check-in: ced69ff18e user: poetnerd tags: os8pkg
19:07
Forgot to delete the music binary blob. check-in: 41a9d4b2c8 user: poetnerd tags: os8pkg
18:38
Converted Music to use os8pkg. We actually build MUSIC.SV now. Not useful for the pidp-8/i just yet, but who knows... check-in: 769f9baff2 user: poetnerd tags: os8pkg
17:53
Forgot to ADD the focal69-tu56.os8 script. check-in: f35da76cbe user: poetnerd tags: os8pkg
17:51
Reorganized calls to umount in v3d/dist-rk05.os8. This unearthed a bug: following a umount command with a cpto or cpfrom command would pause and then timeout. Root cause: os8_pip_to and os8_pip_from were unconditionally calling esc_to_simh, and then calling simh_cmd that would check context and call it only if necessary. Fixed. Also corrected comment naming os8_pip_from ans os8_pip_to, and added some more pass-in of debug status. Removed install of music into dist in preparation for conversion to pspec. Added test/cpto.os8 as test case for this bug fix. check-in: 11fc9182d0 user: poetnerd tags: os8pkg
02:31
Credit upstream for focal69. Rename source files to accurately follow upstream. check-in: 2fe0f9d65f user: poetnerd tags: os8pkg
01:37
Converted focal69 from binary blob focal69.tu56 to build from source managed by os8pkg. TODO: Recover the source to the 4WORD overlay using the same techniques that were used by me in 2017 to recover the source of the 8K overlay. check-in: eb765f95d4 user: poetnerd tags: os8pkg
01:24
The uninstall command quit working because of a misplaced indent. Fixed. Added some addtional output in verbose and debug modes. check-in: 06326e5076 user: poetnerd tags: os8pkg
2020-10-31
22:29
The os8pkg script command is no longer supported. The code implenting tt should have been deleted when I checked in the version with the updated install and include methods. I've now removed the script command code. check-in: d1e39692e1 user: poetnerd tags: os8pkg
21:28
Move LC/UC batch scripts for v3d to source tree instead of local.tu56. Along the way discovered that UCSYS.BI for v3f/ock somehow was being used. Fixed now. check-in: 78df097f1c user: poetnerd tags: os8pkg
20:18
Added bin/os8pkg to clean-glob check-in: 801417feab user: tangent tags: os8pkg
20:17
Merged fossil settings adjustments in from trunk check-in: f8e38aabcd user: tangent tags: os8pkg
20:17
Added more delete-able things to clean-glob check-in: 07baed71a6 user: tangent tags: trunk
19:53
Added a clean-glob setting, listing the files we know can be unconditionally deleted on "fossil clean" without saving them to the undo buffer. Also tweaked the ignore-glob setting to cooperate. check-in: b7b60dae32 user: tangent tags: trunk
19:17
Cleaned a few things up in the "build all packages" bit of [fe948b87e0f940fc]. check-in: 58638a8250 user: tangent tags: os8pkg
18:58
Moved vtedit from stuff media/os8/local.tu56 to a build from source package. We don't install the package. This check-in fixes the build system so that we actually build packages that are not used. bin/os8pkg install vtedit has been successfuly run. check-in: fe948b87e0 user: poetnerd tags: os8pkg
18:56
Simplified some overcomplicated logic in auto.def for calling "os8pkg deps". check-in: 09ec30af96 user: tangent tags: os8pkg
18:52
Implemented the "os8pkg all" command, previously documented. check-in: 79a3091518 user: tangent tags: os8pkg
18:36
Fixed a hard tab in auto.def check-in: 124d4ffaa9 user: tangent tags: os8pkg
18:22
Fixed a problem in previous that prevents most of the commands from running. check-in: 4f048240b4 user: tangent tags: os8pkg
18:10
Added the "format" os8pkg command, which displays the "format:" value from the pspec file. We're going to need it shortly. check-in: d914005d00 user: tangent tags: os8pkg
17:29
Merged trunk changes in check-in: ce293eb061 user: tangent tags: os8pkg
17:28
The bin/cc8, d8tape, and palbart executable build rules weren't using the *_CFLAGS variables defined up at the top of Makefile.in. check-in: a4061519fd user: tangent tags: trunk
15:06
There isn't room on the chekmo.tu56 image for a listing file so don't bother creating it or trying to store it. check-in: e20d036ee2 user: poetnerd tags: os8pkg
14:56
Forgot to ADD the builder script! check-in: 99db9a092a user: poetnerd tags: os8pkg
04:55
Updated the PiDP-8/I KiCad hardware files to the 2019 kit version. check-in: 4be67ee544 user: vermeulen.oscar tags: trunk
03:55
Update top level README.md to call basic-games, kermit-12, and chekmo by their new names. check-in: a9992eded7 user: poetnerd tags: os8pkg
03:51
Convert binary blob CHESS.SV copied in from media/os8/local.tu56 under the control of config option "chess" to a build from source CHEKMO.SV and CHEKMO.TX controlled by config option "chekmo". Fix a problem with depending on package obj/os8pkg/foo.os8 files. We don't need them, but I forgot to quit depending on them. check-in: 2573adc1ca user: poetnerd tags: os8pkg
02:22
Radically improved usability of os8pkg by changing how it does its work: 1. Eliminate the scripts command. 2. install, like uninstall calls os8scripts directly to do the work. 3. include is used to create the .os8 script file that will install all selected packages. 4. The same code block makes the commands for install and include. 5. Search for a .pspec file. 6. All of this is documented in the updated os8pkg.md doc file. check-in: f9238bc0eb user: poetnerd tags: os8pkg
2020-10-30
03:33
Compensate for directly calling os8script commands without a script file. There may be more bits of internal state to set up. check-in: 818e81c04e user: poetnerd tags: os8pkg
02:55
Quit depending on README.md. Quit installing README.MD. The README.md file is a description file for understanding what's in the source tree. We don't install it, or depend on it on the OS/8 side. check-in: ed5c42ea35 user: poetnerd tags: os8pkg
00:05
Whitespace improvements to scripts/os8pkg/*.pspec check-in: f134b44ead user: tangent tags: os8pkg
2020-10-29
23:08
The package "python-pip3" is actually python3-pip on Raspbian. Closes [5a1e770c9eb] *again*. :) check-in: e4b49f8706 user: tangent tags: trunk
22:37
Applied drh's invisible line trick to the ticket lifecycle workflow diagram to give a label to the fast-reject path. check-in: fe9f969e76 user: tangent tags: trunk
18:36
Updated the release process doc check-in: 36cfa1dceb user: tangent tags: trunk
18:25
More HACKERS.md tweaks and fixes check-in: 166819f74d user: tangent tags: trunk
17:04
More tweaks to the ticket life cycle diagram in HACKERS.md check-in: a54abf9ae1 user: tangent tags: trunk
16:17
Updated ticket workflow diagram with drh's improvements, plus some of my own. Improved the surrounding text. check-in: 0ef2851e8c user: tangent tags: trunk
00:50
Document more of the os8pkg syntax. check-in: 5f5c6f66c7 user: poetnerd tags: os8pkg
00:31
Moved kermit from binary blob media/os8/subsys/k12.tu56 as option k12 to kermit-12 build from source under control of kermit-12.pspec as option kermit-12. TODO: Find someone who can test out this kermit. It's a bit different from what we've had in the past. check-in: 60a72125bd user: poetnerd tags: os8pkg
00:16
Assorted improvements to the HACKERS.md file, including the addition of a workflow Pikchr showing the life cycle of a ticket. check-in: 8c59adde57 user: tangent tags: trunk
2020-10-28
21:53
Documented the "fossil open URI" method in HACKERS.md check-in: 03815a941a user: tangent tags: trunk
21:43
Capitalization fix check-in: e3441ddc1e user: tangent tags: trunk
21:42
Better explanation of the relationship between the GitHub mirror and this repo in HACKERS.md. check-in: 30c2dfb6ce user: tangent tags: trunk
21:14
Found and fixed a few more uses of "pip" rather than "pip3" check-in: 74bd7b987b user: tangent tags: trunk
16:00
Added bin/os8pkg to the list of scripts installed by "make install" check-in: 61ff141003 user: tangent tags: os8pkg
02:17
Fixed typo that was causing packages to always be re-installed into the boot images. check-in: 513d950f14 user: poetnerd tags: os8pkg
01:59
Remove debugging bit from basic-games.pspec. check-in: 7a9b5fe213 user: poetnerd tags: os8pkg
2020-10-27
19:25
Refinement to basic-games packaging: 1. Hacked README.md with a broad sword to shrink lines below 140 characters so that we could use PIP ASCII mode to copy it in. 2. Added a rm -f line to basic-games.pspec to delete the old .tu56 image file. 3. Fixed a bug in os8pkg so that #2 would work. check-in: f9134d40c3 user: poetnerd tags: os8pkg
16:25
Updated ChangeLog check-in: 92f90a86d3 user: tangent tags: trunk
16:02
Merged CC8 "V2.0" down to trunk. check-in: 9c75595f59 user: tangent tags: trunk
15:36
Replaced a few references to the old python-pip package (v2) since we're now recommending use of pip3 in other places. Closes [5a1e770c9eb8e74]. check-in: 2d34571e16 user: tangent tags: trunk
03:48
Remove media/os8/subsys/ba.tu56 binary blob. Instead use os8pkg to manage the basic games src/basic-games. Change name of subsystem for configuration from "ba" to "basic-games". Makes use of the "build" construct in os8pkg to use an os8-cp command instead of requiring creation of scripts/misc/basic-games.os8 whose sole purpose would be to populate a distribution .tu56 image. The README.md is taken from the "Demos in BASIC" wiki page. check-in: aecf5a7244 user: poetnerd tags: os8pkg
03:01
Eliminate use of wild cards in outputs. Otherwise the uninstall can wreck havoc! check-in: ef969b8356 user: poetnerd tags: os8pkg
00:56
Implemented and documented install and uninstall commands. Updated advent.pspec to contain cleanups for uninstall. check-in: e1d2257810 user: poetnerd tags: os8pkg
2020-10-26
18:21
Fixed usage message: options before sub-command check-in: 5d82d01c8d user: tangent tags: os8pkg
17:59
Fix traceback on no command specified. Now correctly prints a usage message. check-in: 1b75ca7a3d user: poetnerd tags: os8pkg
02:57
Remove cc8.tu56 from media/os8/subsys/README.md. We have built from source for some time. check-in: fd93e4c5ed user: poetnerd tags: os8pkg
02:55
Remove media/os8/subsys/advent.tu56 binary blob and the reference to it in the README.md file. We build from source now. check-in: 9e17527bde user: poetnerd tags: os8pkg
02:35
The long awaited "Build ADVENT from Source, and use os8pkg to do it"! check-in: 870bcfbf7d user: poetnerd tags: os8pkg
2020-10-24
22:23
make reconfig now removes *.d files in the build dir in case the user is switching from a branch with deps not present in the target, as can currently happen when switching from release to trunk due to files we no longer ship. Without this, you get an error from make about files it is told must be rebuilt but which it has no info on *how* to build. check-in: 8e5dcae12f user: tangent tags: trunk
2020-09-17
19:55
Typo fix check-in: d31d2dcd86 user: tangent tags: trunk
2020-09-15
20:58
Remove debugging messages from auto.def check-in: 1bb8cbf96f user: poetnerd tags: os8pkg
20:32
Found a place to put the "-include obj/os8pkg/*.mk" such that build works. Note that putting the include too early breaks EVERYTHING. check-in: 72eeb74e17 user: poetnerd tags: os8pkg
20:04
Snapshot: Some cleanups. (Still some debugging to remove.) I understand conceptually what to do, but so far the concept simply breaks the install. First attempt to move the include of obj/os8pkg/*.mk enabled building of e8.tu56, but broke the rest of the build. check-in: b70257ba80 user: poetnerd tags: os8pkg
03:35
This should fix the failure to build packages but it does not. auto.def now defines OS8_PKGS_All and populates it with all found packages. os8pkg now uses a high level name for the package file because it knows the format, but auto.def and Makefile.in do not. Alghough V3D_RUNTIME and OCK_RUNTIME depend on PKGS_INCLUDE, and PKGS_INCLUDE depends on OS8_PKGS_ALL, the packages do not build. check-in: cd6da4c92c user: poetnerd tags: os8pkg
2020-09-14
01:00
Another try at solving chicken-egg problem. bin/os8pkg needed the python library templates. I re-arranged things. ./configure works. TODO: Fix problem with packages not building. check-in: 7b57aaaac3 user: poetnerd tags: os8pkg
2020-09-13
15:55
Code cleanups in the new os8pkg loop within auto.def: remove redundant "then", remove pointless "set result", popped "exec" calls out of bracket expression now that we aren't pointlessly saving the result code, and did some whitespace cleanups. check-in: d468b646be user: tangent tags: os8pkg
15:44
Moved the generation of bin/os8pkg up within auto.def, to just before the first call to it, for generating Makefile dep includes, etc. check-in: ff9626086a user: tangent tags: os8pkg
15:41
Merged a fix from trunk in check-in: 89d61b9785 user: tangent tags: os8pkg
15:40
Moved the generation of bin/os8-run from its .in version up from the block at the end of auto.def to just before the call to test-os8-run, which requires os8-run to exist. Without this, you have a chicken-and-egg problem in fresh working trees. check-in: 8d9c504067 user: tangent tags: trunk
15:26
Merged trunk README.md changes in check-in: 6778aa5955 user: tangent tags: os8pkg
15:11
Removed some commented-out blocks in Makefile.in. check-in: dc7a6ae44b user: tangent tags: os8pkg
04:58
Complete first draft! auto.defs takes responsibility for createing and keeping updated .mk and .os8 files from all pspec files found. Makefile.in knows how to generate a pkgs.os8 file that is used by boot-rk05.os8 in the v3d and ock directories. e8 and cc8 seem correctly still to be installed on that boot media. TODO: 1. Clean out the stuff from Makefile.in that's no longer needed. 2. Create .pspec files for more packages, such as ADVENT. 3. Investigate using this system to manage ock build from source. Now creates a pkgs.os8 script check-in: f646470ec8 user: poetnerd tags: os8pkg
2020-09-12
04:45
auto.def now scans for .pspec files in scripts/os8pkg and generates or updates .mk files in obj/os8pkg while figuring out which packages are actually in use. Makefile.in has the old cc8 and e8 build stuff commented out. TODO: Figure out if we can use the script output. The issue is that we have to single-thread all package application that happens on a particular destination system pack. check-in: a1ac42a085 user: poetnerd tags: os8pkg
00:41
Add logic to emit either build lines or a default build. check-in: 1b1a3c11de user: poetnerd tags: os8pkg
2020-09-11
03:11
Turn in-line sub-command parser setup to table driven for loop. check-in: 7e3f1767f4 user: poetnerd tags: os8pkg
2020-09-10
04:28
Teach os8pkg about dry-run arg and pathnames to output. But don't fully implement file write, and dry-run actions just yet. check-in: 954b1707a0 user: poetnerd tags: os8pkg
03:56
Added in missing sub parser arg for package files. check-in: 2f2659b4ea user: poetnerd tags: os8pkg
03:54
Improved parser as per https://tangentsoft.com/pidp8i/forumpost/c5c0f40f3d?t=h check-in: b9227c6040 user: poetnerd tags: os8pkg
2020-09-05
14:31
Updated build-from-source dependencies in README.md. check-in: cab0bfacab user: tangent tags: trunk
2020-08-16
04:18
Version 0 proof of concept os8pkg command. check-in: 4577618753 user: poetnerd tags: os8pkg
2020-08-15
23:32
Long overdue fixup of pexpect error reporting: pexpect used to hang for 30 seconds, timeout, and give a messy traceback when it got confused. This was NOT helpful because the traceback didn't give the useful information. Now we catch the timeout exception, and let the regular error reporting (which now is very good) to let us see what actually happened. check-in: ff1e4919aa user: poetnerd tags: trunk
2020-08-14
15:03
./configure --help output tweaks check-in: 49e4c3a872 user: tangent tags: trunk
15:02
Removed a redundant configure option check-in: f2c77295fc user: tangent tags: trunk
14:54
Hard tab fixes in auto.def check-in: a5a90132eb user: tangent tags: trunk
2020-08-05
02:20
A missed add. scripts/misc/e8-tu56.os8 wants src/e8/e8defs.pa, but it's not in the fossil repo. :-( check-in: 667c5e9683 user: poetnerd tags: trunk
2020-08-01
02:18
Having re-organized around OS8_TOOLTIME, the scripts need to be converted from using v3d.rk05 to v3d-patched.rk05, the OS8_TOOLTIME pack. Perhaps the .os8 scripts should be converted to .os8.in scripts that would use an OS8_TOOLTIME auto.def. check-in: a4a0a1aabc user: poetnerd tags: trunk
01:27
Subtle mistake: OS8_RK05S needs V3D_RUNTIME and OCK_RUNTIME. It had OS8_RUNTIME which might be one or the other. I don't know where the dependencies would go if use-ock were set. Right now we unconditionally build both. check-in: d11565ea4f user: poetnerd tags: trunk
2020-07-31
02:13
Implemented the clearer demarkation of different levels of OS8 boot media, as per Forum discussion: https://tangentsoft.com/pidp8i/forumpost/dcf09a8902 check-in: c548a7866c user: poetnerd tags: trunk
2020-07-20
21:10
Merge github-ci, CI builds via mirror look good: https://github.com/tangentsoft/pidp8i/actions check-in: 3d63f75bdc user: ryan tags: trunk
2020-07-13
19:28
Build CI on MacOS as well. Leaf check-in: 6872ad8e22 user: ryan tags: github-ci
16:43
Build and upload an artifact tarball containing the files from install-target. check-in: f4f5fd64d2 user: ryan tags: github-ci
16:32
Separate out install into install-target (--prefix target files) and install-system (files and packages outside of --prefix). Add DESTDIR so target files may be installed to a different root than /. check-in: 4bffc18e79 user: ryan tags: github-ci
2020-07-12
03:35
Added a basic compilation GitHub CI workflow, for branches synced by the GitHub git sync (https://github.com/tangentsoft/pidp8i/actions). check-in: e01e5ca1ff user: ryan tags: github-ci
03:04
Typoed the conditionals on fortran. The option has a dash not an underscore. This caused patches to be attempted on fortran packages even if the packages were disabled. Note that SABR is now required for the C compiler, and we apply the SABR patch unconditionally. check-in: 70b6053e6d user: poetnerd tags: trunk
2020-07-10
14:17
Yet another critical script I failed to ADD. Maybe this fully fixes bug 8d1502e9eed check-in: 1f1ac14196 user: poetnerd tags: trunk
13:24
Sigh. Forgot to add the v3d-patch-rk05 script. This fixes ticket [8d1502e9ee]. check-in: 9e9c7ea0b7 user: poetnerd tags: trunk
2020-07-02
13:59
Added warnings about GitHub mirror limitations check-in: f03da5d93e user: tangent tags: trunk
2020-06-21
16:23
Patches applied, verified, and tested for Combined Kit. Also re-added README.md that got lost in the big rename. TODO: Figure out how to give people a choice between V3D and OCK as their default startup. check-in: 7269a89e64 user: poetnerd tags: trunk
04:55
Snapshot. Patching OCK. TODO: Fix failures to patch CREF, BRTS, PAL8, BLOAD. Test. check-in: 75aa4b158a user: poetnerd tags: trunk
03:47
Moved the patches from a subdir of media to a new top-level patches source directory with subdirectories per Distribution. check-in: 0d66fb8342 user: poetnerd tags: trunk
03:22
Sorted build scripts into subdirectories. check-in: 33554e1087 user: poetnerd tags: trunk
02:45
Renamed uni and all its manifestations to ock. check-in: 37f2c27165 user: poetnerd tags: trunk
01:50
Re-introduced v3d-patched.rk05. Build cc8 and e8 with it. Do not re-patch every time we rebuild cc8 or e8. check-in: 2f2e93f03a user: poetnerd tags: trunk
2020-06-20
19:58
Careless... Missed last write of the draft os8-combined-kit.md doc. check-in: 94da351a5e user: poetnerd tags: trunk
19:53
I see that I forgot to add the BASIC UC/LC batch command files. check-in: c64f22e593 user: poetnerd tags: trunk
19:52
Began reviewing patches for Combined Kit. Found typos in existing patching doc. Fixed them. Found a possible error in how I build FORTRAN IV. Fixed it. check-in: deb9e3d7d6 user: poetnerd tags: trunk
2020-06-19
03:53
Fixed BASIC.UF in Combined Kit. Even though the instructions say all patches were applied, UF.PA was the broken version with incorrect page 0 references. This should be correct going forward. check-in: b41dbe3653 user: poetnerd tags: trunk
2020-06-17
22:46
Saw a typo. Fixed it. check-in: 572119ed70 user: poetnerd tags: trunk
17:26
URL fix for previous check-in: c8473a2adb user: tangent tags: trunk
17:25
Updated docs on --disable-os8-*, and alphabetized list of same. check-in: c80388e2e1 user: tangent tags: trunk
04:33
Corrected a typo of v3d.rk05 table entry. check-in: 7ae64027f3 user: poetnerd tags: trunk
02:42
Restored table formatting of scripts/README.md, merging in the text changes from the list-formatted version. Prior attempt simply used incorrect Markdown. check-in: c07a3a71fc user: tangent tags: trunk
02:17
Integrated LCBAS.BI / UCBAS.BI into uni. It turned out to be pretty easy. The patch was short, and that section of BASIC.PA is the same for both V3D and uni. check-in: f7c9318074 user: poetnerd tags: trunk
02:10
Whitespace, formatting, and spelling fixes in src/os8/uni/README.md check-in: 4e9492eb48 user: tangent tags: trunk
00:42
Merged E8 integration branch check-in: a63a7bd1d1 user: tangent tags: trunk
2020-06-16
10:19
Update n8.c to allow for long input lines. Closed-Leaf check-in: ce122dc321 user: isysxp tags: Native-Jun-20
03:30
Updated E8 with latest fixes from Bill Silver: Missing end of file bug fixed Search and replace buffers expanded to 15 characters from 11 Incremental search now does hot termination: any control character not otherwise recognized terminates the search and is executed as a command (as Emacs does) ^N and ^P now move up and down to the same column, or nearby Closed-Leaf check-in: 24c33bb347 user: poetnerd tags: e8-integration
03:20
Recast the documentation of the sundry image creation scripts. Eschew tables because they don't render well. Provide more details on the uni-* scripts. Name the images created. check-in: c5a96e68c1 user: poetnerd tags: e8-integration
2020-06-15
18:07
Merged in trunk changes, particularly the media/os8/scripts reorg. Moved e8-tu56.os8 into scripts/misc. check-in: e4e6e6b7ef user: tangent tags: e8-integration
18:01
Reorganized the os8-run scripts tree, per https://tangentsoft.com/pidp8i/forumpost/c914aae82f check-in: fbfd75116e user: tangent tags: trunk
17:17
Removed media/etos/etos.txt. The corresponding media files were removed long ago. check-in: 36d420e93e user: tangent tags: trunk
16:28
Add ctbl.tx which contains a lits of libc functions. check-in: f29f0c5b88 user: isysxp tags: Native-Jun-20
16:18
This is a significant re-write of the native compiler. Numerous additions have been implemented. Missing features from K&R are now only struct/float/function pointers. check-in: cf7e75b64f user: isysxp tags: Native-Jun-20
05:37
Did the last step of integration: Put E8.SV on SYS and E8CMDS.TX, E8SRCH.TX on DSK of both v3d.rk05 and uni.rk05. Also fixed a heretofore undiscovered bug in patch_command: When run_patch_file needed to resume to OS/8 context it called resume_command with nonexistent variables. Now we pass in line and script_file so they can be used in the call to resume_command. check-in: b1970fddd0 user: poetnerd tags: e8-integration
05:07
Cleaned up the README.TX file a bit. It now mentions the help files. It's not all in capitals any more. check-in: b57641fef7 user: poetnerd tags: e8-integration
04:59
Added two 22x72 reference files e8cmds.tx, e8xrch.tx, and updated e8-tu56.os8 to copy them to the tu56 image. Makefile.in knows we depend on them. check-in: 9eed79faa8 user: poetnerd tags: e8-integration
02:23
With the removal of src/e8/COPYING.md we needed to update Makefile.in and e8-tu56.os8. check-in: b6b476fdb5 user: poetnerd tags: e8-integration
02:11
Don't copy the css.pdf to e8.tu56 any more. Adopt newer names for E8 manual. TODO: Fix "Line too long" problem so we can copy the E8 manual in ascii mode. check-in: 7970ecd751 user: poetnerd tags: e8-integration
00:12
Better web formatting replacement for prev check-in: 0ef3f51b9a user: tangent tags: e8-integration
00:11
URL fix check-in: 47bc55b175 user: tangent tags: e8-integration
00:10
Referenced src/e8/AUTHORS.md from the top-level version. check-in: baa096a1dd user: tangent tags: e8-integration
00:09
Rewrote src/e8/AUTHORS.md for clarity and active voice. Added some additional info. check-in: d19939d333 user: tangent tags: e8-integration
2020-06-14
23:59
Removed src/e8/COPYING.md, being redundant w.r.t. SIMH-LICENSE.md. Documented the reason we're apparently stripping the license out. check-in: 3868e6e364 user: tangent tags: e8-integration
23:25
Added --e8-screen-{width,height} configuration options and changed the E8 build process to use the generated e8defs.pa file. check-in: c09ec25bb7 user: tangent tags: e8-integration
18:44
Enabled storage of e8 doc files as images on tu56 image. It wasn't a bug in cpto per se. It was a poorly documented requirement to precede the option with whitespace. TODO: Add the "sacrificial end character" code, because when we put files in as images, the PTR driver DOES lose the last character. check-in: 02b6db5df2 user: poetnerd tags: e8-integration
2020-06-13
13:53
Merged as much of E8's Makefile stuff into our Makefile.in as makes sense. Basically, only the creation of e8-manual.pdf and the upload to the repo as UV content. check-in: bca79f692b user: tangent tags: e8-integration
13:39
Renamed doc/pdf.css to e8-manual-pdf.css to track a change upstream check-in: 267ebd41d8 user: tangent tags: e8-integration
13:37
tools/e8-update fails if it isn't run from the top source dir. Without this, it'd either choke on its later assumptions or wreck the tree. check-in: 04eca764cf user: tangent tags: e8-integration
13:31
Created tools/e8-update and ran it, updating a few things that have changed upstream since the creation of this branch. check-in: 9dc10a1e2d user: tangent tags: e8-integration
13:13
Reorganized the E8 stuff in the tree to conform to existing norms. check-in: e4505fd571 user: tangent tags: e8-integration
03:31
Create an e8.tu56 tape image containing the e8 editor. TODO: 1. fix os8-run copyto command so the /I option works. 2. Agree on default E8 setup and create e8defs.pa 3. Decide how to distribute the docs under OS/8 check-in: 2817c79165 user: poetnerd tags: e8-integration
2020-06-12
01:34
Expanded use of os8_ctrl_c appropriately. This should silence race-condition noise on the bsd platform, as well as improve reliability for a wider range of commands run under cdprog and os8 script commands. check-in: 62449ac644 user: poetnerd tags: trunk
2020-06-11
06:08
Improved error reporting from os8_command: I was relying too much on the "print caller string" functionality, when instead I should have been acting on error status and printing good messages. I missed a "re-sync with command prompt" in error handling. Fixed now. The osi_ctrl_c code now looks for ^ that might come from an echo of ^C but does not require it. TODO: Review callers of os8_send_ctrl ("c") for possible conversion to os8_ctrl_c. check-in: 83d6d9ac2d user: poetnerd tags: trunk
2020-06-09
23:01
Documented [6498933542] in the ChangeLog check-in: 04a5f7c8d9 user: tangent tags: trunk
22:49
Fixed a serious bug in an undocumented change made in v2019.04.25: the handler for SING_STEP + IF (restart with boot script #IF) changed from just jamming a "DO" command into SCP for the new boot script to re-execing the simulator with the same script name. This ensures a clean simulator, rather than starting the new script atop the old dirty simulator, but there was a flaw: execl() call was missing the trailing NULL sentinel, potentially allowing the kernel to walk off the end of the call stack. This may explain some problems people have had getting their PiDP-8/I to switch OSes via this mechanism. Problem diagnosed by Clang 8 on FreeBSD, of all things. check-in: 6498933542 user: tangent tags: trunk
22:20
Adjustments to the pexpect installation advice given from configure check-in: 0a5864182b user: tangent tags: trunk
2020-05-27
00:49
Fixed missing files in uni: BASIC: EABRTS.BN, RESEQ.BA. FORTRAN II: GENIOX.SB. Required pulling RESEQ.BA in from a master DECtabe binary image, because it wasn't in source. The standard way to buld EABRTS.BN is to use TTY: as a PAL8 input file, and to type "EAE=1". Instead I added EAEDEF.PA and build with it. check-in: 87cbc11ba5 user: poetnerd tags: trunk
2020-05-26
19:01
Removed date and version-related comments in CC8: such info belongs in the VCS commit comments, not in source code comments. check-in: a4220bc5c7 user: tangent tags: trunk
18:50
CC8 comment fix check-in: 65085ceb9a user: tangent tags: trunk
18:49
Reverted the &#7C; hackery in the CC8 user manual, using actual ASCII pipe characters now that the Fossil table parsing bug is fixed on trunk and deployed to tangentsoft.com. check-in: abada11098 user: tangent tags: trunk
17:47
Minor change to c8.c to manage strings ('"'). check-in: ee05493cd8 user: isysxp tags: trunk
2020-05-20
05:05
Merged the May 2020 version of CC8 into trunk. check-in: 5d861a9fee user: tangent tags: trunk
04:58
Merged trunk changes into pi4-gpio-clean. check-in: 4d51e218ef user: tangent tags: pi4-gpio-clean
03:03
And I typo'ed Vince's name in the license field of os8xplode. Jeez! Murphy was working over time! check-in: 2e44544d1e user: poetnerd tags: trunk
2020-05-18
18:20
Brought in changes to test-os8-run and v3d-rk05.os8 to make testing quiet. Closed-Leaf check-in: 1edc07b3ab user: poetnerd tags: flip-expect
18:13
Remove debugging DIR command from uni-fiv-build.os8 check-in: 4f072e96ec user: poetnerd tags: trunk
18:09
Merge of development work for OS/8 Combined Kit build from source. check-in: 15eca39699 user: poetnerd tags: trunk
14:58
Sigh. Another file forgotten to add. Our uni init.tx.in file. Closed-Leaf check-in: de7fc4dcc1 user: poetnerd tags: os8-uni
14:56
I keep forgetting to ADD stuff. NOW we have os8-cmp.in. :-( check-in: d2f68d78fa user: poetnerd tags: os8-uni
2020-05-17
22:33
v3d-rk05.os8 needed to perform SQUISH as absolute last step. Updates to test-os8-run to sanitize temp file names that would otherwise be unique across builds. Now a set of 10 random tests between trunk and flip-expect all come up green. check-in: a2ffdcf544 user: poetnerd tags: trunk, good-exam-1
21:41
Additional clauses in sanitize_log subroutine to remove unique components of temporary file names. check-in: faf1eb983a user: poetnerd tags: os8-uni
04:45
Clean integration of rewrite of run_patch_file. check-in: 218045c8e0 user: poetnerd tags: os8-uni
04:43
Rewrite of the run_patch_file routine. Eliminates a race condition where we exit ODT, do SAVE, but the save doesn't happen because we exit to OS/8. Switched run_patch_file to use resume instead of restart as added protection. check-in: 29afcff886 user: poetnerd tags: flip-expect
04:23
Use os8xplode instead. It's faster and has greater coverage. check-in: 4c25a04e83 user: poetnerd tags: os8-uni
04:22
Cleanup of os8-cmp. Cleaner control flow. Also moved squish to last action in v3d-rk05.os8. It needs to be LAST. check-in: c90df560e1 user: poetnerd tags: os8-uni
2020-05-16
21:04
A fast tool to unpack images from Vince Slyngstad. check-in: 9cf8e0d48a user: poetnerd tags: os8-uni
2020-05-15
00:40
This time ADD the tool. :-( check-in: 244f5858ac user: poetnerd tags: os8-uni
2020-05-13
07:04
New tool: Give it a couple images, it extracts them and compares them. The extraction is a bit time consuming. TODO: Add -y option to extract system area. check-in: 88aebc50ed user: poetnerd tags: os8-uni
2020-05-12
23:34
To get the C compiler, while avoid a bootstrap problem if uni became the boot disk, and to prepare for adding patches, I've created a uni-rk05.os8 script. Now to boot the unified kit, you boot bin/uni.rk05 TODO: There are a couple missing bits: EABRTS.BN, GENIOX.SB, RESEQ.BA I gotta find out why. uni-dist-rk05.os8 has been updated to copy in CUSPS I left out. check-in: 86ef40af7a user: poetnerd tags: os8-uni
04:13
Brought in improvements from flip-epect that our work in EPIC drove. check-in: 98553d2bf4 user: poetnerd tags: os8-uni
04:11
cdprog also now obeys "enable transcript" which was necessary for EPIC as well. :-( I'm tempted to build an EPIC specific parser next to ODT and FUTIL. check-in: d46d071f43 user: poetnerd tags: flip-expect
04:10
Improved error reporting. Improved robustness in cdprog: Notices if sending escape fails and tries ^C. This works around problems with running EPIC. I'm considering adding a test for '$' at the end of a cdprog line, as a way to mean, "Send escape, and expect to return to monitor level." It will be cleaner for many things. Alas Epic doesn't do that either. It insists on getting an escape to the command decoder to do its work properly. (Otherwise it sometimes just produces no output.) And then after it gets that escape, it returns to the commmand decoder with its in-core image still corrupted by the previuos comparison! What a piece of crap! check-in: f1a6ce9360 user: poetnerd tags: flip-expect
2020-05-11
17:07
Assorted improvements to the CC8 manual Closed-Leaf check-in: 3c88d213d8 user: tangent tags: cc8-2020-05
16:12
Change to c8.c to correctly manage ' character. check-in: 05b89395b2 user: isysxp tags: cc8-2020-05
13:57
Minor changes to the CC8 manual in regard of switch statements etc. check-in: 761a32f3e4 user: isysxp tags: cc8-2020-05
02:57
Whitespace, comment, and spelling fixes for CC8's new pd.c example. check-in: 87ea12551c user: tangent tags: cc8-2020-05
02:51
Clarified the documentation for CC8's atoi() check-in: 4ce304092d user: tangent tags: cc8-2020-05
2020-05-10
16:22
The short-circuiting issue also affects ||, not just &&. check-in: bb5e0c7236 user: tangent tags: cc8-2020-05
16:18
Assorted improvements to doc/cc8-manual.md: grammar and spelling fixes, Markdown formatting fixes, and clarity improvements. check-in: f425df101a user: tangent tags: cc8-2020-05
10:33
An update of the cc8 manual to include the current functionality of the native compiler. check-in: d38ea4e835 user: isysxp tags: cc8-2020-05
02:41
uni-dist.rk05 now has its own init.tx: uni-init.tx.in. All known bugs are closed. bin/uni-dist.rk05 is ready for testing. check-in: febafb29c1 user: poetnerd tags: os8-uni
02:20
Take cosmetic change from flip-expect. check-in: 300128588d user: poetnerd tags: os8-uni
02:19
Improved cosmetics of debug message. check-in: bff92cae19 user: poetnerd tags: flip-expect
02:11
Merge in fixes from flip-expect It's unclear to me why so many deltas came from the merge. check-in: f616e49102 user: poetnerd tags: os8-uni
01:42
Check in our test harness that enabled us to find the immediate past bugs. check-in: 84fcd162f7 user: poetnerd tags: flip-expect
01:41
Fixed two bugs: 1. Quit looking for an echo of "^C" when exiting BUID with "^c". Unlike FOTP, ODT, FUTIL, PIP, etc., it doesnt echo that. It goes right to the monitor. 2. Correct spelling of FOTP Error, "NO FILES OF THE FORM". It gets a colon. NOW we see the FOTP file not found error. I see tht the build-test.os8 script heeds an ADD... check-in: 3b45b444e8 user: poetnerd tags: flip-expect
00:31
Merge changes from trunk to get test-os8-run working. check-in: 06df321a9f user: poetnerd tags: os8-uni
00:17
Merge fixes from trunk to get test-os8-run to work. check-in: 19736080f9 user: poetnerd tags: flip-expect
00:07
Python3 install shouldn't install pyc. The test needed to be added to a second place. check-in: b5cdf52d22 user: poetnerd tags: trunk
2020-05-09
18:42
Worked around a screwy interpretation of @srcdir@ in Autosetup's handling of @include@ which caused out-of-tree builds fail in the generation of boot/*.script from boot/*.script.in. This is related to the prior check-in, but the failure mechanism (and thus its solution) are different. check-in: aa8de8f4e1 user: tangent tags: trunk
18:33
Fixed all "@include @srcdir@/boot/common.script" from boot/*.script.in: common.script is generated from common.script.in, so it lands in @builddir@, not in @srcdir@. This distinction only matters when doing out-of-tree builds. check-in: a8f891a345 user: tangent tags: trunk
18:29
Fix two long standing bugs in v3f: 1. obj/build-v3f.rk05 could get over-filled on remakes. Since it's contents are wholly copied in an rm -f is added to delete the old. 2. UCSYS.BI didn't take notice of a relocaded page zero literal that LCSYS.BI knew about. check-in: 6582f33084 user: poetnerd tags: trunk
17:42
Got LCSYS.BI and UCSYS.BI working under uni. In the process found and fixed long standing bug with V3F UCSYS.BI: Page zero literal moved. Noticed it when porting LCSYS.BI to v3f but didn't fix it for UCSYS.BI. check-in: e57763e4b3 user: poetnerd tags: os8-uni
12:06
Updated c8.c from CC8 with the version from Ian's latest branch. check-in: de69883598 user: tangent tags: cc8-2020-05
11:57
Merged in trunk changes check-in: fd3012405b user: tangent tags: cc8-2020-05
05:52
Silly little mistake: Mist copying in BCOMP.SV so BASIC wouldn't run. It works now. check-in: 6961ee4910 user: poetnerd tags: os8-uni
05:26
Builds a Unified Combined Kit bootable RK05 the same way it builds the v3d-dist.rk05 image. It boots, and has the right handlers (I think). Issues: LCSYS.BI isn't working. There are still places where the cdprog state machine in os8-run can get confused on error conditions. But we've got a complete first draft of "Build OS/8 combined kit from source." check-in: 4ffe4ea3d5 user: poetnerd tags: os8-uni
02:47
Generates FORTRAN IV Object rk05 image. I had to change the syntax of FORLIB.BI because what was there was bad syntax. Command lines do not begin with open curly braket. TODO: Put this stuff onto an image and see if it boots. check-in: 019eecff7d user: poetnerd tags: os8-uni
2020-05-08
23:03
The BASIC and FORTRAN II rk05 object image is now built. The Core Control Block values match what is in SYS: TODO: Put these onto a system disk and test them. check-in: 476cfa0ca6 user: poetnerd tags: os8-uni
22:30
Merge in new os8-run and libraries from flip-expect branch. This should fix the problems we encountered building FORTRAN IV libraries. check-in: 2daeb79342 user: poetnerd tags: os8-uni
17:25
This is an update of the native c compiler for OS/8 Please see the file cc8-manual in the doc directory for full details Report any errors to Ian Schofield isysxp@gmail.com Closed-Leaf check-in: 6070d8ffae user: isysxp tags: cc8-may-2020
11:16
Added Ian's new examples to cc8.tu56 for copying to the OS/8 RK05 disk if the CC8 compiler is selected at configuration time. check-in: c295baab6e user: tangent tags: cc8-2020-05
10:39
Added an example Forth interpreter written in CC8 check-in: e199927364 user: isysxp tags: cc8-2020-05
10:38
Added a double precision addition example for CC8 check-in: e21af7c6f6 user: isysxp tags: cc8-2020-05
10:37
Added a Hilbert curve example for CC8 and Tek4010 displays. check-in: 056916f3fd user: isysxp tags: cc8-2020-05
10:31
Many improvements to cc8/examples/basic.c check-in: 35b4819db9 user: isysxp tags: cc8-2020-05
10:30
Minor improvements to cc8/examples/ps.c check-in: aaa3ef4d23 user: isysxp tags: cc8-2020-05
10:29
Minor improvements to cc8/examples/fib.c check-in: f2015a8fed user: isysxp tags: cc8-2020-05
10:21
Updated OS/8 ("native") CC8 compiler to May 2020 version: allow multline comments; handle \t, \n, and \r in string constants; set high bit in string constants to avoid mishandling; change the way 2-character relational operators are handled to avoid UTF-8 and C language parsing problems; implemented support for the ternary operator (?:); increased the size of one of the symbol tables in the memory map. check-in: e6283d0c01 user: isysxp tags: cc8-2020-05
10:11
Fixed "MQA" to "ACL" check-in: 1cc4dcce5b user: isysxp tags: cc8-2020-05
04:06
Complete first draft of revised class-simh.md check-in: 24c3500bd0 user: poetnerd tags: flip-expect
03:02
By shifting the '$' prompt to the build_rep_adds we narrow the need to match on it and eliminate all the false positives for it. check-in: ae52e8e70c user: poetnerd tags: flip-expect
01:10
Split os8_escape into character specific sends, that listen for the character to echo back. This should fix problems where subsequent expect was tripping over the echo of the escape. check-in: 2d5536fc63 user: poetnerd tags: flip-expect
2020-05-07
21:14
Fixed benign but long-standing bug in all-tu56.os8: There was a DT mount/umount in the td8e sections. Because the relevant .tu56 image was already mount it was just an error that showed up in the logs. check-in: d14aa78ca1 user: poetnerd tags: flip-expect
18:49
Further updates to class-simh.md to talk about quit with error checking. Added lots of error checking to calls out to simh_cmd. TODO: Investigate apparent bug in all-tu56.os8 that mounts drivers on DT instead of TD when builtding td8e v3f. Why doesn't BUILD complain?? check-in: bb9fb5438d user: poetnerd tags: flip-expect
16:55
Found source of unexpected output from v3d-rk05.os8. Was not a long-standing bug. I forgot about having to context switch when flipping between simh and os8 commands. I've added better reminder comments. At issue: simh.py would figure stuff out and send a "cont" command, but that command would not always succeed quickly enough, and the first command after context switching would get messed up. check-in: 4b819965ad user: poetnerd tags: flip-expect
15:33
Removed the "sleep(0.02)" hack in teco-pi-demo, since earlier work on this branch removes the need for it. Worked twice here in testing, at least. check-in: 15fc966a2b user: tangent tags: flip-expect
14:37
Cleanup: Deleted old PAL8 code from os8script.py.in Documented removal of os8-run limitations. Note: the os8 command has a .5 second delay after an error. This fixes an observed race condition where we send ^C after an error before there's an OS/8 ready to hear it. Error reporting is so good now that I think I see a long-standing bug in scripts/v3d-rk05.os8: Removal of SYS:FORLIB.RL fails. I think it always failed but I'll investigate. check-in: 6850ec9fe9 user: poetnerd tags: flip-expect
13:43
Added new version of pal8 command: Quits trying to analyze the PAL8 command line. Just passes it. We report errors now, so we can be more liberal in ingest. TODO: Remove old code. Document removal of limitations. check-in: a69c492982 user: poetnerd tags: flip-expect
01:37
Shifted resume's work into simh.py.in. Documented current behavior of resume. Changed approach to outputting what the "os8" command gets: Instead of conditionalizing on self.verbose, I added an enablement keyword "transcript", and documented its operation in os8-run.md. Now I'm exploring if we can simply get rid of the pal8 command. Along the way, I discovered how the os8 command could fall out of sync if it encountered an error. This code remedies that, I think, but needs more testing. check-in: 68296b70c5 user: poetnerd tags: flip-expect
2020-05-06
14:21
Got resume with simh "cont" command working. The trick was to expect the echo of "cont\n" and then do os8_kbd_wait(). Added a verbose mode to the "os8" command to print the output. TODO: Add a command to os8-run to turn verbose on and off. Probably through a keyword "verbose" arg to enable. I have to think about whether I want a quiet mode that overrides verbose. What I want is a mode where I can turn command result display on and off. I think the current "verbose" flag is more of a less verbose debug flag. check-in: dd813fc8e9 user: poetnerd tags: flip-expect
05:54
Pruned the methods from simh.py.in and os8script.py.in that I wanted to get rid of. That meant that test-os8-send-file goes away, since it tests stuff that I've gotten rid of: os8_get_file and os8_send_file. os8_pip_to and os8_pip_from are now the preferred APIs. I've further cleaned up the PAL8 command. Both the 2 and 3 arg forms now pass detailed error status back up to the printout from the running script. There's a draft of new regular expressions for the pal8 command that are aimed at removing a lot of the current limitations. There's an update to doc/os8-run.md that drops mention of problems and limits that have gone away with the flipped expect. check-in: c3896bd487 user: poetnerd tags: flip-expect
02:34
There's sometimes a race condition when you send escape: Sometimes instead of getting "\n\\.$" you get "\n\\.$\\.$" To detect the race condition I currently label it "Monitor Escape". After I'm sure this is what is happening, I'll re-label it as "Monitor Prompt" at which point any log harvesting will not see any difference. check-in: 600278db4f user: poetnerd tags: flip-expect
01:59
Root cause of "NO CCL!" noise: Our built image inherits whether or not INIT is set. A blank tape will complain "NO CCL!" on first boot. Fixed. check-in: 45e0339c8b user: poetnerd tags: flip-expect
2020-05-05
22:01
Further cleanups: auto.def also needed deletion of txt2os8.in. Finally got rid of the copy_pair stuff. We've not used it years. Added a higher level os8_escape routine to replace in-line calls to os8_send_ctrl with higher level os8_escape. Added documentation of more stuff in class-simh.md. Noticed several commands were not testing successful monitor prompt. Fixed. TODO: Still getting a surprise "NO CCL!" from all-tu56.os8 as well as a complaint of an unexpected Monitor prompt. check-in: 849d7d9d03 user: poetnerd tags: flip-expect
03:51
Remove mention of txt2os8.in from Makefile.in check-in: 2d37892c35 user: poetnerd tags: flip-expect
03:50
txt2os8 never finished porting to python3. It has been superseded by os8-cp. Rather than port it to python3, debug it, and then port it to the new flipped expect event order, I'm deleting it. check-in: f26ab5cc0a user: poetnerd tags: flip-expect
03:37
Added pal-test.os8 script and media/os8/PALTST.PA file used by it. This universe now gets all the way through from make clean to success reported by all scripts. However I saw a couple of reports of unexpected replies that were not deemed fatal. Along the way, I realized that PAL8 and BUILD wanted their reply lists IN ADDITION TO the default _os8_replies list. TODO: Continue pruning. check-in: 3c431bc4e3 user: poetnerd tags: flip-expect
2020-05-04
03:58
Updated class-simh.md. That drove getting teco-pi-demo fully converted to python3, adding a -f for full speed option, and conversion to the flipped pexpect main loop. Fixed a race condition in os8-cp where it forgot to test for return to monitor after getting directory listing. Some style cleanups. This looks like it's actually working! TODO:Further testing. Review cdprog_subcomm. check-in: c5c55a3351 user: poetnerd tags: flip-expect
2020-05-03
23:39
Snapshot: v3d-dist-rk05.os8 seems to run. Had to fiddle with os8_pip_to because the command decoder prompt you get when you do a continuation on a PTR: transfer has no preceding newline. But EVERYTHING else needs that newline, otherwise you match on file specs with an asterisk wild card. Gross hack specific to os8_pip_to deals. check-in: bb2c3a92d2 user: poetnerd tags: flip-expect
04:56
Snapshot: Some more of os8script.py is working again in the new way. Tomorrow I take on a rewrite of build. It SHOULD be cleaner now. check-in: 4b9b9bd4a4 user: poetnerd tags: flip-expect
03:52
pal8 command is migrated. Now displays all errors and exits gracefully. TODO: 1. Turn my internal testing script into a useful harness. Next step: Continue sweep thru os8script.py. Focus on v3d-dist-rk05.os8. Also: Consider teaching 3 arg pal8 to use call_pal8 since it's so good now about repoting errors. (At issue is that the errors are in the listing in the 3 arg call.) check-in: 3e98a230f0 user: poetnerd tags: flip-expect
00:41
Eliminate use of os8_send_cmd and send_cmd in simh.py.in. Instead we have: simh_send_line that says it relies on the caller to run expect to determine success and simh_cmd that calls simh_send_line and checks return. The only time we needed simh_send_line here was in do_simh_show where we parsed the output of the show command. Everywhere else we flipped over to simh_cmd. check-in: 2413983604 user: poetnerd tags: flip-expect
2020-05-02
23:44
Ported SQUISH and restart to new way. Renamed os8_restart to simh_restart_os8. check-in: 6c522288c6 user: poetnerd tags: flip-expect
22:55
Begin of refactoring simh.py Re-arranged the location of the functions. Added more comments. check-in: 80c5e1a2b1 user: poetnerd tags: flip-expect
21:35
Let the pruning begin... Cleaner interface to new flipped sense of pexpect. check-in: 6cc5421905 user: poetnerd tags: flip-expect
04:52
Bug fix for os8-cp under python3. In the course of other branch work I discovered a use of _child.before without "decode()". Anyone running os8-cp in a python3 environment would have not been able to copy wild card specified file lists from OS/8. check-in: a32e5897f5 user: poetnerd tags: trunk
04:37
One little style-y thing. os8_pip_from appears to work, but I need to check the wild carding that uses directory output. check-in: e318bad0e5 user: poetnerd tags: flip-expect
04:31
Beginnings of flipping the execution order for all of pexpect simh. This checkin has os8-cp converted to the new way. copy_to has been tested. copy_from needs a few cleanups. LOTS of cool error checking is possible. Some is implemented. check-in: 1b33e7e1ae user: poetnerd tags: flip-expect
2020-04-30
01:10
Correct verbose status mesage of include command to name the expanded path, not the un-expanded variable name. check-in: 93d521bdd3 user: poetnerd tags: trunk
01:03
Efficiency improvement: pre-compile the regexps for the cd_replies. check-in: 86e7370603 user: poetnerd tags: trunk
00:48
Fix typo that left the LCBAS.BI, and UCBAS.BI case conversion batch scripts off v3f media. check-in: 268031e3f1 user: poetnerd tags: trunk
00:44
Style/efficiency cleanup: Move pal8_replies out of the function, and into a once-only global like others. check-in: 617167b92b user: poetnerd tags: trunk
2020-04-29
04:51
Another messy snapshot. I've recrafted all-tu56 to swap back and forth between using the td device and the dt device. It means calling build like 4 times to built the td12k tu56 image, but it NEVER gets confused. Additionally I'm experimenting with a "cdprog1" command that knows you return to the monitor instead of the command decoder. os8_send_cmd then looks for when its looking for the monitor dot prompt, and if it gets "\n.$." it suggests using cdprog1 instead. TODO: clean this all up: Get rid of all the debugging scaffolding. Push simple single change updates to trunk. check-in: f4f8ad0c2a user: poetnerd tags: os8-uni
00:17
Snapshot. Gross. Turning on error diagnostics tickles some nasty race between pexpect and emulation of the TD8E DECtape. To work around this I created a kludge command in os8-run called "Sleep." When I set the sleep delay to 0.2 seconds things work with the TD8E build. Any lower and you get meaningless random "TA0 DOES NOT EXIST" errors. This checkin has additional debugging print statements that need to go away. I must ponder, but I wanted to at least save this snapshot. check-in: 1780dbf1c1 user: poetnerd tags: os8-uni
2020-04-27
03:03
Taught the pal8 command in os8-run about options, removing a documented limitation. Updated the os8-run.md doc as well. check-in: 93e583cc67 user: poetnerd tags: trunk
02:56
Cleanup: Got rid of absldr and fotp sub-commands of begin/end in os8-run. They were never used, never documented, and diverging from the common (redundant) implementation of cdprog. check-in: 691a4648e8 user: poetnerd tags: trunk
02:50
pip_to_replies is now the same as cd_replies. So we just use cd_replies. check-in: 66041fe979 user: poetnerd tags: trunk
2020-04-26
19:05
Snapshot: Add images and builders for BASIC and FORTRAN II on one image and FORTRAN IV on the other image. TODO: Teach the builders how to build. ALSO: Don't forget to build the rest of the device drivers in SYS. check-in: 5a28d1aa6a user: poetnerd tags: os8-uni
18:08
Oops. Missed one file in CUSPS: MSBAT.PA. Now all are built. TODO: Begin working on one or more languages rk05 uni build. check-in: dd2021aeec user: poetnerd tags: os8-uni
17:58
Now builds the contents of src/uni/CUSPS into bin/uni-cusps.rk05 Bug fix to os8-run: Changed error detection string from "DF" to "DF\r" because the echo back of the TDFRMT filename in pal8 was mistaken for a device full error. check-in: 9e455a5798 user: poetnerd tags: os8-uni
04:41
Sigh pedandic python3 doesn't like concatenating the None type that came from my fancier regex for pal8 args. Fixed. check-in: afe4fd78b3 user: poetnerd tags: os8-uni
04:34
Now builds a significant chunk of the CUSPS. To build TECO I needed os8-run to pass the /W argument. So I fixed os8script.in to no longer have the limit of not passing in any PAL8 arguments. (I updated the doc.) Along the way, I discovered why I wanted that pal8 command. The 2 arg form of PAL8 hangs the state machine when attempted from either the os8 command or the begin cdprog construct. The "ERRORS DETECTED X\n\rLINKS GENERATED X\n\r." output confuses expect. I've also checked in the build tester I use for each CUSP as I integrate it into uni-cusps-build.os8. Doing a monolithic build is required because if there were multiple make lines parallel make would get into all kinds of nasty race conditions with the output rk05 image being modified in multiple processes simultaneously. check-in: 5d9e6f4434 user: poetnerd tags: os8-uni
01:25
Had to re-arrange the builds and spread uni into multiple RK05 images. This snapshot builds the SYSTEM component HANDLERS and a bit of CUSPS. check-in: 2611fb4df7 user: poetnerd tags: os8-uni
2020-04-25
21:32
Corrects misunderstanding of monitoring file transfer status and error reporting in pip_to routine. Fixes Ticket f934c3284efce717f918fd880f4d11359edcf7aa check-in: db4ba62622 user: poetnerd tags: os8-uni
21:19
Corrects misunderstanding of monitoring file transfer status and error reporting in pip_to routine. Fixes Ticket f934c3284efce717f918fd880f4d11359edcf7aa check-in: fab6bb749a user: poetnerd tags: trunk
01:05
Took build fixes for CCL.BI and RESORC.BI from the work I did with v3f. check-in: bbfe23f17d user: poetnerd tags: os8-uni
2020-04-24
21:30
Forgot to ADD uni-build.os8. Now others can build! check-in: 3f927a632d user: poetnerd tags: os8-uni
19:39
Ian Schofield's April 2020 release of the OS/8 CC8 compiler, adding support for 2-character relational operators (e.g. >=) and the C switch statement. On a branch because we're not yet certain it will make it in the current state into the upcoming release. Closed-Leaf check-in: 66d42bb8a6 user: tangent tags: cc8-2020-04
19:19
Removing bin/*.tu56 on "make clean". Currently this only forces cc8.tu56 to be rebuilt, but if we ever have other tape images we produce as intermediates in the same way (e.g. E8) then we'd want them rebuilt in the same way. check-in: c17b291bd8 user: tangent tags: trunk
04:28
Updated a copyright year check-in: 7d8546a726 user: tangent tags: trunk
04:25
Everything in UNI that was in v3f now builds. TODO: Investigate why, if BATCH.PA is not found the state machine hangs. It should see the error and either continue or die. check-in: 24acc69ecd user: poetnerd tags: os8-uni
04:05
Creates obj/uni-build.rk05 out of uni/{SYSTEM,CUSPS,HANDLERS} check-in: 7a60cbbd61 user: poetnerd tags: os8-uni
2020-04-23
15:56
URL fix check-in: 560ca2e7d3 user: tangent tags: trunk
2020-04-22
04:09
Begin work on the Fossil Combined Kit. Initial checkin contains the Combined Kit sources and an initial extremely drafty draft of a top-level README.md check-in: 04a9ed7d11 user: poetnerd tags: os8-uni
00:36
Python 3 fixes for teco-pi-demo check-in: e388501307 user: tangent tags: trunk
00:17
Python 3 does the *.pyc thing entirely differently, which affects "make install". This change doesn't bother to install __pycache__, just avoids the installation failure when *.pyc doesn't exist. check-in: 1c0de38a5b user: tangent tags: trunk
2020-04-21
13:35
Handling the case where none of "make", "gmake" or "bsdmake" exists in tools/mmake. check-in: 68d2aafd44 user: tangent tags: trunk
2020-04-20
01:54
Small tweaks to new PCRE support for SCP EXPECT check-in: d387b4f59c user: tangent tags: trunk
01:36
Small tweaks to new ChangeLog.md material check-in: 68a0b5c503 user: tangent tags: trunk
01:01
Portability fix for lack of "file attributes" command in Jim Tcl, needed by fixup step at end of auto.def, where *.in scripts get handled, losing the +x bit set in Fossil. check-in: 78bb5a4cca user: tangent tags: trunk
00:53
Updated SIMH to tip-of-master check-in: c331a1d356 user: tangent tags: trunk
2020-04-19
23:47
Updated Autosetup to tip-of-master. ("0.6.9+") check-in: 32f74149a0 user: tangent tags: trunk
23:46
First pass at an updated ChangeLog.md file for the upcoming release check-in: 503a697688 user: tangent tags: trunk
23:41
Merged in trunk changes, leaving only the dtach changes in this branch. Leaf check-in: 16b4f0c7e2 user: tangent tags: screen-mgr-none-dtach
23:37
Creating $prefix/run on "make install" for use by some of the SCREEN_MANAGER settings. check-in: b05c595e2c user: tangent tags: trunk
23:35
Merged the warning about Ctrl-A vs Ctrl-B for screen vs tmux down from the screen-mgr-none-dtach branch. check-in: 773103b2ea user: tangent tags: trunk
23:23
Cherry-picked the elements of branch screen-mgr-none-dtach that don't involve dtach, the only part of that branch that doesn't currently work. The main user-visible feature of this is the "none" option. check-in: 9d08417d8e user: tangent tags: trunk
23:04
Style pass on HACKERS.md: double space after period to single, Unicode characters where sensible (em dashes, curly quotes, ellipses...) and Markdown style tweaks. A few typo fixes and such as well. check-in: e71e805b5f user: tangent tags: trunk
22:03
The build system now detects the availability of Python 3 and prefers it if available. check-in: d07b6b46f9 user: tangent tags: trunk
2020-03-24
23:50
Add ".decode()" to all uses of self_child.{before,after}. Now everything builds under python3. Closed-Leaf check-in: 9b105fe0f5 user: poetnerd tags: os8-run-python3
2020-01-27
18:41
Clarified that SCREEN_MANAGER=none is for interactive use only in the README.md file, and made a test for this high up in the pidp8i script. check-in: bf005a02cd user: tangent tags: screen-mgr-none-dtach
18:37
Moved the dtach socket from /tmp to $prefix/run. systemd does strange things with /tmp, and systemd likes "run" for files like this. check-in: d80f67fef7 user: tangent tags: screen-mgr-none-dtach
17:45
Allow SCREEN_MANAGER=none mode to work under systemd: don't redirect commands through systemctl if isatty. check-in: 31a8e26aa0 user: tangent tags: screen-mgr-none-dtach
17:33
Fixed a whitespace bug in the method dtach mode uses to extract the PID for passing to systemd, if present. check-in: 021f889a86 user: tangent tags: screen-mgr-none-dtach
17:32
Removed -E mode from the dtach call in the pidp8i script: we *want* to be able to detach from the terminal. This should not interfere with terminal escapes from the simulator since dtach should be scanning for this only from the terminal *input* side. If someone comes up with a reason that SIMH or the simulated software needs Ctrl-\ for its own purposes, we can change the detach character to something else. check-in: e13467f10a user: tangent tags: screen-mgr-none-dtach
17:27
Installing a default etc/pidp8i.rc file if it doesn't already exist so users will have an example to work from. check-in: b9f771a73b user: tangent tags: screen-mgr-none-dtach
17:26
Changed -A mode in the dtach command in bin/pidp8i in SCREEN_MANAGER=dtach mode to -n: when running under systemd, there is no controlling terminal, so there is nothing to detach *from*. tmux and screen handle this automatically, but dtach has to be told. check-in: a7e811e6bf user: tangent tags: screen-mgr-none-dtach
2020-01-26
21:48
Whitespace fix check-in: e7411b636d user: tangent tags: screen-mgr-none-dtach
21:47
Markdown fix check-in: 936d63bd1c user: tangent tags: screen-mgr-none-dtach
21:46
Improved explanation of new SCREEN_MANAGER=dtach option. check-in: 02377ee417 user: tangent tags: screen-mgr-none-dtach
21:34
URL fix check-in: 07a0439868 user: tangent tags: screen-mgr-none-dtach
21:33
Tweaked a potentially confusing message output from "pidp8i stop". check-in: d044732095 user: tangent tags: screen-mgr-none-dtach
21:32
Added the SCREEN_MANAGER=dtach option check-in: dd5ad30192 user: tangent tags: screen-mgr-none-dtach
20:53
Added the SCREEN_MANAGER=none feature, being an alternative to "make run" for running the simulator hard-attached to the local terminal while still making use of the media in the install tree, rather than the pristine pre-install versions. check-in: b6e58203de user: tangent tags: screen-mgr-none-dtach
2020-01-14
15:26
Fixed an incorrect line break in os8-run.md check-in: 059aac0685 user: tangent tags: trunk
2019-10-21
04:34
Fixed some heading levels in the top-level README.md file check-in: a8298c604e user: tangent tags: trunk
2019-10-05
11:27
Merged pidp8i-tmux down to trunk check-in: be3a3d9bd0 user: tangent tags: trunk
11:17
Merged usb-floppy down to trunk check-in: 348a62931c user: tangent tags: trunk
2019-10-04
18:53
Move README.md runtime configuration section below compile configuration section. Closed-Leaf check-in: 3d0d5dc385 user: ryan tags: pidp8i-tmux
18:12
Added option to allow the pidp8i screen session to be managed by tmux(1) instead of screen(1). This introduces a new optional sourcable runtime configuration script, pidp8i.rc. check-in: 3df1c859f7 user: ryan tags: pidp8i-tmux
16:38
Added udev rules to allow mounting media from disks on USB floppy drives. Closed-Leaf check-in: b33153775e user: ryan tags: usb-floppy
2019-09-22
08:48
Added "bsdmake" to the list of "make" flavors checked for by tools/mmake. The PiDP-8/I build system won't build with BSD make, but these scripts may be used in other projects, and BSD make does understand the -j option. check-in: eec38b61e1 user: tangent tags: trunk
08:46
Quoted an argument to "test -z": if the arg is empty, it must be quoted to give an empty argument rather than just disappear in the shell processing. check-in: 8eab979d44 user: tangent tags: trunk
2019-09-10
22:51
Explained why tab size 4 with spaces is important in the C style guide. check-in: 530ae2d758 user: tangent tags: trunk
21:47
Added forward link to info on starting OpenSSH on a Pi within the top-level README.md file. check-in: 579e02166b user: tangent tags: trunk
21:45
Removed a few stale references to Zip file source tree downloads in the top-level README.md: we removed those links some time ago after getting a complaint about such files missing +x perms on things like the configure script. check-in: b3d05a02f0 user: tangent tags: trunk
21:43
Added some forward references within the top-level readme, for those reading it online. check-in: c5b1607ded user: tangent tags: trunk
2019-09-03
00:01
Added prism.js, shortly to be used by the skin for syntax highlighting in repo code displays. check-in: 27d9da9dbe user: tangent tags: trunk
2019-08-18
00:57
Tightened up the Fossil vs Git stuff in HACKERS.md, added a bit more Fossil help, added some links to external help, and reorganized the top level sections to flow better. check-in: ce1fca0017 user: tangent tags: trunk
2019-08-17
23:15
Merged the use of libbcm_host from trunk with Oscar's new GPIO pull up/down setup code to get the best of both worlds. This requires a version of libbcm_host that was only just released: https://github.com/raspberrypi/firmware/issues/1161 check-in: 1eee471981 user: tangent tags: pi4-gpio-clean
2019-08-16
00:50
Changed all references to "FOCAL 69" to "FOCAL,1969", and linked to the new "[Running FOCAL,1969]" wiki article which explains why this naming difference matters. check-in: d10da9f386 user: tangent tags: trunk
2019-08-15
22:49
Updated the docs talking about Fossil 2.x binaries now that Buster is out, shipping Fossil 2.9. check-in: 062d059f8a user: tangent tags: trunk
00:22
Added support for Pi 4 GPIO, based on code the Raspberry Pi Foundation published: https://github.com/RPi-Distro/raspi-gpio/commit/80fa7d04eafb3ea34fc6f2d32de5f1873b5fb369 This check-in is based on a version of gpio-common.c.in posted to the PiDP-8 Google Group by Oscar Vermeulen, which is why we're giving him credit for this check-in, even though I (tangent) have done quite a lot of changes to that code, mainly to match the existing code style. This is a branch because it conflicts with the current tip-of-trunk and because it's not yet tested on a Pi 4. It is unknown whether this branch will end up overriding the method we're using on trunk for Pi 0-3 or if we will instead wait for the Foundation to publish a new libbcm_host that obviates some of what this check-in does. Closed-Leaf check-in: bd10d4dde2 user: vermeulen.oscar tags: pi4-gpio-hack
2019-08-14
23:43
Create new branch named "pi4-gpio-hack" check-in: 9a444fb597 user: tangent tags: pi4-gpio-hack
2019-08-13
04:58
Clarified the tarball unpacking command in the top-level README.md. check-in: 74ae8b2240 user: tangent tags: trunk
2019-08-11
03:37
Assorted improvements to the top-level README.md file. check-in: c3f1846968 user: tangent tags: trunk
2019-08-09
10:57
Added link to "Fossil Versus Git" article from our HACKERS.md, near where we are making similar (but less detailed) arguments. check-in: 1be7a95d8e user: tangent tags: trunk
09:02
Updated Autosetup. This is mainly an update to Jim Tcl 78 check-in: bc107cc50c user: tangent tags: trunk
00:39
Removed +x bit on files that don't need to be executable check-in: 453bb7afc7 user: tangent tags: trunk
2019-08-08
08:40
Fixed a documentation bug (./configure --lowercase=none is actually =pass) and did a clarity pass on the surrounding text while in there. check-in: 87616c6220 user: tangent tags: trunk
2019-08-03
23:36
Small fixes to previous for the non-Pi case. check-in: b40c2f5f83 user: tangent tags: trunk
23:31
Calling bcm_host_get_peripheral_address() in libbcm_host.so from libraspberrypi-dev instead of the hard-coded version we had before, which was apparently copied from old versions of the Pi developer docs. Now following the current advice: https://www.raspberrypi.org/documentation/hardware/raspberrypi/peripheral_addresses.md Doing this in the hopes that it fixes the compatibility problem with the Pi 4, but if it doesn't, this is probably the correct thing anyway. Tested with a Pi 3B+, so checking it in straight on trunk. check-in: 55cfea5027 user: tangent tags: trunk
2019-07-21
10:13
Simplified the logic in tools/mmake for detecting whether GNU make is called as "gmake" or as just "make". check-in: fc2a0c1c8f user: tangent tags: trunk
2019-05-22
19:19
Removed the handler for "freeze display on STOP" to match Ian Schofield's original "LED dithering" ILS-lite patch for the Pi Zero. Leaf check-in: 7d1cd49fe2 user: tangent tags: pi-zero-ils
11:58
Untested application of Ian Schofield's LED dithering patch, which replaces the NLS mode with a different PWM-based incandescent lamp simulator scheme than either his original ILS or my "new ILS," intended to give much the same effect while using less host CPU power, so that it can run on a Pi Zero. This checkin is very different from the patch as posted on the mailing list, but I *think* it implements the same core algorithm. It's untested because while I have a PiDP-8/I front panel and a Pi Zero W here, I don't want to tear my PiDP-8/I apart to put the two together. That's and many other reasons are why this is on a branch. check-in: de6d1f5a43 user: tangent tags: pi-zero-ils
11:03
Removed an obsolete FIXME comment check-in: 0d1ada3484 user: tangent tags: trunk
11:01
Added a delay value in the STOP mode code path to avoid pointlessly burning host-side CPU cycles while waiting for the user to hit CONT or START on the front panel. Suggested by Ian Schofield. check-in: 46b8e18352 user: tangent tags: trunk
2019-05-18
20:31
Added link to Balena Etcher from doc/OS-images.md check-in: 78e77bf3f0 user: tangent tags: trunk
20:30
Another clarity pass on doc/OS-images.md check-in: 824c33fa11 user: tangent tags: trunk
20:29
Assorted tweaks to doc/OS-images.md check-in: b20ee14442 user: tangent tags: trunk
2019-05-17
11:25
Clarified the "motivation" at the top of doc/os8-run.md check-in: ecff080a2b user: tangent tags: trunk
2019-05-15
18:35
Grammar fix check-in: 0a67aee2f9 user: tangent tags: trunk
18:34
More --enable-savestate doc improvements check-in: 59efb347f7 user: tangent tags: trunk
18:29
Clarity tweak to the --enable-savestate doc check-in: 8a91c99445 user: tangent tags: trunk
2019-05-11
21:49
Another systemd workaround for WSL check-in: 91ff28ae9d user: tangent tags: trunk
20:19
Fixes to bin/pidp8i for systems that either have no systemd or where (as on WSL) it's broken. In these cases, the script approximates a SysV init script. check-in: 279555ae38 user: tangent tags: trunk
20:18
Fix for Cygwin "which" in bin/pidp8i: unlike typical implementations, it gripes on stderr when it can't find a match in the PATH. Sending stderr to /dev/null. check-in: 15389943a9 user: tangent tags: trunk
18:35
Added all of the files renamed in [1860880163] to *.in to the Makefile's INFILES variable, so we autoreconf when any of them get touched. check-in: c67bd86630 user: tangent tags: os8-run-python3
18:32
Changed xrange() call to range() in class simh to be compatible with Python 3. check-in: 6d23ecf72c user: tangent tags: os8-run-python3
18:25
The configure script now detects whether Python 2 or 3 is installed, and what its binary is called. If both are installed, it prefers Python 3. This then substitutes the value found into all scripts and module shebang lines that previously hardcoded "/usr/bin/env python". With this move, several files got renamed to *.in, as they previously had no other reason to be treated as Autosetup templates. check-in: 1860880163 user: tangent tags: os8-run-python3
16:25
Updated the discussion of systemd in the top-level README.md file: it was written in terms of the pre-release trunk implementation. We should have made similar changes shortly before release, but overlooked it. check-in: 1f0cad3572 user: tangent tags: trunk
15:33
URL update check-in: 89e22f5975 user: tangent tags: trunk
15:33
Merged in trunk changes check-in: 19490adbd4 user: tangent tags: os8-run-python3
15:17
Assorted small updates to doc/class-simh.md check-in: b4b89f2f1e user: tangent tags: trunk
13:03
Added TECO Pi macro creation credit to bin/teco-pi-demo. check-in: 57ccbf54aa user: tangent tags: trunk
2019-04-26
16:19
Updated to latest Autosetup master: my @include and @define features were merged upstream, and it improves syntax error detection for @if. check-in: fb4e965288 user: tangent tags: trunk
2019-04-25
13:02
Added the Orientation section to the top-level README.md file and simplified the Prerequisites section following it. check-in: 8f7a8e5e59 user: tangent tags: trunk
10:34
Math error fix in ChangeLog.md check-in: 5bd81437e7 user: tangent tags: trunk
10:29
Added -y to an apt-get command in tools/bosi check-in: 04cce6c025 user: tangent tags: trunk
09:46
Merged trunk changes for v20190425 into release branch check-in: 2e08e8ff1a user: tangent tags: release, v20190425
09:40
Small fix to tools/mkrel. check-in: 07a540166c user: tangent tags: trunk
09:40
Released v20190425 check-in: 1999bfb59b user: tangent tags: trunk
09:26
Expanded glob in previous to cover v3d.rk05 as well. check-in: 93796e07f6 user: tangent tags: trunk
09:25
Updated tools/publish-os8 for the new OS/8 RK05 media names. check-in: 3d717c6324 user: tangent tags: trunk
08:56
Changed the systemd service from "Type=oneshot" to "notify" allowing us to use systemd-notify to tell it when the service has successfully started and communicate the screen(1) PID to it. This greatly improves the reliably of systemctl commands on the background service. This solves some of the problems that lead to ticket [ce9ea9c96]. check-in: f9a56691d8 user: tangent tags: trunk
2019-04-24
11:12
Adjusted the "make release" process so that the version tag ends up on the release branch, not on trunk, so that "fossil up vYYYYmmDD ; fossil up" results in the user staying on the release branch. If vYYYYmmDD is not the current release, it will switch them to the current release. check-in: 27340aeebd user: tangent tags: trunk
2019-04-22
16:17
Set Fossil's "pull only" setting on the opened Fossil repo in tools/bosi so users can make local checkins without getting warnings about lacking permission to push. check-in: dcb3d283aa user: tangent tags: trunk
03:16
On "make install" the *.script files have their savestate directories changed to $prefix/share/save, rather than depend on %HOME% in that condition. check-in: 5846d941cb user: tangent tags: trunk
00:14
Reworked the PiDP-8/I custom SIGINT handler in terms of SIGTERM now that SIMH handles that properly. check-in: f4e7086472 user: tangent tags: trunk
00:04
Extracted common elements of most boot/*.script files to boot/common.script.in and applied final changes that allow SIGTERM to work as we expect. Closes [ce9ea9c96]. check-in: dc8791be53 user: tangent tags: trunk
2019-04-19
08:45
Updated SIMH again to get distinct SIGTERM handling. (Prior versions treated it the same as SIGINT, which is wrong.) check-in: 61903edc63 user: tangent tags: trunk
2019-04-18
12:32
The new "pidp8i stop" implementation failed on a real PiDP-8/I because scanswitch fails when the simulator's running. Switched to a different method for detecting which simulator executable is running. check-in: 10339e6b1a user: tangent tags: trunk
11:33
Rewrote "pidp8i stop" to send a SIGINT, wait 2 seconds, then SIGKILL to make use of the new savestate mechanism and hopefully close ticket [ce9ea9c96a]. (Checking it in to try on an actual PiDP-8/I next.) If savestate mode is disabled, we skip the first two steps and go straight to SIGKILL: this could lose data, but until SIMH gets proper SIGTERM support, this is the best we can do. check-in: 98a0b0305a user: tangent tags: trunk
11:29
Fixed a few bugs in the new savestate.script: the ON ERROR handler doesn't help, and Ctrl-E CONT would cause a reboot. check-in: 780af010e3 user: tangent tags: trunk
10:12
Removed a pointless "ECHO" from the new boot/savestate.script file. check-in: 4810c085f8 user: tangent tags: trunk
10:09
Added the --enable-savestate configuration option, conditionally making use of SIMH's SAVE/RESTORE feature and the new Autosetup @include/@define feature to provide parameterized core/register/device state saving and restoration on simulator restarts. check-in: 555b5e5f8d user: tangent tags: trunk
10:07
Added @include and @define features to Autosetup's template file processor. This is being pushed upstream as the template-include branch, but we're checking it in here rather than wait for our PR to be accepted because a) we don't want to wait; and b) it might be rejected, and our subsequent checkin requires this feature to work as it currently does. check-in: 3ea0b1ea99 user: tangent tags: trunk
07:25
Updated SIMH again: we need the recent fix to ON ERROR handling. check-in: e5ae989411 user: tangent tags: trunk
06:17
Fixed something checked into previous: we added $0 to a "chmod -x $(stuff)" line so there was always something to chmod -x if the subshell returned nothing to avoid a complaint from chmod about getting no args, but $0 should always have +x. Changed it to auto.def, something that should never be +x. check-in: 7e0d206df8 user: tangent tags: trunk
06:15
Updated Autosetup to tip-of-master (post 0.6.9) in preparation for adding a new feature to it. This changes the syntax for @if expressions, so this checkin includes updates to the two affected boot/*.script files. check-in: 190c00fe14 user: tangent tags: trunk
2019-04-16
11:51
"make run" now uses scanswitch to detect lack of GPIO, so it runs the simulator as "pdp8" not "pidp8i-sim" when there is no PiDP-8/I panel. check-in: cd3145ad2d user: tangent tags: trunk
11:49
More print() fixes, this time for os8-cp. check-in: e05a907c3f user: tangent tags: os8-run-python3
11:38
Fixed a case where pexpect is giving us a byte string, which annoys Python's regex matcher. Explicitly converting it to an ASCII text string. It's basically a null operation, but it makes Python 3 happy. check-in: 560dc8061a user: tangent tags: os8-run-python3
08:24
scanswitch was returning -1 on no GPIO, which is 255 on macOS at least, which means the test for "no GPIO" in bin/pid8pi wouldn't get hit properly. Returning 127 as that script expects rather than change the script, since the script has established a kind of contract. check-in: 07be964914 user: tangent tags: trunk
2019-04-15
07:33
Merged in the tiny trunk differences relative to the SIMH update accidentally checked in on this branch. Now this branch contains only the Python 2-ism fixes relative to trunk. check-in: 18d667556a user: tangent tags: os8-run-python3
07:25
Updated SIMH to latest upstream. No functional change relative to prior source base as far as I can tell from the commit history since the last update. check-in: fc1b9bc0e9 user: tangent tags: trunk
06:39
Opening class simh log files in binary mode to avoid a problem introduced by an unbelievably screwy change in Python 3 vs 2: https://stackoverflow.com/a/5513856/142454 check-in: f921ba10f9 user: tangent tags: os8-run-python3
06:33
Replaced use of dict.iteritems() with items() check-in: 394ecc357c user: tangent tags: os8-run-python3
06:27
First steps to getting os8-run working with Python 3: this is all of the print() calls. (print() is a function in Python 3, not a keyword as in prior versions, so it requires parens around its arguments, always.) This is the start of a new branch because this won't be the only thing needed to get these programs working under Python 3. This is needed on my macOS box because Anaconda Distribution installs Python 3 as "python", which is arguably wrong, but hopefully we can get os8-run and its helper libraries into a state where they run on both versions so this won't matter any more. This checkin *also* accidentally includes a SIMH update, because I was in the middle of the SIMH update and got distracted by fixing the Python 2-isms and accidentally checked the SIMH changes in as well. The SIMH update should have been on trunk only. I'll fix that on this branch a bit down the line. check-in: 05bd569e5e user: tangent tags: os8-run-python3
05:40
Updated bosi script to point at the Fossil 2.8 binary for RPi check-in: 5e51328bc2 user: tangent tags: trunk
2019-04-04
04:09
Cleanup of all-tu56.os8 to perhaps head off some other race condition. There was a v3f td128 that blew out because of a mounted dt device -- a heisenbug, not reproducible. I've carefully limited the attachment of the dt device, and explicitly detached it now. check-in: 993ffbdfd3 user: poetnerd tags: trunk
2019-03-24
07:15
Another simh.os8_send_cmd() header comment rewrite. check-in: f02a71584b user: tangent tags: trunk
06:52
Fixed a couple of locations where the prompt string passed to simh.os8_send_cmd() wasn't being escaped correctly, potentially leading to a breakage in the caller's state machine. check-in: e8a6d0e354 user: tangent tags: trunk
06:47
Increased the default timeout to simh.os8_send_cmd() from 30 to 60 seconds in response to a report from a Raspberry Pi A+ user that the media build process can time out when building with the slow TD8E device. check-in: 614c94da4c user: tangent tags: trunk
06:46
Rewrote the simh.os8_send_cmd() function comment for clarity and completeness. check-in: 0043a185db user: tangent tags: trunk
05:47
Added explicit license grant to HACKERS.md check-in: 5ba94a47d1 user: tangent tags: trunk
2019-03-21
00:09
Add error detection for LINE TOO LONG IN FILE to simh.py. Fixes bug f937eb1e32. check-in: 69f9981b49 user: poetnerd tags: trunk
2019-03-19
05:29
Added a section on CR+LF handling to the CC8 manual. check-in: c8664e03e3 user: tangent tags: trunk
05:20
Several small improvements to the CC8 manual check-in: 3cf04448ad user: tangent tags: trunk
04:29
Added documentation for putc() and fputc() in doc/cc8-manual.md. check-in: 5a0c639bfe user: tangent tags: trunk
2019-03-17
04:57
Clarity fix check-in: ffce738e78 user: tangent tags: trunk
04:55
Merged the cc8-octal-output branch down to trunk. check-in: 96ed492d9f user: tangent tags: trunk
04:51
Merged in trunk improvements Closed-Leaf check-in: 9492282084 user: tangent tags: cc8-octal-output
04:41
Updated ChangeLog for upcoming release to March, February having passed. check-in: 617783a44d user: tangent tags: trunk
04:40
Updated the README.md copyright year to 2019 check-in: 9959db70c3 user: tangent tags: trunk
2019-03-11
00:56
Checkin [a96f0c5f20] missed a location where the old, incorrect "MQO" operator definition in the OS/8 CC8's code generator wasn't changed to the corrected mnemonic, MQA. Bug reported by Ian Schofield. check-in: 9074f0ba54 user: tangent tags: trunk
2019-03-02
17:13
Added a named anchor to a document check-in: 97ee3f6977 user: tangent tags: trunk
2019-02-22
11:40
Fleshed out the discussion of malloc() in the CC8 manual, turning it into a new sub-section, "Fun Trivia: The History of malloc()". check-in: cb743198fd user: tangent tags: cc8-octal-output
11:12
Found malloc() in UNIX V7, so added that info to the CC8 manual's poin on "no malloc() in CC8". check-in: 4b64cfdc4c user: tangent tags: cc8-octal-output
2019-02-21
12:34
Updated ChangeLog check-in: a6371d4cad user: tangent tags: cc8-octal-output
11:55
Many improvements to the CC8 user manual. Basically, I began re-reading it from the top, improving it along the way with my new understanding of CC8. check-in: 0316450b57 user: tangent tags: cc8-octal-output
09:08
Rewrote the history section at the top of the CC8 manual to give a better arc. check-in: 694c027652 user: tangent tags: cc8-octal-output
08:55
Updated the CC8 user manual to cover the new octal output default. check-in: 84f718936e user: tangent tags: cc8-octal-output
08:12
Squished the bug that prevents this branch from generating code that runs properly: I overlooked the #defines in libc.h which are treated by the compiler as text, not as C integers, so that integer indices emitted in the generated SABR code for calling into LIBC were in decimal but were then interpreted by SABR as octal. If this gave syntactically correct code, it would call the wrong function for every function past index 7. The fact that we never saw it generate syntactically incorrect code merely reflects the fact that we didn't happen to call any functions that used decimal indexes that have no corresponding octal interpretation, a possibility only 1/5 of the time. (e.g. 29) check-in: d5ab8f91d9 user: tangent tags: cc8-octal-output
2019-02-20
12:21
Merged the CC8 ABSYM and doc changes from trunk into this branch to reduce pointless differences. check-in: f8a2346503 user: tangent tags: cc8-octal-output
12:13
Comment improvement check-in: 4693b7fe41 user: tangent tags: trunk
12:10
Reverted the changes to the ABSYM declarations in init.h, header.sb, and libc.c, and documented the reason why the declarations in these files do not all match, and why they cannot be packed up into the top of any zero page involving LOADER.SV. check-in: 4dfc549077 user: tangent tags: trunk
2019-02-19
11:30
Ian smacked me with a clue-bat: there are *several* zero pages, and their usages do not conflict! Fixed several bits in the CC8 user manual that resulting from this confusion. (This also explains why the discrepancies between INIT and LIBC's globals don't matter: they're in different fields!) check-in: 3ae7245274 user: tangent tags: trunk
10:44
First pass at making CC8 emit octal in SABR output only, and to convert the decimal constants in the static SABR code within header.sb, libc.c, and init.h to octal. This also gets rid of all the DECIM directives, since SABR defaults to OCTAL mode. This is on a branch because the result doesn't yet run correctly, and I'm out of time trying to figure out why. check-in: ce071e8713 user: tangent tags: cc8-octal-output
09:33
Found yet a *third* copy of the CC8 ABSYM table! These fixups allow the cross-compiler to produce code that links to LIBC properly. That then highlit some differences in the INIT code between header.sb and init.h, the latter of which has both more code and more globals. Mainly fixing this involves packing the new globals up tight against those that init.h shares in common with header.sb and libc.c, but also a change to the docs to reduce the space available to the [f]printf() buffer yet again. check-in: 778e8ff4ec user: tangent tags: trunk
08:48
Fixed indents in CC8 init.h and header.sb: I've been fighting with these hard tabs all night, and I'm sick of it. They're space indents now, per HACKERS.md. check-in: e289bdbe25 user: tangent tags: trunk
08:32
Merged cc8-libc-zp-reorg branch down to trunk. It appears to be stabilized now. check-in: b0097f70c6 user: tangent tags: trunk
08:01
Merged VC8E OPDEF stuff up from trunk to reduce unnecessary diffs Closed-Leaf check-in: 2d4b00518f user: tangent tags: cc8-libc-zp-reorg
07:58
Merged VC8E OPDEF feature for CC8 LIBC down from the cc8-libc-zp-reorg fix, where it's out-of-place. check-in: 23f886388e user: tangent tags: trunk
07:04
Fixed a CPAGE directive in libc.c that could potentially lead to the LIBC entry point call table being split across pages. check-in: 64f9c6e820 user: tangent tags: cc8-libc-zp-reorg
03:55
Checkin [228e1c8b3a] added a comment ending in an exclamation point to HEADER.SB, which is perfectly legal in SABR, but it breaks a hidden contract between the CC0 and CC2 stages of the native compiler, wherein a '!' character terminates the preamble part of the CASM.TX output! This caused un-assemblable SABR output, because everything after that in HEADER.SB got chopped off. (Actually, it was probably treated as the start of the first inline assembly block.) check-in: ae9dda1ecb user: tangent tags: cc8-libc-zp-reorg
03:31
Decided to move the LIBC globals previously moved into 10002 thru 10007 to the end of the field 1 zero page, so we can dedicate these 8 locations for user code. Otherwise, user code has no zero page locations they can safely use, which seems rather grabby of us. check-in: ca6257496b user: tangent tags: cc8-libc-zp-reorg
03:13
Cherrypicked [52aa88863c] onto trunk, primarily to ensure that those with recent trunk checkouts don't get unexpectedly sent to branch cc8-cleanups. This change is harmless to have in both places. check-in: 0c7432da84 user: tangent tags: trunk
02:50
Checkin [1ea9133a37] is incomplete: the CC8 native compiler's HEADER.SB file contains a duplicate of the ABSYM declarations in libc.c, shared between the two CC8 compilers; they need to match! It's not clear to me the consequences of these two not matching, since our tests didn't fail earlier, but there's also no good reason for these to differ. Added comments to reduce the chance of these two pieces of code drifting apart again. check-in: 228e1c8b3a user: tangent tags: cc8-libc-zp-reorg
02:39
Added OPDEFs for DILX, DILY, and DIXY instructions to VC8E, shortly to be used within CC8's dispxy() LIBC routine. check-in: 281ab90846 user: tangent tags: cc8-libc-zp-reorg
02:06
Comment fix check-in: 52aa88863c user: tangent tags: cc8-libc-zp-reorg
01:31
Grammar fix check-in: b2f266258f user: tangent tags: cc8-libc-zp-reorg
01:23
Moved [f]printf() buffer down into the otherwise sparsely used zero page, and rearranged the constants previously declared there to make better use of the space available. This then opens another half-page of space for the stack. Updated docs to cover all of this. EDIT: This is the start of a new branch because this checkin breaks some things, and some of the subsequent checkins destabilize CC8. I'm moving it to a branch until all that's fixed. check-in: 1ea9133a37 user: tangent tags: cc8-libc-zp-reorg
2019-02-13
19:13
Moved the "Strings are of Words, Not of Bytes or Characters" section of the CC8 user manual up within the document to be after the "Character Set" section, where it fits better. (This wasn't really possible back when the latter section was part of the stdio section.) check-in: 7f8d8bcff5 user: tangent tags: trunk
19:12
Added more detail about file I/O limitations to the LIBC user documentation section of the CC8 manual. (What used to be the "stdio" section is now broken up into several sections at the same level.) check-in: 23f92ab553 user: tangent tags: trunk
18:52
Rewrote the "Inline Assembly in the Native CC8 Compiler" section in the CC8 user manual after learning more about its behavior and limitations. check-in: 573aba2f6a user: tangent tags: trunk
06:13
Documented the new ./configure --boot-tape-* options, and updated some of the other configuration option docs in README.md. check-in: f5a05c7790 user: tangent tags: trunk
05:27
Passing --disable-cc8-cross now effectively sets --disable-os8-cc8. That wasn't necessary before, since we were distributing a pre-built version of the native CC8, but now that we're building it from source, we need the cross-compiler to produce cc8.tu56. check-in: ff7ab04cc3 user: tangent tags: trunk
2019-02-12
06:13
Updated ChangeLog.md to cover new CC8 work check-in: 1992d9b147 user: tangent tags: trunk
05:53
Moved the "TC08 vs TD8E" and "V3D vs V3F" text from the ChangeLog.md file to the wiki, and referenced it from the ChangeLog. check-in: 01e0bc0d69 user: tangent tags: trunk
05:15
Clarified the tail end of the concrete memory map example in the CC8 user manual. check-in: 3f8a6d035d user: tangent tags: trunk
05:13
Fixed a field/page confusion check-in: 4037a35485 user: tangent tags: trunk
05:11
Added a missing LOADER prompt in previous check-in: 7e3988ba1e user: tangent tags: trunk
05:11
Fixed up a confusing use of LOADER/G in the new Memory Model stuff in the CC8 user manual. check-in: 0b061209fc user: tangent tags: trunk
05:03
Decided to put the "1" back at the beginning of the addresses for the UDF ranges in the CC8 manual: it's a pretty good bet that the UDF will remain field 1 despite LOADER jiggery-pokery. check-in: d166926273 user: tangent tags: trunk
04:51
Changed all of the bare CRs in the output from the final stage of the OS/8 CC8 (CC2.SV) to CRLFs. This solves a problem where PIP couldn't read the input file correctly, preventing us from using os8-cp in ASCII mode to copy the CC.SB file out to examine it in a civilized text editor. check-in: 529c0ee697 user: tangent tags: trunk
04:46
Changed all uses of fprintf() in src/cc8/os8/p8.c that don't use printf() format specifiers to fputs() instead, saving 200 core memory locations due to the lower amount of stack manipulation required to call a straight function with a single parameter. check-in: 0b3919909f user: tangent tags: trunk
04:08
Major improvements to the Memory Model section of the CC8 user manual following more RTFMing and experimentation. check-in: 8a9fab096f user: tangent tags: trunk
03:05
Much more detail in the Memory Model section of the CC8 manual after spending some time RTFMing and trying to figure out how CC8 and the stack it's built atop (FORTRAN II, SABR, LOADER) lay things out in memory. check-in: e5dc02cc2d user: tangent tags: trunk
01:23
Documented the breakdown of Field 1 usage by CC8 check-in: f289a33de1 user: tangent tags: trunk
01:03
src/cc8/os8/header.sb was using size-4 hard tabs to emulate size-8 hard tabs, causing ugly output when you TYPE CC.SB or HEADER.SB on the OS/8 side. Changed these to size-8 hard tabs. Also added a Vim modeline to the top of the file to ensure that Vim (at least) will preserve our intent here. check-in: e7dd3c2c38 user: tangent tags: trunk
01:01
Added a paragraph explaining the existence of TADI and such in CC8 output. check-in: 571e4b9d7f user: tangent tags: trunk
2019-02-11
09:13
Fixed a bug introduced by [c20811f34c] affecting uses of printf "%d": the implementation wasn't passing "10" as the new radix parameter. It wasn't caught because CC8, being a K&R dialect, doesn't need or support function prototypes. check-in: a230f38ad3 user: tangent tags: trunk
08:06
Clarifications to poetnerd's recent additions to the CC8 manual check-in: 970e63c338 user: tangent tags: trunk
05:41
A few minor updates: Native compiler needs 20K; Added mention of the current state of the pre processor, I.E. it does have some support in both compilers, including #asm. check-in: b76c7b756c user: poetnerd tags: trunk
05:15
Improved the section on Optimization in the CC8 manual check-in: fbb5c3e12f user: tangent tags: trunk
05:06
Typo fix check-in: 35b5b4b6f0 user: tangent tags: trunk
05:05
Added "Predefined OPDEFs" section to the inline assembly section of the CC8 manual, documenting the op-codes CC8 predefines in SABR output. check-in: 4a52fc8c15 user: tangent tags: trunk
04:30
Fixed some nonstandard OPDEFs in the SABR code generated by CC8: its "MQA" is normally called "ACL", and its nonstandard "MQO" opcode is what's normally called "MQA". check-in: a96f0c5f20 user: tangent tags: trunk
04:18
sprintf() now returns -1 when it hits an unknown format specifier, as cppreference says it should. This is actually smaller than the prior code, which incorrectly returned the number of characters written so far and then failed to terminate the output string. cppreference doesn't say we should terminate the output string in this condition, but the error return is enough to clue the user in that they shouldn't use the output string. check-in: 7e5e3a226d user: tangent tags: trunk
04:16
Added note about "no heap/malloc" to the CC8 manual check-in: 47f3716a0e user: tangent tags: trunk
03:49
Comment typo fix check-in: 433b6f5813 user: tangent tags: trunk
03:40
Added %X support to CC8's sprintf(), now that %x means "lowercase hex." check-in: 99491648cd user: tangent tags: trunk
03:31
The CC8 LIBC's itoa() function now has a radix parameter, like the function of the same name common in Windows and DOS C compiler standard libraries. This also effectively exposes the previously internal itoab() function, itoa() basically acting as a wrapper for it for bases other than 10 and for positive values in base 10. That is, the only difference between the two is for negative values in base 10. check-in: c20811f34c user: tangent tags: trunk
2019-02-10
06:01
Grammar and clarity pass on the CC8 user manual check-in: 650ad501b1 user: tangent tags: trunk
05:47
Merged the content of the "Known Bugs in the OS/8 CC8 Compiler" section of the CC8 manual down into the new LIBC reference. check-in: 6edb45e03f user: tangent tags: trunk
05:39
Markdown formatting fix check-in: ec6d43e1ec user: tangent tags: trunk
05:38
URL fix check-in: 681a96c67d user: tangent tags: trunk
05:37
Rewrote much of "The Native OS/8 Compiler" intro material in the CC8 manual to reflect the new os8-run world, free of a pre-built cc8.tu56 image. Also removed cc8-tu56-update, referred to by that section, since it's now replaced by media/os8/scripts/cc8-tu56.os8. check-in: b58ecf4ec5 user: tangent tags: trunk
05:17
Typo fixes check-in: 92d5c4b19e user: tangent tags: trunk
05:14
Added note about lack of %ld in CC8 sprintf() check-in: e25e988ef8 user: tangent tags: trunk
05:08
Collapsed some introductory material in the CC8 manual together to flow better, and change all "I" either to "we" where blame-sharing seems advisable or to the names of particular people where credit direction is required. :) check-in: 6ff36e09c3 user: tangent tags: trunk
04:56
Moved a sentence down to make the CC8 doc flow better. check-in: f9acd37731 user: tangent tags: trunk
04:48
The documentation for the way fopen() in CC8's LIBC treats file name extensions was wrong. It may *still* be wrong, but I think it's *less* wrong, at least. check-in: daa54b854a user: tangent tags: trunk
04:38
Documented xinit() in the CC8 user manual. check-in: 7bde4d409d user: tangent tags: trunk
04:34
Added the "Pointers Wrap Around" section to the CC8 manual and referred to it from each function documentation where relevant rather than repeat the warning about pointer wrapping and 4096 word field sizes. check-in: bc9432c9fe user: tangent tags: trunk
04:09
Documented LIBC's strstr(), fixed a bug in its implementation discovered while comparing that implementation to our C reference, and clarified the whole "0-terminated word string" vs "NUL-terminated character string" thing. check-in: 3f02d1675d user: tangent tags: trunk
03:09
Documented revcpy(), strcpy() and strcat() in CC8's LIBC. check-in: fe8674b377 user: tangent tags: trunk
02:36
Clarified matters related to the stock CC8 include files libc.h and init.h in the manual. check-in: 8a7bc70515 user: tangent tags: trunk
02:25
The cc8-tu56.os8 script was not copying CCR.BI to DSK:, as earlier CC8 systems did. This invalidates all of the CC8-based test exemplars yet again. Sigh. check-in: 904e54195b user: tangent tags: trunk
01:58
Moved the inline assembly and calling convention section of cc8-manual.doc down to be near the Memory Model section, where it better belongs. Lots of improvements to the text after the move. check-in: f1e351cfb8 user: tangent tags: trunk
00:50
Added proper documentation for printf() and friends to cc8-manual.md. check-in: 6988e82dd0 user: tangent tags: trunk
2019-02-09
22:47
Documented memset() and memcpy() in CC8 LIBC. check-in: 0663863c87 user: tangent tags: trunk
21:10
Several more LIBC functions documented check-in: 3441874c6e user: tangent tags: trunk
18:53
URL fix check-in: 25556d8455 user: tangent tags: trunk
18:52
Explained why libc.h and libc.c are where they are in the source tree. check-in: c8f9757d87 user: tangent tags: trunk
18:30
Ian came up with a better optimization in the cupper vs while(toupper) loop so updated the related discussion in cc8-manual.md. check-in: 9ad642c82f user: tangent tags: trunk
18:17
Extracted the section on core memory layout from the middle of the discussion of the compilers to its own section and expanded on it with info about stack/global layout from a private email exchange with Ian. check-in: c24e79e916 user: tangent tags: trunk
17:52
Changed gets() in CC8 LIBC to return the passed pointer on success, as the Standard requires. Updated the docs to match. check-in: 479851471f user: tangent tags: trunk
16:14
Minor improvements to the new cupper() docs. check-in: cd7773a818 user: tangent tags: trunk
16:05
Rewrote the cupper() documentation in light of greater understanding of the code and some experiments. check-in: 52bdf1c613 user: tangent tags: trunk
14:57
Documented dispxy() in CC8 LIBC check-in: 5ca29ae1f2 user: tangent tags: trunk
2019-02-04
21:01
More minor text edits check-in: 46336e321a user: tangent tags: trunk
20:51
Fixed a few spelling errors in COPYING.md check-in: baf0b81b9f user: tangent tags: trunk
19:04
More work on the CC8 manual, mainly to cupper() and dispxy() check-in: 8e0263270e user: tangent tags: trunk
17:09
Major update to the CC8 manual. Improvements in many areas, but it's mostly focused on LIBC areas. check-in: d4e8a88805 user: tangent tags: trunk
2019-02-02
05:15
Assorted small improvements to the CC8 manual, mainly in response to the recent CC8-related ticket changes. check-in: 5474df892f user: tangent tags: trunk
05:12
Changed emphasis from the mailing list to the project forum in HACKERS.md. check-in: cf44ed935a user: tangent tags: trunk
04:44
More work on Ticket Processes. check-in: 6b135b2b1c user: tangent tags: trunk
04:34
Addeed Ticket Processes section to HACKERS.md check-in: 9e3f86d083 user: tangent tags: trunk
04:23
Drafty first draft of explanation of TD8E versus TC08, and V3D versus V3F. I expect this content, once understood by another, will be determined to be more appropriately put somewhere else. check-in: 002cb8eadc user: poetnerd tags: trunk
2019-01-31
21:59
Finished the first pass on the CC8 LIBC docs in cc8-manual.md. This adds *some* documentation for every function, without any intention that it be complete at this point. Some points previously made elsewhere within the document (mainly in the lists of limitatios) are moved into this new section. Also expanded the section on inline assembly and the CC8 calling convention, since figuring out as much of LIBC as I have revealed much to me as I went. check-in: 19339280aa user: tangent tags: trunk
16:21
Small improvements to the doc/cc8-manual.md intro material. check-in: acb19cdcd8 user: tangent tags: trunk
16:05
Renamed media/os8/patches/TECO-31.20.10M-5.05.patch8 to TECO-31.20.10M-v5.05.patch8 to match related patch files. check-in: fe41407d03 user: tangent tags: trunk
16:04
macOS curled some quotes in the new Markdown within cc8-manual.md. Grrr. check-in: 0aedc87d84 user: tangent tags: trunk
15:39
Large improvements to the CC8 manual: rewrote the history section, mentioned Bill Cattey's Small-C 85 update, added links, reorganized it to gather related sections better, and added the first small bits towards documentation of the standard library. check-in: f15c1fd1e5 user: tangent tags: trunk
14:16
Moved src/cc8/README.md to doc/cc8-manual.md. The other two CC8 README.md files remain behind, since they're small and need to be in-place. This top-level CC8 README is about to grow, hopefully to become a proper manual. check-in: 4cd53251ce user: tangent tags: trunk
05:39
I ran 50 tests through test-os8-run both on Mac and Pi. All seems well. Merging in Ian's cc8/cross updates. TODO: Update status of open bugs addressed by this update. check-in: 96176af114 user: poetnerd tags: trunk
04:21
Merge in current trunk. Test runs seem successful. Closed-Leaf check-in: ba538e6db4 user: poetnerd tags: smc85-cc8
2019-01-30
20:30
Another cc8/cross update from Ian Schofield. Addresses bug a4123bb743, making the cross compiler at last allow typed function declarations. cc8 now builds silently with -Wall. Supporting struct in the pdp-8 target had a storage management bug that is now fixed. The void type is now added to cc8. The resulting native C compiler for OS/8 is unchanged -- bit for bit identical, because that code does not use any of the enhancements to the cc8 cross compiler. check-in: dc687b9f08 user: poetnerd tags: smc85-cc8
05:13
Typo fixes check-in: 29330cbb14 user: tangent tags: trunk
03:12
Updated RPi Fossil binary to 2.7 check-in: ee9f707dd5 user: tangent tags: trunk
03:02
Markdown rendering fix in latest ChangeLog check-in: dd1dbf12f0 user: tangent tags: trunk
03:01
Updated the ChangeLog with the work done since December 10. check-in: e7486b378c user: tangent tags: trunk
02:52
Documented that --disable-os8-init now leaves INIT.TX and INIT.CM out of the disk image. It used to generated them but then not set the message to be displayed, arguing that you should be able to re-enable it later without regenerating the OS/8 media. check-in: 44b6675c0a user: tangent tags: trunk
02:22
Greatly simplified the log sanitizer regexes for the SIMH ATTACH commands in test-os8-run. This invalidates the whole test corpus. check-in: d2e9ed2424 user: tangent tags: trunk
00:22
The test-os8-run log sanitizer now suppresses the "Ctrl-F" message emitted by the latest SIMH console code, just merged in. Also cleaned up the formatting of the existing code in the log sanitizer. check-in: 18edbfc5a0 user: tangent tags: trunk
2019-01-29
22:03
Polishing pass on the ChangeLog.md file. check-in: 18d6b64b65 user: tangent tags: trunk
21:12
Added a link to the ChangeLog.md file from the release process doc. check-in: dabf2cb05b user: tangent tags: trunk
02:56
Updated SIMH to latest upstream check-in: f8dba703c8 user: tangent tags: trunk
02:43
Removed an empty line from SCP not present in upstream; same reason. check-in: 179af86b65 user: tangent tags: trunk
02:41
Moved check for argv[0] == pidp8i-sim down within SCP, partly because we were doing it before that was sanity-checked, but also because where it is right now causes a merge conflict on simh-update. check-in: 4ad492579e user: tangent tags: trunk
01:09
URL fix check-in: 05b9a8699c user: tangent tags: trunk
2019-01-13
15:17
Update of native OS/8 C compiler from Ian Schofield which include: Add string storage area in Field 4. Improvements to CC.SV to read file line by line, and to include a bit more preprocessor functionality: Add simple #define directive. (Warning! Quoted text is not ignored!) Ignores formfeed character. check-in: d72ed26926 user: poetnerd tags: smc85-cc8
2019-01-07
04:53
Branch turned off debugging in media/os8/scripts/cc8-tu56.os8. check-in: 2822a3aa53 user: poetnerd tags: trunk
04:45
Turn off debugging in cc8-tu56.os8 script. check-in: b087822359 user: poetnerd tags: smc85-cc8
04:40
Fix for ab0e67f1a5 merge in from smc85-cc8. Some sort of state dependent on the location of LIBC.RL was affecting the contents of the Native OS/8 C Compiler .SV files. So we carefully control where LIBC.RL will live before we use it. Tested by running test-os8-run with 200 randomly selected configs on both a Mac and on a Pi 3. check-in: dc82234d41 user: poetnerd tags: trunk
2019-01-06
20:55
Add building of cc8.tu56 to test-os8-run check-in: 90551a9abb user: poetnerd tags: smc85-cc8
20:53
Fix typo in comment. check-in: 065cf7ae2b user: poetnerd tags: smc85-cc8
2019-01-05
15:04
I think this fixes ab0e67f1a5. Some sort of state dependent on the location of LIBC.RL was affecting the contents of the Native OS/8 C Compiler .SV files. So we carefully control where LIBC.RL will live before we use it. check-in: bfc8be2109 user: poetnerd tags: smc85-cc8
15:02
Make cc8.tu56 dependent on the script that makes it. check-in: bd1a37f561 user: poetnerd tags: smc85-cc8
00:27
Redo build of cc8.tu56 with make and an os8 script. Let's see if another platform will render THIS dterministically. If not, then it's probably the SABR environment. check-in: 4a6b076744 user: poetnerd tags: smc85-cc8
2019-01-04
15:06
Merge in latest trunk. check-in: cc92f84b3e user: poetnerd tags: smc85-cc8
03:32
I mis-labeled the subprocess.call Exception. check-in: a062d7a937 user: poetnerd tags: trunk
02:29
New cc8.tu56, and complete refresh of tool chain to make it. What was in trunk would not build for a variety of reasons. This checkin fixes bugs: a3f875cd62 and c1719672d4. I was hoping it would fix ab0e67f1a5 (cc8-tu56-update nondeterministic) but it does not. check-in: 1f65fa2717 user: poetnerd tags: trunk
01:58
Clean up .pt files left behind in obj directory by os8_send_file. check-in: 2eeb7b7433 user: poetnerd tags: smc85-cc8
01:22
New cc8.tu56 made with updated cross compiler, cc8-to-os8 and cc8-tu56-update. check-in: 8ee2f6e46f user: poetnerd tags: smc85-cc8
2019-01-03
04:43
Merged in updates from trunk. check-in: 0dd42ebd59 user: poetnerd tags: smc85-cc8
04:42
Import code from lib/os8scripts.py to create a scratch copy of the system packs. This too may help with making cc8-tu56-update more deterministic, as reported in bug ab0e67f1a5. check-in: 976a9d275a user: poetnerd tags: smc85-cc8
04:38
Specify examples and libs in global at beginning of program. Use list of examples instead of a directory listing of them. Cut out the deletion of basic.c example we don't want. check-in: 7a99f02922 user: poetnerd tags: smc85-cc8
04:33
Minimal update to get this tool working, once one has a working cc8 cross compiler. Adds detection of failed sub process. Uses new name for system packs. check-in: 6b76f3e6d2 user: poetnerd tags: smc85-cc8
04:22
Fixed breakage that caused this tool to output nothing. check-in: 5273de10e2 user: poetnerd tags: smc85-cc8
04:21
Need to define NOASLD. Otherwise cross exits with status 1 and breaks cc8-tu56-update. check-in: b3e27d0d6f user: poetnerd tags: smc85-cc8
04:11
Updated behavior of --disable-os8-init to match broader expectations: No longer installs init.cm and init.tx if disabled. Affects the 4 tu56 images also built. Note that @OS8_OPTS@ was not being used to build the 4 tu56 images until now. I expected that it was, but never passed them in. This closes bug 9c8f0a8de5. check-in: 8c7d9ced2a user: poetnerd tags: trunk
2019-01-01
21:07
Checkin 44fac25071 broke bin/cc8-to-os8. That change back on 2018-01-20 was supposed to simply quit adding 'int' to declaration lines. Instead it caused the tool to quit producing any output at all. Here's a pull-up from my smc-85-cc8 branch where I fix the tool to generate the expected output: Suppress #include, but do nothing else. check-in: 6a0f8ef8bf user: poetnerd tags: trunk
2018-12-30
16:51
New code base for cc8/cross: SmallC-85. SmallC-85 is a revived and updated port of SmallC that is much cleaner. This version compiles on the Mac using clang silently without warnings, and runs well enough to generate .sb files that are functionally the same as what was generated on the non-portable cross. Carefully uses today's trunk as baseline. check-in: 385a16c7cc user: poetnerd tags: smc85-cc8
2018-12-28
12:57
Fixed [b33f80acd8]: the Ctrl-E exit to the SIMH command prompt causes our new SIGINT handler to be called, which was not only turning off the LEDs but also shutting down the GPIO thread. That means that on sim re-entry, we'd refuse to turn the LEDs back on because the GPIO thread is no longer running. The fix is to turn LEDs off conditional only on whether the PiDP-8/I extensions are enabled, but to stop the GPIO thread only if we're going through the exit(3) path on handling SIGINT. check-in: 85596d132e user: tangent tags: trunk
12:17
Fixed some pointless style differences between a mirrored pair of functions. No functional change. check-in: 1fdc270f88 user: tangent tags: trunk
11:42
"make tags" was showing the call to ctags but not cscope, so that if it's available, you got the impression that cscope wasn't found here. check-in: 71eb12e111 user: tangent tags: trunk
2018-12-21
04:51
Intrusive cosmetic changes. This removes all the references to mkos8 as the way packs are built. The only remaining mention of mkos8 is to give its place in history. check-in: b4006a6ae9 user: poetnerd tags: trunk
2018-12-20
08:36
Better "Filtered" message on startup from test-os8-run in the face of -e, -s, and -c combinations. check-in: b8588065c5 user: tangent tags: trunk
2018-12-14
12:14
Some cosmetic improvements to the LED GPIO start/stop sequences. No functional change. check-in: e399b67ef5 user: tangent tags: trunk
12:12
Fixed some unclear paren nesting. check-in: 093ba368d9 user: tangent tags: trunk
2018-12-13
23:57
Fixed a crash on simulator stop when turning off the LEDs if the LEDs were already turned off via another path. check-in: 1c0f9bd301 user: tangent tags: trunk
23:50
Removed the new SIGTERM handler: it doesn't work well, and our recent changes to "pidp8i stop" make it unnecessary. check-in: 490a0b214b user: tangent tags: trunk
2018-12-12
14:08
Added autosetup tests for sighandler_t and sig_t, with fallbacks for the former based on what we find. Without this, the new signal handling added to allow graceful "pidp8i stop" behavior only works on Linux. This change allows it to work on macOS, at least. check-in: df26be88ac user: tangent tags: trunk
13:58
Fixed a number of problems with the way "pidp8i stop" was handled which resulted in an unclean simulator shutdown. The front panel LEDs now reliably get turned off each time, and the simulator's main thread is shut down gracefully. check-in: a773f0c174 user: tangent tags: trunk
05:02
Reverted [c237120a73]: didn't see the "cd" command before the call to bin/os8-cp, which means we either need a "../../../" prefix or the "@builddir@/" prefix we had before. check-in: 02ab10b9a6 user: tangent tags: trunk
04:54
Checking for error return from a read(2) call in d8tape to squish a complaint from GCC on Ubuntu 18.04. check-in: a6aa94eee4 user: tangent tags: trunk
04:49
Specifying "Python 2" in the configure script messages: Ubuntu ships Python 3 by default, so when we claim "Python isn't installed" because Python *2* isn't available, it was jarring. check-in: d8244b866f user: tangent tags: trunk
02:51
Removed the "@builddir@/" prefix on the call to os8-cp in Makefile.in: relative paths work even in out-of-tree builds, and this comes from os8-cp.in, so it's definitely in the build tree. check-in: c237120a73 user: tangent tags: trunk
02:50
Fixed some drift in the INFILES definition in Makefile.in check-in: 670a6a98a0 user: tangent tags: trunk
02:40
Raised the timeout on initial SIMH startup again, from 5 to 10 seconds. We still occasionally get pexpect timeouts on busy systems. Also, we've now seen it on a single-core FreeBSD VM while the host is busy running test-os8-run and such. check-in: 76ff6246c9 user: tangent tags: trunk
02:36
Changed all the Python script shebang lines to use /usr/bin/env so they work on systems where Python is not in /usr/bin, such as FreeBSD, where it's in /usr/local/bin due to its being a non-core package. check-in: 91c645ba93 user: tangent tags: trunk
02:25
Changed use of "type -p" to "which" in tools/mmake for portability to FreeBSD, whose /bin/sh doesn't understand that. It's in Bash and probably in ksh93, but we don't want to require that on FreeBSD. check-in: 72a6435832 user: tangent tags: trunk
02:21
tools/mmake now tries harder to find the bin dir for the corecount call. This is needed on systems where $0 isn't set to an absolute path when a program is called via the PATH, like FreeBSD. check-in: 1124a3e512 user: tangent tags: trunk
02:14
tools/mmake now runs "gmake" if found in the PATH instead of "make". This is required on FreeBSD since our Makefile.in isn't BSD make compatible. On macOS, /usr/bin/make is an older version of GNU make, so if gmake is available, it must've been installed separately, so we can assume the user wants us to use the newer version. check-in: 8146518605 user: tangent tags: trunk
02:02
Merged perl-existence-check branch into trunk check-in: 4e7e8e9c36 user: tangent tags: trunk
02:01
Tcl quoting hell fix with previous Closed-Leaf check-in: 313e2e8cad user: tangent tags: perl-existence-check
02:00
The Perl test wasn't using the right command flags. (Copy-pasta from the Python test.) check-in: a5e8b82a58 user: tangent tags: perl-existence-check
01:58
Moved the Perl test up in auto.def: tools/version is called before the prior location, which we thought was a good place to put it since it's just before the Python test. check-in: b0fb14bedb user: tangent tags: perl-existence-check
01:57
The configure script now checks for Perl in the path. It's required by tools/version, tools/mkbootscript, and tools/test-os8-run. check-in: de63545335 user: tangent tags: perl-existence-check
01:43
The configure script now tells how to get "pip" on Debian type systems. check-in: d3c0d7536f user: tangent tags: trunk
01:42
Made corecount more portable. check-in: 5bbf26d6ef user: tangent tags: trunk
2018-12-10
14:52
. check-in: 07987e8529 user: tangent tags: trunk
14:45
If the pidp8i script doesn't detect the PiDP-8/I front panel via scanswitch, it falls back to our new pdp8 alias to suppress the GPIO thread. You can thus install the PiDP-8/I software on a systemd based Linux distro and say things like `pidp8i start` and get our new HLT handling, skip the complaints about no GPIO, etc. check-in: 8848227626 user: tangent tags: trunk
13:35
Merged simh-update branch check-in: bb3903976f user: tangent tags: trunk
12:58
Updated SIMH section of ChangeLog for this branch Closed-Leaf check-in: b96e790649 user: tangent tags: simh-update
12:23
Updated copyrights in header comments for pdp8_cpu.c and scp.c. check-in: cf272a6d1e user: tangent tags: simh-update
12:09
Merged in the upstream changes to scp.c check-in: 5b80a93d7b user: tangent tags: simh-update
11:56
Added new sim_card module from upstream SIMH check-in: 1656b5ff6e user: tangent tags: simh-update
11:47
Updated checkin ID and datestamp for current SIMH check-in: f28a9f5bd1 user: tangent tags: simh-update
11:41
Initial pass at merging upstream SIMH version 86294db3 check-in: d9988b0985 user: tangent tags: simh-update
11:22
Updated ChangeLog with today's work so far check-in: 22043c7e5c user: tangent tags: trunk
10:48
Typo fix check-in: 0514b6a5e4 user: tangent tags: trunk
10:26
The optimized PRINTS routine requires that AC point at the word *before* the string you want it to print, so we were printing "ELLO, WORLD!" The prior bug with mkbootscript masked this. check-in: 59b81c7034 user: tangent tags: trunk
10:23
Set 8th bit on the ASCIIZ strings in pep001.pal, in case it's used with a terminal that cares about this, such as an ASR-33. check-in: 397c6d8901 user: tangent tags: trunk
10:21
The pep001.pal program could hang in the TSF loop on writing the initial "ANSWER: " leader if the terminal device isn't prepared to receive characters. Added a "TLS" to send a null character to kick things off. This eats up the one remaining word left in PAGE 1! check-in: 15e91ae82b user: tangent tags: trunk
10:19
Fixed a bug in tools/mkbootscript that caused it to write a SIMH "dep" command for only the first word in an assembly file data table, currently used in our examples for ASCII terminal output strings. This caused our "HELLO, WORLD!" demo program to do nothing useful, and for the "ANSWER: " leader from pep001.pal to be truncated to "A". check-in: 2702b89257 user: tangent tags: trunk
08:30
If you run the simulator via the new "pdp8" name, we revert the change to the behavior of the HLT instruction: it drops you to the sim> command line instead of halting the CPU in expectation that the user will then poke around with the CPU state or hit CONT via the front panel. check-in: 2b00fa32cd user: tangent tags: trunk
08:24
Set 8th bit on ASCIIZ characters in the PDP-8 assembly "HELLO, WORLD!" demo program: some terminal configurations may require it. check-in: 174d0dc11e user: tangent tags: trunk
07:55
Comment clarity tweak check-in: e74a7c5ba7 user: tangent tags: trunk
2018-12-08
20:38
The PRINTS routine in examples/hello.pal was not Rick Murphy's optimized version that we're shipping in examples/routines/prints.pal. Updated it. Also fixed the header comment so that the resulting boot script doesn't have a dangling clause in its startup message. check-in: a4075c7cd0 user: tangent tags: trunk
18:20
Updated the references to "mkos8" in doc/class-simh.md. There are still two references there for historical reasons, but the bulk of the text now refers to os8-run instead. check-in: bcf566411e user: tangent tags: trunk
18:07
Rethought the policy on overwriting binary media: although it made sense to allow the new RK05 disk file names to merge with the old, this step also overwrites the boot scripts when that happens, and those may have user changes as well. Therefore, the new policy is that if *any* IF=0 default disk image is found, past or present, we skip mediainstall. You have to choose to run it by hand in that case, or follow the manual merge steps from README.md. check-in: 685d583d5a user: tangent tags: trunk
17:53
Changed a bunch of "os8v3d*.rk05" references to their equivalent and current names. check-in: c2fc076dcc user: tangent tags: trunk
17:51
Changed "make install" so that it skips "make mediainstall" based on the existence of v3d.rk05 rather than local.tu56 so that we merge our new media with v20171222, as that release was able to merge its os8v3d-* with the os8.rk05 of prior releases. This does mean the prior release's local.tu56 and pristine source tapes can get overwritten, but those weren't supposed to be changed by the user anyway. We don't wan't people doing "make install" and not understanding why their "new" system behaves just like the old one. check-in: 384bf04b34 user: tangent tags: trunk
16:22
Changing boot scripts via IF + SING_STEP now detaches all devices, shuts down the GPIO thread, and re-launches the simulator with the new script rather than just call "do SCRIPTNAME" in order to get a fresh simulator configuration, free of conflicts. The case that prompted the need for this is switching between boot scripts that assume the tape controller is TC08 to one that assumes TD8E, or vice versa. The only other way we could solve this is to write "detach" commands at the top of every boot script to undo everything done by every other possible boot script. Closes [81d528e3]. check-in: 82cc1aebca user: tangent tags: trunk
16:00
The installation tree is now entirely owned by @INSTUSR@.@INSTGRP@. We still had a mix of root.root in there, due to the way the tree was being created, resulting in oddities like the normal user could write to the installed OS/8 media but couldn't remove them from disk. check-in: b08f63333c user: tangent tags: trunk
15:45
Adjusted the ChangeLog.md entry on boot tapes to reflect the fact that all four are always built: you aren't selecting one to build, you're choosing which one gets used for IF=3. check-in: c7d1f02b34 user: tangent tags: trunk
15:35
Cosmetic tweak for recent Makefile.in change check-in: 675d87a243 user: tangent tags: trunk
13:46
test-os8-run uses a custom bin/* set, so it was still hard-coded to get bin/pidp8i-bin, not bin/pdp8 as class simh now expects when we pass True for the skip_gpio ctor flag. check-in: 8193ea0be2 user: tangent tags: trunk
13:40
The test-os8-run Makefile target now runs the program first in -g mode then in -e mode only if that returns without error. When you say "make test-os8-run", you almost certainly don't want to begin re-testing all of the existing exemplars without having a complete test corpus first. If you want to test on an incomplete corpus, you can run in -e mode manually. check-in: 0cf1c0e9bb user: tangent tags: trunk
12:39
When a program passes True for the formerly-named "ignore GPIO lock failure" flag to class simh, it now runs bin/pdp8 instead of bin/pidp8i-sim which disables the GPIO thread per [daa86ad9b6]. Consequently, the simh ctor no longer checks for the "Failed to lock GPIO" error from the simulator, and it checks for the SIMH startup banner intead of the PiDP-8/I GPIO thread startup banner, which may now never appear. Finally, this checkin modifies the interface of simh.try_wait to be more of a simple wrapper around simh._child.expect with exception handling built in; this is deemed safe, since class simh is the only known user of this public API. This fixes bug [b876ef8c]. check-in: d7b5cbd7cb user: tangent tags: trunk
11:37
Removed the target added on the os8-v3f-extensions branch for media/os8/3finit.tx, which is built from a *.in file, because we'd previously choked this down to a single file, media/os8/init.tx in order to force a parallel build to go single-threaded at this point, since the configure script can't be sanely run more than once in parallel. The clue we needed to fix this is that on touching any *.in file and doing an mmake is that you'd get the "Fossil doesn't work here" complaint from auto.def because it's trying to lock the repo DB twice in parallel; one fails, the other succeeds, so it looks like there is no problem and the complaint is apropos of nothing. It's actually flagging a real problem! check-in: 19b31029e5 user: tangent tags: trunk
11:32
The pidp8i-sim Makefile target also creates a hard link to bin/pdp8 now, so we can use it from class simh, especially via os8-run. check-in: a3afe42e70 user: tangent tags: trunk
11:09
If the simulator is not called as "pidp8i-sim", we now disable the GPIO thread: it doesn't get started, we don't feed it with data, and we don't pull any data it is expected to provide. Additionally, the Makefile now creates a @prefix@/bin/pdp8 hard link to make the simulator fall back to a state nearly identical to the upstream SIMH version by triggering this new feature. This is in partial support of ticket [b876ef8c25]. check-in: daa86ad9b6 user: tangent tags: trunk
10:27
Small cosmetic fixes in Makefile.in check-in: 94d64e2c34 user: tangent tags: trunk
09:58
Found and fixed the cause of the obj/os8-run.log overwrite during test-os8-run, avoiding the need for the concatenation dance previously done to avoid the problem. check-in: 22dc5521d8 user: tangent tags: trunk
2018-12-07
20:59
. check-in: 7a239c4f65 user: tangent tags: trunk
20:56
. check-in: 75d5e505a6 user: tangent tags: trunk
20:51
Typo fix in previous check-in: a5a8f4d322 user: tangent tags: trunk
20:50
Reformatted the list of test-os8-run virtues to be clearer and also to work around a Fossil Markdown formatting bug. check-in: 2cc21c1c78 user: tangent tags: trunk
20:42
Expanded on the os8-run section of the new ChangeLog entry check-in: 4920eed742 user: tangent tags: trunk
20:10
Increased class simh's on-startup timeout from 3 to 5 seconds to try and avoid pexpect timeout errors when the system is busy, as can happen when the cores are oversubscribed doing test-os8-run passes and then a background process starts. (And on top of that, there's probably an I/O stall in there somewhere, like an SSD TRIM or cache flush.) check-in: 41b3353407 user: tangent tags: trunk
13:06
First pass at ChangeLog.md and AUTHORS.md updates for the upcoming release. check-in: 4beae4e135 user: tangent tags: trunk
2018-12-06
23:51
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 tags: trunk
04:46
Added a timeout parameter to simh.os8_send_cmd() with a default that lets the current os8-run scripts run without timing out when running especially long commands such as the CCL.BI assembly step on an old Raspberry Pi model B+. (We'd been declaring success while running on much faster platforms, which have correspondingly shorter maximum run times for these commands.) Closed-Leaf check-in: 9e2383ad18 user: tangent tags: os8-v3f-extensions
2018-12-03
22:32
Passing debug flag from os8-run down into class simh. check-in: 66cca79b3c user: tangent tags: os8-v3f-extensions
18:18
Avoiding the ^C was mis-nested, and only active when debugging was enabled. Fixed now. check-in: 7577fa194d user: poetnerd tags: os8-v3f-extensions
16:17
Check in the CORRECT change to conditionalize on debug. check-in: 58762d8480 user: poetnerd tags: os8-v3f-extensions
16:17
Fix debug noise. It was not properly conditional on self.debug. check-in: cacac3bb8a user: poetnerd tags: os8-v3f-extensions
10:26
It is now possible to give a hash prefix of as few as 6 characters when identifying a particular test by hash to test-os8-run. check-in: 0cea4c1f35 user: tangent tags: os8-v3f-extensions
10:16
Added inc::Module::Install to cpanfile: my Pi B needed it. check-in: 46248e133a user: tangent tags: os8-v3f-extensions
09:52
It is now possible to pass hashes of prior generated tests to test-os8-run to re-test just those named tests. This is an alternative to -e when you want to re-test just some subset of the tests without looking the test up manually and re-running the test by hand. check-in: a1f53d7064 user: tangent tags: os8-v3f-extensions
09:25
Extracted generate_tests() in test-os8-run. check-in: 684f72e682 user: tangent tags: os8-v3f-extensions
09:12
Further cleanup of main() in test-os8-run. check-in: 17b868fbe2 user: tangent tags: os8-v3f-extensions
09:09
Added --version and --help handling to tools/test-os8-run. check-in: 06d8af86f4 user: tangent tags: os8-v3f-extensions
06:26
Refinements to sanitizing: 1. Cleans up -temp-<gensym>.foo temporaries for scratch media. 2. Cleans up -<pid>.pt_temp paper tape temporaries. 3. Cleans out backspace sequences that pexpect seems gratuitiously to enter which screw up the other sanitizers. These are nasty regexps. Special thanks to regex101.com without which these nasty regexps could not have been prototyped. check-in: e34afedcba user: poetnerd tags: os8-v3f-extensions
03:57
Additional debugging of race condition in running BUILD in v3d-dist-rk05.os8: 1. Slight cleanup of debugging messages in os8script.py:build_subcomm. 2. Teach test-os8-run to preserve make.log as {last,fail}m.log. 3. Add logic in os8script.py:build_subcomm to NOT send ^C after successful BOOT command, because we are already at command level, and it creates a race condition in the expect command loop. TODO: 1. Sanitize log output to ignore temp file names for scratch images. 2. Cleaner handling of make.log saves. check-in: b7fdc79a38 user: poetnerd tags: os8-v3f-extensions
2018-12-02
22:15
Take steps to preserve the os8-run.log file from the first time through os8-run making v3d-dist.rk05. For reasons I do not understand, the two runs of os8-run create new log files rather than appending the second run to the first file. check-in: 60386aa52a user: poetnerd tags: os8-v3f-extensions
21:08
Draft of tool to unpack os8 packs that test-os8-run says are different. Attempt to fix v3d-dist-rk05.os8 script to allow test-os8-run to sanitize the init.txt. check-in: 268d30c309 user: poetnerd tags: os8-v3f-extensions
2018-12-01
03:51
Added a "-c" option to test-os8-run to allow graceful limit to the count of tests created. check-in: 75497225c9 user: poetnerd tags: os8-v3f-extensions
2018-11-30
03:34
Add to sub sanitize_log to clean up paths from 2 new cases: 1. abbreviating "attach" as "att". 2. Output echos what is attached. check-in: e7f460e1e3 user: poetnerd tags: os8-v3f-extensions
2018-11-25
03:42
The less intrusive "os8_resume" has proven unreliable with 8 parallel makes going on for test-os8-run. The symptom is that we go to resume OS/8, but instead of provoking a dot prompt from OS/8, we seem to send ^C to SIMH before it ever resumes OS/8 operation. So now we call the restart_command instead of the resume_command inside os8script.py. This seems to operate reliably. check-in: 98ad1fc68b user: poetnerd tags: os8-v3f-extensions
2018-11-24
21:18
Added "--prefix ." to call to ../../../configure in test-os8-run. This should eliminate a whole class of race conditions, because now it will build the run packs in tmp/<pid> subdirs instead of the usual top level. check-in: 865bf2ccdc user: poetnerd tags: os8-v3f-extensions
2018-11-21
04:23
Addresses bugID 9c8f0a8de5 Puts conditional around SET SYS INIT in the v3d-dist-rk05.os8 script. Need to come to consensus on whether or not this is the right fix, and if the same change should be made to all-tu56.os8 before we can officially close that bug. check-in: b9956a79f0 user: poetnerd tags: os8-v3f-extensions
2018-11-19
05:04
fix for vtedit enablement. A line from mkos8 was pasted in on creation time and not found in testing until now. check-in: 5feccfdf3a user: poetnerd tags: os8-v3f-extensions
2018-11-18
04:52
The autosetup check for lz4 in the path was failing either way: when the tool is available, it was running it in a way that caused it to return a nonzero status code, failing the check. check-in: 70d23bbd7d user: tangent tags: os8-v3f-extensions
04:47
Renamed test-mkos8 to test-os8-run, since mkos8 is now replaced with os8-run. Also renamed all of the references to it. check-in: 0211633f80 user: tangent tags: os8-v3f-extensions
04:39
The top-level Makefile now disables the test-mkos8 target when tools/test-mkos8 can't run due to missing prereqs. check-in: 79a16d5ab5 user: tangent tags: os8-v3f-extensions
2018-11-17
15:55
Added lz4 prereq to the test-mkos8 autosetup tests check-in: c46ae7cc93 user: tangent tags: os8-v3f-extensions
15:33
Added an autosetup test for perl-in-path and whether that Perl can compile tools/test-mkos8. If so, we report success, and if not, we tell the user how to fix it with our new cpanfile. check-in: cc6666ce27 user: tangent tags: os8-v3f-extensions
08:59
test-mkos8 is now working with os8-run to successfully create the v3d.rk05 image for comparison checking. Open Questions: 1. Is further refinement needed for the log sanitizizing? 2: Is comparing the binary of the disk image the best test? check-in: 5e4633e246 user: poetnerd tags: os8-v3f-extensions
02:06
Found the problem with running ../../configure in test-mkos8: Needed to add back the line to auto.defs that creates the lib subdir that hosts the options file: if {![file exists "lib/pidp8i"]} { file mkdir "lib/pidp8i" } check-in: 408edf8633 user: poetnerd tags: os8-v3f-extensions
00:21
Snapshot: Trying to get test-mkos8 working. ../../../configure from the test/tmp/<pid> directory blows out with: Error: couldn't open "lib/pidp8i/os8opts.py": no such file or directory check-in: d2986ecfba user: poetnerd tags: os8-v3f-extensions
2018-11-16
22:05
Building without patches was disabled in Check-in [a2454ca487]. However the option was still present in auto.def until now. check-in: 38482c106b user: poetnerd tags: os8-v3f-extensions
2018-11-15
06:35
A little format cleaning up. check-in: 6389b2a713 user: poetnerd tags: os8-v3f-extensions
06:29
Adding documentation of os8-cp command. check-in: b88e188406 user: poetnerd tags: os8-v3f-extensions
2018-11-05
19:24
I misunderstood how to do mediainstall, and what I had was not installing all of what we made. Fixed now. check-in: d6f48ac376 user: poetnerd tags: os8-v3f-extensions
01:00
Fixes to uniquify resources that might be used in parallel make. Also cosmetics: changed "scratch" name to have "-temp-" in it to make it easier to find and delete if make blows out. Since I was touching the use of the system disk in all-tu56.os8, I cleaned out some dead code and updated as comment. check-in: b2a6c5d89e user: poetnerd tags: os8-v3f-extensions
2018-11-02
03:22
all-tu56.os8 was copying in DTCOPY.SV and DTFRMT.SV insgtead of TDCOPY.SV and TDFRMT.SV when building for td8e. check-in: 32377aac5c user: poetnerd tags: os8-v3f-extensions
03:19
scratch option os8-run mount command now creates a unique temp file. Now parallel makes will not step on each other. check-in: 2f3f1ca884 user: poetnerd tags: os8-v3f-extensions
01:25
Fixed bug in all-tu56.os8: The old code to clean up the system rk05 that was commented out was lacking an "end enabled never", and so it caused the rest of the file to be ignored. This messed up all td12k creations. check-in: 8e309b3872 user: poetnerd tags: os8-v3f-extensions
01:23
Added more debugging output. Line count stack was wrongly managed because Python pop semantics are the opposite of what I thought. So I was removing the first in, not the last in item from there. check-in: 85804b2ac3 user: poetnerd tags: os8-v3f-extensions
2018-10-29
03:30
Moved v3f-build.rk05 to the obj directory. Along the way taught os8-cp to do path expansion on names in dirs.py just like os8-run does. This enabled a simplificaiton and cleanup of Makefile.in because the actions file in .../src/os8/v3f/actions.txt simply says that the destination lives in $obj. Also needed to update dirs.py.in to know about obj, as it knows about bin. check-in: bb42538cf0 user: poetnerd tags: os8-v3f-extensions
01:13
Corrected dependencies in light of clearer understanding. mmake now seems to work for me with no redundant builds. check-in: db3b20634b user: poetnerd tags: os8-v3f-extensions
00:40
Merged in v3f-parallel-make-fix. It behaves the same for me as previous versions, but no sense in forking. check-in: f3b2941356 user: poetnerd tags: os8-v3f-extensions
00:01
DAMN! Forgot to add the new init file. Sorry! check-in: 78191ab4cd user: poetnerd tags: os8-v3f-extensions
2018-10-28
08:24
Added (and in one case, reordered) some dependencies in the new os8-run based media build system so that all callers to os8-run from the Makefile now declare which media they require to exist before the script will run. Without this change, parallel makes are likely to fail because make is given the freedom to run targets before the things they're dependent upon exist. This is a branch rather than on the os8-v3f-extensions branch directly because I can't test it here against the tip of that branch due to a missing file. Also, it should be checked by Bill Cattey before being merged into that branch. Closed-Leaf check-in: 5a84eb18d9 user: tangent tags: v3f-parallel-make-fix
2018-10-27
04:27
Added init.cf and init.tx to the 4 bootable tu56 images. I *think* I understood how to do the dependencies right for the v3finit.tx.in creation. check-in: b17efa3579 user: poetnerd tags: os8-v3f-extensions
2018-10-21
21:04
Found another typoed dependency that should have pointed at v3d.rk05, but instead pointed at nothing. check-in: c01b3a17db user: poetnerd tags: os8-v3f-extensions
20:32
Here's why it's always good to do the occasional fossil clean -n: I see I FORGOT to add the LCSYS.BI and UCSYS.BI files to the tree. Can't do the builds I've got running without them. check-in: 30b1f33839 user: poetnerd tags: os8-v3f-extensions
20:21
Enables all the lowercase option for v3d and v3f tapes and in the 3.script and run-v3f.script scripts. TODO: Enable lowercase for BASIC in v3f. That script isn't qualified, and there's a backlog of patches and validation on BASIC that are needed. check-in: db857bdac1 user: poetnerd tags: os8-v3f-extensions
19:58
Get BATCH working under v3f. This was HARD! Had to chase down source, and the diddling of one magic constant that SHOULD NOT BE as volatile as it was. check-in: aad0aa239c user: poetnerd tags: os8-v3f-extensions
03:49
Put FORTRAN II and BASIC on the 4 bootable tu56 images unless overridden by "--disable fortran-ii" and/or "--disable basic" check-in: d5d8b023f9 user: poetnerd tags: os8-v3f-extensions
2018-10-20
18:54
Additional debugging output, and a correction to the build_subcomm state machine during the BUILD command run within BUILD.SV. There was some duplicate code, and I think I may have spazzed and never properly exited the BUILD command state machine. check-in: 497f79dad6 user: poetnerd tags: os8-v3f-extensions
18:00
Add missing dependency on the v3d.rk05 boot image to the making of v3f. check-in: b17e1072b9 user: poetnerd tags: os8-v3f-extensions
17:47
Further refinement of make run-v3f: Sets dependency independently of what was specified as the default IF=3 OS/8 version. check-in: 464fcf21de user: poetnerd tags: os8-v3f-extensions
03:49
The new run-v3f target was depending on one of the two possible TU56 tape images that could be in boot/3.script after configure runs, meaning the dependencies were correct for only one of the two possible cases. This target is now dependent on the same autosetup variable used to create 3.script from 3.script.in, so we're sure to build the correct tape image before starting the simulator. check-in: 8b39a5cb89 user: tangent tags: os8-v3f-extensions
03:01
Correct dependency: We need to depend on $(OS8_BOOT_DISK) because that is what we will be running, not the renamed bin disk that had no patches. check-in: b247b928cf user: poetnerd tags: os8-v3f-extensions
2018-10-18
09:55
Merged in trunk fixes check-in: ad9d51ebae user: tangent tags: os8-v3f-extensions
09:52
The pidp8i-test program now debounces the switches in scan-switch mode. Without this change, if the contacts bounce rapidly enough for the scanning loop to detect, a builder could be lead to believe their properly-working PiDP-8/I has a problem. check-in: 9dfb8bdafd user: tangent tags: trunk
09:49
Made the size of the global switchstatus array explicit, so we can do sizeof sanity checks on it in programs. check-in: e9ec92de08 user: tangent tags: trunk
09:48
The recent addition of NetBSD support to tools/corecount accidentally included a change to the shebang line necessary for NetBSD but incorrect for Linux, which this project primarily targets. Changed it back to /bin/bash, lest we take a new dependency on ksh everywhere. check-in: 8065f647a8 user: tangent tags: trunk
08:39
Whitespace fix check-in: 2607fa1a71 user: tangent tags: trunk
2018-10-17
15:34
Removed media/os8/os8.tu56 and the references to it now that 3.script uses the new os8-run-built tape images. check-in: d34787b405 user: tangent tags: os8-v3f-extensions
15:25
Merged a few of the differences between the new boot/run-v3f.script.in file and the preexisting run/3.script.in file into the latter. check-in: 47c6ab8349 user: tangent tags: os8-v3f-extensions
15:11
Added "run-v3f" Makefile target, its "runf" alias, and the boot/run-v3f.script.in file those targets use. check-in: 06aef989e3 user: tangent tags: os8-v3f-extensions
2018-10-16
00:18
The copy in of the v3f source files to the buld rk05 image was too quiet for too long. I enabled -v on the os8cp call for better status reporting. check-in: 39d8b6137a user: poetnerd tags: os8-v3f-extensions
00:07
Remove superfluous dependency: v3d tapes don't care about v3f stuff. check-in: dadf27bae9 user: poetnerd tags: os8-v3f-extensions
2018-10-15
23:56
Add dependencies on the sources in .../src/os8/v3f. Now if we touch one we will rebuild the V3F bits and pieces. check-in: ab959da8be user: poetnerd tags: os8-v3f-extensions
23:55
Fix 30 year old bug: Build V7A should report its PROPER version. check-in: f691c6840c user: poetnerd tags: os8-v3f-extensions
2018-10-13
22:56
Two new config options that control what kind of .tu56 image gets booted with the IF=3 option: --boot-tape-config={tc08 | td12k} with default of tc08 --boot-tape-version={v3d | v3f} with default of v3d. check-in: 4ed46aa217 user: poetnerd tags: os8-v3f-extensions
2018-10-12
02:44
Pulled up trunk deltas into my branch. Everything tests out fine. check-in: 2ba40f1138 user: poetnerd tags: os8-v3f-extensions
2018-10-05
23:22
Updated with more of what's in this directory. check-in: cde2b80fc0 user: poetnerd tags: os8-v3f-extensions
23:12
Quick and dirty description of the scripts in this directory. check-in: 97cf611b8c user: poetnerd tags: os8-v3f-extensions
2018-10-04
06:06
Something I should have done long ago: If we're going to re-configure sys, then we should use a scratch copy. all-tu56.os8 now does that for the td12k builds. It doesn't need to do that for the tc08 builds so it doesn't bother. Also changed the filename of the scratch to use "-copy" in the name instead of "_copy" aligning with filename conventions. check-in: f67db97d71 user: poetnerd tags: os8-v3f-extensions
05:40
Fixed some noise. simh.py was printing stuff by default. Added a verbose internal variable to the simh object and updated os8-run and os8-cp.in to set that variable to True when they get the verbose option. check-in: fe46cf1a76 user: poetnerd tags: os8-v3f-extensions
05:23
FIXED problem where make kept re-making v3d-src.rk05: Misuse of os8-run mount command's option "preserve". The NEW version got a new name with a version number and the old version was kept. Make kept finding the original version. The CORRECT option to use is "new" not "preserve". check-in: 48bf62dd63 user: poetnerd tags: os8-v3f-extensions
04:41
all-tu56.os8 now copies in appropriate DECtape utilities: TD8E configs get: TDCOPY.SV, TDFRMT.SV TC08 configs get: DTCOPY.SV, DTFRMT.SV check-in: 4ee3a65c2a user: poetnerd tags: os8-v3f-extensions
04:30
Enabled builds of all 4 tu56 images: v3d-tc08.tu56, v3d-td12k.tu56, v3f-tc08.tu56, v3f-td12k.tu56. Amended all-tu56.os8 and v3d-dist-rk05.os8 to put the following td8e drivers into the SYS:BUILD.SV image: TD8ESY.BN (12k system handler), ROMMSY.BN (rom system handler), TD8EA.BN. Left out were the B, C, and D TD8E non-system handlers. (I was paranoid about space.) Extensive comments in the scripts throughout on the various tradeoffs and dependencies. check-in: 0e4030caec user: poetnerd tags: os8-v3f-extensions
04:13
That's what I get for assuming instead of testing. :-( This one PROPERLY specifies the copyin for ABSLDR.SV and is tested. check-in: 16dc21707a user: poetnerd tags: os8-v3f-extensions
03:40
v3f BUILD installs ABSLDR, but v3d config does not. Need to copy it in. check-in: 221d5d7ff0 user: poetnerd tags: os8-v3f-extensions
2018-10-02
05:46
Snapshot: Mostly working "all-tu56.os8" script that builds v3d or v3f on tc08 or td12k or tdrom system. TODO: More testing. Make the V3D rk05 BUILD.SV already contain the TD8E drivers. Decide on an INIT file. check-in: 857984d41b user: poetnerd tags: os8-v3f-extensions
04:33
Bug fixes to basic_line_parse. I'm using a LOT of conditionals now, and apparently there were several bugs that I missed: 1. basic_line parse was not using the stripped version of line. 2. The options stack pop was taking the the wrong member of the stack so it was a first in last out, instead of the intended first in first out stack. 3. The test for comments was on the pre-stripped line so that comments could not be indented with whitespace. check-in: bfccd73f14 user: poetnerd tags: os8-v3f-extensions
2018-09-30
23:15
Added version and directory expansions into the print command. Includes print-test.os8 to test them. check-in: f14e1e8973 user: poetnerd tags: os8-v3f-extensions
20:33
The \s test for whitespace in tools/corecount wasn't working on NetBSD 6 for some reason, so changed it to the POSIX [[:space:]] character class. This should be effective on many more systems. check-in: b5e424045e user: tangent tags: trunk
03:35
Got the build of os8-v3f for TD8E DECtape working again. Root cause: I still don't understand the BUILD command loop well enough, and I wrote it! I added a couple more special cases so now everything, including the TD8E build works. Clearer code will come when the pexpect loop is turned right way round. Couple things: Building the v3f tu56 images for BOTH TC08 and TD8E are now enabled by default. WARNING: If the TD8E build blows out it leaves the v3d.rk05 system pack with td8e devices enabled instead of tc08. The new script, v3d-reset-tc08.os8 fixes this. QUESTION: Do we make this situation more bullet proof by: Creating a copy of v3d.rk05 when we build for TD8E? or Building Unconditional cleanup code into os8-run for on-error, do such and such to clean up? Actually, I could probably modify the v3d-dist-rk05.os8 script to put both the TD8EA and TC08 drivers in the image of BUILD.SV, if there is room. Maybe I'll just do that. check-in: b24aa7b9d7 user: poetnerd tags: os8-v3f-extensions
01:30
Add dependency on patches. Note that this depends on ALL .patch8 file regardless of whether or not we actually use them. A finer grained dependency could be done in the future. check-in: b9ceacad42 user: poetnerd tags: os8-v3f-extensions
01:28
Add two more files to make clean action: lib/pidp8i/dirs.py lib/pidp8i/ips.py check-in: 8a974ca3b9 user: poetnerd tags: os8-v3f-extensions
01:24
Further cleanup of Makefile.in: Further purging of "mkos8" methods and concepts: 1. MKOS8_OPTS->OS8_OPTS 2. Where mkos8 became os8-run rename files, directories, scripts and dependencies appropriately. 3. Eliminate 'mkos8' install dir and ctags. 4. Scripts named MKOS8_* now have names more related to their current function under os8-run, and may have been further changed to reflect our v3d/v3f naming and simplification. 5. make clean eliminated the mkos8 directory. 6. make targets for use by test-mkos8 updated with new names, but really needs to be redone now that patching is unconditional. check-in: d6f23aaeda user: poetnerd tags: os8-v3f-extensions
01:04
Testing revealed: missing line in auto.def, and I forgot to tell Fossil that I'd shifted os8-cp to os8-cp.in. THIS should work. check-in: aef6b627f0 user: poetnerd tags: os8-v3f-extensions
2018-09-29
23:48
Having gotten bit by os8-cp having a hard-coded default boot disk, I decided to use auto.def and parameterize it on @OS8_BOOT_DISK@ check-in: de864ed5b5 user: poetnerd tags: os8-v3f-extensions
21:06
Make patching unconditional. Amend apperopriate documents to no longer talk about a --disable-os8-patches option. Make the text file that names the patches conform to current filename conventions. check-in: a2454ca487 user: poetnerd tags: os8-v3f-extensions
20:41
Adopted new filename conventions: .mkos8 -> .os8 underscores to dashes test scripts end in -test instead of beginning with it Shortened names. Fixed up dependencies, including broken one on newly renamed v3f-*.tu56. check-in: 55e34d0b34 user: poetnerd tags: os8-v3f-extensions
18:02
I had not done rigorous enough testing. Here is better test case, corrected code, and elimination of the old fancier test code. check-in: aa9df2a6e8 user: poetnerd tags: os8-v3f-extensions
17:33
Simplified version test. Warren justified "just test for version X or above" by showing allowing richer matches just made it easy for people to leaving incompatibilities in place. Changed name of the tester script to replace underscore with dash, say "version" first, and most importantly to adopt a new convertion: ".mkos8" scripts become ".os8". check-in: 1fcde938d6 user: poetnerd tags: os8-v3f-extensions
01:58
Change os8-run mount option "preserve" to delimit the version number with a dash instead of an underscore. check-in: 4f3c5b4d6e user: poetnerd tags: os8-v3f-extensions
01:32
checkin cd80254374 was incomplete: auto.def created lib/mkos8 to host generated python files that are now kept in lib/pidp8, so we delete that line. Makefile.in still had the old MKOS8 python file list so 'make install' was doing the wrong thing. TODO Review MKOS8_INFILES and decide if more files, such as os8script.py should be there. check-in: 14a799a875 user: poetnerd tags: os8-v3f-extensions
2018-09-15
05:44
Merged ma-mb-pause-fixes branch following verification of fix [6b7d74dc34e] by poetnerd. check-in: b159bee47f user: tangent tags: trunk
05:41
Merged ma-mb-pause-fixes branch following verification of fix [6b7d74dc34e] by poetnerd. Closed-Leaf check-in: 6984de366a user: tangent tags: ma-mb-pause-fixes
2018-09-09
19:00
Ian Schofield sent a second patch via private email claiming to have solved the MA/MB value problems in pause mode. This checkin is loosely based on that patch. It needs testing: thus the branch. check-in: 78642e72ce user: tangent tags: ma-mb-pause-fixes
2018-08-30
01:04
Fixed a bug in the handling of the OSR instruction which can cause L to be set if the next GPIO pin up from those used by the SR lines happens to be set when you issue that instruction. This one goes back to v20151215! check-in: ffb387c4eb user: tangent tags: trunk
2018-08-12
06:16
Added email alert signup and such info to HACKERS.md check-in: 7ab70d985c user: tangent tags: trunk
01:09
Added Fossil forum stuff to HACKERS.md check-in: dc433058ce user: tangent tags: trunk
2018-08-07
10:46
Fixed a broken link in doc/os8-run.md. check-in: 16c2b6f88a user: tangent tags: os8-v3f-extensions
2018-07-30
03:49
Removed a redundant command in "make mediainstall" for the *.mkos8 scripts. check-in: 3850186b5d user: tangent tags: os8-v3f-extensions
2018-07-29
21:13
Version detection code implemented. test_version.mkos8 updated. It seems to work for the cases I could think of. check-in: 43311b0e87 user: poetnerd tags: os8-v3f-extensions
20:11
Added a print command. This, together with exit will be useful when version actions are enabled. check-in: ba11dee8b4 user: poetnerd tags: os8-v3f-extensions
19:56
Add "exit" command that interfaces to python sys.exit() procedure. Enables immediate script termination and optional signaling of status, and also optional print of a string. check-in: 17fb06b45f user: poetnerd tags: os8-v3f-extensions
19:54
Test script as we work through implementing version conditionals. check-in: aec3815e47 user: poetnerd tags: os8-v3f-extensions
2018-07-28
12:54
Reduced the "Applying patch..." output to a single line to reduce verbosity in normal builds. check-in: 220dc69120 user: tangent tags: os8-v3f-extensions
2018-07-27
02:15
I had habituated a misunderstanding of python regular expression syntax. Consequently I kept using '?' when I needed to use '*'. Particularly in allowing whitespace. This change corrects those regular expressions. check-in: cde469f6f9 user: poetnerd tags: os8-v3f-extensions
2018-07-25
01:58
Silenced verbosity by default (again). When I went to the simpler parser, I forgot that I'd enabled VERBOSE by default. This should quiet things down. check-in: 7c305890df user: poetnerd tags: os8-v3f-extensions
2018-07-24
19:55
Merged trunk changes in, in preparation for merging this branch down to trunk. check-in: 834dd5121b user: tangent tags: os8-v3f-extensions
19:19
Renamed $mkos8_opts and obj/mkos8.opts in auto.def to $os8_opts and obj/os8.opts, respectively. check-in: cd80254374 user: tangent tags: os8-v3f-extensions
19:11
Moved the mkos8.opts Python module to pidp8i/os8opts. That left the mkos8 namespace empty, so I removed that. Also removed the old_parse_args() function in os8-run while in there: dead code. check-in: 91c681d0dd user: tangent tags: os8-v3f-extensions
2018-07-23
03:34
Remove the bespoke --enable-<foo> and --disable-<foo> arguments. Use the generic --enable and --disable arguments. Note that the usage message still informs about all known enable/disable args created in lib/mkos8/opts.py by auto.defs. However the usage message is clearer now and the arg parsing is simpler now. Note we delete the use of the fancy python argparse library. Nice as it was, we don't need it. The clearer usage message is also in the os8-run.md doc. check-in: 0f1c58479b user: poetnerd tags: os8-v3f-extensions
03:14
Bug fix: Enable/Disable args for fortran should have dash, not underscore in their names to work properly. check-in: e24681d721 user: poetnerd tags: os8-v3f-extensions
03:12
Bug fix: If we build with config option --os8-minimal, we won't build the os8v3d-patched.rk05 image. We only build os8-v3f from that image. --os8-minimal therefore should not attempt to build os8-v3f. check-in: e14bed0e60 user: poetnerd tags: os8-v3f-extensions
02:59
Bug-fix: When we use config option --os8-minimal the system image os8v3d-patched.rk05 does not exist. Creating the source packs does not require a patched system anyway, so we use os8v3d-bin.rk05. check-in: afabf0c0e7 user: poetnerd tags: os8-v3f-extensions
02:57
Bug fix: rename of os8_pip_into to os8_pip_to wasn't propagated to this program that used the routine. check-in: 623cab985e user: poetnerd tags: os8-v3f-extensions
2018-07-22
22:22
Improve pal8 command: 1. Allow whitespace between arguments. 2. Fix a bug that caused the (apparently untested) 3 arg form not to work at all. 3. Clarify in the documentation the rationale for the command, and warn of its possible removal. TODO: Possibly expand the command to pass in arguments. check-in: c67efce19c user: poetnerd tags: os8-v3f-extensions
20:34
Forgot to update the TODO to remove the order to implement restart. It's now implemented. check-in: 1a7abaa401 user: poetnerd tags: os8-v3f-extensions
20:16
Added restart command and test_restart.mkos8 to test it. Note that test_restart.mkos8 assumes existence of test_copy.tu56 that is made by test_copy.mkos8, and system_v3f_tc08.tu56 made by os8-v3f-tape.mkos8. check-in: a86f9935a6 user: poetnerd tags: os8-v3f-extensions
19:31
Removal of multi-word commands from os8-run #6: convert copy_to and copy_from to cpto and cpfrom respectively. This completes the project to eliminate multi-word commands from os8-run. check-in: 547a96be48 user: poetnerd tags: os8-v3f-extensions
19:06
Added more clarification around case sensitivity throughout. (Also pruned a note about multi-word mount options that is no longer relevant.) check-in: d4c9e2f654 user: poetnerd tags: os8-v3f-extensions
2018-07-21
04:16
Improved documentation of mount/umount: 1. Explain the rationale for using the POSIX commands. 2. Clarify how the "new" and "preserve" options behave DIFFERENTLY with regards to file preservation. 3. Add an example of use of the "new" option. 4. Update the mount examples to use the $foo path expansions. check-in: f30b93a62d user: poetnerd tags: os8-v3f-extensions
03:19
Minor cleanups: 1. The more correct term for how we build is "from distribution media" rather than "source media" because we don't build from source, and because "distribution media" is the correct term used for our baseline truth. 2. Cleaned up broken formatting in the pal8 section's bulleted list, and in the begin/end keyword table. 3. Added a comma in the boot section cuz it called out for one. :-) check-in: 6f606611aa user: poetnerd tags: os8-v3f-extensions
03:15
Renamed copy_into and pip_into to copy_to and pip_to respectively. This is because I decided that copy "to/from" made more intuitive sense than copy "into/from". check-in: 08108fae33 user: poetnerd tags: os8-v3f-extensions
2018-06-29
04:58
More James L-W serial mod GPIO fixes by Dylan McNamee. check-in: 6f67aed364 user: tangent tags: trunk
04:54
Changed GPIO pin mappings for the James L-W serial mod. Also diagnosed by Dylan McNamee. check-in: 538529c44e user: tangent tags: trunk
04:51
The James L-W serial mod GPIO setup had two lines swapped relative to the original patch. Fix diagnosed by Dylan McNamee on the mailing list: https://groups.google.com/d/msg/pidp-8/tYGYJCSwV-Q/sJmESoAPBgAJ check-in: 59b1d29fcc user: tangent tags: trunk
2018-06-17
19:33
The configure script now errors out if you try to pass both --serial-mod and --alt-serial mod. Documented it. check-in: cfe91ae914 user: tangent tags: trunk
2018-06-10
02:04
Cosmetic change: Shorten comment about os8 errors because it is now more generally used. check-in: cdce8dcc87 user: poetnerd tags: os8-v3f-extensions
2018-06-07
04:07
Fix formatting mistake check-in: 75954717a3 user: poetnerd tags: os8-v3f-extensions
04:05
Removal of multi-word commands from os8-run #5: "read-only" becomes either "ro" or "readonly". check-in: 41ec8eeaef user: poetnerd tags: os8-v3f-extensions
03:55
Removal of multi-word commands from os8-run #4: "must-exist" becomes "required." Lots of scripts touched but it was worth it, I think. check-in: fb4201a2c5 user: poetnerd tags: os8-v3f-extensions
03:42
Removal of multi-word commands from os8-run #3: "copy_scratch" becomes "scratch". The meaning is probably clear enough without "copy". check-in: 6a2f3bb5fc user: poetnerd tags: os8-v3f-extensions
03:28
Removal of multi-word commands from os8-run #2: "not-disabled" becomes "default". Not only does this make the parser cleaner and simpler, the description of what is being done becomes simpler. This is a GOOD change. check-in: 762a5798db user: poetnerd tags: os8-v3f-extensions
03:03
Eliminating multi-word hyphenated commands from os8-run #1: "no-overwrite" becomes "preserve". check-in: ac83408912 user: poetnerd tags: os8-v3f-extensions
2018-06-02
18:55
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 tags: os8-v3f-extensions
2018-05-28
22:55
Taught Makefile.in how to 'make bin/system_v3f_tc08.tu56' Although the v3f stuff is built by default, this tape is not. TODO: 1. Test 'make system_v3f_td12k.tu5' 2. Create auto.defs options for this. check-in: 1858920a4a user: poetnerd tags: os8-v3f-extensions
22:27
Use a variable for the OS/8 Scripts directory. check-in: 63ed426836 user: poetnerd tags: os8-v3f-extensions
22:23
Now assemble the v3f sources. check-in: 321e9254cc user: poetnerd tags: os8-v3f-extensions
22:05
Added code to Makefile.in to create the os8 v3f build rk05 image. TODO: Figure out how to make the image in an object directory instead of the src directory. Problem is with os8-cp and the manifest file actions.txt assuming current working directory. check-in: 0e628cd6fc user: poetnerd tags: os8-v3f-extensions
20:58
Two short test scripts for testing the copy and patch commands. Note that they have not been converted to the new script location and use of directory expansion. Nevertheless they might be useful to someone. check-in: b118d2fbe5 user: poetnerd tags: os8-v3f-extensions
20:49
Clean up mess made on first attempt to move scripts to new home. Includes a bug fix to Makefile.in where I missed a backslash, and a bug fix to simh.py which would blow out if your branch has upper case characters in it. check-in: 303cb7f12b user: poetnerd tags: os8-v3f-extensions
2018-05-25
02:49
Snapshot: Minimum Makefile.in changes needed to replace execution of mkos8 with execution of os8-run. TODO: 1. Put in the dependencies on the new python modules. 2. rip out mkos8. 3. Confirm this all works for someone else. 4. CLEANUPS. check-in: c610c24d5d user: poetnerd tags: os8-v3f-extensions
01:47
The done command was a mistake and now is gone. I realized it was a mistake when, we executed it in an included script, the scratch files were removed. Rather than creating a per-script scratch list, I moved the final cleanup to the main os8-run code and deleted the done command. check-in: 8b66b4f06b user: poetnerd tags: os8-v3f-extensions
00:36
In cutting over to using os8-run I realized I needed a mount option that lets the script create a new empty image file and saves a pre-existing version. The "new" option to mount is now implemented. check-in: 26c846c5ce user: poetnerd tags: os8-v3f-extensions
2018-05-22
23:36
Claimed case insensitivity in os8-run commands in os8-run.md. TODO: verify. check-in: 887345ef35 user: tangent tags: os8-v3f-extensions
23:32
Moved the paragraph about the fatal error handling policy up from the discussion of "include" in os8-run.md up to the "Conventions" section, then added a link back down into the command reference. check-in: 2c68a31006 user: tangent tags: os8-v3f-extensions
23:30
More assorted improvements to os8-run.md check-in: 22b3649806 user: tangent tags: os8-v3f-extensions
23:08
Expanded the discussion of Pexpect in os8-run.md check-in: 046602545d user: tangent tags: os8-v3f-extensions
22:58
More improvements to the "History and Motivation" section of os8-run.md. check-in: 6f0c5473ca user: tangent tags: os8-v3f-extensions
22:40
Fixed a bit of lysdexia, and removed a thousands separator comma: this document may be read by non-USian readers. check-in: f27a09ad1c user: tangent tags: os8-v3f-extensions
22:37
Expanded the new "History and Motivation" section of the os8-run.md file. check-in: 8382aec59c user: tangent tags: os8-v3f-extensions
22:27
Added "Motivation and History" section to the top of doc/os8-run.md, and did some other minor improvements to the rest of the document. check-in: ec8ff7753c user: tangent tags: os8-v3f-extensions
22:23
Style pass on src/os8/v3f/README.md check-in: c36863cfe0 user: tangent tags: os8-v3f-extensions
2018-05-21
02:31
Teach call_pal8 to detect failure of PAL-8 to start. TODO: Re-do ALL the calls to os8_send_cmd to shift from looking for a command prompt before beginning a command and then maybe testing the command result (which is currently implemented with os8_send_cmd (prompt_string, command) ) to: Running a command and then testing the result. Yes, this means that pretty much the entirety of the command execution and result testing has been implemented in the wrong order. check-in: 6ce374d437 user: poetnerd tags: os8-v3f-extensions
02:26
Teach copy_from and copy_into how to recognize when PIP failed to start. Tweak err_test.mkos8 to test that this is working. check-in: fc92e8017b user: poetnerd tags: os8-v3f-extensions
02:20
Document how the POSIX path expansions are supposed to work. check-in: e2cdb32a96 user: poetnerd tags: os8-v3f-extensions
2018-05-18
05:01
Added path expansion to copy_into and copy_from. Fixed two related bugs: 1. path expand needed to use os.path.join to deal with how dirs.py ends some dirs with a slash, and some not. 2. copy_into and copy_from needed to check to see if the system was booted. (I'd forgotten this requirement, didn't boot the dectape, and could not understand why things were failing.) TODO: Add catching of "PIP.SV NOT FOUND" in copy_into and copy_from. check-in: e927586fb2 user: poetnerd tags: os8-v3f-extensions
2018-05-16
13:28
Simplified [05371feb7c], replacing the redundant map of module variable names to their values with a call to getattr() on the module and variable name in the single place that used this new facility. check-in: 2475d3ad2c user: tangent tags: os8-v3f-extensions
05:00
Added directory expansion for Anchor directores found in dirs.py.in. This necessitated offering them up in an associative array, as well as directly in dirs.<varname>. TODO: Document this. Add $home. Update .mkos8 files to use these. check-in: 05371feb7c user: poetnerd tags: os8-v3f-extensions
2018-04-29
03:58
Ok. Bed time. I'm making stupid mistakes. THIS TIME I fixed the example. check-in: a0393dd43d user: poetnerd tags: os8-v3f-extensions
03:55
Fixed example to use cdprog instead of absldr. (I thought I'd fixed this one, but it was another example I fixed.) check-in: c317b8d4b2 user: poetnerd tags: os8-v3f-extensions
03:31
Apparently I never tested the pal8 command when I objectified it. Now it's fixed and working. The scripts that used "fotp" and "absldr" are now tested working. check-in: 04acd3fc64 user: poetnerd tags: os8-v3f-extensions
03:13
Rename "os8_cd" to "cdprog". Change all occurrances of "fotp" and "absldr" to use "cdprog". TODO: Test. check-in: b2f05b95df user: poetnerd tags: os8-v3f-extensions
00:44
Work around a problem with markup: bullet list before a code block formatted both incorrectly. Moving the bullet list after seems to work better. check-in: f552138be1 user: poetnerd tags: os8-v3f-extensions
2018-04-27
04:32
Snapshot: Switching begin absldr and fotp over to os8_cd. Code is there and updated doc with examples is in place. TODO: Update uses of the old "begin fotp" and "begin absldr" constructs to use "begin os8_cd" and then rip out the fotp and absldr sub commands. check-in: fc88854a6a user: poetnerd tags: os8-v3f-extensions
2018-04-22
04:06
Moved Execution Context section up, and renamed "Enablement" Context to "Conditional Execution." check-in: 653f29de12 user: poetnerd tags: os8-v3f-extensions
04:00
Add first illustrative example. check-in: dd46ecb99d user: poetnerd tags: os8-v3f-extensions
03:42
Clearer overview of mount options. check-in: 4feae418ed user: poetnerd tags: os8-v3f-extensions
03:13
mount command options can have either dash or underscore as separator. check-in: f62671242c user: poetnerd tags: os8-v3f-extensions
2018-04-15
19:37
Teeny bit of format cleanup. check-in: 1a21d6840b user: poetnerd tags: os8-v3f-extensions
19:33
All commands have basic documentation. Next Steps: Review and clean up basic documentation, then add in examples. check-in: 6b0600b73e user: poetnerd tags: os8-v3f-extensions
2018-04-14
23:47
More content for commands. Added mention of as yet, unimplemented restart command. Commands still lacking basic documentation: begin/end, enable/disable, patch, configure. check-in: e5bb205204 user: poetnerd tags: os8-v3f-extensions
03:53
Additional prose. Some reformatting, and re-casting of sentences for greater clarity. check-in: dd808ad53c user: poetnerd tags: os8-v3f-extensions
2018-04-13
04:42
Properly cross links command sections. TODO: 1. Finish basic command descriptions with usage. 2. EXAMPLES EXAMPLES EXAMPLES check-in: d6d55f8ecd user: poetnerd tags: os8-v3f-extensions
04:02
And another try. check-in: 51ea54ab4c user: poetnerd tags: os8-v3f-extensions
03:13
Try a different way. check-in: 0ae10037ae user: poetnerd tags: os8-v3f-extensions
03:06
Test out toc linking. check-in: d63dc72d3e user: poetnerd tags: os8-v3f-extensions
2018-04-11
06:08
Added PiDP Keyswitch state diagram and schematic SVG. check-in: abb86b9d77 user: tangent tags: trunk
2018-04-10
01:56
Updated SIMH again. No particular reason, just syncing. check-in: ff2f918885 user: tangent tags: trunk
2018-04-09
16:08
The pidp8i script now uppercases its first argument in case it's being run via an all-caps terminal. check-in: 0389ea3108 user: tangent tags: trunk
01:31
one more bit of format tweaking. check-in: 16680d5958 user: poetnerd tags: os8-v3f-extensions
01:29
Fix up a few niggly typos and formats I don't like. check-in: 8ebf033bf7 user: poetnerd tags: os8-v3f-extensions
01:19
Added a -vv (very verbose) flag that includes the SIMH expect output in the runtime output. I find that having the separate log file actually works better most of the time. check-in: e7224c448e user: poetnerd tags: os8-v3f-extensions
01:06
Updated os8-run.md to reflect this weekend's work to make the script runner easier to use. check-in: 5d9fddd5a0 user: poetnerd tags: os8-v3f-extensions
00:44
The script commands that require the OS/8 context now all check to see we have booted, and if necessary call resume_command to resume OS/8. Use of the resume command in scripts is optional. It's commented out in the two scripts being checked in now. check-in: c0c452a0e6 user: poetnerd tags: os8-v3f-extensions
2018-04-08
18:56
Validated bin and patch mkos8 files. Also found a couple places where line number reports were not being made. check-in: 1d249425e6 user: poetnerd tags: os8-v3f-extensions
18:41
Apparently when I got os8v3d-bin.mkos8 working, I broke the tco8.mkos8 script. That script is for creating an os8-v3f dectape, so I renamed it and got it working again. TODO: Get os8v3d-bin.mkos8 validated. When I added resume, I turned off the simh command. So any scripts that used that construct are broken. check-in: a7c2b63adf user: poetnerd tags: os8-v3f-extensions
16:37
Electric python mode in Emacs sometimes sucks. Checking in WORKING silence of options report. check-in: 29c0bdf35d user: poetnerd tags: os8-v3f-extensions
16:19
Silence superfluous print of enabled/disabled options. check-in: 30fa646feb user: poetnerd tags: os8-v3f-extensions
16:12
Functionally complete "Give script line number in verbose and error output." TODO: 1. Test include files to make sure stack works. 2. Add line number output to the patch runner routines. check-in: 3c8123c3df user: poetnerd tags: os8-v3f-extensions
06:59
Snapshot: Added line number management so that all errors give the line number of the script file. (We keep a stack of line numbers corresponding to the nesting of included files.) Almost done, but it's hours past bed time! check-in: 9b8e035e77 user: poetnerd tags: os8-v3f-extensions
05:44
Previous commit was an error. I thought I'd completed the commit and then I addeed a bunch of code on an unrelated issue. THIS commit adds the boot checking AND NOTHING ELSE. check-in: 4c351aa5b2 user: poetnerd tags: os8-v3f-extensions
05:28
boot command checks to see if the device to be booted has something attached. If not, the script dies. Commands that run in an OS/8 context check the state of "booted" and if we have not been booted, the script dies. check-in: e9baca9803 user: poetnerd tags: os8-v3f-extensions
01:59
Added return status of "success", "fail", or "die" to all script commands. fail doesn't do much now. This is really about the die status. Also return values from routines called in simh.py are inconsistently set (rarely at all). And the return values are currently never tested. check-in: ccf3cc63e3 user: poetnerd tags: os8-v3f-extensions
01:41
Use :os8_send_ctrl to send ^C. Slightly cleaner. check-in: 5d248e2f70 user: poetnerd tags: os8-v3f-extensions
2018-04-07
23:41
I thought I tested this way of implementing resume, but apparently not. This fixes the new resume to work the way the previous check-in should have worked. check-in: 24125be341 user: poetnerd tags: os8-v3f-extensions
22:51
Further exploration of what it means to resume OS/8. Comments in simh.py explain the problem: We need to provoke a prompt to re-synchronize with python expect after resuming the stuff that was running under SIMH. There is now a resume command that does the minimum, but it's not as minimal as I would like: It sends ^C, which forces a return to the keyboard monitor if you happen to use it in the following situation: Start an OS/8 program. Escape to SIMH Resume. The ^C will kill the OS/8 program and send you back to the keyboard monitor. This is less disruptive than go 7600, but still not ideal. Just sending newline, or multiple newlines, or erase character or kill line to the OS/8 keyboard monitor after issuing the continue command in SIMH does not work to give you a command prompt. The next revision, I think will touch many routines to do the following: Create a sense of when to abort the whole script. Allow the script runner to keep track of OS/8 context and either blow out when you try to issue an OS/8 command before having booted an image, or to resume OS/8 for you when you use simh commands. check-in: b1e7201347 user: poetnerd tags: os8-v3f-extensions
2018-04-06
17:27
Merged SIMH updates in, primarily to get a fix to serial console handling, fixing upstream issue #545. check-in: ff2a299614 user: tangent tags: trunk
2018-04-05
05:43
Snapshot. More text added. check-in: f632a07d03 user: poetnerd tags: os8-v3f-extensions
04:52
More attempts to improve formatting. check-in: 635b4d4896 user: poetnerd tags: os8-v3f-extensions
04:37
Attempt to fix table formatting. check-in: 77d79a6b13 user: poetnerd tags: os8-v3f-extensions
03:26
Update with more text. check-in: 60d99f2f04 user: poetnerd tags: os8-v3f-extensions
2018-04-02
04:52
Fix a few eggergious typos. check-in: 96a25e81a3 user: poetnerd tags: os8-v3f-extensions
04:44
Fuller first draft. Snapshot. Still more prose to add, but it's bed time. check-in: 083fcc5efe user: poetnerd tags: os8-v3f-extensions
00:34
Markdown tweaks check-in: 9501dab8d9 user: tangent tags: os8-v3f-extensions
00:27
dont/wont/cant fixes in comments. NFC. check-in: ca02351d1a user: tangent tags: os8-v3f-extensions
00:25
URL fixes check-in: 01adc7e518 user: tangent tags: os8-v3f-extensions
2018-04-01
23:22
Tweaks to the Autosetup discussion in HACKERS.md check-in: f83a90486c user: tangent tags: trunk
23:18
Attempt to fix formatting problems. check-in: 64143f0747 user: poetnerd tags: os8-v3f-extensions
23:15
Added more info about branching and special branches to the HACKERS.md file. check-in: 78b5fdda99 user: tangent tags: trunk
23:12
Document os8-run command and its scripting language. check-in: 76627f0f9b user: poetnerd tags: os8-v3f-extensions
22:49
More HACKERS.md tweaks check-in: 98a2522ffd user: tangent tags: trunk
22:33
Refine two different options parsing strategies: In current strategy, be clearer on the effect of --enable and --disable args. In an alternate strategy, --enable-foo and --disable-foo become two word arguments. This can be done without changing the actions of auto.def, but DOES require changes to how configure would parse command line arguments. check-in: 1dc45457c5 user: poetnerd tags: os8-v3f-extensions
22:32
Several minor improvements to HACKERS.md check-in: 3c19d18b26 user: tangent tags: trunk
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. check-in: 025010d6f3 user: poetnerd tags: os8-v3f-extensions
00:01
os8-run now does patching and with os8v3d-patch.mkos8 reproduces full functionality of mkos8 patch. Additional command, "copy" added to take the os8v3d-bin.rk05 image and copy it into a new file os8-v3d-patched.rk05. The latter file is then mounted and patched, just like mkos8 does it. check-in: 3f562abc9c user: poetnerd tags: os8-v3f-extensions
2018-03-31
23:43
Changed action on verbose flag. Now simh output goes to the log file UNLESS verbose is set. The script file list and options don't show UNLESS verbose is set. However each script run is displayed even if verbose is not set. check-in: 3dc1945a77 user: poetnerd tags: os8-v3f-extensions
23:31
Cosmetic: Clean up formatting of code in run_command. Add documentation of current commands. check-in: 2ae5294065 user: poetnerd tags: os8-v3f-extensions
23:26
Bugfix: when error actually occurs we get a type clash. Need to convert the error object returned to a string. check-in: 3bfccb1c6e user: poetnerd tags: os8-v3f-extensions
23:23
Bugfix: pal8 command was using "s" instead of "self". check-in: cdcf9f000c user: poetnerd tags: os8-v3f-extensions
2018-03-28
22:46
Back out upstream SIMH change 3f7f926 in an attempt to fix a regression in "SET CONSOLE SERIAL". Closed-Leaf check-in: 667bc75355 user: tangent tags: simh-3f7f926-backout
2018-03-27
23:17
Small clarity tweak to the HACKERS.md section "Submitting Patches." check-in: 615fcb1f25 user: tangent tags: trunk
2018-03-26
04:35
New option to mount, "copy_scratch" that creates a writeable scratch copy of what is to be mounted, which gets deleted when done. This results in a version of os8v3d-bin.mkos8 that completely subsumes all the functionality of mkos8 bin. Next up: Patches, and Default directory path. check-in: 1ae5d8a262 user: poetnerd tags: os8-v3f-extensions
2018-03-24
03:55
The script runner now has the "Set INIT message" functionality: 1. We don't create INIT.CM with the editor. Instead we copy it in just as we do with INIT.TX. 2. os8script.py now has script interfaces to the simh.py routines: copy_into -> os8_pip_into copy_from -> os8_pip_from 3. os8v3d-bin.mkos8 is updated. Booting the resulting rk05 image DOES run the INIT.CM script properly. TODO: 1. Figure out an interface in the script runner for the functionality of: "create a bootable dectape copy from the read-only distribution tape." 2. Implement the believed-to-be-straightforward exercise of enabling patches. 3. Figure out an interface/convention for the root of relative paths when the script runner runs. (dirs.os8mi equivalent) 4. Come to closure on the design for package management/options. check-in: cd285d1672 user: poetnerd tags: os8-v3f-extensions
03:39
Bugfix: os8_pip_from was parsing the os8 name with "index" when it needed to be "find". (Index returns a value error, and find returns -1 if substring not found. I'd transposed them.) check-in: 0ebe98bd1c user: poetnerd tags: os8-v3f-extensions
03:08
Bug fix: We never before tested calling os8_pip_from and os8_pip_into with a null option argument. The code didn't actually work because we were treating option later as a string. Now if the arg is not present, or None we set it to the empty string. check-in: 8bbca41e87 user: poetnerd tags: os8-v3f-extensions
2018-03-21
10:33
Defining SIM_GIT_COMMIT_TIME when building the simulator to match a recent upstream SIMH change, which allows the "SHOW VERSION" command to include a commit timestamp. check-in: 901695a423 user: tangent tags: trunk
10:00
Merged in upstream SIMH changes. No functional change noted for PDP-8, but Mark Pizzolato wants us to track a recent change to "SHOW VERSION", which we'll do in a subsequent commit. check-in: 5d0ee5fb5b user: tangent tags: trunk
2018-03-20
20:58
Checkin [b3e6e42a77] caused the simulator to crash on exit on non-Pi platforms since no PiDP-8/I panel is present, causing the graceful shutdown to fail. This is harmless most of the time, since the simulator is dying anyway, but it was causing pexpect to choke during the mkos8 process when run on non-Pi platforms. check-in: 4891e80bbc user: tangent tags: trunk
04:05
The reorganization of the src directory so that no *.c is at the top level of src broke "Incandescent Thought". We now look for deeper.c in src/misc, not src. check-in: c465ea6fbb user: tangent tags: trunk
2018-03-17
23:06
Release process tweak for the Fossil binary step, now that we're no longer building Fossil from source in BOSI any more. check-in: 374be56f82 user: tangent tags: trunk
21:32
The simulator now turns off all front panel LEDs before exiting so that a "pidp8i stop" or "Ctrl-E, q" doesn't leave the last CPU state burning brightly on the front panel. Closes [700328105]. check-in: b3e6e42a77 user: tangent tags: trunk
21:15
Changed the signaling and timing of "pidp8i stop" to be more reliable about quickly stopping, so we don't need to escalate to a kill -9. The escalation still exists in case the simulator is recalcitrant, but an upcoming change will require a graceful shutdown. check-in: 084fafb781 user: tangent tags: trunk
2018-03-13
10:32
Backed out Ian Schofield's attempt to fix the MB display, [5597b069b2]. Going on the principle of charity here, I assume that change isn't entirely wrong, but it has the side effect of breaking MB display while in "stopped" state, where people are expecting to see the result of EXAM switch presses here, a documented behavior of the PDP-8/I. See p.93 in the 1967 edition of the Small Computer Handbook and page RIM-3 (PDF page 35) in the PDP-8 System User's Guide from 1969. These two bracket the introduction of the PDP-8/I. check-in: 1fcd751a5f user: tangent tags: trunk
2018-03-12
02:28
Script reproduces all but INIT.TX and INIT.CM from mkos8 bin. PONDERING: Currently doing "simh go 7600" and "simh det". Should I instead introduce "resume" for "go 7600" and re-introduce unmount? check-in: 2d3a227ab7 user: poetnerd tags: os8-v3f-extensions
2018-03-11
23:24
Silence one bit of debug noise no longer needed. check-in: 040fff8714 user: poetnerd tags: os8-v3f-extensions
12:27
Merged trunk changes in Closed-Leaf check-in: bc32a70eed user: tangent tags: ac-mb-fixes
02:53
Snapshot: Nearly complete script to reproduce mkos8 bin in a script. Untested. TODO: 1. Test 2. Add INIT.CM stuff. 3. Add SQISH commands. check-in: 692d7edef3 user: poetnerd tags: os8-v3f-extensions
02:51
Changes to build_subcomm: Detects all errors (but may not do anything about them just yet.) Now handles "WRITE ZERO DIRECT?" dialog. Builds a basic bootable tc08 dectape. Adds err_test.mkos8 to step through error handling. Found LOTS of places where handling would hang the script. I fixed those. TODO: Reproduce mkos8 bin in a script. check-in: 6abb3c86c2 user: poetnerd tags: os8-v3f-extensions
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. check-in: a02f051f37 user: poetnerd tags: os8-v3f-extensions
2018-03-09
05:00
SNAPSHOT: Beginnings of a script to build os8v3d-bin.rk05 Discovered that more work is needed in os8script.py to handle the dialog with the BUILD BOOT command: "WRITE ZERO DIRECT." Also the architecture for re-imagining copyins needs to be conceived. check-in: bec1348033 user: poetnerd tags: os8-v3f-extensions
04:40
Script that duplicates the work done by "mkos8 src": bin/os8-run os8-v3d-src.mkos8 check-in: 150bd42598 user: poetnerd tags: os8-v3f-extensions
04:04
Pulled the run script functionality into its own separate command called os8-run. Tested with the latest tc08.mkos8 check-in: 5094f41fa8 user: poetnerd tags: os8-v3f-extensions
04:03
Apparently I never actually tested unset_option. Now It's working. tc08.mkos8 sets tc08 by default and unsets it if you specify td12k or tdrom on the command line. check-in: 02b01c97eb user: poetnerd tags: os8-v3f-extensions
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... check-in: 55dc609201 user: poetnerd tags: os8-v3f-extensions
2018-03-07
04:36
tc08.mkos8 now understand td8e as a common option to td12k and tdrom. Since we don't have a ROM config, we can't test tdrom, but the build of td12k with the common td8e stuff works. Still TODO: Further re-arrangement of mkos8 functionality. check-in: 50d5c66e31 user: poetnerd tags: os8-v3f-extensions
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. check-in: c14d2e72ee user: poetnerd tags: os8-v3f-extensions
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_" check-in: 0d3e4cce6c user: poetnerd tags: os8-v3f-extensions
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! check-in: 3e7d1ab258 user: poetnerd tags: os8-v3f-extensions
2018-03-04
03:14
Added some comments to bin/teco-pi-demo explaining why we cannot make better use of class simh's new context switching abilities. check-in: f56e9b2e7d user: tangent tags: os8-v3f-extensions
03:13
Added a few more SIMH context switching cases in class simh check-in: 952d7b233e user: tangent tags: os8-v3f-extensions
03:11
Cleaner interface to show command: Do the split into a line array centrally. Make the show tape parsing orthogonal to rx and tti. check-in: 4b84f2a2ac user: poetnerd tags: os8-v3f-extensions
02:35
If you call simh.os8_send_ctrl('e'), the object now marks itself as "in SIMH context". This supports legacy uses of the class where transitions had to be done manually. check-in: c507e7ba49 user: tangent tags: os8-v3f-extensions
02:30
In two places, class simh was sending the same command to SIMH then calling parse_show_tti() on the result. Moved the command call into that function and renamed it get_tti(). check-in: fb6100a681 user: tangent tags: os8-v3f-extensions
02:11
Comment and whitespace improvements to lib/simh.py check-in: 712ce17691 user: tangent tags: os8-v3f-extensions
01:40
Simplified the check for SIMH commands that transition from SIMH context back to simulation context: it was listing all of the possibilities exhaustively, except only in lowercase. Neither is required: we can list only the first letter in uppercase, then slice the first letter off of the command and uppercase it before searching this list. This is both faster and more reliable. Also moved the related constants from per-instance to per-class. check-in: b54ebf922c user: tangent tags: os8-v3f-extensions
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. check-in: 79b7a7bd9d user: poetnerd tags: os8-v3f-extensions
20:43
Change between KSR and 7b implemented and tested. check-in: b6403b276e user: poetnerd tags: os8-v3f-extensions
20:12
Corrected comment on parse_show_rx_dev check-in: b9e53704f7 user: poetnerd tags: os8-v3f-extensions
20:00
Silence one bit of verbosity -- the rx detaches. check-in: 8f8cb98765 user: poetnerd tags: os8-v3f-extensions
19:59
Change for rx01/rx02 is done. TODO: ksr/7bit change. Also: Ponder if this stuff is being too verbose. check-in: 0e4f9c3777 user: poetnerd tags: os8-v3f-extensions
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 check-in: 692b0368ee user: poetnerd tags: os8-v3f-extensions
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. check-in: d2167af791 user: poetnerd tags: os8-v3f-extensions
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. check-in: 7b0047d2cc user: poetnerd tags: os8-v3f-extensions
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. check-in: 966fb1026b user: poetnerd tags: os8-v3f-extensions
02:53
Yup I had broken absldr. (Forgot to delete legacy code.) Fixed now and tested. check-in: 5998f944de user: poetnerd tags: os8-v3f-extensions
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. check-in: e67f63046a user: poetnerd tags: os8-v3f-extensions
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. check-in: 10848363e5 user: poetnerd tags: os8-v3f-extensions
2018-02-27
04:35
Deleting the last of the OS/8 v3f files from their old home. check-in: cf3f0afe80 user: poetnerd tags: os8-v3f-extensions
04:33
Bringing the updated versions in to their new home: Amendments to os8-v3f sources to get them to build properly, and to clean up newlines as documented in README.md. check-in: e7f3f5c8a9 user: poetnerd tags: os8-v3f-extensions
04:27
Re-checking in original versions in new home. check-in: 70422a41be user: poetnerd tags: os8-v3f-extensions
04:21
This file should never have been checked in. It was a built artifact, not baseline truth source. check-in: ed42b06197 user: poetnerd tags: os8-v3f-extensions
04:20
First step of moving os8-v3f to a os8/v3f. Move everything with no history. check-in: 3295f96998 user: poetnerd tags: os8-v3f-extensions
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. check-in: f6c639f923 user: poetnerd tags: os8-v3f-extensions
04:22
Updated in anticipation of support for TD12K and TDROM DECtape configurations. check-in: 8a4f9efde2 user: poetnerd tags: os8-v3f-extensions
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. check-in: aa81f5802a user: poetnerd tags: os8-v3f-extensions
2018-02-25
01:48
Ditto in tools/bosi check-in: 44e7fdb32b user: tangent tags: trunk
01:47
Switched another systemctl command in the pidp8i-test manual. check-in: a125ef3ebc user: tangent tags: trunk
01:45
The top-level README.md file now gives "systemctl --user" commands only in one place, purely for documentation value. In all other places, we now use the new "pidp8i $verb" commands. check-in: 4692d6051c user: tangent tags: trunk
2018-02-24
23:48
Clarity fixes to the new "doc" discussion in the HACKERS.md file's directory structure section. check-in: 5a93928903 user: tangent tags: trunk
23:45
Documented an exception to the "etc" rule in the HACKERS.md directory layout section. check-in: 76739686ac user: tangent tags: trunk
23:21
Fixed a logic bug in the "make mediainstall" skip test, and added a message when we skip the step to make it clear which path was taken. check-in: 36b7e06e65 user: tangent tags: trunk
22:41
The test intended to skip re-installation of all the SIMH binary media and the SIMH boot scripts on a system where that has already been installed was checking for the existence of os8.rk05, which will only exist on a system that had 2017.04.04 or earlier installed on it. A system that was fresh-installed from 2017.12.22 wouldn't have this file, so the *next* installation (say, to check out the trunk version) was overwriting local media and script files. This is not going to affect people who used only release versions unless they manually did "make install" again for some strange reason. The more likely way this hits is for someone who first installed 2017.12.22 and then later checked out an unreleased version and installed it over the top of their release version. check-in: 43161ac30b user: tangent tags: trunk
22:33
Clarifications to the directory scheme section of HACKERS.md. check-in: 088bcc323f user: tangent tags: trunk
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 check-in: e0b7feccad user: poetnerd tags: os8-v3f-extensions
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? check-in: c3d90b5b86 user: poetnerd tags: os8-v3f-extensions
2018-02-22
17:31
Clarified in README.md that the goo.gl link points to a release tarball URL. Pointed the user to the "bleeding edge" links on the home page if they want the tip of trunk instead. check-in: 363c3a4164 user: tangent tags: trunk
15:30
Added the --disable-usb-automount option to the configure script. check-in: 519af7fb16 user: tangent tags: trunk
13:58
Changed the way the systemd user unit file is installed so that it starts on boot. (It was referencing a target that doesn't exist in the user unit namespace, only in the system-level namespace.) check-in: 9df981f85d user: tangent tags: trunk
13:57
The change to bin/pidp8i to make it a systemctl command shortener broke the install verb. check-in: 210dd32e7f user: tangent tags: trunk
13:34
Moved most of the material on the systemd service from the "Major Differences" wiki document into the top-level README.md file's section on the same topic. check-in: 7bdf00a1e0 user: tangent tags: trunk
13:19
Documented the new "pidp8i $VERB" interactive command shortener. check-in: 5f3a0f3399 user: tangent tags: trunk
13:16
The pidp8i command now recognizes when it's being run interactively with arguments and passes them on to systemctl, acting as a command shortener. check-in: 62d01a3ac6 user: tangent tags: trunk
12:38
Clarity pass on the new systemd section at the end of README.md. check-in: e505816ebe user: tangent tags: trunk
12:24
Changed several documentation references to "sudo systemctl VERB pip8pi" commands to work with the new user-level service. check-in: f64def86c2 user: tangent tags: trunk
12:19
Swapped etc/pidp8i-init.in (a SysV init script) out for etc/pidp8i.service.in (a systemd user unit), moving much of what was in the init script into bin/pidp8i.in. Implements [fc237d3f08]; see that ticket for the rationale. check-in: 4a5ef7682b user: tangent tags: trunk
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. check-in: 77f7c141e7 user: poetnerd tags: os8-v3f-extensions
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. check-in: a53265ed60 user: poetnerd tags: os8-v3f-extensions
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. check-in: 48f84ed990 user: poetnerd tags: os8-v3f-extensions
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::" check-in: 32c3b1e1ae user: poetnerd tags: os8-v3f-extensions
2018-02-19
18:07
Another attempt at cleanup. check-in: 448527acfc user: poetnerd tags: os8-v3f-extensions
18:04
Corrections to README.md: Fixed formatting of included file. Added license. check-in: 8a49cdd555 user: poetnerd tags: os8-v3f-extensions
17:56
Amendments to os8-v3f sources to get them to build properly, and to clean up newlines as documented in README.md. TODO: Find out why mkos8 complains of bad device on the SQUISH. check-in: ab0e49c8c5 user: poetnerd tags: os8-v3f-extensions
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. check-in: 95f361a076 user: poetnerd tags: os8-v3f-extensions
16:34
Create new branch named "os8-v3f-extensions" check-in: 24ef7c118d user: poetnerd tags: os8-v3f-extensions
04:02
Improved defaults: Added a default system image if none is specified on the command line: The os8v3d-patch.rk05 file in bin booted on rk0. Tested binary transfers from OS/8. They work as expected: /B in PIP pads the ptp device with lots of null leader/trailer. Specifically, 192 bytes are added at the beginning; Any ^Z at the end of the original .BN format file is removed. Any NULL padding in the OS/8 filesystem after the end of file is removed. Leader-trailer of 0200 and the 000 is added at the end. It will be interesting to see what kind of transformations are done on transfers into OS/8. Will the ^Z be added to .BN format? Will a sacrificial character on paper tape input be needed? /I returns the binary bits verbatim. The default transfer mode has been changed from /B to /I. Closed-Leaf check-in: 347a9e009b user: poetnerd tags: os8-cp
2018-02-18
19:14
Moved a single-use string member variable in class simh inline. It needn't be externally-visible. check-in: df07d34aed user: tangent tags: os8-cp
18:46
Merged in trunk improvements check-in: 29dfc620d5 user: tangent tags: os8-cp
17:37
Added more clarification of when ASCII transforms are lossless. (If newlines are well formed.) check-in: 1b6da290c4 user: poetnerd tags: os8-cp
03:10
Typo, grammar, and clarity tweaks to previous check-in: 7689d22a2c user: tangent tags: trunk
03:08
Assorted improvements to the "Single-Core Default" section of README-throttle.md. check-in: 938079c032 user: tangent tags: trunk
01:52
The publish-fossil script now includes the Fossil version in the file name, and it strips the binary before adding it to the repository. check-in: a3ac8e8862 user: tangent tags: trunk
01:02
Clarified the new terse usage message a bit check-in: 4ee6f0b097 user: tangent tags: os8-cp
00:56
Fixed some whitespace problems in os8-cp check-in: 0ef3beebb6 user: tangent tags: os8-cp
2018-02-17
05:14
Error reporting and recovery fixes: Eliminated some debugging print statements that should have been removed before. Cleaned up error mesages print from pip routines. Took care to delete the empty file created by SIMH ptp device when the OS/8 file is not found by os8_pip_from. check-in: 026f859acb user: poetnerd tags: os8-cp
04:52
Rendered nomenclature consistent in documentation and implementation: copy is now: "within" for on OS/8, "into" for POSIX into OS/8, and and "from" for going from OS/8 to POSIX. Renamed the routines in simh and changed error strings to match the nomenclature. check-in: ecb8cee214 user: poetnerd tags: os8-cp
04:03
Revised usage message. Improved accuracy. Split into TERSE and VERBOSE chunks. check-in: e02f74e842 user: poetnerd tags: os8-cp
2018-02-11
22:06
Moved simh._os8_errors up within the file to be next to the other constants and member variables, and improved its associated comments. check-in: 70168fc002 user: tangent tags: os8-cp
21:45
ptp2text needs to filter out rubouts that PIP /A adds after control chars such as tab. os8-cp bug fix: File parser for OS/8 wild card DIR output didn't quote the dot. os8-cp: Added VERBOSE option, and provision for a QUIET option. Some things that were always printed are only on VERBOSE and DEBUG options. QUIET mode doesn't have anything bound to it yet. simh.py: Error detection updated a bit, and adding tracking of which error messages have been verified. check-in: c162a5d01a user: poetnerd tags: os8-cp
21:37
Whitespace and comment improvements to os8-cp. check-in: a87d0769aa user: tangent tags: os8-cp
21:23
Refinement of previous DRY violation fix, reducing the key data structure to a single dict. Checked this in separately to make the sense of the transformation clear. check-in: 5be87b7a14 user: tangent tags: os8-cp
21:15
Fixed a DRY violation in the PIP option constants defined at the top of os8-cp. Changes now need to involve just two parallel lists of strings, whereas before you had to change one string and three parallel dictionaries. check-in: 29525bae74 user: tangent tags: os8-cp
20:54
Comment and whitespace improvements check-in: dd47da7502 user: tangent tags: os8-cp
20:27
Reordered the "import" statements in os8-cp, dropping one duplicate and one no-longer-needed import. The first group of import statements should never be extended, per its comment. check-in: 5688a5d6c8 user: tangent tags: os8-cp
2018-02-10
18:21
Framework for error recovery in place, and basic errors tested. Errors we would hit were inventoried. A table of error matches and a flag as to whether the error was fatal or not (if not we need to exit the program back to OS/8 monitor.) os8_fetch_pip and os8_send_pip have been updated to deal with fatal and not fatal errors. File not found (non-fatal) and Directory I/O error (fatal) have been tested. TODO: Investigate teaching os8-cp's use of DIR command about errors. Still not done: Testing of binary modes. check-in: d7a0d338b7 user: poetnerd tags: os8-cp
03:31
Fixed minor bug that prevented --action-file from working. Enabled copy mode, but forgot to test it. :-) check-in: 6a49e73a85 user: poetnerd tags: os8-cp
01:38
Copy from OS/8 basically works, both single file and wild card case. TODO: copy "on" OS/8 to OS/8. Testing testing testing! check-in: efd88b5a2e user: poetnerd tags: os8-cp
2018-02-09
14:20
Updated SIMH. check-in: 0a9a46d2c3 user: tangent tags: trunk
05:31
Snapshot. Basic copy to OS/8 working. TODO: Copy from OS/8. Wild carding of copy from. Implementing of copy on in FOTP. Testing. Sacrificial byte at end of binaries. check-in: cd0f6e7fdb user: poetnerd tags: os8-cp
02:23
att and det commands tested and working with fixes in this checkin. Time to start working on the file transfer stuff. check-in: 4cc7df0ce3 user: poetnerd tags: os8-cp
2018-02-07
05:17
Snapshot: NOT WORKING! Code drafted to do att and det commands in simh. copy actions designed but not implemented. NOTHING TESTED. (Also moved some constants to the globals section of the file.) check-in: 0522ee40e2 user: poetnerd tags: os8-cp
04:18
Used python dict idiom to shorten parse of mode options code. check-in: 796dadce18 user: poetnerd tags: os8-cp
2018-02-06
07:01
Had to turn parse_args back into a subroutine, because the new parse_action_file overrode the action_plan being created. Pulled back in some of the old main because I'll reuse that code when I implement the copying. Shifted some of the globals from the middle of the file to the section labeled for globals. BTW: The override by --action-file is because parse_args did two passes: 1. read names and glob them. 2. turn globbed names into actions. The action file is all actions. We override because that way I don't have to write code to figure out how to do a partial second pass of what's already been parsed from the command line when we hit the --action-file argument. Icky, but... check-in: f3702ec3c4 user: poetnerd tags: os8-cp
05:09
Merged trunk improvements check-in: cfe9f76381 user: tangent tags: os8-cp
04:54
Renamed os8-cp --tc to --dt, properly reflecting the SIMH device name. I see why it was called --tc, but it was incorrect to map it to SIMH device name "TC" (no such thing) and it's confusing to those of us who know the SIMH device names. Better to just remain consistent throughout. check-in: 7b2a875a1b user: tangent tags: os8-cp
04:52
Many improvements to the os8-cp USAGE message, especially in the area of media image options. check-in: be30dc52a4 user: tangent tags: os8-cp
04:24
Removed some functions now unused since the command line parser redesign. check-in: 0d55a92b7e user: tangent tags: os8-cp
04:23
Moved most of the program comments explaining the behavior of os8-cp into the USAGE message. check-in: 4e116e66c2 user: tangent tags: os8-cp
03:17
Replaced main() in os8-cp — which was almost completely commented-out from its prior form — with parse_args(), since all that was left of main() was a call to that function. check-in: 9cc31248aa user: tangent tags: os8-cp
02:58
Minor tweaks to previous check-in: 174829cb05 user: tangent tags: trunk
02:56
Better explanation of the reason for the change to SIMH throttle stabilization and a better link to the GitHub issue thread explaining the backstory. check-in: f32224cc98 user: tangent tags: trunk
02:40
Added paragraph to the "Throttle Stabilization" section of README-throttle.md warning about upgrading an existing boot script setup. check-in: 73bb7661e3 user: tangent tags: trunk
02:35
Switched tools/bosi from the macOS rmtrash command to trash, which behaves better on multi-volume systems. check-in: 93ad7eeaf5 user: tangent tags: trunk
02:34
Added named anchors to README-throttle.md section heads check-in: e336b70fc4 user: tangent tags: trunk
2018-02-04
05:02
Renamed os8-pipio to be os8-cp Designed the new parser. Snapshot with Complete first draft of new parser. It only took 300 lines of code to do it. check-in: 96412d7943 user: poetnerd tags: os8-cp
2018-01-30
09:46
Added examples/fpptst.ft to demonstrate the generation of FPP12 instructions in OS/8 FORTRAN IV assembly (RALF) output even though the FPP feature of SIMH's PDP-8 simulator is not enabled by default in the PiDP-8/I stock simulator init scripts. check-in: bc13bb069b user: tangent tags: trunk
2018-01-29
09:36
Merged SIMH upstream again, this time finally fixing upstream issue #508, which I'm now going to close. check-in: 3278b60481 user: tangent tags: trunk
03:43
General command line utility to read from and write to OS/8 media using PIP. Currently supports .tu56 and .rk05. TODO: 1. Investigate adding a sacrificial extra character for file send to OS/8 in binary modes. 2. Detection of OS/8 Device full. 3. Support for copyin and copyout of the system area with PIP /Y check-in: 5d7366cdd5 user: poetnerd tags: os8-cp
03:37
Adds two functions: os8_send_pip and os8_fetch_pip More general interface for both storage into and retrieval from OS/8 media. Used by a new program bin/os8-pipio check-in: 7285ef619d user: poetnerd tags: os8-cp
2018-01-28
06:40
Added a "make run-tss8" variant of boot/2.script, a TSS/8 parallel for "make run". check-in: 745033b32e user: tangent tags: trunk
2018-01-26
09:14
Clarified the MACREL v2 patches situation in doc/os8-patching.md: it was written pre-v2017.12.22 release in future tense. check-in: 5a179291c7 user: tangent tags: trunk
09:13
More of the same check-in: c7e13b21cc user: tangent tags: trunk
09:12
Whitespace fixes check-in: 7b35928a10 user: tangent tags: trunk
00:57
Assorted minor tweaks to doc/os8-patching.md check-in: c55128b3e1 user: tangent tags: trunk
00:52
Minor tweaks to doc/class-simh.md check-in: 1068ad74ea user: tangent tags: trunk
2018-01-25
21:03
Merged in an upstream SIMH improvement to the throttle stabilization code which avoids recalibrating the throttle timers on re-entering the simulation either due to Ctrl-E/cont at the terminal keyboard or CONT/START on the PiDP-8/I front panel. It simply continues using the values it determined before the simulation was stopped; it will still recalibrate itself periodically, it just doesn't start over from zero. check-in: cac1e79178 user: tangent tags: trunk
20:59
Clarifications to the new section on throttle stabilization in README-throttle.md. check-in: 22398c8ac6 user: tangent tags: trunk
2018-01-22
12:58
Overriding the default SIMH throttle settle time in the boot/*.script files, and documented what we know about all this in README-throttle.md. check-in: d08dd32180 user: tangent tags: trunk
11:40
Merged SIMH updates into trunk check-in: 2281fbe3f1 user: tangent tags: trunk
11:39
Updated SIMH to upstream checkin ID 52aebb23. No PDP-8 specific changes, but it appears to have fixed the keyboard delay problem. Closed-Leaf check-in: 1cd9da6804 user: tangent tags: simh-update
11:27
Restored upstream SIMH commit ID b2b18de in preparation for doing a simh-update run. Mark Pizzolato claims that the upstream master branch has this bug fixed, and we don't want this backout appearing in our diffs relative to upstream. check-in: ad6e607aa0 user: tangent tags: simh-update
11:13
Declaring the argument types of ire0() in examples/pep001-ire0.c to fix complaints from the new CC8. check-in: c70e7a7cb4 user: tangent tags: trunk
11:10
Updated fib.c with a version from Ian that runs until overflow, which builds under both versions of CC8. check-in: ff9311ab5f user: tangent tags: trunk
11:01
Documented a few more CC8 restrictions in its README.md. (Previously checked in accidentally on the ac-mb-fixes branch.) check-in: 8f3a66e383 user: tangent tags: trunk
2018-01-20
17:27
Added "int" return type declarations for all CC8 example programs, and removed the int type insertion in bin/cc8-to-os8. check-in: 44fac25071 user: tangent tags: trunk
17:27
Applied patch sent by Ian Schofield via private email to fix the "int foo()" difference between the CC8 cross- and OS/8 compilers. check-in: 8a25ff0dad user: tangent tags: trunk
2018-01-12
10:52
Assorted improvements to examples/README.md check-in: 8ff7ff0955 user: tangent tags: trunk
10:27
Grammar tweak check-in: 1ce056054e user: tangent tags: trunk
10:26
The BASIC section of examples/README.md now refers the user to the new "Getting Text In" wiki article, both simply and by hinting at some of the methods it documents. check-in: c0463566f9 user: tangent tags: trunk
10:12
Linked to the newer PEP001.* wiki articles from the examples' README.md. check-in: a9069d1472 user: tangent tags: trunk
00:54
Backed out checkin [5597b069b2] for testing purposes, and for building a better version of that checkin. check-in: 38c1b17bab user: tangent tags: ac-mb-fixes
2018-01-08
08:19
The "pidp8i stop" change now fails on multi-core Pis. Trying a combined version. check-in: 27f585bd1b user: tangent tags: trunk
2018-01-05
03:51
Better output from "systemctl status pidp8i". check-in: bcc06879ec user: tangent tags: trunk
03:50
Changed the "screenu -S pidp8i -X quit" command in the do_stop() action for the pidp8i init script to "pkill -f pidp8i-sim". Quitting the screen(1) session does that and *only* that, leaving pidp8i-sim still running, at least on Raspbian Stretch; whereas killing off the simulator *does* abandon the screen(1) session. check-in: 474594821b user: tangent tags: trunk
03:04
Fixed a problem in "make install" which caused libexec/scanswitch to be installed in $prefix/bin. check-in: 8ae952de3d user: tangent tags: trunk
2017-12-29
16:43
Clarified ticket level meanings. check-in: 1796d00a9b user: tangent tags: trunk
2017-12-27
03:52
Passing -std=c99 when building src/misc/*.c to avoid a complaint from some compilers about our use of variable declaration in the for loop initializer section. Then fixed the resulting compiler complaints when building on Raspbian Stretch. check-in: 6963b686c5 user: tangent tags: trunk
2017-12-24
19:54
Fixed a #include problem related to the new src subdirectory layout. It wasn't caught until now because it only affects ILS builds, and I've been testing off-Pi until now. check-in: 9a33c3f4b9 user: tangent tags: trunk
19:52
Updated SIMH to upstream commit 8494112ee4. Nothing of consequence has changed upstream as far as we are concerned, but I needed to test that tools/simh-update continues to function with the new src subdirectory layout. check-in: 0bd7f65cb0 user: tangent tags: trunk
19:49
Added src/SIMH/Makefile.in, which should have been included with the prior checkin. check-in: 62f98ec9c2 user: tangent tags: trunk
19:48
Moved SIMH source files into src/SIMH, leaving no actual source files in the top level of `src`. Saying `ls src` therefore now gets you a listing of the programs built from source code, with the exception of src/misc and src/asm, which contain single-module programs, which therefore do not deserve their own subdirectories yet. check-in: 44f74bca46 user: tangent tags: trunk
19:16
Moved all remaining non-SIMH *.c files from src into src/misc. check-in: a6c903715f user: tangent tags: trunk
19:10
Moved the PiDP-8/I specific C files that get built into pidp8i-sim into src/pidp8i. (This is the first in a series of src subdirectory cleanups.) check-in: 0fd5a04dc0 user: tangent tags: trunk
2017-12-23
22:00
Removed several references to usbmount, which we no longer use. They were all basically harmless, just causing extra pointless work for both the human and the computer. check-in: af6ea767d7 user: tangent tags: trunk
21:53
Updated a "v201712xx" reference to the actual release version, v20171222. check-in: a83b8a64f4 user: tangent tags: trunk
03:55
Merged doc fix in check-in: 3e64e6c138 user: tangent tags: release, v20171222
03:55
Prior update to doc/OS-images.md made for confusing grammar in the paragraph following the removed paragraph. Fixed. Retagged release v20171222. check-in: 4c2353525a user: tangent tags: trunk
03:29
Merged dependency fix in from trunk check-in: 32e794a04b user: tangent tags: release
03:29
Removed lib/pidp8i/__init__.py and ips.py as dependencies of the RK05 disk images so that they don't rebuild just because you ran teco-pi-demo -b. That doesn't affect *how* the RK05s are built, just *how fast* they are built, which is already a fait accompli by the time this question comes up. check-in: 6c77f5fa80 user: tangent tags: trunk
02:41
Merged in trunk doc fixes check-in: 2f43ced016 user: tangent tags: release
02:37
Added rootfs auto-expand item to ChangeLog. Retagged release v20171222. check-in: 882e7a13fb user: tangent tags: trunk
02:18
Updated doc/OS-images.md for new Stretch based binary OS images. check-in: c2affd79bb user: tangent tags: trunk
02:15
jessie -> stretch in zipfile naming check-in: 963fe39482 user: tangent tags: trunk
02:03
Relaxed a check in "bosi image" which was causing it to fail to find the Linux / (root) partition on the Raspbian SD card. Added better error checking in case something like this happens in the future. check-in: 8ecb5aec91 user: tangent tags: trunk
01:32
The sshd service was renamed to ssh in Stretch. Updated tools/bosi to cope. check-in: 3c4bea5aea user: tangent tags: trunk
01:29
Added a delay before the reboot and poweroff steps in bosi so user can read and evaluate the final messages. check-in: 3de5856fc4 user: tangent tags: trunk
01:26
Running "teco-pi-demo -b" in the "bosi build" step, partly so we test out the simulator before rebooting and partly so we update the benchmark value for that type of system. check-in: fd6977825c user: tangent tags: trunk
01:22
Merged trunk fixes in. Still release v2017.12.22. check-in: ca472c3816 user: tangent tags: release
01:22
The change made long ago to allow scanswitch to control the /etc/init.d/pidp8i script causes it to fail if the PiDP-8/I panel isn't actually present. Checking for the exit code 127 case explicitly now and falling back to 0.script in that case. check-in: 2c7e1c265d user: tangent tags: trunk
00:45
Small fixes to ChangeLog check-in: acfb6e1a87 user: tangent tags: trunk
00:27
Merged trunk changes for v20171222 into release branch check-in: 7f42574bca user: tangent tags: release
00:25
Tagged release v20171222 check-in: 8ba49fee33 user: tangent tags: trunk
2017-12-22
22:09
Modified the newly-created simh.os8_zero_core method to skip the top page of field 2, since it is reported that the OS/8 TD8E driver lives here. We don't use that driver in our current OS/8 disk distribution, but someone may later add that driver to their local clone of our software distribution then try running cc8-tu56-update (or some future script which also calls this new method) and be annoyed when their disk driver is MIA upon re-entering OS/8. check-in: 4b7c450799 user: tangent tags: trunk
22:08
Extracted the core zeroing code chunks from cc8-tu56-update into methods of class simh. They may prove broadly useful. check-in: f79b1587bc user: tangent tags: trunk
2017-12-21
12:29
Updated ChangeLog check-in: 99c1dcabef user: tangent tags: trunk
11:38
Replaced our reliance on the usbmount package — which only works out of the box on Raspbian Jessie and older — with a shell script based on https://serverfault.com/a/767079 which incidentally gives us the freedome to improve on it. check-in: d136804bf1 user: tangent tags: trunk
10:08
Whitespace improvements to bldcc8.bi. It changes the order of files on the output tape for some reason, so cc8.tu56 is updated yet again. check-in: 2036c8a7b0 user: tangent tags: trunk
09:55
Assorted improvements to the main CC8 manual. check-in: 5545137c62 user: tangent tags: trunk
09:49
Renamed CC.BI to CCR.BI. OS/8 isn't terribly smart about figuring out which "CC.*" you meant when you say "EXE CC", so we need a prefix that doesn't conflict with CC8 output files. The new name means "Compile C and Run." It is definitely not a classic rock pun. Definitely. check-in: 20d1ed131d user: tangent tags: trunk
09:14
Assorted improvements in src/cc8/examples/README.md to track recent developments in CC8 land. check-in: c598b55169 user: tangent tags: trunk
08:42
Added bldcc8.bi and cc.c to the list of files we delete from the working RK05 disk from cc8-tu56-update, since they're also temporaries. Also reworked the way we're handling the Python lists to avoid problems with OS/8 command line length limits. check-in: 5d10912237 user: tangent tags: trunk
07:56
Reworked the newly-deterministic cc8.tu56 creation in terms of Python lists so the code is easier to expand and the file lists are easier to read. Also improved the comments. Removed a pointless and possibly dangerous "DEL *.C" command which we no longer need now that we've given up on using wildcards in the COPY commands. There still remains some source of mischief because cc8.tu56 changed again purely by building it on a different platform. check-in: 32e4c2a446 user: tangent tags: trunk
06:59
Comment improvements check-in: e8175ab22c user: tangent tags: trunk
03:00
Fix for [ab0e67]: In addition to unmounting the dt image explicitly, one needs to clean out any files from previous runs of the script. The OS/8 copy actions send output in the order found on the input disk. The Linker resolves library items in the order the input files are found on disk. So we must remove anything from a previous run of the program, and SQUISH SYS: and DSK: so that successive runs of the script will cause input and output files to ALWAYS show up in the same order on the disk. When this is done cc8.tu56 DOES come up bit identical. This checkin is for the good script and the resulting good (canonical) cc8.tu56. check-in: 6f59c23708 user: poetnerd tags: trunk
2017-12-20
20:20
Removed redundant line from the old ASCII to modern ASCII translation table in the U/W FOCAL manual supplement. check-in: 0c908434d4 user: tangent tags: trunk
20:13
Removed the warning about LF-only example/*.fc inputs to "make" in the U/W FOCAL manual supplement: txt2ptp now fixes this. check-in: f53b42b748 user: tangent tags: trunk
04:56
I am concerned that one needs to explicitly detatch dectapes before quitting the simulator. I have added that to cc8-tu56-update. I am pushing out the cc8.tu56 I built with this version. It corrects a corrupt LIBC.RL that was in the previous version. Alas, this version of cc8-tu56-update STILL does not create bit-identical tape images on successive runs. check-in: 599e310e0e user: poetnerd tags: trunk
2017-12-19
14:43
Merged in trunk improvements. Closing leaf: found a better way. Closed-Leaf check-in: 315af225b0 user: tangent tags: udevd-systemd-fix
14:34
bosi init now kills off all processes for user 'pi' before usermodding it. Jessie didn't need this, but under Stretch, you have the "systemd --user" process and one other even after exec'ing yourself a pure root shell. check-in: 5b53879bca user: tangent tags: trunk
13:28
Replaced "build Fossil from source" stuff in bosi init with a wget call for the unversioned binary build previously published to the project site by tools/publish-fossil. check-in: 53f593579b user: tangent tags: trunk
09:38
Rebuilt cc8.tu56. Prior one caused ERROR 0004. check-in: 2e5d30a5b3 user: tangent tags: trunk
09:19
Merged the branch backing out a change made upstream to SIMH back in August which screws up the fixed-rate simulator throttling. Hopefully we'll get a better fix later, but we've given upstream 3 days to fix this and we haven't even gotten a reply yet. check-in: 44bacd76c8 user: tangent tags: trunk
09:16
Jonathan Trites found a use of '\*' in a call to simh.os8_send_cmd() which we missed when fixing these escaping issues a while back. It's probably insignificant since it follows a short command, but it is at least sloppy, so it's worth fixing. check-in: f9cc818c8c user: tangent tags: trunk
2017-12-18
07:07
Applied a fix to the systemd udevd unit which is supposed to allow usbmount to work under Raspbian Stretch according to usbmount GitHub issue #2. It's not working here on my PiDP-8/I, but it's a mongrel upgraded from Jessie. Checking it in on this branch so I can try it on a fresh Stretch install. check-in: e4e5ef7f65 user: tangent tags: udevd-systemd-fix
2017-12-16
18:09
Merged Steve Bennett's improved unified mkos8 + configure OS/8 option handling code, plus some assorted other improvements along for the ride. check-in: a4e1ad749f user: tangent tags: trunk
18:06
Fixed several misunderstandings in this new option handling scheme, and tweaked a bit of it besides. Closed-Leaf check-in: d5e40c708f user: tangent tags: os8-option-share-msteveb
17:17
Simplified some of the string building code in the auto.def OS/8 option handling. check-in: 1c7cd74c22 user: tangent tags: os8-option-share-msteveb
16:59
steveb supplied the final key to allow this to work on "real" Tcl, as opposed to Jim Tcl. check-in: 76f7967fb2 user: tangent tags: os8-option-share-msteveb
10:51
Steve Bennett's improved method for setting OS/8 options for both the configure script and mkos8 from a single definition. This version doesn't work on "real" tclsh, only jimsh0. check-in: d37216a49f user: tangent tags: os8-option-share-msteveb
10:40
Removed unnecessary executable bits on autosetup/* check-in: 07aba8a68f user: tangent tags: os8-option-share-msteveb
09:59
Workaround for a bug in Fossil's Markdown processor check-in: 01676fb3eb user: tangent tags: trunk
09:58
Quoting fix to previous check-in: cf3537aa4c user: tangent tags: trunk
09:56
Merged the new paragraph on prompt character escaping with a similar one previously existing. check-in: b10e9fbb40 user: tangent tags: trunk
09:51
Clarified the '\\.' explanation in class-simh.md check-in: 97c5799ff3 user: tangent tags: trunk
09:50
Completed a missing thought in the recent checkin to class-simh.md. check-in: c44f5488e0 user: tangent tags: trunk
09:48
Small fix to previous check-in: c1f7f705ae user: tangent tags: trunk
09:46
Several improvements to doc/class-simh.md check-in: 599ba5fcab user: tangent tags: trunk
09:35
More tweaks to README-throttle.md check-in: 9535f9c26d user: tangent tags: trunk
09:23
Assorted tweaks to the single-core section of README-throttle.md. check-in: d6fcae8f40 user: tangent tags: trunk
08:58
Backed out upstream commit b2b18de0ec, which breaks fixed-rate throttling. Whether we merge this into trunk or close the branch depends on how upstream reacts to our report, issue #508: https://github.com/simh/simh/issues/508 Closed-Leaf check-in: 701ebdc2f1 user: tangent tags: simh-timer-fix
08:52
Grammar fix check-in: 18f7db0050 user: tangent tags: trunk
08:47
Assorted improvements to the OS/8 *.rk05 disk image description in the top-level README.md file. check-in: bf7cc454a2 user: tangent tags: trunk
07:36
Changed how the configure script sets the default value for --prefix to avoid a complaint from autosetup about use of an obsolete interface. check-in: a7ef26e838 user: tangent tags: trunk
07:08
Rebuilt cc8.tu56 with all the recent changes in place. check-in: 2c8a3dec51 user: tangent tags: trunk
06:56
cc8-tu56-update now zeroes most of core before running the compile-and-SAVE BATCH file. It was hoped that this would fix the nondeterminism of the script, but that doesn't seem to be the case. check-in: d73c5b76db user: tangent tags: trunk
06:41
Another *.s -> *.sb change in cc8-tu56-update. check-in: 27b3a7392f user: tangent tags: trunk
06:38
Better description of the CC8 example programs in the CC8 docs. check-in: 442d9cff50 user: tangent tags: trunk
06:26
cc8-tu56-update no longer copies basic.c to the tape image: the OS/8 compiler isn't currently able to compile it. check-in: 20a61bf4e6 user: tangent tags: trunk
06:25
The CC8 cross-compiler now writes out *.sb instead of *.s to match the OS/8 file naming convention for SABR output, and to avoid the confusing use of *.s for some POSIX assembly languages. It was using *.s simply because it could replace *.c on the input file name with a single character replacement. If the input file name is exactly at the file name buffer's limit (20 bytes, including the trailing null), we still write out *.s rather that mess with resizing buffers or reserving one byte, complicating all the other uses of that buffer size. check-in: 857b3fafc0 user: tangent tags: trunk
2017-12-13
03:50
. check-in: e7e3ff56fd user: tangent tags: trunk
03:32
Updated autosetup to upstream Git commit b5a0e85d8 check-in: 7a12e8386e user: tangent tags: trunk
03:21
Steve Bennett's idea for redesigning our mkos8/auto.def option sharing mechanism so that it doesn't require modifications to autosetup. Checkin it in on a branch because although it works, it's more complex and has other nonideal properties as compared to our previous solution. check-in: 4239a89d8a user: tangent tags: os8-option-share-msteveb
02:28
Updated SIMH to current upstream version. The only substantial change from our perpsective is working around a change they made to scp.h which redefines all of ctype.h, then changes their names, forcing any program that indirectly included scp.h to also link to scp.o! Broke that tie by carefully reworking our #includes to avoid bringing scp.h into programs like pidp8i-test which do not link to the rest of SIMH. check-in: 0b8fb3f7d8 user: tangent tags: trunk
02:08
Updated SIMH to upstream commit 27f9fc3c3e7. Closed-Leaf check-in: 324c415192 user: tangent tags: simh-update
01:33
Portability fix to previous check-in: fbc93a455d user: tangent tags: simh-update
01:32
Bash syntax for testing PDF file size difference in SIMH documentation *.doc -> *.pdf process wasn't working as expected. Rewrote it in terms of stat(1). check-in: 749cce9c50 user: tangent tags: simh-update
01:05
The simh-update script was assuming that you had a local copy of all the unversioned SIMH documentation PDFs, or at least that it could "touch" those file names to force a delta. Now it exports a copy out of "fossil uv" instead. check-in: d37019060a user: tangent tags: simh-update
2017-12-12
03:25
Utility to create a .tu56 or a .rk05 image from a bunch of ASCII files (as in creating a source disk or tape.) Command line options select --tu56, --rk05a or --rk05b. The last argument is used to name a .list file that inventories input, and the image file. Example: txt2os8 --tu56 mytape creates mytape.tu56 with files found in manifest mytape.list check-in: 854a2cd68a user: poetnerd tags: trunk
2017-12-11
20:42
Clarified doc/ vs wiki in HACKERS.md#dirs check-in: 01e314c884 user: tangent tags: trunk
20:33
Documented the new docs/graphics directory check-in: 1a5196b4db user: tangent tags: trunk
20:30
Moved the content of `pics` to `doc/graphics`. check-in: ab96eeead6 user: tangent tags: trunk
20:27
Clarified boot and media in HACKERS.md#dirs. check-in: 38f059ed8a user: tangent tags: trunk
20:17
Clarified the purpose of src in HACKERS.md. check-in: 6569a6d42b user: tangent tags: trunk
20:10
. check-in: 4a1b3915a8 user: tangent tags: trunk
20:08
Moved asm subdir under src check-in: e2d139c73d user: tangent tags: trunk
20:01
More HACKERS.md tweaks. check-in: e1d09a8bb8 user: tangent tags: trunk
19:58
More directory structure tweaks in HACKERS.md check-in: 2037cfde2b user: tangent tags: trunk
19:52
Workaround to previous for a weakness in the Fossil Markdown formatter check-in: 3f4dffd255 user: tangent tags: trunk
19:50
Added "Directory Structure" section to HACKERS.md. check-in: 0339f85860 user: tangent tags: trunk
19:23
Moved RELEASE-PROCESS.md into doc subdir check-in: d9038ed803 user: tangent tags: trunk
2017-12-10
22:35
Assorted improvements to tools/cc8-tu56-update and consequently to cc8.tu56. check-in: 48456100ae user: tangent tags: trunk
22:00
Missed copying CC.BI to cc8.tu56. check-in: 371ee6c828 user: tangent tags: trunk
21:56
Added cc.bi batch file to simplify building programs. check-in: b3b308339b user: tangent tags: trunk
21:45
Assorted improvements and clarifications to the bugs, limitations, and features sections of the CC8 README. check-in: 8357aedccb user: tangent tags: trunk
21:29
Clarified the lack of preprocessor in the CC8 README.md check-in: 92aeacf0b1 user: tangent tags: trunk
21:21
Renamed CC0.SV to CC.SV and replaced references to it being a stub for the preprocessor, now calling it the compiler driver. If a preprocessor is ever written, the driver will call it before calling CC1. check-in: 38f376dfad user: tangent tags: trunk
21:07
Updated cc8.tu56 yet again. Something about [fad54ed921] fixed the problems I've been having with CC0 since int [2f2103d555]. check-in: 539ff193cb user: tangent tags: trunk
20:50
Suppressed blank lines at the top of the output file in bin/cc8-to-os8. check-in: fad54ed921 user: tangent tags: trunk
18:23
Updated cc8.tu56 with new cc8-tu56-update output. (Removed *.h, filtered *.c.) check-in: 96873c9024 user: tangent tags: trunk
18:20
Updated tools/cc8-tu56-update to use bin/cc8-to-os8 and remove the unused include/*.h. check-in: baf4c330df user: tangent tags: trunk
17:49
Reworked most of the *.c examples to be in the style required by the CC8 cross-compiler, then added the bin/cc8-to-os8 filter which converts them to the format expected by the OS/8 version of CC8. check-in: 2f2103d555 user: tangent tags: trunk
16:45
Added named anchors to the CC8 README check-in: a8b06325a0 user: tangent tags: trunk
16:23
Comment improvement check-in: 4006b82589 user: tangent tags: trunk
12:44
Comment tweak check-in: e0e43e1d89 user: tangent tags: trunk
10:45
Rebuilt cc8.tu56 with INIT.PA -> INIT.H check-in: 5bf8e22e0c user: tangent tags: trunk
10:44
Renamed init.pa to init.h. I just realized that this is a C header file dominated by a single block of inline assembly, which makes it irrelevant to the file naming whether it contains PAL8 compatible assembly language source code or SABR-only code. It's a header file, thus *.h. check-in: 5879d6f72b user: tangent tags: trunk
2017-12-09
14:44
Swapped FORTRAN IV and II links in the ChangeLog so they match the order of the sections in the article. check-in: 87c02d6089 user: tangent tags: trunk
14:43
Added links to sub-sections of PEP001.FT article from the FORTRAN II and FORTRAN IV links in the ChangeLog check-in: 8fa9956c93 user: tangent tags: trunk
14:40
URL fixes in recent ChangeLog.md checkin check-in: 54997226dc user: tangent tags: trunk
14:37
Grammar tweak check-in: 390640a233 user: tangent tags: trunk
14:36
More improvements to the RK05 bits of the top-level README check-in: b39ff2fbcb user: tangent tags: trunk
14:28
Rearrangements and tweaks in the top-level README check-in: d03ed87391 user: tangent tags: trunk
14:21
Reworked the HACKERS.md instructions for getting Fossil 2.x for a Pi to use our new unversioned binary. check-in: 2da3b6888b user: tangent tags: trunk
14:18
Added tools/publish-fossil so we can distribute a pre-built version of Fossil 2.x for the Pi. check-in: 460e5f5f8e user: tangent tags: trunk
13:44
Removed "sudo apt install fossil" instruction from HACKERS.md. That conflicts with the current requirment to install from source. It'll come back when Debian finally starts shipping Fossil 2.x. check-in: 28b35afe29 user: tangent tags: trunk
13:13
Updated the ChangeLog check-in: c96cc580b3 user: tangent tags: trunk
12:15
Added pep001-ire0.c, the "First Try" program in the PEP001.C wiki article. check-in: 16eb83a9e8 user: tangent tags: trunk
12:14
Added "int" return type to main() in pep001.c: the compiler currently requires it, but it won't warn or error if it isn't present, it'll just fail to do the right thing. Also renamed it to pep001-mod.c after the modulus operator it uses, since we're going to save the other version here next under a different pep001*.c name. check-in: f4a633c567 user: tangent tags: trunk
12:12
Assorted improvements to the CC8 README check-in: 0760dcee6b user: tangent tags: trunk
01:25
Rebuilt cc8.tu56 in case the buffer overrun in txt2ptp affected its content. check-in: 2a11db3ffe user: tangent tags: trunk
2017-12-08
23:38
Double size of obuf. Worst case of "need one more output buffer character space to accomodate adding \r before \n" check-in: 18fb7d3bb4 user: poetnerd tags: trunk
20:21
. check-in: 20e18746ab user: tangent tags: trunk
18:18
Updated cc8.tu56 to contain latest n8.c changes. check-in: bbd9fc92a6 user: tangent tags: trunk
17:26
Updated src/cc8/os8/n8.c with Ian's latest fixes. check-in: 0e01e6b563 user: tangent tags: trunk
2017-12-07
20:32
. check-in: c901777e25 user: tangent tags: trunk
20:24
. check-in: 1b3ae6c27b user: tangent tags: trunk
18:15
Added FORTRAN II and FORTRAN IV versions of PEP001, correpsonding to the versions described in the current version of the PEP001.FT wiki article. check-in: 1dde81a5e4 user: tangent tags: trunk