PiDP-8/I Software

Timeline
Log In

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

725 check-ins using file lib/pidp8i/dirs.py.in version f6b2e8d034

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