PiDP-8/I Software

Timeline
Log In

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

2010 check-ins using file examples/ac-mq-blinker.pal version b48697fb63

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
10:20
Cherrypicked contents of checkin [8ef9b5fae0] accidentally made against trunk to the tip of branch smallc-85. This restores extern.h. Superseded by branch smc85-cc8. Closed-Leaf check-in: b2c0174786 user: poetnerd tags: smallc-85
10:11
Healed double-tipped smallc-85 branch: the first had no useful content, so the branch containing all the actual work basically merges into the stub. check-in: 6d2b6dec56 user: tangent tags: smallc-85
2018-12-29
05:37
Snapshot: Fix for globals: We needed to quit allocating storage for functions. Debugging fetch of globals. They seem swapped with locals somehow. check-in: 50ae87a7e9 user: poetnerd tags: smallc-85
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
05:15
Looks like it's working! Deltas: GBLS and GLOBAL POOL output values are different, and I think that's because they used to be wrong. TODO: get n8.c and p8.c to compile on the Pi without errors for testing purposes! check-in: bd0ffae19c user: poetnerd tags: smallc-85
01:43
Take the version of cross/os8 I should have started with. Fix the problem with multiplying pointers by two when INTSIZE actually is 1. check-in: 220c52acab user: poetnerd tags: smallc-85
00:03
Roll back noise from libc.c. Add in SmallC-85 unlicense. check-in: 56c3cac87a user: poetnerd tags: smallc-85
2018-12-27
06:20
Fiddled with glint <- needs to be a char. Needed old target's print_decimal. check-in: 5b76366b51 user: poetnerd tags: smallc-85
2018-12-24
16:55
Snapshot: More stuff is working. TODO: get the numeric values to work correctly. Further fix to global symbol table output. Add the license file now canon upstream in SmallC-85. LATER: Merge the updates from trunk that predate the cc8-64-bit branch. (I should havve ported trunk, not the branch, but oh well...) check-in: a27c7fa2a1 user: poetnerd tags: smallc-85
06:18
Snapshot of refresh of cc8 cross compiler with smallc-85. This saves a copy of my work which merges enough of the old pdp8 targeting and the new cc8 platform to get through a build of src/cc8/os8/libc.c. The output code isn't quite correct yet, but it gets all the way through with mostly cosmetic errors, instead of crashing with illegal access or seg fault. check-in: 058d944b24 user: poetnerd tags: smallc-85
06:08
Create new branch named "smallc-85" check-in: ab1ea77b1a user: poetnerd tags: smallc-85
2018-12-21
04:51
Intrusive cosmetic changes. This removes all the references to mkos8 as the way packs are built. The only remaining mention of mkos8 is to give its place in history. check-in: b4006a6ae9 user: poetnerd tags: trunk
2018-12-20
08:36
Better "Filtered" message on startup from test-os8-run in the face of -e, -s, and -c combinations. check-in: b8588065c5 user: tangent tags: trunk
2018-12-14
12:14
Some cosmetic improvements to the LED GPIO start/stop sequences. No functional change. check-in: e399b67ef5 user: tangent tags: trunk
12:12
Fixed some unclear paren nesting. check-in: 093ba368d9 user: tangent tags: trunk
2018-12-13
23:57
Fixed a crash on simulator stop when turning off the LEDs if the LEDs were already turned off via another path. check-in: 1c0f9bd301 user: tangent tags: trunk
23:50
Removed the new SIGTERM handler: it doesn't work well, and our recent changes to "pidp8i stop" make it unnecessary. check-in: 490a0b214b user: tangent tags: trunk
2018-12-12
14:08
Added autosetup tests for sighandler_t and sig_t, with fallbacks for the former based on what we find. Without this, the new signal handling added to allow graceful "pidp8i stop" behavior only works on Linux. This change allows it to work on macOS, at least. check-in: df26be88ac user: tangent tags: trunk
13:58
Fixed a number of problems with the way "pidp8i stop" was handled which resulted in an unclean simulator shutdown. The front panel LEDs now reliably get turned off each time, and the simulator's main thread is shut down gracefully. check-in: a773f0c174 user: tangent tags: trunk
05:02
Reverted [c237120a73]: didn't see the "cd" command before the call to bin/os8-cp, which means we either need a "../../../" prefix or the "@builddir@/" prefix we had before. check-in: 02ab10b9a6 user: tangent tags: trunk
04:54
Checking for error return from a read(2) call in d8tape to squish a complaint from GCC on Ubuntu 18.04. check-in: a6aa94eee4 user: tangent tags: trunk
04:49
Specifying "Python 2" in the configure script messages: Ubuntu ships Python 3 by default, so when we claim "Python isn't installed" because Python *2* isn't available, it was jarring. check-in: d8244b866f user: tangent tags: trunk
02:51
Removed the "@builddir@/" prefix on the call to os8-cp in Makefile.in: relative paths work even in out-of-tree builds, and this comes from os8-cp.in, so it's definitely in the build tree. check-in: c237120a73 user: tangent tags: trunk
02:50
Fixed some drift in the INFILES definition in Makefile.in check-in: 670a6a98a0 user: tangent tags: trunk
02:40
Raised the timeout on initial SIMH startup again, from 5 to 10 seconds. We still occasionally get pexpect timeouts on busy systems. Also, we've now seen it on a single-core FreeBSD VM while the host is busy running test-os8-run and such. check-in: 76ff6246c9 user: tangent tags: trunk
02:36
Changed all the Python script shebang lines to use /usr/bin/env so they work on systems where Python is not in /usr/bin, such as FreeBSD, where it's in /usr/local/bin due to its being a non-core package. check-in: 91c645ba93 user: tangent tags: trunk
02:25
Changed use of "type -p" to "which" in tools/mmake for portability to FreeBSD, whose /bin/sh doesn't understand that. It's in Bash and probably in ksh93, but we don't want to require that on FreeBSD. check-in: 72a6435832 user: tangent tags: trunk
02:21
tools/mmake now tries harder to find the bin dir for the corecount call. This is needed on systems where $0 isn't set to an absolute path when a program is called via the PATH, like FreeBSD. check-in: 1124a3e512 user: tangent tags: trunk
02:14
tools/mmake now runs "gmake" if found in the PATH instead of "make". This is required on FreeBSD since our Makefile.in isn't BSD make compatible. On macOS, /usr/bin/make is an older version of GNU make, so if gmake is available, it must've been installed separately, so we can assume the user wants us to use the newer version. check-in: 8146518605 user: tangent tags: trunk
02:02
Merged perl-existence-check branch into trunk check-in: 4e7e8e9c36 user: tangent tags: trunk
02:01
Tcl quoting hell fix with previous Closed-Leaf check-in: 313e2e8cad user: tangent tags: perl-existence-check
02:00
The Perl test wasn't using the right command flags. (Copy-pasta from the Python test.) check-in: a5e8b82a58 user: tangent tags: perl-existence-check
01:58
Moved the Perl test up in auto.def: tools/version is called before the prior location, which we thought was a good place to put it since it's just before the Python test. check-in: b0fb14bedb user: tangent tags: perl-existence-check
01:57
The configure script now checks for Perl in the path. It's required by tools/version, tools/mkbootscript, and tools/test-os8-run. check-in: de63545335 user: tangent tags: perl-existence-check
01:43
The configure script now tells how to get "pip" on Debian type systems. check-in: d3c0d7536f user: tangent tags: trunk
01:42
Made corecount more portable. check-in: 5bbf26d6ef user: tangent tags: trunk
2018-12-10
14:52
. check-in: 07987e8529 user: tangent tags: trunk
14:45
If the pidp8i script doesn't detect the PiDP-8/I front panel via scanswitch, it falls back to our new pdp8 alias to suppress the GPIO thread. You can thus install the PiDP-8/I software on a systemd based Linux distro and say things like `pidp8i start` and get our new HLT handling, skip the complaints about no GPIO, etc. check-in: 8848227626 user: tangent tags: trunk
13:35
Merged simh-update branch check-in: bb3903976f user: tangent tags: trunk
12:58
Updated SIMH section of ChangeLog for this branch Closed-Leaf check-in: b96e790649 user: tangent tags: simh-update
12:23
Updated copyrights in header comments for pdp8_cpu.c and scp.c. check-in: cf272a6d1e user: tangent tags: simh-update
12:09
Merged in the upstream changes to scp.c check-in: 5b80a93d7b user: tangent tags: simh-update
11:56
Added new sim_card module from upstream SIMH check-in: 1656b5ff6e user: tangent tags: simh-update
11:47
Updated checkin ID and datestamp for current SIMH check-in: f28a9f5bd1 user: tangent tags: simh-update
11:41
Initial pass at merging upstream SIMH version 86294db3 check-in: d9988b0985 user: tangent tags: simh-update
11:22
Updated ChangeLog with today's work so far check-in: 22043c7e5c user: tangent tags: trunk
10:48
Typo fix check-in: 0514b6a5e4 user: tangent tags: trunk
10:26
The optimized PRINTS routine requires that AC point at the word *before* the string you want it to print, so we were printing "ELLO, WORLD!" The prior bug with mkbootscript masked this. check-in: 59b81c7034 user: tangent tags: trunk
10:23
Set 8th bit on the ASCIIZ strings in pep001.pal, in case it's used with a terminal that cares about this, such as an ASR-33. check-in: 397c6d8901 user: tangent tags: trunk
10:21
The pep001.pal program could hang in the TSF loop on writing the initial "ANSWER: " leader if the terminal device isn't prepared to receive characters. Added a "TLS" to send a null character to kick things off. This eats up the one remaining word left in PAGE 1! check-in: 15e91ae82b user: tangent tags: trunk
10:19
Fixed a bug in tools/mkbootscript that caused it to write a SIMH "dep" command for only the first word in an assembly file data table, currently used in our examples for ASCII terminal output strings. This caused our "HELLO, WORLD!" demo program to do nothing useful, and for the "ANSWER: " leader from pep001.pal to be truncated to "A". check-in: 2702b89257 user: tangent tags: trunk
08:30
If you run the simulator via the new "pdp8" name, we revert the change to the behavior of the HLT instruction: it drops you to the sim> command line instead of halting the CPU in expectation that the user will then poke around with the CPU state or hit CONT via the front panel. check-in: 2b00fa32cd user: tangent tags: trunk
08:24
Set 8th bit on ASCIIZ characters in the PDP-8 assembly "HELLO, WORLD!" demo program: some terminal configurations may require it. check-in: 174d0dc11e user: tangent tags: trunk
07:55
Comment clarity tweak check-in: e74a7c5ba7 user: tangent tags: trunk
2018-12-08
20:38
The PRINTS routine in examples/hello.pal was not Rick Murphy's optimized version that we're shipping in examples/routines/prints.pal. Updated it. Also fixed the header comment so that the resulting boot script doesn't have a dangling clause in its startup message. check-in: a4075c7cd0 user: tangent tags: trunk
18:20
Updated the references to "mkos8" in doc/class-simh.md. There are still two references there for historical reasons, but the bulk of the text now refers to os8-run instead. check-in: bcf566411e user: tangent tags: trunk
18:07
Rethought the policy on overwriting binary media: although it made sense to allow the new RK05 disk file names to merge with the old, this step also overwrites the boot scripts when that happens, and those may have user changes as well. Therefore, the new policy is that if *any* IF=0 default disk image is found, past or present, we skip mediainstall. You have to choose to run it by hand in that case, or follow the manual merge steps from README.md. check-in: 685d583d5a user: tangent tags: trunk
17:53
Changed a bunch of "os8v3d*.rk05" references to their equivalent and current names. check-in: c2fc076dcc user: tangent tags: trunk
17:51
Changed "make install" so that it skips "make mediainstall" based on the existence of v3d.rk05 rather than local.tu56 so that we merge our new media with v20171222, as that release was able to merge its os8v3d-* with the os8.rk05 of prior releases. This does mean the prior release's local.tu56 and pristine source tapes can get overwritten, but those weren't supposed to be changed by the user anyway. We don't wan't people doing "make install" and not understanding why their "new" system behaves just like the old one. check-in: 384bf04b34 user: tangent tags: trunk
16:22
Changing boot scripts via IF + SING_STEP now detaches all devices, shuts down the GPIO thread, and re-launches the simulator with the new script rather than just call "do SCRIPTNAME" in order to get a fresh simulator configuration, free of conflicts. The case that prompted the need for this is switching between boot scripts that assume the tape controller is TC08 to one that assumes TD8E, or vice versa. The only other way we could solve this is to write "detach" commands at the top of every boot script to undo everything done by every other possible boot script. Closes [81d528e3]. check-in: 82cc1aebca user: tangent tags: trunk
16:00
The installation tree is now entirely owned by @INSTUSR@.@INSTGRP@. We still had a mix of root.root in there, due to the way the tree was being created, resulting in oddities like the normal user could write to the installed OS/8 media but couldn't remove them from disk. check-in: b08f63333c user: tangent tags: trunk
15:45
Adjusted the ChangeLog.md entry on boot tapes to reflect the fact that all four are always built: you aren't selecting one to build, you're choosing which one gets used for IF=3. check-in: c7d1f02b34 user: tangent tags: trunk
15:35
Cosmetic tweak for recent Makefile.in change check-in: 675d87a243 user: tangent tags: trunk
13:46
test-os8-run uses a custom bin/* set, so it was still hard-coded to get bin/pidp8i-bin, not bin/pdp8 as class simh now expects when we pass True for the skip_gpio ctor flag. check-in: 8193ea0be2 user: tangent tags: trunk
13:40
The test-os8-run Makefile target now runs the program first in -g mode then in -e mode only if that returns without error. When you say "make test-os8-run", you almost certainly don't want to begin re-testing all of the existing exemplars without having a complete test corpus first. If you want to test on an incomplete corpus, you can run in -e mode manually. check-in: 0cf1c0e9bb user: tangent tags: trunk
12:39
When a program passes True for the formerly-named "ignore GPIO lock failure" flag to class simh, it now runs bin/pdp8 instead of bin/pidp8i-sim which disables the GPIO thread per [daa86ad9b6]. Consequently, the simh ctor no longer checks for the "Failed to lock GPIO" error from the simulator, and it checks for the SIMH startup banner intead of the PiDP-8/I GPIO thread startup banner, which may now never appear. Finally, this checkin modifies the interface of simh.try_wait to be more of a simple wrapper around simh._child.expect with exception handling built in; this is deemed safe, since class simh is the only known user of this public API. This fixes bug [b876ef8c]. check-in: d7b5cbd7cb user: tangent tags: trunk
11:37
Removed the target added on the os8-v3f-extensions branch for media/os8/3finit.tx, which is built from a *.in file, because we'd previously choked this down to a single file, media/os8/init.tx in order to force a parallel build to go single-threaded at this point, since the configure script can't be sanely run more than once in parallel. The clue we needed to fix this is that on touching any *.in file and doing an mmake is that you'd get the "Fossil doesn't work here" complaint from auto.def because it's trying to lock the repo DB twice in parallel; one fails, the other succeeds, so it looks like there is no problem and the complaint is apropos of nothing. It's actually flagging a real problem! check-in: 19b31029e5 user: tangent tags: trunk
11:32
The pidp8i-sim Makefile target also creates a hard link to bin/pdp8 now, so we can use it from class simh, especially via os8-run. check-in: a3afe42e70 user: tangent tags: trunk
11:09
If the simulator is not called as "pidp8i-sim", we now disable the GPIO thread: it doesn't get started, we don't feed it with data, and we don't pull any data it is expected to provide. Additionally, the Makefile now creates a @prefix@/bin/pdp8 hard link to make the simulator fall back to a state nearly identical to the upstream SIMH version by triggering this new feature. This is in partial support of ticket [b876ef8c25]. check-in: daa86ad9b6 user: tangent tags: trunk
10:27
Small cosmetic fixes in Makefile.in check-in: 94d64e2c34 user: tangent tags: trunk
09:58
Found and fixed the cause of the obj/os8-run.log overwrite during test-os8-run, avoiding the need for the concatenation dance previously done to avoid the problem. check-in: 22dc5521d8 user: tangent tags: trunk
2018-12-07
20:59
. check-in: 7a239c4f65 user: tangent tags: trunk
20:56
. check-in: 75d5e505a6 user: tangent tags: trunk
20:51
Typo fix in previous check-in: a5a8f4d322 user: tangent tags: trunk
20:50
Reformatted the list of test-os8-run virtues to be clearer and also to work around a Fossil Markdown formatting bug. check-in: 2cc21c1c78 user: tangent tags: trunk
20:42
Expanded on the os8-run section of the new ChangeLog entry check-in: 4920eed742 user: tangent tags: trunk
20:10
Increased class simh's on-startup timeout from 3 to 5 seconds to try and avoid pexpect timeout errors when the system is busy, as can happen when the cores are oversubscribed doing test-os8-run passes and then a background process starts. (And on top of that, there's probably an I/O stall in there somewhere, like an SSD TRIM or cache flush.) check-in: 41b3353407 user: tangent tags: trunk
13:06
First pass at ChangeLog.md and AUTHORS.md updates for the upcoming release. check-in: 4beae4e135 user: tangent tags: trunk
2018-12-06
23:51
Merge os8-v3f-extensions branch to trunk. This replaces the old mkos8 builder with a generic scripting facility, os8-run. It also puts some historical sources "os8-v3f" under source control to build an update from OS/8 v3d. The ultimate aim of the v3f work is to re-generate the lost OS/8 Combined Kit which includes device drivers from the "OS/8 Device Extensions Kit" as well as integration of pieces that were formerly add-ons. The "Combined Kit" work is now possible. check-in: b7bc669fdc user: poetnerd tags: trunk
04:46
Added a timeout parameter to simh.os8_send_cmd() with a default that lets the current os8-run scripts run without timing out when running especially long commands such as the CCL.BI assembly step on an old Raspberry Pi model B+. (We'd been declaring success while running on much faster platforms, which have correspondingly shorter maximum run times for these commands.) Closed-Leaf check-in: 9e2383ad18 user: tangent tags: os8-v3f-extensions
2018-12-03
22:32
Passing debug flag from os8-run down into class simh. check-in: 66cca79b3c user: tangent tags: os8-v3f-extensions
18:18
Avoiding the ^C was mis-nested, and only active when debugging was enabled. Fixed now. check-in: 7577fa194d user: poetnerd tags: os8-v3f-extensions
16:17
Check in the CORRECT change to conditionalize on debug. check-in: 58762d8480 user: poetnerd tags: os8-v3f-extensions
16:17
Fix debug noise. It was not properly conditional on self.debug. check-in: cacac3bb8a user: poetnerd tags: os8-v3f-extensions
10:26
It is now possible to give a hash prefix of as few as 6 characters when identifying a particular test by hash to test-os8-run. check-in: 0cea4c1f35 user: tangent tags: os8-v3f-extensions
10:16
Added inc::Module::Install to cpanfile: my Pi B needed it. check-in: 46248e133a user: tangent tags: os8-v3f-extensions
09:52
It is now possible to pass hashes of prior generated tests to test-os8-run to re-test just those named tests. This is an alternative to -e when you want to re-test just some subset of the tests without looking the test up manually and re-running the test by hand. check-in: a1f53d7064 user: tangent tags: os8-v3f-extensions
09:25
Extracted generate_tests() in test-os8-run. check-in: 684f72e682 user: tangent tags: os8-v3f-extensions
09:12
Further cleanup of main() in test-os8-run. check-in: 17b868fbe2 user: tangent tags: os8-v3f-extensions
09:09
Added --version and --help handling to tools/test-os8-run. check-in: 06d8af86f4 user: tangent tags: os8-v3f-extensions
06:26
Refinements to sanitizing: 1. Cleans up -temp-<gensym>.foo temporaries for scratch media. 2. Cleans up -<pid>.pt_temp paper tape temporaries. 3. Cleans out backspace sequences that pexpect seems gratuitiously to enter which screw up the other sanitizers. These are nasty regexps. Special thanks to regex101.com without which these nasty regexps could not have been prototyped. check-in: e34afedcba user: poetnerd tags: os8-v3f-extensions
03:57
Additional debugging of race condition in running BUILD in v3d-dist-rk05.os8: 1. Slight cleanup of debugging messages in os8script.py:build_subcomm. 2. Teach test-os8-run to preserve make.log as {last,fail}m.log. 3. Add logic in os8script.py:build_subcomm to NOT send ^C after successful BOOT command, because we are already at command level, and it creates a race condition in the expect command loop. TODO: 1. Sanitize log output to ignore temp file names for scratch images. 2. Cleaner handling of make.log saves. check-in: b7fdc79a38 user: poetnerd tags: os8-v3f-extensions
2018-12-02
22:15
Take steps to preserve the os8-run.log file from the first time through os8-run making v3d-dist.rk05. For reasons I do not understand, the two runs of os8-run create new log files rather than appending the second run to the first file. check-in: 60386aa52a user: poetnerd tags: os8-v3f-extensions
21:08
Draft of tool to unpack os8 packs that test-os8-run says are different. Attempt to fix v3d-dist-rk05.os8 script to allow test-os8-run to sanitize the init.txt. check-in: 268d30c309 user: poetnerd tags: os8-v3f-extensions
2018-12-01
03:51
Added a "-c" option to test-os8-run to allow graceful limit to the count of tests created. check-in: 75497225c9 user: poetnerd tags: os8-v3f-extensions
2018-11-30
03:34
Add to sub sanitize_log to clean up paths from 2 new cases: 1. abbreviating "attach" as "att". 2. Output echos what is attached. check-in: e7f460e1e3 user: poetnerd tags: os8-v3f-extensions
2018-11-25
03:42
The less intrusive "os8_resume" has proven unreliable with 8 parallel makes going on for test-os8-run. The symptom is that we go to resume OS/8, but instead of provoking a dot prompt from OS/8, we seem to send ^C to SIMH before it ever resumes OS/8 operation. So now we call the restart_command instead of the resume_command inside os8script.py. This seems to operate reliably. check-in: 98ad1fc68b user: poetnerd tags: os8-v3f-extensions
2018-11-24
21:18
Added "--prefix ." to call to ../../../configure in test-os8-run. This should eliminate a whole class of race conditions, because now it will build the run packs in tmp/<pid> subdirs instead of the usual top level. check-in: 865bf2ccdc user: poetnerd tags: os8-v3f-extensions
2018-11-21
04:23
Addresses bugID 9c8f0a8de5 Puts conditional around SET SYS INIT in the v3d-dist-rk05.os8 script. Need to come to consensus on whether or not this is the right fix, and if the same change should be made to all-tu56.os8 before we can officially close that bug. check-in: b9956a79f0 user: poetnerd tags: os8-v3f-extensions
2018-11-19
05:04
fix for vtedit enablement. A line from mkos8 was pasted in on creation time and not found in testing until now. check-in: 5feccfdf3a user: poetnerd tags: os8-v3f-extensions
2018-11-18
04:52
The autosetup check for lz4 in the path was failing either way: when the tool is available, it was running it in a way that caused it to return a nonzero status code, failing the check. check-in: 70d23bbd7d user: tangent tags: os8-v3f-extensions
04:47
Renamed test-mkos8 to test-os8-run, since mkos8 is now replaced with os8-run. Also renamed all of the references to it. check-in: 0211633f80 user: tangent tags: os8-v3f-extensions
04:39
The top-level Makefile now disables the test-mkos8 target when tools/test-mkos8 can't run due to missing prereqs. check-in: 79a16d5ab5 user: tangent tags: os8-v3f-extensions
2018-11-17
15:55
Added lz4 prereq to the test-mkos8 autosetup tests check-in: c46ae7cc93 user: tangent tags: os8-v3f-extensions
15:33
Added an autosetup test for perl-in-path and whether that Perl can compile tools/test-mkos8. If so, we report success, and if not, we tell the user how to fix it with our new cpanfile. check-in: cc6666ce27 user: tangent tags: os8-v3f-extensions
08:59
test-mkos8 is now working with os8-run to successfully create the v3d.rk05 image for comparison checking. Open Questions: 1. Is further refinement needed for the log sanitizizing? 2: Is comparing the binary of the disk image the best test? check-in: 5e4633e246 user: poetnerd tags: os8-v3f-extensions
02:06
Found the problem with running ../../configure in test-mkos8: Needed to add back the line to auto.defs that creates the lib subdir that hosts the options file: if {![file exists "lib/pidp8i"]} { file mkdir "lib/pidp8i" } check-in: 408edf8633 user: poetnerd tags: os8-v3f-extensions
00:21
Snapshot: Trying to get test-mkos8 working. ../../../configure from the test/tmp/<pid> directory blows out with: Error: couldn't open "lib/pidp8i/os8opts.py": no such file or directory check-in: d2986ecfba user: poetnerd tags: os8-v3f-extensions
2018-11-16
22:05
Building without patches was disabled in Check-in [a2454ca487]. However the option was still present in auto.def until now. check-in: 38482c106b user: poetnerd tags: os8-v3f-extensions
2018-11-15
06:35
A little format cleaning up. check-in: 6389b2a713 user: poetnerd tags: os8-v3f-extensions
06:29
Adding documentation of os8-cp command. check-in: b88e188406 user: poetnerd tags: os8-v3f-extensions
2018-11-05
19:24
I misunderstood how to do mediainstall, and what I had was not installing all of what we made. Fixed now. check-in: d6f48ac376 user: poetnerd tags: os8-v3f-extensions
01:00
Fixes to uniquify resources that might be used in parallel make. Also cosmetics: changed "scratch" name to have "-temp-" in it to make it easier to find and delete if make blows out. Since I was touching the use of the system disk in all-tu56.os8, I cleaned out some dead code and updated as comment. check-in: b2a6c5d89e user: poetnerd tags: os8-v3f-extensions
2018-11-02
03:22
all-tu56.os8 was copying in DTCOPY.SV and DTFRMT.SV insgtead of TDCOPY.SV and TDFRMT.SV when building for td8e. check-in: 32377aac5c user: poetnerd tags: os8-v3f-extensions
03:19
scratch option os8-run mount command now creates a unique temp file. Now parallel makes will not step on each other. check-in: 2f3f1ca884 user: poetnerd tags: os8-v3f-extensions
01:25
Fixed bug in all-tu56.os8: The old code to clean up the system rk05 that was commented out was lacking an "end enabled never", and so it caused the rest of the file to be ignored. This messed up all td12k creations. check-in: 8e309b3872 user: poetnerd tags: os8-v3f-extensions
01:23
Added more debugging output. Line count stack was wrongly managed because Python pop semantics are the opposite of what I thought. So I was removing the first in, not the last in item from there. check-in: 85804b2ac3 user: poetnerd tags: os8-v3f-extensions
2018-10-29
03:30
Moved v3f-build.rk05 to the obj directory. Along the way taught os8-cp to do path expansion on names in dirs.py just like os8-run does. This enabled a simplificaiton and cleanup of Makefile.in because the actions file in .../src/os8/v3f/actions.txt simply says that the destination lives in $obj. Also needed to update dirs.py.in to know about obj, as it knows about bin. check-in: bb42538cf0 user: poetnerd tags: os8-v3f-extensions
01:13
Corrected dependencies in light of clearer understanding. mmake now seems to work for me with no redundant builds. check-in: db3b20634b user: poetnerd tags: os8-v3f-extensions
00:40
Merged in v3f-parallel-make-fix. It behaves the same for me as previous versions, but no sense in forking. check-in: f3b2941356 user: poetnerd tags: os8-v3f-extensions
00:01
DAMN! Forgot to add the new init file. Sorry! check-in: 78191ab4cd user: poetnerd tags: os8-v3f-extensions
2018-10-28
08:24
Added (and in one case, reordered) some dependencies in the new os8-run based media build system so that all callers to os8-run from the Makefile now declare which media they require to exist before the script will run. Without this change, parallel makes are likely to fail because make is given the freedom to run targets before the things they're dependent upon exist. This is a branch rather than on the os8-v3f-extensions branch directly because I can't test it here against the tip of that branch due to a missing file. Also, it should be checked by Bill Cattey before being merged into that branch. Closed-Leaf check-in: 5a84eb18d9 user: tangent tags: v3f-parallel-make-fix
2018-10-27
04:27
Added init.cf and init.tx to the 4 bootable tu56 images. I *think* I understood how to do the dependencies right for the v3finit.tx.in creation. check-in: b17efa3579 user: poetnerd tags: os8-v3f-extensions
2018-10-21
21:04
Found another typoed dependency that should have pointed at v3d.rk05, but instead pointed at nothing. check-in: c01b3a17db user: poetnerd tags: os8-v3f-extensions
20:32
Here's why it's always good to do the occasional fossil clean -n: I see I FORGOT to add the LCSYS.BI and UCSYS.BI files to the tree. Can't do the builds I've got running without them. check-in: 30b1f33839 user: poetnerd tags: os8-v3f-extensions
20:21
Enables all the lowercase option for v3d and v3f tapes and in the 3.script and run-v3f.script scripts. TODO: Enable lowercase for BASIC in v3f. That script isn't qualified, and there's a backlog of patches and validation on BASIC that are needed. check-in: db857bdac1 user: poetnerd tags: os8-v3f-extensions
19:58
Get BATCH working under v3f. This was HARD! Had to chase down source, and the diddling of one magic constant that SHOULD NOT BE as volatile as it was. check-in: aad0aa239c user: poetnerd tags: os8-v3f-extensions
03:49
Put FORTRAN II and BASIC on the 4 bootable tu56 images unless overridden by "--disable fortran-ii" and/or "--disable basic" check-in: d5d8b023f9 user: poetnerd tags: os8-v3f-extensions
2018-10-20
18:54
Additional debugging output, and a correction to the build_subcomm state machine during the BUILD command run within BUILD.SV. There was some duplicate code, and I think I may have spazzed and never properly exited the BUILD command state machine. check-in: 497f79dad6 user: poetnerd tags: os8-v3f-extensions
18:00
Add missing dependency on the v3d.rk05 boot image to the making of v3f. check-in: b17e1072b9 user: poetnerd tags: os8-v3f-extensions
17:47
Further refinement of make run-v3f: Sets dependency independently of what was specified as the default IF=3 OS/8 version. check-in: 464fcf21de user: poetnerd tags: os8-v3f-extensions
03:49
The new run-v3f target was depending on one of the two possible TU56 tape images that could be in boot/3.script after configure runs, meaning the dependencies were correct for only one of the two possible cases. This target is now dependent on the same autosetup variable used to create 3.script from 3.script.in, so we're sure to build the correct tape image before starting the simulator. check-in: 8b39a5cb89 user: tangent tags: os8-v3f-extensions
03:01
Correct dependency: We need to depend on $(OS8_BOOT_DISK) because that is what we will be running, not the renamed bin disk that had no patches. check-in: b247b928cf user: poetnerd tags: os8-v3f-extensions
2018-10-18
09:55
Merged in trunk fixes check-in: ad9d51ebae user: tangent tags: os8-v3f-extensions
09:52
The pidp8i-test program now debounces the switches in scan-switch mode. Without this change, if the contacts bounce rapidly enough for the scanning loop to detect, a builder could be lead to believe their properly-working PiDP-8/I has a problem. check-in: 9dfb8bdafd user: tangent tags: trunk
09:49
Made the size of the global switchstatus array explicit, so we can do sizeof sanity checks on it in programs. check-in: e9ec92de08 user: tangent tags: trunk
09:48
The recent addition of NetBSD support to tools/corecount accidentally included a change to the shebang line necessary for NetBSD but incorrect for Linux, which this project primarily targets. Changed it back to /bin/bash, lest we take a new dependency on ksh everywhere. check-in: 8065f647a8 user: tangent tags: trunk
08:39
Whitespace fix check-in: 2607fa1a71 user: tangent tags: trunk
2018-10-17
15:34
Removed media/os8/os8.tu56 and the references to it now that 3.script uses the new os8-run-built tape images. check-in: d34787b405 user: tangent tags: os8-v3f-extensions
15:25
Merged a few of the differences between the new boot/run-v3f.script.in file and the preexisting run/3.script.in file into the latter. check-in: 47c6ab8349 user: tangent tags: os8-v3f-extensions
15:11
Added "run-v3f" Makefile target, its "runf" alias, and the boot/run-v3f.script.in file those targets use. check-in: 06aef989e3 user: tangent tags: os8-v3f-extensions
2018-10-16
00:18
The copy in of the v3f source files to the buld rk05 image was too quiet for too long. I enabled -v on the os8cp call for better status reporting. check-in: 39d8b6137a user: poetnerd tags: os8-v3f-extensions
00:07
Remove superfluous dependency: v3d tapes don't care about v3f stuff. check-in: dadf27bae9 user: poetnerd tags: os8-v3f-extensions
2018-10-15
23:56
Add dependencies on the sources in .../src/os8/v3f. Now if we touch one we will rebuild the V3F bits and pieces. check-in: ab959da8be user: poetnerd tags: os8-v3f-extensions
23:55
Fix 30 year old bug: Build V7A should report its PROPER version. check-in: f691c6840c user: poetnerd tags: os8-v3f-extensions
2018-10-13
22:56
Two new config options that control what kind of .tu56 image gets booted with the IF=3 option: --boot-tape-config={tc08 | td12k} with default of tc08 --boot-tape-version={v3d | v3f} with default of v3d. check-in: 4ed46aa217 user: poetnerd tags: os8-v3f-extensions
2018-10-12
02:44
Pulled up trunk deltas into my branch. Everything tests out fine. check-in: 2ba40f1138 user: poetnerd tags: os8-v3f-extensions
2018-10-05
23:22
Updated with more of what's in this directory. check-in: cde2b80fc0 user: poetnerd tags: os8-v3f-extensions
23:12
Quick and dirty description of the scripts in this directory. check-in: 97cf611b8c user: poetnerd tags: os8-v3f-extensions
2018-10-04
06:06
Something I should have done long ago: If we're going to re-configure sys, then we should use a scratch copy. all-tu56.os8 now does that for the td12k builds. It doesn't need to do that for the tc08 builds so it doesn't bother. Also changed the filename of the scratch to use "-copy" in the name instead of "_copy" aligning with filename conventions. check-in: f67db97d71 user: poetnerd tags: os8-v3f-extensions
05:40
Fixed some noise. simh.py was printing stuff by default. Added a verbose internal variable to the simh object and updated os8-run and os8-cp.in to set that variable to True when they get the verbose option. check-in: fe46cf1a76 user: poetnerd tags: os8-v3f-extensions
05:23
FIXED problem where make kept re-making v3d-src.rk05: Misuse of os8-run mount command's option "preserve". The NEW version got a new name with a version number and the old version was kept. Make kept finding the original version. The CORRECT option to use is "new" not "preserve". check-in: 48bf62dd63 user: poetnerd tags: os8-v3f-extensions
04:41
all-tu56.os8 now copies in appropriate DECtape utilities: TD8E configs get: TDCOPY.SV, TDFRMT.SV TC08 configs get: DTCOPY.SV, DTFRMT.SV check-in: 4ee3a65c2a user: poetnerd tags: os8-v3f-extensions
04:30
Enabled builds of all 4 tu56 images: v3d-tc08.tu56, v3d-td12k.tu56, v3f-tc08.tu56, v3f-td12k.tu56. Amended all-tu56.os8 and v3d-dist-rk05.os8 to put the following td8e drivers into the SYS:BUILD.SV image: TD8ESY.BN (12k system handler), ROMMSY.BN (rom system handler), TD8EA.BN. Left out were the B, C, and D TD8E non-system handlers. (I was paranoid about space.) Extensive comments in the scripts throughout on the various tradeoffs and dependencies. check-in: 0e4030caec user: poetnerd tags: os8-v3f-extensions
04:13
That's what I get for assuming instead of testing. :-( This one PROPERLY specifies the copyin for ABSLDR.SV and is tested. check-in: 16dc21707a user: poetnerd tags: os8-v3f-extensions
03:40
v3f BUILD installs ABSLDR, but v3d config does not. Need to copy it in. check-in: 221d5d7ff0 user: poetnerd tags: os8-v3f-extensions
2018-10-02
05:46
Snapshot: Mostly working "all-tu56.os8" script that builds v3d or v3f on tc08 or td12k or tdrom system. TODO: More testing. Make the V3D rk05 BUILD.SV already contain the TD8E drivers. Decide on an INIT file. check-in: 857984d41b user: poetnerd tags: os8-v3f-extensions
04:33
Bug fixes to basic_line_parse. I'm using a LOT of conditionals now, and apparently there were several bugs that I missed: 1. basic_line parse was not using the stripped version of line. 2. The options stack pop was taking the the wrong member of the stack so it was a first in last out, instead of the intended first in first out stack. 3. The test for comments was on the pre-stripped line so that comments could not be indented with whitespace. check-in: bfccd73f14 user: poetnerd tags: os8-v3f-extensions
2018-09-30
23:15
Added version and directory expansions into the print command. Includes print-test.os8 to test them. check-in: f14e1e8973 user: poetnerd tags: os8-v3f-extensions
20:33
The \s test for whitespace in tools/corecount wasn't working on NetBSD 6 for some reason, so changed it to the POSIX [[:space:]] character class. This should be effective on many more systems. check-in: b5e424045e user: tangent tags: trunk
03:35
Got the build of os8-v3f for TD8E DECtape working again. Root cause: I still don't understand the BUILD command loop well enough, and I wrote it! I added a couple more special cases so now everything, including the TD8E build works. Clearer code will come when the pexpect loop is turned right way round. Couple things: Building the v3f tu56 images for BOTH TC08 and TD8E are now enabled by default. WARNING: If the TD8E build blows out it leaves the v3d.rk05 system pack with td8e devices enabled instead of tc08. The new script, v3d-reset-tc08.os8 fixes this. QUESTION: Do we make this situation more bullet proof by: Creating a copy of v3d.rk05 when we build for TD8E? or Building Unconditional cleanup code into os8-run for on-error, do such and such to clean up? Actually, I could probably modify the v3d-dist-rk05.os8 script to put both the TD8EA and TC08 drivers in the image of BUILD.SV, if there is room. Maybe I'll just do that. check-in: b24aa7b9d7 user: poetnerd tags: os8-v3f-extensions
01:30
Add dependency on patches. Note that this depends on ALL .patch8 file regardless of whether or not we actually use them. A finer grained dependency could be done in the future. check-in: b9ceacad42 user: poetnerd tags: os8-v3f-extensions
01:28
Add two more files to make clean action: lib/pidp8i/dirs.py lib/pidp8i/ips.py check-in: 8a974ca3b9 user: poetnerd tags: os8-v3f-extensions
01:24
Further cleanup of Makefile.in: Further purging of "mkos8" methods and concepts: 1. MKOS8_OPTS->OS8_OPTS 2. Where mkos8 became os8-run rename files, directories, scripts and dependencies appropriately. 3. Eliminate 'mkos8' install dir and ctags. 4. Scripts named MKOS8_* now have names more related to their current function under os8-run, and may have been further changed to reflect our v3d/v3f naming and simplification. 5. make clean eliminated the mkos8 directory. 6. make targets for use by test-mkos8 updated with new names, but really needs to be redone now that patching is unconditional. check-in: d6f23aaeda user: poetnerd tags: os8-v3f-extensions
01:04
Testing revealed: missing line in auto.def, and I forgot to tell Fossil that I'd shifted os8-cp to os8-cp.in. THIS should work. check-in: aef6b627f0 user: poetnerd tags: os8-v3f-extensions
2018-09-29
23:48
Having gotten bit by os8-cp having a hard-coded default boot disk, I decided to use auto.def and parameterize it on @OS8_BOOT_DISK@ check-in: de864ed5b5 user: poetnerd tags: os8-v3f-extensions
21:06
Make patching unconditional. Amend apperopriate documents to no longer talk about a --disable-os8-patches option. Make the text file that names the patches conform to current filename conventions. check-in: a2454ca487 user: poetnerd tags: os8-v3f-extensions
20:41
Adopted new filename conventions: .mkos8 -> .os8 underscores to dashes test scripts end in -test instead of beginning with it Shortened names. Fixed up dependencies, including broken one on newly renamed v3f-*.tu56. check-in: 55e34d0b34 user: poetnerd tags: os8-v3f-extensions
18:02
I had not done rigorous enough testing. Here is better test case, corrected code, and elimination of the old fancier test code. check-in: aa9df2a6e8 user: poetnerd tags: os8-v3f-extensions
17:33
Simplified version test. Warren justified "just test for version X or above" by showing allowing richer matches just made it easy for people to leaving incompatibilities in place. Changed name of the tester script to replace underscore with dash, say "version" first, and most importantly to adopt a new convertion: ".mkos8" scripts become ".os8". check-in: 1fcde938d6 user: poetnerd tags: os8-v3f-extensions
01:58
Change os8-run mount option "preserve" to delimit the version number with a dash instead of an underscore. check-in: 4f3c5b4d6e user: poetnerd tags: os8-v3f-extensions
01:32
checkin cd80254374 was incomplete: auto.def created lib/mkos8 to host generated python files that are now kept in lib/pidp8, so we delete that line. Makefile.in still had the old MKOS8 python file list so 'make install' was doing the wrong thing. TODO Review MKOS8_INFILES and decide if more files, such as os8script.py should be there. check-in: 14a799a875 user: poetnerd tags: os8-v3f-extensions
2018-09-15
05:44
Merged ma-mb-pause-fixes branch following verification of fix [6b7d74dc34e] by poetnerd. check-in: b159bee47f user: tangent tags: trunk
05:41
Merged ma-mb-pause-fixes branch following verification of fix [6b7d74dc34e] by poetnerd. Closed-Leaf check-in: 6984de366a user: tangent tags: ma-mb-pause-fixes
2018-09-09
19:00
Ian Schofield sent a second patch via private email claiming to have solved the MA/MB value problems in pause mode. This checkin is loosely based on that patch. It needs testing: thus the branch. check-in: 78642e72ce user: tangent tags: ma-mb-pause-fixes
2018-08-30
01:04
Fixed a bug in the handling of the OSR instruction which can cause L to be set if the next GPIO pin up from those used by the SR lines happens to be set when you issue that instruction. This one goes back to v20151215! check-in: ffb387c4eb user: tangent tags: trunk
2018-08-12
06:16
Added email alert signup and such info to HACKERS.md check-in: 7ab70d985c user: tangent tags: trunk
01:09
Added Fossil forum stuff to HACKERS.md check-in: dc433058ce user: tangent tags: trunk
2018-08-07
10:46
Fixed a broken link in doc/os8-run.md. check-in: 16c2b6f88a user: tangent tags: os8-v3f-extensions
2018-07-30
03:49
Removed a redundant command in "make mediainstall" for the *.mkos8 scripts. check-in: 3850186b5d user: tangent tags: os8-v3f-extensions
2018-07-29
21:13
Version detection code implemented. test_version.mkos8 updated. It seems to work for the cases I could think of. check-in: 43311b0e87 user: poetnerd tags: os8-v3f-extensions
20:11
Added a print command. This, together with exit will be useful when version actions are enabled. check-in: ba11dee8b4 user: poetnerd tags: os8-v3f-extensions
19:56
Add "exit" command that interfaces to python sys.exit() procedure. Enables immediate script termination and optional signaling of status, and also optional print of a string. check-in: 17fb06b45f user: poetnerd tags: os8-v3f-extensions
19:54
Test script as we work through implementing version conditionals. check-in: aec3815e47 user: poetnerd tags: os8-v3f-extensions
2018-07-28
12:54
Reduced the "Applying patch..." output to a single line to reduce verbosity in normal builds. check-in: 220dc69120 user: tangent tags: os8-v3f-extensions
2018-07-27
02:15
I had habituated a misunderstanding of python regular expression syntax. Consequently I kept using '?' when I needed to use '*'. Particularly in allowing whitespace. This change corrects those regular expressions. check-in: cde469f6f9 user: poetnerd tags: os8-v3f-extensions
2018-07-25
01:58
Silenced verbosity by default (again). When I went to the simpler parser, I forgot that I'd enabled VERBOSE by default. This should quiet things down. check-in: 7c305890df user: poetnerd tags: os8-v3f-extensions
2018-07-24
19:55
Merged trunk changes in, in preparation for merging this branch down to trunk. check-in: 834dd5121b user: tangent tags: os8-v3f-extensions
19:19
Renamed $mkos8_opts and obj/mkos8.opts in auto.def to $os8_opts and obj/os8.opts, respectively. check-in: cd80254374 user: tangent tags: os8-v3f-extensions
19:11
Moved the mkos8.opts Python module to pidp8i/os8opts. That left the mkos8 namespace empty, so I removed that. Also removed the old_parse_args() function in os8-run while in there: dead code. check-in: 91c681d0dd user: tangent tags: os8-v3f-extensions
2018-07-23
03:34
Remove the bespoke --enable-<foo> and --disable-<foo> arguments. Use the generic --enable and --disable arguments. Note that the usage message still informs about all known enable/disable args created in lib/mkos8/opts.py by auto.defs. However the usage message is clearer now and the arg parsing is simpler now. Note we delete the use of the fancy python argparse library. Nice as it was, we don't need it. The clearer usage message is also in the os8-run.md doc. check-in: 0f1c58479b user: poetnerd tags: os8-v3f-extensions
03:14
Bug fix: Enable/Disable args for fortran should have dash, not underscore in their names to work properly. check-in: e24681d721 user: poetnerd tags: os8-v3f-extensions
03:12
Bug fix: If we build with config option --os8-minimal, we won't build the os8v3d-patched.rk05 image. We only build os8-v3f from that image. --os8-minimal therefore should not attempt to build os8-v3f. check-in: e14bed0e60 user: poetnerd tags: os8-v3f-extensions
02:59
Bug-fix: When we use config option --os8-minimal the system image os8v3d-patched.rk05 does not exist. Creating the source packs does not require a patched system anyway, so we use os8v3d-bin.rk05. check-in: afabf0c0e7 user: poetnerd tags: os8-v3f-extensions
02:57
Bug fix: rename of os8_pip_into to os8_pip_to wasn't propagated to this program that used the routine. check-in: 623cab985e user: poetnerd tags: os8-v3f-extensions
2018-07-22
22:22
Improve pal8 command: 1. Allow whitespace between arguments. 2. Fix a bug that caused the (apparently untested) 3 arg form not to work at all. 3. Clarify in the documentation the rationale for the command, and warn of its possible removal. TODO: Possibly expand the command to pass in arguments. check-in: c67efce19c user: poetnerd tags: os8-v3f-extensions
20:34
Forgot to update the TODO to remove the order to implement restart. It's now implemented. check-in: 1a7abaa401 user: poetnerd tags: os8-v3f-extensions
20:16
Added restart command and test_restart.mkos8 to test it. Note that test_restart.mkos8 assumes existence of test_copy.tu56 that is made by test_copy.mkos8, and system_v3f_tc08.tu56 made by os8-v3f-tape.mkos8. check-in: a86f9935a6 user: poetnerd tags: os8-v3f-extensions
19:31
Removal of multi-word commands from os8-run #6: convert copy_to and copy_from to cpto and cpfrom respectively. This completes the project to eliminate multi-word commands from os8-run. check-in: 547a96be48 user: poetnerd tags: os8-v3f-extensions
19:06
Added more clarification around case sensitivity throughout. (Also pruned a note about multi-word mount options that is no longer relevant.) check-in: d4c9e2f654 user: poetnerd tags: os8-v3f-extensions
2018-07-21
04:16
Improved documentation of mount/umount: 1. Explain the rationale for using the POSIX commands. 2. Clarify how the "new" and "preserve" options behave DIFFERENTLY with regards to file preservation. 3. Add an example of use of the "new" option. 4. Update the mount examples to use the $foo path expansions. check-in: f30b93a62d user: poetnerd tags: os8-v3f-extensions
03:19
Minor cleanups: 1. The more correct term for how we build is "from distribution media" rather than "source media" because we don't build from source, and because "distribution media" is the correct term used for our baseline truth. 2. Cleaned up broken formatting in the pal8 section's bulleted list, and in the begin/end keyword table. 3. Added a comma in the boot section cuz it called out for one. :-) check-in: 6f606611aa user: poetnerd tags: os8-v3f-extensions
03:15
Renamed copy_into and pip_into to copy_to and pip_to respectively. This is because I decided that copy "to/from" made more intuitive sense than copy "into/from". check-in: 08108fae33 user: poetnerd tags: os8-v3f-extensions
2018-06-29
04:58
More James L-W serial mod GPIO fixes by Dylan McNamee. check-in: 6f67aed364 user: tangent tags: trunk
04:54
Changed GPIO pin mappings for the James L-W serial mod. Also diagnosed by Dylan McNamee. check-in: 538529c44e user: tangent tags: trunk
04:51
The James L-W serial mod GPIO setup had two lines swapped relative to the original patch. Fix diagnosed by Dylan McNamee on the mailing list: https://groups.google.com/d/msg/pidp-8/tYGYJCSwV-Q/sJmESoAPBgAJ check-in: 59b1d29fcc user: tangent tags: trunk
2018-06-17
19:33
The configure script now errors out if you try to pass both --serial-mod and --alt-serial mod. Documented it. check-in: cfe91ae914 user: tangent tags: trunk
2018-06-10
02:04
Cosmetic change: Shorten comment about os8 errors because it is now more generally used. check-in: cdce8dcc87 user: poetnerd tags: os8-v3f-extensions
2018-06-07
04:07
Fix formatting mistake check-in: 75954717a3 user: poetnerd tags: os8-v3f-extensions
04:05
Removal of multi-word commands from os8-run #5: "read-only" becomes either "ro" or "readonly". check-in: 41ec8eeaef user: poetnerd tags: os8-v3f-extensions
03:55
Removal of multi-word commands from os8-run #4: "must-exist" becomes "required." Lots of scripts touched but it was worth it, I think. check-in: fb4201a2c5 user: poetnerd tags: os8-v3f-extensions
03:42
Removal of multi-word commands from os8-run #3: "copy_scratch" becomes "scratch". The meaning is probably clear enough without "copy". check-in: 6a2f3bb5fc user: poetnerd tags: os8-v3f-extensions
03:28
Removal of multi-word commands from os8-run #2: "not-disabled" becomes "default". Not only does this make the parser cleaner and simpler, the description of what is being done becomes simpler. This is a GOOD change. check-in: 762a5798db user: poetnerd tags: os8-v3f-extensions
03:03
Eliminating multi-word hyphenated commands from os8-run #1: "no-overwrite" becomes "preserve". check-in: ac83408912 user: poetnerd tags: os8-v3f-extensions
2018-06-02
18:55
Tiny cleanup: Changed variable "MKOS8" to "OS8RUN". Removed mkos8 program because it has been subsumed by os8-run. Further cleanups of the simh.py and os8script.py libraries will not be backwards compatible with the use made by mkos8. check-in: 61529b46b6 user: poetnerd tags: os8-v3f-extensions
2018-05-28
22:55
Taught Makefile.in how to 'make bin/system_v3f_tc08.tu56' Although the v3f stuff is built by default, this tape is not. TODO: 1. Test 'make system_v3f_td12k.tu5' 2. Create auto.defs options for this. check-in: 1858920a4a user: poetnerd tags: os8-v3f-extensions
22:27
Use a variable for the OS/8 Scripts directory. check-in: 63ed426836 user: poetnerd tags: os8-v3f-extensions
22:23
Now assemble the v3f sources. check-in: 321e9254cc user: poetnerd tags: os8-v3f-extensions
22:05
Added code to Makefile.in to create the os8 v3f build rk05 image. TODO: Figure out how to make the image in an object directory instead of the src directory. Problem is with os8-cp and the manifest file actions.txt assuming current working directory. check-in: 0e628cd6fc user: poetnerd tags: os8-v3f-extensions
20:58
Two short test scripts for testing the copy and patch commands. Note that they have not been converted to the new script location and use of directory expansion. Nevertheless they might be useful to someone. check-in: b118d2fbe5 user: poetnerd tags: os8-v3f-extensions
20:49
Clean up mess made on first attempt to move scripts to new home. Includes a bug fix to Makefile.in where I missed a backslash, and a bug fix to simh.py which would blow out if your branch has upper case characters in it. check-in: 303cb7f12b user: poetnerd tags: os8-v3f-extensions
2018-05-25
02:49
Snapshot: Minimum Makefile.in changes needed to replace execution of mkos8 with execution of os8-run. TODO: 1. Put in the dependencies on the new python modules. 2. rip out mkos8. 3. Confirm this all works for someone else. 4. CLEANUPS. check-in: c610c24d5d user: poetnerd tags: os8-v3f-extensions
01:47
The done command was a mistake and now is gone. I realized it was a mistake when, we executed it in an included script, the scratch files were removed. Rather than creating a per-script scratch list, I moved the final cleanup to the main os8-run code and deleted the done command. check-in: 8b66b4f06b user: poetnerd tags: os8-v3f-extensions
00:36
In cutting over to using os8-run I realized I needed a mount option that lets the script create a new empty image file and saves a pre-existing version. The "new" option to mount is now implemented. check-in: 26c846c5ce user: poetnerd tags: os8-v3f-extensions
2018-05-22
23:36
Claimed case insensitivity in os8-run commands in os8-run.md. TODO: verify. check-in: 887345ef35 user: tangent tags: os8-v3f-extensions
23:32
Moved the paragraph about the fatal error handling policy up from the discussion of "include" in os8-run.md up to the "Conventions" section, then added a link back down into the command reference. check-in: 2c68a31006 user: tangent tags: os8-v3f-extensions
23:30
More assorted improvements to os8-run.md check-in: 22b3649806 user: tangent tags: os8-v3f-extensions
23:08
Expanded the discussion of Pexpect in os8-run.md check-in: 046602545d user: tangent tags: os8-v3f-extensions
22:58
More improvements to the "History and Motivation" section of os8-run.md. check-in: 6f0c5473ca user: tangent tags: os8-v3f-extensions
22:40
Fixed a bit of lysdexia, and removed a thousands separator comma: this document may be read by non-USian readers. check-in: f27a09ad1c user: tangent tags: os8-v3f-extensions
22:37
Expanded the new "History and Motivation" section of the os8-run.md file. check-in: 8382aec59c user: tangent tags: os8-v3f-extensions
22:27
Added "Motivation and History" section to the top of doc/os8-run.md, and did some other minor improvements to the rest of the document. check-in: ec8ff7753c user: tangent tags: os8-v3f-extensions
22:23
Style pass on src/os8/v3f/README.md check-in: c36863cfe0 user: tangent tags: os8-v3f-extensions
2018-05-21
02:31
Teach call_pal8 to detect failure of PAL-8 to start. TODO: Re-do ALL the calls to os8_send_cmd to shift from looking for a command prompt before beginning a command and then maybe testing the command result (which is currently implemented with os8_send_cmd (prompt_string, command) ) to: Running a command and then testing the result. Yes, this means that pretty much the entirety of the command execution and result testing has been implemented in the wrong order. check-in: 6ce374d437 user: poetnerd tags: os8-v3f-extensions
02:26
Teach copy_from and copy_into how to recognize when PIP failed to start. Tweak err_test.mkos8 to test that this is working. check-in: fc92e8017b user: poetnerd tags: os8-v3f-extensions
02:20
Document how the POSIX path expansions are supposed to work. check-in: e2cdb32a96 user: poetnerd tags: os8-v3f-extensions
2018-05-18
05:01
Added path expansion to copy_into and copy_from. Fixed two related bugs: 1. path expand needed to use os.path.join to deal with how dirs.py ends some dirs with a slash, and some not. 2. copy_into and copy_from needed to check to see if the system was booted. (I'd forgotten this requirement, didn't boot the dectape, and could not understand why things were failing.) TODO: Add catching of "PIP.SV NOT FOUND" in copy_into and copy_from. check-in: e927586fb2 user: poetnerd tags: os8-v3f-extensions
2018-05-16
13:28
Simplified [05371feb7c], replacing the redundant map of module variable names to their values with a call to getattr() on the module and variable name in the single place that used this new facility. check-in: 2475d3ad2c user: tangent tags: os8-v3f-extensions
05:00
Added directory expansion for Anchor directores found in dirs.py.in. This necessitated offering them up in an associative array, as well as directly in dirs.<varname>. TODO: Document this. Add $home. Update .mkos8 files to use these. check-in: 05371feb7c user: poetnerd tags: os8-v3f-extensions
2018-04-29
03:58
Ok. Bed time. I'm making stupid mistakes. THIS TIME I fixed the example. check-in: a0393dd43d user: poetnerd tags: os8-v3f-extensions
03:55
Fixed example to use cdprog instead of absldr. (I thought I'd fixed this one, but it was another example I fixed.) check-in: c317b8d4b2 user: poetnerd tags: os8-v3f-extensions
03:31
Apparently I never tested the pal8 command when I objectified it. Now it's fixed and working. The scripts that used "fotp" and "absldr" are now tested working. check-in: 04acd3fc64 user: poetnerd tags: os8-v3f-extensions
03:13
Rename "os8_cd" to "cdprog". Change all occurrances of "fotp" and "absldr" to use "cdprog". TODO: Test. check-in: b2f05b95df user: poetnerd tags: os8-v3f-extensions
00:44
Work around a problem with markup: bullet list before a code block formatted both incorrectly. Moving the bullet list after seems to work better. check-in: f552138be1 user: poetnerd tags: os8-v3f-extensions
2018-04-27
04:32
Snapshot: Switching begin absldr and fotp over to os8_cd. Code is there and updated doc with examples is in place. TODO: Update uses of the old "begin fotp" and "begin absldr" constructs to use "begin os8_cd" and then rip out the fotp and absldr sub commands. check-in: fc88854a6a user: poetnerd tags: os8-v3f-extensions
2018-04-22
04:06
Moved Execution Context section up, and renamed "Enablement" Context to "Conditional Execution." check-in: 653f29de12 user: poetnerd tags: os8-v3f-extensions
04:00
Add first illustrative example. check-in: dd46ecb99d user: poetnerd tags: os8-v3f-extensions
03:42
Clearer overview of mount options. check-in: 4feae418ed user: poetnerd tags: os8-v3f-extensions
03:13
mount command options can have either dash or underscore as separator. check-in: f62671242c user: poetnerd tags: os8-v3f-extensions
2018-04-15
19:37
Teeny bit of format cleanup. check-in: 1a21d6840b user: poetnerd tags: os8-v3f-extensions
19:33
All commands have basic documentation. Next Steps: Review and clean up basic documentation, then add in examples. check-in: 6b0600b73e user: poetnerd tags: os8-v3f-extensions
2018-04-14
23:47
More content for commands. Added mention of as yet, unimplemented restart command. Commands still lacking basic documentation: begin/end, enable/disable, patch, configure. check-in: e5bb205204 user: poetnerd tags: os8-v3f-extensions
03:53
Additional prose. Some reformatting, and re-casting of sentences for greater clarity. check-in: dd808ad53c user: poetnerd tags: os8-v3f-extensions
2018-04-13
04:42
Properly cross links command sections. TODO: 1. Finish basic command descriptions with usage. 2. EXAMPLES EXAMPLES EXAMPLES check-in: d6d55f8ecd user: poetnerd tags: os8-v3f-extensions
04:02
And another try. check-in: 51ea54ab4c user: poetnerd tags: os8-v3f-extensions
03:13
Try a different way. check-in: 0ae10037ae user: poetnerd tags: os8-v3f-extensions
03:06
Test out toc linking. check-in: d63dc72d3e user: poetnerd tags: os8-v3f-extensions
2018-04-11
06:08
Added PiDP Keyswitch state diagram and schematic SVG. check-in: abb86b9d77 user: tangent tags: trunk
2018-04-10
01:56
Updated SIMH again. No particular reason, just syncing. check-in: ff2f918885 user: tangent tags: trunk
2018-04-09
16:08
The pidp8i script now uppercases its first argument in case it's being run via an all-caps terminal. check-in: 0389ea3108 user: tangent tags: trunk
01:31
one more bit of format tweaking. check-in: 16680d5958 user: poetnerd tags: os8-v3f-extensions
01:29
Fix up a few niggly typos and formats I don't like. check-in: 8ebf033bf7 user: poetnerd tags: os8-v3f-extensions
01:19
Added a -vv (very verbose) flag that includes the SIMH expect output in the runtime output. I find that having the separate log file actually works better most of the time. check-in: e7224c448e user: poetnerd tags: os8-v3f-extensions
01:06
Updated os8-run.md to reflect this weekend's work to make the script runner easier to use. check-in: 5d9fddd5a0 user: poetnerd tags: os8-v3f-extensions
00:44
The script commands that require the OS/8 context now all check to see we have booted, and if necessary call resume_command to resume OS/8. Use of the resume command in scripts is optional. It's commented out in the two scripts being checked in now. check-in: c0c452a0e6 user: poetnerd tags: os8-v3f-extensions
2018-04-08
18:56
Validated bin and patch mkos8 files. Also found a couple places where line number reports were not being made. check-in: 1d249425e6 user: poetnerd tags: os8-v3f-extensions
18:41
Apparently when I got os8v3d-bin.mkos8 working, I broke the tco8.mkos8 script. That script is for creating an os8-v3f dectape, so I renamed it and got it working again. TODO: Get os8v3d-bin.mkos8 validated. When I added resume, I turned off the simh command. So any scripts that used that construct are broken. check-in: a7c2b63adf user: poetnerd tags: os8-v3f-extensions
16:37
Electric python mode in Emacs sometimes sucks. Checking in WORKING silence of options report. check-in: 29c0bdf35d user: poetnerd tags: os8-v3f-extensions
16:19
Silence superfluous print of enabled/disabled options. check-in: 30fa646feb user: poetnerd tags: os8-v3f-extensions
16:12
Functionally complete "Give script line number in verbose and error output." TODO: 1. Test include files to make sure stack works. 2. Add line number output to the patch runner routines. check-in: 3c8123c3df user: poetnerd tags: os8-v3f-extensions
06:59
Snapshot: Added line number management so that all errors give the line number of the script file. (We keep a stack of line numbers corresponding to the nesting of included files.) Almost done, but it's hours past bed time! check-in: 9b8e035e77 user: poetnerd tags: os8-v3f-extensions
05:44
Previous commit was an error. I thought I'd completed the commit and then I addeed a bunch of code on an unrelated issue. THIS commit adds the boot checking AND NOTHING ELSE. check-in: 4c351aa5b2 user: poetnerd tags: os8-v3f-extensions
05:28
boot command checks to see if the device to be booted has something attached. If not, the script dies. Commands that run in an OS/8 context check the state of "booted" and if we have not been booted, the script dies. check-in: e9baca9803 user: poetnerd tags: os8-v3f-extensions
01:59
Added return status of "success", "fail", or "die" to all script commands. fail doesn't do much now. This is really about the die status. Also return values from routines called in simh.py are inconsistently set (rarely at all). And the return values are currently never tested. check-in: ccf3cc63e3 user: poetnerd tags: os8-v3f-extensions
01:41
Use :os8_send_ctrl to send ^C. Slightly cleaner. check-in: 5d248e2f70 user: poetnerd tags: os8-v3f-extensions
2018-04-07
23:41
I thought I tested this way of implementing resume, but apparently not. This fixes the new resume to work the way the previous check-in should have worked. check-in: 24125be341 user: poetnerd tags: os8-v3f-extensions
22:51
Further exploration of what it means to resume OS/8. Comments in simh.py explain the problem: We need to provoke a prompt to re-synchronize with python expect after resuming the stuff that was running under SIMH. There is now a resume command that does the minimum, but it's not as minimal as I would like: It sends ^C, which forces a return to the keyboard monitor if you happen to use it in the following situation: Start an OS/8 program. Escape to SIMH Resume. The ^C will kill the OS/8 program and send you back to the keyboard monitor. This is less disruptive than go 7600, but still not ideal. Just sending newline, or multiple newlines, or erase character or kill line to the OS/8 keyboard monitor after issuing the continue command in SIMH does not work to give you a command prompt. The next revision, I think will touch many routines to do the following: Create a sense of when to abort the whole script. Allow the script runner to keep track of OS/8 context and either blow out when you try to issue an OS/8 command before having booted an image, or to resume OS/8 for you when you use simh commands. check-in: b1e7201347 user: poetnerd tags: os8-v3f-extensions
2018-04-06
17:27
Merged SIMH updates in, primarily to get a fix to serial console handling, fixing upstream issue #545. check-in: ff2a299614 user: tangent tags: trunk
2018-04-05
05:43
Snapshot. More text added. check-in: f632a07d03 user: poetnerd tags: os8-v3f-extensions
04:52
More attempts to improve formatting. check-in: 635b4d4896 user: poetnerd tags: os8-v3f-extensions
04:37
Attempt to fix table formatting. check-in: 77d79a6b13 user: poetnerd tags: os8-v3f-extensions
03:26
Update with more text. check-in: 60d99f2f04 user: poetnerd tags: os8-v3f-extensions
2018-04-02
04:52
Fix a few eggergious typos. check-in: 96a25e81a3 user: poetnerd tags: os8-v3f-extensions
04:44
Fuller first draft. Snapshot. Still more prose to add, but it's bed time. check-in: 083fcc5efe user: poetnerd tags: os8-v3f-extensions
00:34
Markdown tweaks check-in: 9501dab8d9 user: tangent tags: os8-v3f-extensions
00:27
dont/wont/cant fixes in comments. NFC. check-in: ca02351d1a user: tangent tags: os8-v3f-extensions
00:25
URL fixes check-in: 01adc7e518 user: tangent tags: os8-v3f-extensions
2018-04-01
23:22
Tweaks to the Autosetup discussion in HACKERS.md check-in: f83a90486c user: tangent tags: trunk
23:18
Attempt to fix formatting problems. check-in: 64143f0747 user: poetnerd tags: os8-v3f-extensions
23:15
Added more info about branching and special branches to the HACKERS.md file. check-in: 78b5fdda99 user: tangent tags: trunk
23:12
Document os8-run command and its scripting language. check-in: 76627f0f9b user: poetnerd tags: os8-v3f-extensions
22:49
More HACKERS.md tweaks check-in: 98a2522ffd user: tangent tags: trunk
22:33
Refine two different options parsing strategies: In current strategy, be clearer on the effect of --enable and --disable args. In an alternate strategy, --enable-foo and --disable-foo become two word arguments. This can be done without changing the actions of auto.def, but DOES require changes to how configure would parse command line arguments. check-in: 1dc45457c5 user: poetnerd tags: os8-v3f-extensions
22:32
Several minor improvements to HACKERS.md check-in: 3c19d18b26 user: tangent tags: trunk
03:58
Fixed argument parsing in mkos8 that I broke when I was experimenting with and evolving the ideas of how to pass in new options. Now instead of -o --option, mkos8 responds to --enable and --disable To set open ended enablement and disablement options that are not defined elsewhere. check-in: 025010d6f3 user: poetnerd tags: os8-v3f-extensions
00:01
os8-run now does patching and with os8v3d-patch.mkos8 reproduces full functionality of mkos8 patch. Additional command, "copy" added to take the os8v3d-bin.rk05 image and copy it into a new file os8-v3d-patched.rk05. The latter file is then mounted and patched, just like mkos8 does it. check-in: 3f562abc9c user: poetnerd tags: os8-v3f-extensions
2018-03-31
23:43
Changed action on verbose flag. Now simh output goes to the log file UNLESS verbose is set. The script file list and options don't show UNLESS verbose is set. However each script run is displayed even if verbose is not set. check-in: 3dc1945a77 user: poetnerd tags: os8-v3f-extensions
23:31
Cosmetic: Clean up formatting of code in run_command. Add documentation of current commands. check-in: 2ae5294065 user: poetnerd tags: os8-v3f-extensions
23:26
Bugfix: when error actually occurs we get a type clash. Need to convert the error object returned to a string. check-in: 3bfccb1c6e user: poetnerd tags: os8-v3f-extensions
23:23
Bugfix: pal8 command was using "s" instead of "self". check-in: cdcf9f000c user: poetnerd tags: os8-v3f-extensions
2018-03-28
22:46
Back out upstream SIMH change 3f7f926 in an attempt to fix a regression in "SET CONSOLE SERIAL". Closed-Leaf check-in: 667bc75355 user: tangent tags: simh-3f7f926-backout
2018-03-27
23:17
Small clarity tweak to the HACKERS.md section "Submitting Patches." check-in: 615fcb1f25 user: tangent tags: trunk
2018-03-26
04:35
New option to mount, "copy_scratch" that creates a writeable scratch copy of what is to be mounted, which gets deleted when done. This results in a version of os8v3d-bin.mkos8 that completely subsumes all the functionality of mkos8 bin. Next up: Patches, and Default directory path. check-in: 1ae5d8a262 user: poetnerd tags: os8-v3f-extensions
2018-03-24
03:55
The script runner now has the "Set INIT message" functionality: 1. We don't create INIT.CM with the editor. Instead we copy it in just as we do with INIT.TX. 2. os8script.py now has script interfaces to the simh.py routines: copy_into -> os8_pip_into copy_from -> os8_pip_from 3. os8v3d-bin.mkos8 is updated. Booting the resulting rk05 image DOES run the INIT.CM script properly. TODO: 1. Figure out an interface in the script runner for the functionality of: "create a bootable dectape copy from the read-only distribution tape." 2. Implement the believed-to-be-straightforward exercise of enabling patches. 3. Figure out an interface/convention for the root of relative paths when the script runner runs. (dirs.os8mi equivalent) 4. Come to closure on the design for package management/options. check-in: cd285d1672 user: poetnerd tags: os8-v3f-extensions
03:39
Bugfix: os8_pip_from was parsing the os8 name with "index" when it needed to be "find". (Index returns a value error, and find returns -1 if substring not found. I'd transposed them.) check-in: 0ebe98bd1c user: poetnerd tags: os8-v3f-extensions
03:08
Bug fix: We never before tested calling os8_pip_from and os8_pip_into with a null option argument. The code didn't actually work because we were treating option later as a string. Now if the arg is not present, or None we set it to the empty string. check-in: 8bbca41e87 user: poetnerd tags: os8-v3f-extensions
2018-03-21
10:33
Defining SIM_GIT_COMMIT_TIME when building the simulator to match a recent upstream SIMH change, which allows the "SHOW VERSION" command to include a commit timestamp. check-in: 901695a423 user: tangent tags: trunk
10:00
Merged in upstream SIMH changes. No functional change noted for PDP-8, but Mark Pizzolato wants us to track a recent change to "SHOW VERSION", which we'll do in a subsequent commit. check-in: 5d0ee5fb5b user: tangent tags: trunk
2018-03-20
20:58
Checkin [b3e6e42a77] caused the simulator to crash on exit on non-Pi platforms since no PiDP-8/I panel is present, causing the graceful shutdown to fail. This is harmless most of the time, since the simulator is dying anyway, but it was causing pexpect to choke during the mkos8 process when run on non-Pi platforms. check-in: 4891e80bbc user: tangent tags: trunk
04:05
The reorganization of the src directory so that no *.c is at the top level of src broke "Incandescent Thought". We now look for deeper.c in src/misc, not src. check-in: c465ea6fbb user: tangent tags: trunk
2018-03-17
23:06
Release process tweak for the Fossil binary step, now that we're no longer building Fossil from source in BOSI any more. check-in: 374be56f82 user: tangent tags: trunk
21:32
The simulator now turns off all front panel LEDs before exiting so that a "pidp8i stop" or "Ctrl-E, q" doesn't leave the last CPU state burning brightly on the front panel. Closes [700328105]. check-in: b3e6e42a77 user: tangent tags: trunk
21:15
Changed the signaling and timing of "pidp8i stop" to be more reliable about quickly stopping, so we don't need to escalate to a kill -9. The escalation still exists in case the simulator is recalcitrant, but an upcoming change will require a graceful shutdown. check-in: 084fafb781 user: tangent tags: trunk
2018-03-13
10:32
Backed out Ian Schofield's attempt to fix the MB display, [5597b069b2]. Going on the principle of charity here, I assume that change isn't entirely wrong, but it has the side effect of breaking MB display while in "stopped" state, where people are expecting to see the result of EXAM switch presses here, a documented behavior of the PDP-8/I. See p.93 in the 1967 edition of the Small Computer Handbook and page RIM-3 (PDF page 35) in the PDP-8 System User's Guide from 1969. These two bracket the introduction of the PDP-8/I. check-in: 1fcd751a5f user: tangent tags: trunk
2018-03-12
02:28
Script reproduces all but INIT.TX and INIT.CM from mkos8 bin. PONDERING: Currently doing "simh go 7600" and "simh det". Should I instead introduce "resume" for "go 7600" and re-introduce unmount? check-in: 2d3a227ab7 user: poetnerd tags: os8-v3f-extensions
2018-03-11
23:24
Silence one bit of debug noise no longer needed. check-in: 040fff8714 user: poetnerd tags: os8-v3f-extensions
12:27
Merged trunk changes in Closed-Leaf check-in: bc32a70eed user: tangent tags: ac-mb-fixes
02:53
Snapshot: Nearly complete script to reproduce mkos8 bin in a script. Untested. TODO: 1. Test 2. Add INIT.CM stuff. 3. Add SQISH commands. check-in: 692d7edef3 user: poetnerd tags: os8-v3f-extensions
02:51
Changes to build_subcomm: Detects all errors (but may not do anything about them just yet.) Now handles "WRITE ZERO DIRECT?" dialog. Builds a basic bootable tc08 dectape. Adds err_test.mkos8 to step through error handling. Found LOTS of places where handling would hang the script. I fixed those. TODO: Reproduce mkos8 bin in a script. check-in: 6abb3c86c2 user: poetnerd tags: os8-v3f-extensions
2018-03-10
06:04
Recast the script command set to more closely align with how options were set in mkos8: Instead of "option" we have "enabled" and "not-disabled". Instead of "configure option" we have "enable". Instead of "unset_option" we have "disable". The command line "-o" and "--option" are now "--enable" and "--disable". os8-run makes a stab at using lib/mkos8/opt.py. I'm still not sure how this really should be done. check-in: a02f051f37 user: poetnerd tags: os8-v3f-extensions
2018-03-09
05:00
SNAPSHOT: Beginnings of a script to build os8v3d-bin.rk05 Discovered that more work is needed in os8script.py to handle the dialog with the BUILD BOOT command: "WRITE ZERO DIRECT." Also the architecture for re-imagining copyins needs to be conceived. check-in: bec1348033 user: poetnerd tags: os8-v3f-extensions
04:40
Script that duplicates the work done by "mkos8 src": bin/os8-run os8-v3d-src.mkos8 check-in: 150bd42598 user: poetnerd tags: os8-v3f-extensions
04:04
Pulled the run script functionality into its own separate command called os8-run. Tested with the latest tc08.mkos8 check-in: 5094f41fa8 user: poetnerd tags: os8-v3f-extensions
04:03
Apparently I never actually tested unset_option. Now It's working. tc08.mkos8 sets tc08 by default and unsets it if you specify td12k or tdrom on the command line. check-in: 02b01c97eb user: poetnerd tags: os8-v3f-extensions
2018-03-08
04:42
Since we want to turn off options, we need to guarantee that options appear in the options_set only once. This required flattening the options list that comes from argparse. How to do that? stackoverflow is your friend... check-in: 55dc609201 user: poetnerd tags: os8-v3f-extensions
2018-03-07
04:36
tc08.mkos8 now understand td8e as a common option to td12k and tdrom. Since we don't have a ROM config, we can't test tdrom, but the build of td12k with the common td8e stuff works. Still TODO: Further re-arrangement of mkos8 functionality. check-in: 50d5c66e31 user: poetnerd tags: os8-v3f-extensions
04:26
Configure command tested in the tc08.mkos8 script. New set_foo_config interface replaces old change_from_to interfaces in simh. os8script and testing in mkos8 use them. check-in: c14d2e72ee user: poetnerd tags: os8-v3f-extensions
03:50
Successful run of mkos8 head -o tc08 and mkos8 head -o td12k with the code for OS/8 scripting pulled out of mkos8 and put into lib/os8script.py Also a style pass was run on the names of things. Additional os8script methods have been added: configure_command which is an interface to the simh change commands and which allows on-the-fly setting of options. unset_option_command that allows unsetting of an option. I want the configure command so I can get rid of the "simh" command. I don't want to allow full scripting of simh. But I might be wrong here. I want to ability to set options inside scripts because the tdrom config is a variation on td12k, and I can set a common sub-option for the common bits now. TODO: test mkos8 system with the new library. TODO: Change the "change_" interface because we are repeating the describe code. We should "set" options rather than "change from x to y". The change interface requires fetching status twice, first to figure out what to do, and second, when calling the do_routines, to recheck inputs. TODO: Rename some "do_" methods in simh.py not to have the "do_" check-in: 0d3e4cce6c user: poetnerd tags: os8-v3f-extensions
2018-03-06
06:09
Beginnings of spinning out the script runner stuff into its own class: os8script which contains a simh and the global state like the options list for running the os8 scripts. SNAPSHOT! DO NOT USE! check-in: 3e7d1ab258 user: poetnerd tags: os8-v3f-extensions
2018-03-04
03:14
Added some comments to bin/teco-pi-demo explaining why we cannot make better use of class simh's new context switching abilities. check-in: f56e9b2e7d user: tangent tags: os8-v3f-extensions
03:13
Added a few more SIMH context switching cases in class simh check-in: 952d7b233e user: tangent tags: os8-v3f-extensions
03:11
Cleaner interface to show command: Do the split into a line array centrally. Make the show tape parsing orthogonal to rx and tti. check-in: 4b84f2a2ac user: poetnerd tags: os8-v3f-extensions
02:35
If you call simh.os8_send_ctrl('e'), the object now marks itself as "in SIMH context". This supports legacy uses of the class where transitions had to be done manually. check-in: c507e7ba49 user: tangent tags: os8-v3f-extensions
02:30
In two places, class simh was sending the same command to SIMH then calling parse_show_tti() on the result. Moved the command call into that function and renamed it get_tti(). check-in: fb6100a681 user: tangent tags: os8-v3f-extensions
02:11
Comment and whitespace improvements to lib/simh.py check-in: 712ce17691 user: tangent tags: os8-v3f-extensions
01:40
Simplified the check for SIMH commands that transition from SIMH context back to simulation context: it was listing all of the possibilities exhaustively, except only in lowercase. Neither is required: we can list only the first letter in uppercase, then slice the first letter off of the command and uppercase it before searching this list. This is both faster and more reliable. Also moved the related constants from per-instance to per-class. check-in: b54ebf922c user: tangent tags: os8-v3f-extensions
2018-03-03
23:33
Added a describe_dev_config routine, and tried out cleaner approach to parsing _child.after. TODO: Update the existing code to use the cleaner approach. The testing routine tests everything now. check-in: 79b7a7bd9d user: poetnerd tags: os8-v3f-extensions
20:43
Change between KSR and 7b implemented and tested. check-in: b6403b276e user: poetnerd tags: os8-v3f-extensions
20:12
Corrected comment on parse_show_rx_dev check-in: b9e53704f7 user: poetnerd tags: os8-v3f-extensions
20:00
Silence one bit of verbosity -- the rx detaches. check-in: 8f8cb98765 user: poetnerd tags: os8-v3f-extensions
19:59
Change for rx01/rx02 is done. TODO: ksr/7bit change. Also: Ponder if this stuff is being too verbose. check-in: 0e4f9c3777 user: poetnerd tags: os8-v3f-extensions
18:42
do_tape_change is fully fleshed out. mkos8 testing is the driver to test it. TODO: Repeat for RX01/RX02 and ksr/7bit check-in: 692b0368ee user: poetnerd tags: os8-v3f-extensions
06:22
Snapshot: Beginnings of routines to change configs in simh Swapping td/dt DECtape devices; rx01/rx02 devices; ksr/7bit console. Currently just inventories what's attached to dt/td devices. TODO: Finish the swapping code: Detach what's attached and send the config change. Then fill in the stubs for RX and console device work. check-in: d2167af791 user: poetnerd tags: os8-v3f-extensions
04:27
Cleaned up external use of simh_context. The housekeeping boiled down to three locations: 1. Initialize to simh. 2. back_to_cmd sets simh. 3. The clever part: in send_cmd, look to see if the command being executed enters the OS, and if so set context "os8". TODO: RE-test os8-cp and all legacy mkos8 commands to make sure I didn't break anything. Then remove the context commands. The rule now is: Returning to simh leaves you in the simh context until you issue a boot, continue, or go command. check-in: 7b0047d2cc user: poetnerd tags: os8-v3f-extensions
2018-03-02
05:22
Ok, this is a bit gross. tc08.mkos8 now understands the td12k option, but it was a pain to get there. I had to create a simh command because we needed to disable dt and enable td. This also runs BUILD on os8v3d-patched.rk05 to switch from TC08 to TD8E drivers. It is very gross, but it does clean up after itself. (If it makes it all the way through.) This exploration has let me to believe that we might very well want to craft this as python code to, "Switch SIMH from DT to TD" and "Switch SIMH from RX01 to RX02". It is a mess of abstraction barrier violations to try and do it cleanly. So what we have now is a proof of concept. An icky one. check-in: 966fb1026b user: poetnerd tags: os8-v3f-extensions
02:53
Yup I had broken absldr. (Forgot to delete legacy code.) Fixed now and tested. check-in: 5998f944de user: poetnerd tags: os8-v3f-extensions
2018-03-01
19:36
Improved approach to option handling. No longer requires custom logic in every sub-command. Also consolidates parsing of comments into a common module. TODO: Test creating a TD12K system with TC08 turned off. TODO: Re-test v3f to make sure I didn't break the absldr sub-command. check-in: e67f63046a user: poetnerd tags: os8-v3f-extensions
06:30
Taught mkos8 a new run command: Options. Now, before the mkos8 command arg, you can have options, for example "tc08". In the script file you enclose options in begin option foo end foo If the command line argument specifies -o foo, the lines are used. If not, they are ignored. Optional blocks can appear in commands with their own command processors, and can be nested. In this way a single command file can be used with variations on the same theme depending on which option is enabled. check-in: 10848363e5 user: poetnerd tags: os8-v3f-extensions
2018-02-27
04:35
Deleting the last of the OS/8 v3f files from their old home. check-in: cf3f0afe80 user: poetnerd tags: os8-v3f-extensions
04:33
Bringing the updated versions in to their new home: Amendments to os8-v3f sources to get them to build properly, and to clean up newlines as documented in README.md. check-in: e7f3f5c8a9 user: poetnerd tags: os8-v3f-extensions
04:27
Re-checking in original versions in new home. check-in: 70422a41be user: poetnerd tags: os8-v3f-extensions
04:21
This file should never have been checked in. It was a built artifact, not baseline truth source. check-in: ed42b06197 user: poetnerd tags: os8-v3f-extensions
04:20
First step of moving os8-v3f to a os8/v3f. Move everything with no history. check-in: 3295f96998 user: poetnerd tags: os8-v3f-extensions
2018-02-26
04:28
Added include functionality and split out the FOTP copy into a separate file so that it can be common to multiple system head creations scripts. check-in: f6c639f923 user: poetnerd tags: os8-v3f-extensions
04:22
Updated in anticipation of support for TD12K and TDROM DECtape configurations. check-in: 8a4f9efde2 user: poetnerd tags: os8-v3f-extensions
04:19
mkos8 head command now uses the tc08.mkos8 command instead of the in-line code. mkos8 system now uses the v3f-control.mkos8 file to redo the work of the v3f command. Added pal8 and absldr command parsing to script parser. TODO: add file inclusion to script parser. add patching to script parser. try out other system bulld scripts. check-in: aa81f5802a user: poetnerd tags: os8-v3f-extensions
2018-02-25
01:48
Ditto in tools/bosi check-in: 44e7fdb32b user: tangent tags: trunk
01:47
Switched another systemctl command in the pidp8i-test manual. check-in: a125ef3ebc user: tangent tags: trunk
01:45
The top-level README.md file now gives "systemctl --user" commands only in one place, purely for documentation value. In all other places, we now use the new "pidp8i $verb" commands. check-in: 4692d6051c user: tangent tags: trunk
2018-02-24
23:48
Clarity fixes to the new "doc" discussion in the HACKERS.md file's directory structure section. check-in: 5a93928903 user: tangent tags: trunk
23:45
Documented an exception to the "etc" rule in the HACKERS.md directory layout section. check-in: 76739686ac user: tangent tags: trunk
23:21
Fixed a logic bug in the "make mediainstall" skip test, and added a message when we skip the step to make it clear which path was taken. check-in: 36b7e06e65 user: tangent tags: trunk
22:41
The test intended to skip re-installation of all the SIMH binary media and the SIMH boot scripts on a system where that has already been installed was checking for the existence of os8.rk05, which will only exist on a system that had 2017.04.04 or earlier installed on it. A system that was fresh-installed from 2017.12.22 wouldn't have this file, so the *next* installation (say, to check out the trunk version) was overwriting local media and script files. This is not going to affect people who used only release versions unless they manually did "make install" again for some strange reason. The more likely way this hits is for someone who first installed 2017.12.22 and then later checked out an unreleased version and installed it over the top of their release version. check-in: 43161ac30b user: tangent tags: trunk
22:33
Clarifications to the directory scheme section of HACKERS.md. check-in: 088bcc323f user: tangent tags: trunk
04:50
Finally bit the bullet and added a _context to simh object so we now EXPLICITLY keep track of what command context we are in, and we can now explicitly know, "You have to do s.back_to_cmd so you're back in the simh context and can issue those commands." This is needed to get the rewritten mkos8 working. This version of the rewritten mkos8 uses tc08.mkos8 to successfully redo all the things that were in the "head" command to create a bootable tc08 DECtape. TODO: 1. Change head to do run_system on that file. 2. Add code to enable v3f-control.mkos8 to reproduce what the "v3f" command does. 3. Do the same thing with bin, patch, src. Open issue: How do we want to re-express all the optional build stuff? I think the cleanest way is to have os8-v3d-patched.mkos8.in check-in: e0b7feccad user: poetnerd tags: os8-v3f-extensions
2018-02-23
06:17
SNAPSHOT: Beginnings of yet another mkos8 rewrite. This one creates a "system" command that reads in a control file and parses it into call outs to OS/8 in simh. It is half done. When there is a complete first draft, then we go back and see what can be pruned. Still being considered: How much parsing and filtering should we do for lines being passed into OS/8? check-in: c3d90b5b86 user: poetnerd tags: os8-v3f-extensions
2018-02-22
17:31
Clarified in README.md that the goo.gl link points to a release tarball URL. Pointed the user to the "bleeding edge" links on the home page if they want the tip of trunk instead. check-in: 363c3a4164 user: tangent tags: trunk
15:30
Added the --disable-usb-automount option to the configure script. check-in: 519af7fb16 user: tangent tags: trunk
13:58
Changed the way the systemd user unit file is installed so that it starts on boot. (It was referencing a target that doesn't exist in the user unit namespace, only in the system-level namespace.) check-in: 9df981f85d user: tangent tags: trunk
13:57
The change to bin/pidp8i to make it a systemctl command shortener broke the install verb. check-in: 210dd32e7f user: tangent tags: trunk
13:34
Moved most of the material on the systemd service from the "Major Differences" wiki document into the top-level README.md file's section on the same topic. check-in: 7bdf00a1e0 user: tangent tags: trunk
13:19
Documented the new "pidp8i $VERB" interactive command shortener. check-in: 5f3a0f3399 user: tangent tags: trunk
13:16
The pidp8i command now recognizes when it's being run interactively with arguments and passes them on to systemctl, acting as a command shortener. check-in: 62d01a3ac6 user: tangent tags: trunk
12:38
Clarity pass on the new systemd section at the end of README.md. check-in: e505816ebe user: tangent tags: trunk
12:24
Changed several documentation references to "sudo systemctl VERB pip8pi" commands to work with the new user-level service. check-in: f64def86c2 user: tangent tags: trunk
12:19
Swapped etc/pidp8i-init.in (a SysV init script) out for etc/pidp8i.service.in (a systemd user unit), moving much of what was in the init script into bin/pidp8i.in. Implements [fc237d3f08]; see that ticket for the rationale. check-in: 4a5ef7682b user: tangent tags: trunk
2018-02-21
03:31
Additional all-important comment: In SIMH, make sure you do, "set rx rx28" if you are going to use rx02 and "set rx rx8e" if you are going to use rx01. rx8e is currently the default. check-in: 77f7c141e7 user: poetnerd tags: os8-v3f-extensions
03:16
mkos8 v3f now builds the device drivers. mkos8 head now fleshes out the build with the all-important RX02 driver from v3f. The code has extensive comments on how we would build different configurations including 12K and ROM TD8E systems. TODO: Design an architecture for picking though these system creation options. check-in: a53265ed60 user: poetnerd tags: os8-v3f-extensions
2018-02-20
03:28
New command in mkos8 is live and working: head -- takes what we've built in "v3f" and creates a bootable DECtape image. Utilizes the OS/8 v3d device driver dectape image, and runs os8v3d-patched.rk05 as the bootable system. check-in: 48f84ed990 user: poetnerd tags: os8-v3f-extensions
02:04
Fixed problem with squish. os8_squish puts in the colon for us, so when I called it with "RKB1:" it called SQUISH on "RKB1::" check-in: 32c3b1e1ae user: poetnerd tags: os8-v3f-extensions
2018-02-19
18:07
Another attempt at cleanup. check-in: 448527acfc user: poetnerd tags: os8-v3f-extensions
18:04
Corrections to README.md: Fixed formatting of included file. Added license. check-in: 8a49cdd555 user: poetnerd tags: os8-v3f-extensions
17:56
Amendments to os8-v3f sources to get them to build properly, and to clean up newlines as documented in README.md. TODO: Find out why mkos8 complains of bad device on the SQUISH. check-in: ab0e49c8c5 user: poetnerd tags: os8-v3f-extensions
17:47
Re-creation of OS/8 Device Extensions work from a ground truth of sources discovered as "OS/8 V3F" Checking in the v3f baseline sources and an initial version of changes to mkos8 to perform the build and integrate. Ultimately, mkos8 will know how to build the sources and create a distribution DECtape based on them. check-in: 95f361a076 user: poetnerd tags: os8-v3f-extensions
16:34
Create new branch named "os8-v3f-extensions" check-in: 24ef7c118d user: poetnerd tags: os8-v3f-extensions
04:02
Improved defaults: Added a default system image if none is specified on the command line: The os8v3d-patch.rk05 file in bin booted on rk0. Tested binary transfers from OS/8. They work as expected: /B in PIP pads the ptp device with lots of null leader/trailer. Specifically, 192 bytes are added at the beginning; Any ^Z at the end of the original .BN format file is removed. Any NULL padding in the OS/8 filesystem after the end of file is removed. Leader-trailer of 0200 and the 000 is added at the end. It will be interesting to see what kind of transformations are done on transfers into OS/8. Will the ^Z be added to .BN format? Will a sacrificial character on paper tape input be needed? /I returns the binary bits verbatim. The default transfer mode has been changed from /B to /I. Closed-Leaf check-in: 347a9e009b user: poetnerd tags: os8-cp
2018-02-18
19:14
Moved a single-use string member variable in class simh inline. It needn't be externally-visible. check-in: df07d34aed user: tangent tags: os8-cp
18:46
Merged in trunk improvements check-in: 29dfc620d5 user: tangent tags: os8-cp
17:37
Added more clarification of when ASCII transforms are lossless. (If newlines are well formed.) check-in: 1b6da290c4 user: poetnerd tags: os8-cp
03:10
Typo, grammar, and clarity tweaks to previous check-in: 7689d22a2c user: tangent tags: trunk
03:08
Assorted improvements to the "Single-Core Default" section of README-throttle.md. check-in: 938079c032 user: tangent tags: trunk
01:52
The publish-fossil script now includes the Fossil version in the file name, and it strips the binary before adding it to the repository. check-in: a3ac8e8862 user: tangent tags: trunk
01:02
Clarified the new terse usage message a bit check-in: 4ee6f0b097 user: tangent tags: os8-cp
00:56
Fixed some whitespace problems in os8-cp check-in: 0ef3beebb6 user: tangent tags: os8-cp
2018-02-17
05:14
Error reporting and recovery fixes: Eliminated some debugging print statements that should have been removed before. Cleaned up error mesages print from pip routines. Took care to delete the empty file created by SIMH ptp device when the OS/8 file is not found by os8_pip_from. check-in: 026f859acb user: poetnerd tags: os8-cp
04:52
Rendered nomenclature consistent in documentation and implementation: copy is now: "within" for on OS/8, "into" for POSIX into OS/8, and and "from" for going from OS/8 to POSIX. Renamed the routines in simh and changed error strings to match the nomenclature. check-in: ecb8cee214 user: poetnerd tags: os8-cp
04:03
Revised usage message. Improved accuracy. Split into TERSE and VERBOSE chunks. check-in: e02f74e842 user: poetnerd tags: os8-cp
2018-02-11
22:06
Moved simh._os8_errors up within the file to be next to the other constants and member variables, and improved its associated comments. check-in: 70168fc002 user: tangent tags: os8-cp
21:45
ptp2text needs to filter out rubouts that PIP /A adds after control chars such as tab. os8-cp bug fix: File parser for OS/8 wild card DIR output didn't quote the dot. os8-cp: Added VERBOSE option, and provision for a QUIET option. Some things that were always printed are only on VERBOSE and DEBUG options. QUIET mode doesn't have anything bound to it yet. simh.py: Error detection updated a bit, and adding tracking of which error messages have been verified. check-in: c162a5d01a user: poetnerd tags: os8-cp
21:37
Whitespace and comment improvements to os8-cp. check-in: a87d0769aa user: tangent tags: os8-cp
21:23
Refinement of previous DRY violation fix, reducing the key data structure to a single dict. Checked this in separately to make the sense of the transformation clear. check-in: 5be87b7a14 user: tangent tags: os8-cp
21:15
Fixed a DRY violation in the PIP option constants defined at the top of os8-cp. Changes now need to involve just two parallel lists of strings, whereas before you had to change one string and three parallel dictionaries. check-in: 29525bae74 user: tangent tags: os8-cp
20:54
Comment and whitespace improvements check-in: dd47da7502 user: tangent tags: os8-cp
20:27
Reordered the "import" statements in os8-cp, dropping one duplicate and one no-longer-needed import. The first group of import statements should never be extended, per its comment. check-in: 5688a5d6c8 user: tangent tags: os8-cp
2018-02-10
18:21
Framework for error recovery in place, and basic errors tested. Errors we would hit were inventoried. A table of error matches and a flag as to whether the error was fatal or not (if not we need to exit the program back to OS/8 monitor.) os8_fetch_pip and os8_send_pip have been updated to deal with fatal and not fatal errors. File not found (non-fatal) and Directory I/O error (fatal) have been tested. TODO: Investigate teaching os8-cp's use of DIR command about errors. Still not done: Testing of binary modes. check-in: d7a0d338b7 user: poetnerd tags: os8-cp
03:31
Fixed minor bug that prevented --action-file from working. Enabled copy mode, but forgot to test it. :-) check-in: 6a49e73a85 user: poetnerd tags: os8-cp
01:38
Copy from OS/8 basically works, both single file and wild card case. TODO: copy "on" OS/8 to OS/8. Testing testing testing! check-in: efd88b5a2e user: poetnerd tags: os8-cp
2018-02-09
14:20
Updated SIMH. check-in: 0a9a46d2c3 user: tangent tags: trunk
05:31
Snapshot. Basic copy to OS/8 working. TODO: Copy from OS/8. Wild carding of copy from. Implementing of copy on in FOTP. Testing. Sacrificial byte at end of binaries. check-in: cd0f6e7fdb user: poetnerd tags: os8-cp
02:23
att and det commands tested and working with fixes in this checkin. Time to start working on the file transfer stuff. check-in: 4cc7df0ce3 user: poetnerd tags: os8-cp
2018-02-07
05:17
Snapshot: NOT WORKING! Code drafted to do att and det commands in simh. copy actions designed but not implemented. NOTHING TESTED. (Also moved some constants to the globals section of the file.) check-in: 0522ee40e2 user: poetnerd tags: os8-cp
04:18
Used python dict idiom to shorten parse of mode options code. check-in: 796dadce18 user: poetnerd tags: os8-cp
2018-02-06
07:01
Had to turn parse_args back into a subroutine, because the new parse_action_file overrode the action_plan being created. Pulled back in some of the old main because I'll reuse that code when I implement the copying. Shifted some of the globals from the middle of the file to the section labeled for globals. BTW: The override by --action-file is because parse_args did two passes: 1. read names and glob them. 2. turn globbed names into actions. The action file is all actions. We override because that way I don't have to write code to figure out how to do a partial second pass of what's already been parsed from the command line when we hit the --action-file argument. Icky, but... check-in: f3702ec3c4 user: poetnerd tags: os8-cp
05:09
Merged trunk improvements check-in: cfe9f76381 user: tangent tags: os8-cp
04:54
Renamed os8-cp --tc to --dt, properly reflecting the SIMH device name. I see why it was called --tc, but it was incorrect to map it to SIMH device name "TC" (no such thing) and it's confusing to those of us who know the SIMH device names. Better to just remain consistent throughout. check-in: 7b2a875a1b user: tangent tags: os8-cp
04:52
Many improvements to the os8-cp USAGE message, especially in the area of media image options. check-in: be30dc52a4 user: tangent tags: os8-cp
04:24
Removed some functions now unused since the command line parser redesign. check-in: 0d55a92b7e user: tangent tags: os8-cp
04:23
Moved most of the program comments explaining the behavior of os8-cp into the USAGE message. check-in: 4e116e66c2 user: tangent tags: os8-cp
03:17
Replaced main() in os8-cp — which was almost completely commented-out from its prior form — with parse_args(), since all that was left of main() was a call to that function. check-in: 9cc31248aa user: tangent tags: os8-cp
02:58
Minor tweaks to previous check-in: 174829cb05 user: tangent tags: trunk
02:56
Better explanation of the reason for the change to SIMH throttle stabilization and a better link to the GitHub issue thread explaining the backstory. check-in: f32224cc98 user: tangent tags: trunk
02:40
Added paragraph to the "Throttle Stabilization" section of README-throttle.md warning about upgrading an existing boot script setup. check-in: 73bb7661e3 user: tangent tags: trunk
02:35
Switched tools/bosi from the macOS rmtrash command to trash, which behaves better on multi-volume systems. check-in: 93ad7eeaf5 user: tangent tags: trunk
02:34
Added named anchors to README-throttle.md section heads check-in: e336b70fc4 user: tangent tags: trunk
2018-02-04
05:02
Renamed os8-pipio to be os8-cp Designed the new parser. Snapshot with Complete first draft of new parser. It only took 300 lines of code to do it. check-in: 96412d7943 user: poetnerd tags: os8-cp
2018-01-30
09:46
Added examples/fpptst.ft to demonstrate the generation of FPP12 instructions in OS/8 FORTRAN IV assembly (RALF) output even though the FPP feature of SIMH's PDP-8 simulator is not enabled by default in the PiDP-8/I stock simulator init scripts. check-in: bc13bb069b user: tangent tags: trunk
2018-01-29
09:36
Merged SIMH upstream again, this time finally fixing upstream issue #508, which I'm now going to close. check-in: 3278b60481 user: tangent tags: trunk
03:43
General command line utility to read from and write to OS/8 media using PIP. Currently supports .tu56 and .rk05. TODO: 1. Investigate adding a sacrificial extra character for file send to OS/8 in binary modes. 2. Detection of OS/8 Device full. 3. Support for copyin and copyout of the system area with PIP /Y check-in: 5d7366cdd5 user: poetnerd tags: os8-cp
03:37
Adds two functions: os8_send_pip and os8_fetch_pip More general interface for both storage into and retrieval from OS/8 media. Used by a new program bin/os8-pipio check-in: 7285ef619d user: poetnerd tags: os8-cp
2018-01-28
06:40
Added a "make run-tss8" variant of boot/2.script, a TSS/8 parallel for "make run". check-in: 745033b32e user: tangent tags: trunk
2018-01-26
09:14
Clarified the MACREL v2 patches situation in doc/os8-patching.md: it was written pre-v2017.12.22 release in future tense. check-in: 5a179291c7 user: tangent tags: trunk
09:13
More of the same check-in: c7e13b21cc user: tangent tags: trunk
09:12
Whitespace fixes check-in: 7b35928a10 user: tangent tags: trunk
00:57
Assorted minor tweaks to doc/os8-patching.md check-in: c55128b3e1 user: tangent tags: trunk
00:52
Minor tweaks to doc/class-simh.md check-in: 1068ad74ea user: tangent tags: trunk
2018-01-25
21:03
Merged in an upstream SIMH improvement to the throttle stabilization code which avoids recalibrating the throttle timers on re-entering the simulation either due to Ctrl-E/cont at the terminal keyboard or CONT/START on the PiDP-8/I front panel. It simply continues using the values it determined before the simulation was stopped; it will still recalibrate itself periodically, it just doesn't start over from zero. check-in: cac1e79178 user: tangent tags: trunk
20:59
Clarifications to the new section on throttle stabilization in README-throttle.md. check-in: 22398c8ac6 user: tangent tags: trunk
2018-01-22
12:58
Overriding the default SIMH throttle settle time in the boot/*.script files, and documented what we know about all this in README-throttle.md. check-in: d08dd32180 user: tangent tags: trunk
11:40
Merged SIMH updates into trunk check-in: 2281fbe3f1 user: tangent tags: trunk
11:39
Updated SIMH to upstream checkin ID 52aebb23. No PDP-8 specific changes, but it appears to have fixed the keyboard delay problem. Closed-Leaf check-in: 1cd9da6804 user: tangent tags: simh-update
11:27
Restored upstream SIMH commit ID b2b18de in preparation for doing a simh-update run. Mark Pizzolato claims that the upstream master branch has this bug fixed, and we don't want this backout appearing in our diffs relative to upstream. check-in: ad6e607aa0 user: tangent tags: simh-update
11:13
Declaring the argument types of ire0() in examples/pep001-ire0.c to fix complaints from the new CC8. check-in: c70e7a7cb4 user: tangent tags: trunk
11:10
Updated fib.c with a version from Ian that runs until overflow, which builds under both versions of CC8. check-in: ff9311ab5f user: tangent tags: trunk
11:01
Documented a few more CC8 restrictions in its README.md. (Previously checked in accidentally on the ac-mb-fixes branch.) check-in: 8f3a66e383 user: tangent tags: trunk
2018-01-20
17:27
Added "int" return type declarations for all CC8 example programs, and removed the int type insertion in bin/cc8-to-os8. check-in: 44fac25071 user: tangent tags: trunk
17:27
Applied patch sent by Ian Schofield via private email to fix the "int foo()" difference between the CC8 cross- and OS/8 compilers. check-in: 8a25ff0dad user: tangent tags: trunk
2018-01-12
10:52
Assorted improvements to examples/README.md check-in: 8ff7ff0955 user: tangent tags: trunk
10:27
Grammar tweak check-in: 1ce056054e user: tangent tags: trunk
10:26
The BASIC section of examples/README.md now refers the user to the new "Getting Text In" wiki article, both simply and by hinting at some of the methods it documents. check-in: c0463566f9 user: tangent tags: trunk
10:12
Linked to the newer PEP001.* wiki articles from the examples' README.md. check-in: a9069d1472 user: tangent tags: trunk
00:54
Backed out checkin [5597b069b2] for testing purposes, and for building a better version of that checkin. check-in: 38c1b17bab user: tangent tags: ac-mb-fixes
2018-01-08
08:19
The "pidp8i stop" change now fails on multi-core Pis. Trying a combined version. check-in: 27f585bd1b user: tangent tags: trunk
2018-01-05
03:51
Better output from "systemctl status pidp8i". check-in: bcc06879ec user: tangent tags: trunk
03:50
Changed the "screenu -S pidp8i -X quit" command in the do_stop() action for the pidp8i init script to "pkill -f pidp8i-sim". Quitting the screen(1) session does that and *only* that, leaving pidp8i-sim still running, at least on Raspbian Stretch; whereas killing off the simulator *does* abandon the screen(1) session. check-in: 474594821b user: tangent tags: trunk
03:04
Fixed a problem in "make install" which caused libexec/scanswitch to be installed in $prefix/bin. check-in: 8ae952de3d user: tangent tags: trunk
2017-12-29
16:43
Clarified ticket level meanings. check-in: 1796d00a9b user: tangent tags: trunk
2017-12-27
03:52
Passing -std=c99 when building src/misc/*.c to avoid a complaint from some compilers about our use of variable declaration in the for loop initializer section. Then fixed the resulting compiler complaints when building on Raspbian Stretch. check-in: 6963b686c5 user: tangent tags: trunk
2017-12-24
19:54
Fixed a #include problem related to the new src subdirectory layout. It wasn't caught until now because it only affects ILS builds, and I've been testing off-Pi until now. check-in: 9a33c3f4b9 user: tangent tags: trunk
19:52
Updated SIMH to upstream commit 8494112ee4. Nothing of consequence has changed upstream as far as we are concerned, but I needed to test that tools/simh-update continues to function with the new src subdirectory layout. check-in: 0bd7f65cb0 user: tangent tags: trunk
19:49
Added src/SIMH/Makefile.in, which should have been included with the prior checkin. check-in: 62f98ec9c2 user: tangent tags: trunk
19:48
Moved SIMH source files into src/SIMH, leaving no actual source files in the top level of `src`. Saying `ls src` therefore now gets you a listing of the programs built from source code, with the exception of src/misc and src/asm, which contain single-module programs, which therefore do not deserve their own subdirectories yet. check-in: 44f74bca46 user: tangent tags: trunk
19:16
Moved all remaining non-SIMH *.c files from src into src/misc. check-in: a6c903715f user: tangent tags: trunk
19:10
Moved the PiDP-8/I specific C files that get built into pidp8i-sim into src/pidp8i. (This is the first in a series of src subdirectory cleanups.) check-in: 0fd5a04dc0 user: tangent tags: trunk
2017-12-23
22:00
Removed several references to usbmount, which we no longer use. They were all basically harmless, just causing extra pointless work for both the human and the computer. check-in: af6ea767d7 user: tangent tags: trunk
21:53
Updated a "v201712xx" reference to the actual release version, v20171222. check-in: a83b8a64f4 user: tangent tags: trunk
03:55
Merged doc fix in check-in: 3e64e6c138 user: tangent tags: release, v20171222
03:55
Prior update to doc/OS-images.md made for confusing grammar in the paragraph following the removed paragraph. Fixed. Retagged release v20171222. check-in: 4c2353525a user: tangent tags: trunk
03:29
Merged dependency fix in from trunk check-in: 32e794a04b user: tangent tags: release
03:29
Removed lib/pidp8i/__init__.py and ips.py as dependencies of the RK05 disk images so that they don't rebuild just because you ran teco-pi-demo -b. That doesn't affect *how* the RK05s are built, just *how fast* they are built, which is already a fait accompli by the time this question comes up. check-in: 6c77f5fa80 user: tangent tags: trunk
02:41
Merged in trunk doc fixes check-in: 2f43ced016 user: tangent tags: release
02:37
Added rootfs auto-expand item to ChangeLog. Retagged release v20171222. check-in: 882e7a13fb user: tangent tags: trunk
02:18
Updated doc/OS-images.md for new Stretch based binary OS images. check-in: c2affd79bb user: tangent tags: trunk
02:15
jessie -> stretch in zipfile naming check-in: 963fe39482 user: tangent tags: trunk
02:03
Relaxed a check in "bosi image" which was causing it to fail to find the Linux / (root) partition on the Raspbian SD card. Added better error checking in case something like this happens in the future. check-in: 8ecb5aec91 user: tangent tags: trunk
01:32
The sshd service was renamed to ssh in Stretch. Updated tools/bosi to cope. check-in: 3c4bea5aea user: tangent tags: trunk
01:29
Added a delay before the reboot and poweroff steps in bosi so user can read and evaluate the final messages. check-in: 3de5856fc4 user: tangent tags: trunk
01:26
Running "teco-pi-demo -b" in the "bosi build" step, partly so we test out the simulator before rebooting and partly so we update the benchmark value for that type of system. check-in: fd6977825c user: tangent tags: trunk
01:22
Merged trunk fixes in. Still release v2017.12.22. check-in: ca472c3816 user: tangent tags: release
01:22
The change made long ago to allow scanswitch to control the /etc/init.d/pidp8i script causes it to fail if the PiDP-8/I panel isn't actually present. Checking for the exit code 127 case explicitly now and falling back to 0.script in that case. check-in: 2c7e1c265d user: tangent tags: trunk
00:45
Small fixes to ChangeLog check-in: acfb6e1a87 user: tangent tags: trunk
00:27
Merged trunk changes for v20171222 into release branch check-in: 7f42574bca user: tangent tags: release
00:25
Tagged release v20171222 check-in: 8ba49fee33 user: tangent tags: trunk
2017-12-22
22:09
Modified the newly-created simh.os8_zero_core method to skip the top page of field 2, since it is reported that the OS/8 TD8E driver lives here. We don't use that driver in our current OS/8 disk distribution, but someone may later add that driver to their local clone of our software distribution then try running cc8-tu56-update (or some future script which also calls this new method) and be annoyed when their disk driver is MIA upon re-entering OS/8. check-in: 4b7c450799 user: tangent tags: trunk
22:08
Extracted the core zeroing code chunks from cc8-tu56-update into methods of class simh. They may prove broadly useful. check-in: f79b1587bc user: tangent tags: trunk
2017-12-21
12:29
Updated ChangeLog check-in: 99c1dcabef user: tangent tags: trunk
11:38
Replaced our reliance on the usbmount package — which only works out of the box on Raspbian Jessie and older — with a shell script based on https://serverfault.com/a/767079 which incidentally gives us the freedome to improve on it. check-in: d136804bf1 user: tangent tags: trunk
10:08
Whitespace improvements to bldcc8.bi. It changes the order of files on the output tape for some reason, so cc8.tu56 is updated yet again. check-in: 2036c8a7b0 user: tangent tags: trunk
09:55
Assorted improvements to the main CC8 manual. check-in: 5545137c62 user: tangent tags: trunk
09:49
Renamed CC.BI to CCR.BI. OS/8 isn't terribly smart about figuring out which "CC.*" you meant when you say "EXE CC", so we need a prefix that doesn't conflict with CC8 output files. The new name means "Compile C and Run." It is definitely not a classic rock pun. Definitely. check-in: 20d1ed131d user: tangent tags: trunk
09:14
Assorted improvements in src/cc8/examples/README.md to track recent developments in CC8 land. check-in: c598b55169 user: tangent tags: trunk
08:42
Added bldcc8.bi and cc.c to the list of files we delete from the working RK05 disk from cc8-tu56-update, since they're also temporaries. Also reworked the way we're handling the Python lists to avoid problems with OS/8 command line length limits. check-in: 5d10912237 user: tangent tags: trunk
07:56
Reworked the newly-deterministic cc8.tu56 creation in terms of Python lists so the code is easier to expand and the file lists are easier to read. Also improved the comments. Removed a pointless and possibly dangerous "DEL *.C" command which we no longer need now that we've given up on using wildcards in the COPY commands. There still remains some source of mischief because cc8.tu56 changed again purely by building it on a different platform. check-in: 32e4c2a446 user: tangent tags: trunk
06:59
Comment improvements check-in: e8175ab22c user: tangent tags: trunk
03:00
Fix for [ab0e67]: In addition to unmounting the dt image explicitly, one needs to clean out any files from previous runs of the script. The OS/8 copy actions send output in the order found on the input disk. The Linker resolves library items in the order the input files are found on disk. So we must remove anything from a previous run of the program, and SQUISH SYS: and DSK: so that successive runs of the script will cause input and output files to ALWAYS show up in the same order on the disk. When this is done cc8.tu56 DOES come up bit identical. This checkin is for the good script and the resulting good (canonical) cc8.tu56. check-in: 6f59c23708 user: poetnerd tags: trunk
2017-12-20
20:20
Removed redundant line from the old ASCII to modern ASCII translation table in the U/W FOCAL manual supplement. check-in: 0c908434d4 user: tangent tags: trunk
20:13
Removed the warning about LF-only example/*.fc inputs to "make" in the U/W FOCAL manual supplement: txt2ptp now fixes this. check-in: f53b42b748 user: tangent tags: trunk
04:56
I am concerned that one needs to explicitly detatch dectapes before quitting the simulator. I have added that to cc8-tu56-update. I am pushing out the cc8.tu56 I built with this version. It corrects a corrupt LIBC.RL that was in the previous version. Alas, this version of cc8-tu56-update STILL does not create bit-identical tape images on successive runs. check-in: 599e310e0e user: poetnerd tags: trunk
2017-12-19
14:43
Merged in trunk improvements. Closing leaf: found a better way. Closed-Leaf check-in: 315af225b0 user: tangent tags: udevd-systemd-fix
14:34
bosi init now kills off all processes for user 'pi' before usermodding it. Jessie didn't need this, but under Stretch, you have the "systemd --user" process and one other even after exec'ing yourself a pure root shell. check-in: 5b53879bca user: tangent tags: trunk
13:28
Replaced "build Fossil from source" stuff in bosi init with a wget call for the unversioned binary build previously published to the project site by tools/publish-fossil. check-in: 53f593579b user: tangent tags: trunk
09:38
Rebuilt cc8.tu56. Prior one caused ERROR 0004. check-in: 2e5d30a5b3 user: tangent tags: trunk
09:19
Merged the branch backing out a change made upstream to SIMH back in August which screws up the fixed-rate simulator throttling. Hopefully we'll get a better fix later, but we've given upstream 3 days to fix this and we haven't even gotten a reply yet. check-in: 44bacd76c8 user: tangent tags: trunk
09:16
Jonathan Trites found a use of '\*' in a call to simh.os8_send_cmd() which we missed when fixing these escaping issues a while back. It's probably insignificant since it follows a short command, but it is at least sloppy, so it's worth fixing. check-in: f9cc818c8c user: tangent tags: trunk
2017-12-18
07:07
Applied a fix to the systemd udevd unit which is supposed to allow usbmount to work under Raspbian Stretch according to usbmount GitHub issue #2. It's not working here on my PiDP-8/I, but it's a mongrel upgraded from Jessie. Checking it in on this branch so I can try it on a fresh Stretch install. check-in: e4e5ef7f65 user: tangent tags: udevd-systemd-fix
2017-12-16
18:09
Merged Steve Bennett's improved unified mkos8 + configure OS/8 option handling code, plus some assorted other improvements along for the ride. check-in: a4e1ad749f user: tangent tags: trunk
18:06
Fixed several misunderstandings in this new option handling scheme, and tweaked a bit of it besides. Closed-Leaf check-in: d5e40c708f user: tangent tags: os8-option-share-msteveb
17:17
Simplified some of the string building code in the auto.def OS/8 option handling. check-in: 1c7cd74c22 user: tangent tags: os8-option-share-msteveb
16:59
steveb supplied the final key to allow this to work on "real" Tcl, as opposed to Jim Tcl. check-in: 76f7967fb2 user: tangent tags: os8-option-share-msteveb
10:51
Steve Bennett's improved method for setting OS/8 options for both the configure script and mkos8 from a single definition. This version doesn't work on "real" tclsh, only jimsh0. check-in: d37216a49f user: tangent tags: os8-option-share-msteveb
10:40
Removed unnecessary executable bits on autosetup/* check-in: 07aba8a68f user: tangent tags: os8-option-share-msteveb
09:59
Workaround for a bug in Fossil's Markdown processor check-in: 01676fb3eb user: tangent tags: trunk
09:58
Quoting fix to previous check-in: cf3537aa4c user: tangent tags: trunk
09:56
Merged the new paragraph on prompt character escaping with a similar one previously existing. check-in: b10e9fbb40 user: tangent tags: trunk
09:51
Clarified the '\\.' explanation in class-simh.md check-in: 97c5799ff3 user: tangent tags: trunk
09:50
Completed a missing thought in the recent checkin to class-simh.md. check-in: c44f5488e0 user: tangent tags: trunk
09:48
Small fix to previous check-in: c1f7f705ae user: tangent tags: trunk
09:46
Several improvements to doc/class-simh.md check-in: 599ba5fcab user: tangent tags: trunk
09:35
More tweaks to README-throttle.md check-in: 9535f9c26d user: tangent tags: trunk
09:23
Assorted tweaks to the single-core section of README-throttle.md. check-in: d6fcae8f40 user: tangent tags: trunk
08:58
Backed out upstream commit b2b18de0ec, which breaks fixed-rate throttling. Whether we merge this into trunk or close the branch depends on how upstream reacts to our report, issue #508: https://github.com/simh/simh/issues/508 Closed-Leaf check-in: 701ebdc2f1 user: tangent tags: simh-timer-fix
08:52
Grammar fix check-in: 18f7db0050 user: tangent tags: trunk
08:47
Assorted improvements to the OS/8 *.rk05 disk image description in the top-level README.md file. check-in: bf7cc454a2 user: tangent tags: trunk
07:36
Changed how the configure script sets the default value for --prefix to avoid a complaint from autosetup about use of an obsolete interface. check-in: a7ef26e838 user: tangent tags: trunk
07:08
Rebuilt cc8.tu56 with all the recent changes in place. check-in: 2c8a3dec51 user: tangent tags: trunk
06:56
cc8-tu56-update now zeroes most of core before running the compile-and-SAVE BATCH file. It was hoped that this would fix the nondeterminism of the script, but that doesn't seem to be the case. check-in: d73c5b76db user: tangent tags: trunk
06:41
Another *.s -> *.sb change in cc8-tu56-update. check-in: 27b3a7392f user: tangent tags: trunk
06:38
Better description of the CC8 example programs in the CC8 docs. check-in: 442d9cff50 user: tangent tags: trunk
06:26
cc8-tu56-update no longer copies basic.c to the tape image: the OS/8 compiler isn't currently able to compile it. check-in: 20a61bf4e6 user: tangent tags: trunk
06:25
The CC8 cross-compiler now writes out *.sb instead of *.s to match the OS/8 file naming convention for SABR output, and to avoid the confusing use of *.s for some POSIX assembly languages. It was using *.s simply because it could replace *.c on the input file name with a single character replacement. If the input file name is exactly at the file name buffer's limit (20 bytes, including the trailing null), we still write out *.s rather that mess with resizing buffers or reserving one byte, complicating all the other uses of that buffer size. check-in: 857b3fafc0 user: tangent tags: trunk
2017-12-13
03:50
. check-in: e7e3ff56fd user: tangent tags: trunk
03:32
Updated autosetup to upstream Git commit b5a0e85d8 check-in: 7a12e8386e user: tangent tags: trunk
03:21
Steve Bennett's idea for redesigning our mkos8/auto.def option sharing mechanism so that it doesn't require modifications to autosetup. Checkin it in on a branch because although it works, it's more complex and has other nonideal properties as compared to our previous solution. check-in: 4239a89d8a user: tangent tags: os8-option-share-msteveb
02:28
Updated SIMH to current upstream version. The only substantial change from our perpsective is working around a change they made to scp.h which redefines all of ctype.h, then changes their names, forcing any program that indirectly included scp.h to also link to scp.o! Broke that tie by carefully reworking our #includes to avoid bringing scp.h into programs like pidp8i-test which do not link to the rest of SIMH. check-in: 0b8fb3f7d8 user: tangent tags: trunk
02:08
Updated SIMH to upstream commit 27f9fc3c3e7. Closed-Leaf check-in: 324c415192 user: tangent tags: simh-update
01:33
Portability fix to previous check-in: fbc93a455d user: tangent tags: simh-update
01:32
Bash syntax for testing PDF file size difference in SIMH documentation *.doc -> *.pdf process wasn't working as expected. Rewrote it in terms of stat(1). check-in: 749cce9c50 user: tangent tags: simh-update
01:05
The simh-update script was assuming that you had a local copy of all the unversioned SIMH documentation PDFs, or at least that it could "touch" those file names to force a delta. Now it exports a copy out of "fossil uv" instead. check-in: d37019060a user: tangent tags: simh-update
2017-12-12
03:25
Utility to create a .tu56 or a .rk05 image from a bunch of ASCII files (as in creating a source disk or tape.) Command line options select --tu56, --rk05a or --rk05b. The last argument is used to name a .list file that inventories input, and the image file. Example: txt2os8 --tu56 mytape creates mytape.tu56 with files found in manifest mytape.list check-in: 854a2cd68a user: poetnerd tags: trunk
2017-12-11
20:42
Clarified doc/ vs wiki in HACKERS.md#dirs check-in: 01e314c884 user: tangent tags: trunk
20:33
Documented the new docs/graphics directory check-in: 1a5196b4db user: tangent tags: trunk
20:30
Moved the content of `pics` to `doc/graphics`. check-in: ab96eeead6 user: tangent tags: trunk
20:27
Clarified boot and media in HACKERS.md#dirs. check-in: 38f059ed8a user: tangent tags: trunk
20:17
Clarified the purpose of src in HACKERS.md. check-in: 6569a6d42b user: tangent tags: trunk
20:10
. check-in: 4a1b3915a8 user: tangent tags: trunk
20:08
Moved asm subdir under src check-in: e2d139c73d user: tangent tags: trunk
20:01
More HACKERS.md tweaks. check-in: e1d09a8bb8 user: tangent tags: trunk
19:58
More directory structure tweaks in HACKERS.md check-in: 2037cfde2b user: tangent tags: trunk
19:52
Workaround to previous for a weakness in the Fossil Markdown formatter check-in: 3f4dffd255 user: tangent tags: trunk
19:50
Added "Directory Structure" section to HACKERS.md. check-in: 0339f85860 user: tangent tags: trunk
19:23
Moved RELEASE-PROCESS.md into doc subdir check-in: d9038ed803 user: tangent tags: trunk
2017-12-10
22:35
Assorted improvements to tools/cc8-tu56-update and consequently to cc8.tu56. check-in: 48456100ae user: tangent tags: trunk
22:00
Missed copying CC.BI to cc8.tu56. check-in: 371ee6c828 user: tangent tags: trunk
21:56
Added cc.bi batch file to simplify building programs. check-in: b3b308339b user: tangent tags: trunk
21:45
Assorted improvements and clarifications to the bugs, limitations, and features sections of the CC8 README. check-in: 8357aedccb user: tangent tags: trunk
21:29
Clarified the lack of preprocessor in the CC8 README.md check-in: 92aeacf0b1 user: tangent tags: trunk
21:21
Renamed CC0.SV to CC.SV and replaced references to it being a stub for the preprocessor, now calling it the compiler driver. If a preprocessor is ever written, the driver will call it before calling CC1. check-in: 38f376dfad user: tangent tags: trunk
21:07
Updated cc8.tu56 yet again. Something about [fad54ed921] fixed the problems I've been having with CC0 since int [2f2103d555]. check-in: 539ff193cb user: tangent tags: trunk
20:50
Suppressed blank lines at the top of the output file in bin/cc8-to-os8. check-in: fad54ed921 user: tangent tags: trunk
18:23
Updated cc8.tu56 with new cc8-tu56-update output. (Removed *.h, filtered *.c.) check-in: 96873c9024 user: tangent tags: trunk
18:20
Updated tools/cc8-tu56-update to use bin/cc8-to-os8 and remove the unused include/*.h. check-in: baf4c330df user: tangent tags: trunk
17:49
Reworked most of the *.c examples to be in the style required by the CC8 cross-compiler, then added the bin/cc8-to-os8 filter which converts them to the format expected by the OS/8 version of CC8. check-in: 2f2103d555 user: tangent tags: trunk
16:45
Added named anchors to the CC8 README check-in: a8b06325a0 user: tangent tags: trunk
16:23
Comment improvement check-in: 4006b82589 user: tangent tags: trunk
12:44
Comment tweak check-in: e0e43e1d89 user: tangent tags: trunk
10:45
Rebuilt cc8.tu56 with INIT.PA -> INIT.H check-in: 5bf8e22e0c user: tangent tags: trunk
10:44
Renamed init.pa to init.h. I just realized that this is a C header file dominated by a single block of inline assembly, which makes it irrelevant to the file naming whether it contains PAL8 compatible assembly language source code or SABR-only code. It's a header file, thus *.h. check-in: 5879d6f72b user: tangent tags: trunk
2017-12-09
14:44
Swapped FORTRAN IV and II links in the ChangeLog so they match the order of the sections in the article. check-in: 87c02d6089 user: tangent tags: trunk
14:43
Added links to sub-sections of PEP001.FT article from the FORTRAN II and FORTRAN IV links in the ChangeLog check-in: 8fa9956c93 user: tangent tags: trunk
14:40
URL fixes in recent ChangeLog.md checkin check-in: 54997226dc user: tangent tags: trunk
14:37
Grammar tweak check-in: 390640a233 user: tangent tags: trunk
14:36
More improvements to the RK05 bits of the top-level README check-in: b39ff2fbcb user: tangent tags: trunk
14:28
Rearrangements and tweaks in the top-level README check-in: d03ed87391 user: tangent tags: trunk
14:21
Reworked the HACKERS.md instructions for getting Fossil 2.x for a Pi to use our new unversioned binary. check-in: 2da3b6888b user: tangent tags: trunk
14:18
Added tools/publish-fossil so we can distribute a pre-built version of Fossil 2.x for the Pi. check-in: 460e5f5f8e user: tangent tags: trunk
13:44
Removed "sudo apt install fossil" instruction from HACKERS.md. That conflicts with the current requirment to install from source. It'll come back when Debian finally starts shipping Fossil 2.x. check-in: 28b35afe29 user: tangent tags: trunk
13:13
Updated the ChangeLog check-in: c96cc580b3 user: tangent tags: trunk
12:15
Added pep001-ire0.c, the "First Try" program in the PEP001.C wiki article. check-in: 16eb83a9e8 user: tangent tags: trunk
12:14
Added "int" return type to main() in pep001.c: the compiler currently requires it, but it won't warn or error if it isn't present, it'll just fail to do the right thing. Also renamed it to pep001-mod.c after the modulus operator it uses, since we're going to save the other version here next under a different pep001*.c name. check-in: f4a633c567 user: tangent tags: trunk
12:12
Assorted improvements to the CC8 README check-in: 0760dcee6b user: tangent tags: trunk
01:25
Rebuilt cc8.tu56 in case the buffer overrun in txt2ptp affected its content. check-in: 2a11db3ffe user: tangent tags: trunk
2017-12-08
23:38
Double size of obuf. Worst case of "need one more output buffer character space to accomodate adding \r before \n" check-in: 18fb7d3bb4 user: poetnerd tags: trunk
20:21
. check-in: 20e18746ab user: tangent tags: trunk
18:18
Updated cc8.tu56 to contain latest n8.c changes. check-in: bbd9fc92a6 user: tangent tags: trunk
17:26
Updated src/cc8/os8/n8.c with Ian's latest fixes. check-in: 0e01e6b563 user: tangent tags: trunk
2017-12-07
20:32
. check-in: c901777e25 user: tangent tags: trunk
20:24
. check-in: 1b3ae6c27b user: tangent tags: trunk
18:15
Added FORTRAN II and FORTRAN IV versions of PEP001, correpsonding to the versions described in the current version of the PEP001.FT wiki article. check-in: 1dde81a5e4 user: tangent tags: trunk
18:14
Updated pep001.c to the current version given in the wiki article check-in: 28e2ce8371 user: tangent tags: trunk
2017-12-06
19:01
Assorted improvements to the description for the "./configure --prefix" option. check-in: 71f21fddc8 user: tangent tags: trunk
18:52
Added a brief "Running the Software" section to the top-level README to cover the PATH modification issue. check-in: e8e6290de2 user: tangent tags: trunk
18:46
Clarified the bits about "make reconfig" in the top-level README check-in: 9769d8929d user: tangent tags: trunk
15:27
Initial implementation of pep001.fc check-in: 804af8e141 user: tangent tags: trunk
13:41
Improved description of the DECUS submission in the U/W FOCAL manual supplement's References section. check-in: ac7600237c user: tangent tags: trunk
13:37
Raised a few heading levels in the supplement check-in: 1b63be1563 user: tangent tags: trunk
13:37
Reworked the U/W FOCAL manual supplement's rationale section somewhat. check-in: c41bab7c4a user: tangent tags: trunk
13:17
Fixed a few more OCR errors in uwfocal-manual.md check-in: 182ac763c4 user: tangent tags: trunk
00:20
Merged usb-scan-depth-increase experimental feature branch into trunk. check-in: ea7ee05b55 user: tangent tags: trunk
2017-12-05
22:55
Imerged in trunk fix to avoid needless RK05 rebuilds Closed-Leaf check-in: fa23d2380e user: tangent tags: usb-scan-depth-increase
22:54
No longer rebuilding bin/*.rk05 just because the simulator got rebuilt. (Moved $(SIM) to the other side of the | in the rule to make it an exists-only dependency.) check-in: fd495f8920 user: tangent tags: trunk
18:17
Broadened the /media/usb[0-7]/FILE.EXT scheme used by the SING_STEP + DF feature so that it works for /media/DIR/FILE.EXT, where DIR is any directory under /media. The intent is that this work for systems that use something other than usbmount but which also automount USB at the top level of /media, the standard location on Linux. This is untested, but it should work where Raspbian Desktop's USB automounting scheme overrides usbmount and other similar schemes. check-in: 82abd3a7bc user: tangent tags: usb-scan-depth-increase
13:53
. check-in: 79f607a22e user: tangent tags: trunk
13:07
Reworked pep001.c in terms of the new modulus operator support. (The only reason I checked in the previous ire0() based versions is because they're used to tell the story in the PEP001.C wiki article I'm composing, and I'd like to be able to pull those versions back out of source control again later.) check-in: 199a0dff7e user: tangent tags: trunk
12:53
Simplified pep001.c a bit more. check-in: daf2ff9090 user: tangent tags: trunk
12:32
More whitespace fixes to CC8 check-in: 04712bea7d user: tangent tags: trunk
12:30
Whitespace fix check-in: 31fc8dd267 user: tangent tags: trunk
12:10
Reworked examples/pep001.c in terms of a new subroutine, ire0(). check-in: 3458e3e939 user: tangent tags: trunk
11:48
Removed an unnecessary #include from pep001.c check-in: b218a6484c user: tangent tags: trunk
11:47
Small fixes to examples/pep001.c check-in: 70613e5eeb user: tangent tags: trunk
10:32
Extracted the manual COMP and LOADER steps in tools/cc8-tu56-update out as an OS/8 batch script (bldcc8.bi) which we send along with all the other static text files. This eliminates the possibility of any differences in the back-and-forth between cc8-tu56-update, pexpect, and SIMH from causing differences in the resulting cc8.tu56 file, which we're also checkin in at this time. check-in: ab58d17e25 user: tangent tags: trunk
09:17
Typo fix check-in: 42bc4c6bd5 user: tangent tags: trunk
09:15
Applied GPLv3 license to CC8, per private email from Ian Schofield on 2017.07.15 and 16. check-in: f4827a481f user: tangent tags: trunk
09:12
Assorted improvements to the ChangeLog check-in: 19b733c33d user: tangent tags: trunk
08:53
Removed src/cc8/os8/os8.sb: apparently unused. check-in: 0f784fb71d user: tangent tags: trunk
08:52
Removed another reference to the now-removed boot/cc8.script file. check-in: 6e0be06dc9 user: tangent tags: trunk
08:20
Added a hyphen in "Small-C" to one of the uses in the CC8 README check-in: 59741762d2 user: tangent tags: trunk
2017-12-04
13:09
Reworked the "build PS.CC" example in src/cc8/README.md to use CC0 instead of CC1. I find it considerably easier. check-in: 1d737f0325 user: tangent tags: trunk
13:06
Removed cc8.rk05 and its boot script now that os8v3d-*.rk05 is a functional superset of it. check-in: 882b8a05b7 user: tangent tags: trunk
12:52
bosi prepare now sets up auto-expanding root filesystem check-in: 666c3dbe59 user: tangent tags: trunk
11:43
Moved the "zero core memory" step up a bit within cc8-tu56-update: it was between the mag tape and disk pack attachment commands to SIMH, and there's no good reason to split those two. Since it's easier to do it before attaching media than to slide it in between the attachments and the boot command, I've done it that way. check-in: 0a87f19eed user: tangent tags: trunk
11:34
Updated cc8.tu56 after the zero-core fix. check-in: bd1d639081 user: tangent tags: trunk
11:32
cc8-tu56-update now zeroes core before beginning work. Since it uses the OS/8 SAVE command, it really needs known prior core contents before we do the SAVE, else the output is nondeterministic. check-in: 5b75dd49a0 user: tangent tags: trunk
08:52
Re-generated cc8.tu56 after previous updates check-in: 1fe3644a71 user: tangent tags: trunk
08:51
Fixed escaping of a * prompt in a regex string sent to os8_send_cmd(). check-in: 9c59dd5a2d user: tangent tags: trunk
08:36
Quadrupled the size of the files that test-os8-send-file transfers to try and tickle bugs. No dice, at least on my iMac. check-in: 2cb6f721a5 user: tangent tags: trunk
08:31
Merged comment fix in check-in: 3ae5eaf9e7 user: tangent tags: trunk
08:30
Removed a few stray lines accidentally checked in with previous Closed-Leaf check-in: d7ef389fa9 user: tangent tags: comment-fix
08:30
Comment improvement check-in: 76e4d3a852 user: tangent tags: comment-fix
08:18
Now that test-os8-send-file is transferring a single file reliably, reworked its main() to try a loop of 1000 send/get cycles. check-in: d192d2bcc0 user: tangent tags: trunk
08:01
Removed ASCII 127 from the set of characters we send via tools/test-os8-send-file: it's clearly being interpreted, causing needless differences in the test output. check-in: 94811a17f0 user: tangent tags: trunk
07:54
Removed double quotes from "attach ptp FILENAME" command sent by simh.os8_send_file(). SIMH doesn't let you quote a file name; implicit in that is that we're dependent on Python's temp file naming scheme not to give us a string with spaces or other problematic characters. check-in: a78fadf377 user: tangent tags: trunk
07:09
Jim Tcl compatibility fix in recent auto.def changes. check-in: 7ad143c18b user: tangent tags: trunk
2017-11-30
16:16
Merged "make clean" improvements in from trunk Closed-Leaf check-in: 93a3d15c0a user: tangent tags: cc8-64-bit
16:16
Added several things to "make clean". check-in: cc50ffe3d1 user: tangent tags: trunk
16:01
First steps toward making the cc8 cross-compiler run correctly on 64-bit systems where sizeof(int) != sizeof(char*). See ticket [a3f875cd] for details. check-in: d75851a10e user: tangent tags: cc8-64-bit
15:23
Assorted fixes to allow the cc8 cross-compiler to build in Xcode: added "return 0" to functions without an explicit return value which don't end in a return statement in all code paths; renamed kill() to kill_line() to avoid conflicting with the POSIX syscall; and removed link(), which also conflicts with POSIX syscall set, but isn't actually used here. Also fixed line ending styles and re-removed the getchar() at the end of main(). check-in: 27e81d863c user: tangent tags: trunk
2017-11-28
14:16
Added simh.os8_get_file() and tools/test-os8-send-file to test it and its inverse, simh.os8_send_file(). It isn't working yet, but it won't interfere with anything, and someone else may be able to finish it. check-in: 71ddf33004 user: tangent tags: trunk
2017-11-27
19:41
A few typo fixes in previous check-in: c9b341cd23 user: tangent tags: trunk
19:36
Reworked the "Government Health Warning" section of the CC8 README to split the limitations apart from the list of known-working features. Also spread the recently added "Nov 2018" (sic) stuff through the document rather than just have it tacked onto the end. check-in: be43971b09 user: tangent tags: trunk
17:07
Healed Ian Schofield's inadvertent trunk fork. check-in: 41b8fa50af user: tangent tags: trunk
17:06
Added "fossil sync" fix for anonymous clones in the "Fossil Developer Access" section of HACKERS.md. Also promoted some inline URLs from http to https. check-in: 42548b4bd2 user: tangent tags: trunk
16:51
Extended the "skips" mechanism used in the "mkos8 patch" facility so that we can skip the FUTIL V7 patches when MACREL is being installed, since we know they will fail. Technically speaking, this change is not absolutely necessary since mkos8 was already smart enough to cope with the failure of the patch to apply, but we don't want end users complaining about "failed patches", not realizing that they are not expected to apply correctly when you do not give --disable-os8-macrel. check-in: faec308ed2 user: tangent tags: trunk
16:38
Update of include file names. check-in: f12365e05c user: isysxp tags: trunk
16:04
This update contains a correction for the expression parser and the addition of 2 operators ...% and ~. In addition, the spacing issue has been resolved to a degree. This is very difficult to test. Overall, the native compiler is for a bit of fun. If you want to run a serious c programme, try the hosted compiler (cc8) as this will compile the (native) compiler and library. check-in: 05b40e1d4c user: isysxp tags: trunk
13:33
Updated ChangeLog.md. check-in: a87371e238 user: tangent tags: trunk
13:15
Merged in trunk changes; closing branch as it has been superceded by Ian checking the fixes (plus more) in later down the trunk. Closed-Leaf check-in: 17057db60f user: tangent tags: cc8-fixes
12:52
We were not resetting the simulator's Pause state at the end of every IOT state, so that the ILS sampling scheme would tend to over-count the number of instructions that had the Pause LED lit. Problem noticed by Ian Schofield, fix by me. check-in: adf01e8579 user: tangent tags: trunk
12:46
No longer passing the PDP-8 simulator's MB register to set_pidp8i_leds() from within the CPU instruction dispatch loop. According to Ian Schofield, the simulator's IR register actually contains what should display in the MB lights at these call points. Since we were already passing that register, we just dropped the parameter we no longer use, and use IR instead. Closes [973271ae36]. check-in: 5597b069b2 user: tangent tags: trunk
12:36
. check-in: 7e616f5dd5 user: tangent tags: trunk
12:24
Noted that we're distributing MACREL v2 now in a few of the docs. check-in: 0ce8bda688 user: tangent tags: trunk
12:18
Folded the non-duplicate parts of the "OS8 System Packs" wiki article into the top-level README.md file so we can remove the unversioned wiki article in favor of this versioned file. check-in: 5361575d8e user: tangent tags: trunk
11:27
Merged configure/mkos8 argument parsing DRY fixes. Closes [f5d5cf50c4] and [68dae7cc88]. check-in: ed0480e0be user: tangent tags: trunk
11:13
Makefile.in fixes for out-of-tree build-and-install. Some of it is for the new lib/mkos8/opts.py but it also affects the rest of lib/mkos8. Closed-Leaf check-in: b497ea1d85 user: tangent tags: mkos8-option-dry-fix
09:29
The configure script now makes the lib/mkos8 directory before writing opts.py there in case we're building out-of-tree, in which case the directory won't already exist. ($srcdir/lib/mkos8 does exist.) check-in: 40b486cd05 user: tangent tags: mkos8-option-dry-fix
09:16
Rather than duplicate all of the option definitions and help texts between auto.def and lib/mkos8/argparser.py, we now generate lib/mkos8/opts.py from auto.def based on the options() values at the top of auto.def which mkos8's argument parser reads and uses to define most of its command line options, making a near-parallel of most of the configure script's --*-os8-*. This is on a branch because there are quite a few subtleties in all of this which means this feature needs more testing to be sure it is complete and doesn't break anything. So far, this change is a delta loss of 132 lines, a good sign that it's worth the complexity of doing things this way. Provisionally closes [f5d5cf50c4] and [68dae7cc88]. check-in: 9dcaed3c64 user: tangent tags: mkos8-option-dry-fix
07:21
"make clean" no longer removes Makefiles generated from Makefile.ins. You now have to say "make distclean" to nuke those, along with all the other files that bring us back closer to a "fossil clean" state. check-in: 70dcfbc33d user: tangent tags: trunk
07:12
Replaced hard-coded -DHAVE_DLOPEN=so CFLAGS option with one based on SH_SOEXT variable exported by autosetup, which allows SIMH to dynamically link to optional libraries such as libreadline on platforms that use a different dlopen(2) file name extension. Tested as not changing anything on Raspbian and as allowing command completion in SCP on macOS. Theoretically, it should allow use of DLLs on Windows, but this has not been tested; it probably only does so under Cygwin. check-in: 161b1c1b6b user: tangent tags: trunk
05:43
Minor corrections of typos and formatting problems to docs amended in previous update. check-in: bc636c64e7 user: poetnerd tags: trunk
05:18
After much testing I provide this new integration of MACREL: v2. Additionally I have updated os-patching.md to reflect current reality, and spun two sections from that doc into their own docs that cover macrel and the OS/8 V3D Device Extensions kit. MACREL v2 contains an update version of FUTIL that matches MACREL. That drove hand-integration of FUTIL patch 32.13.1M to get it working again under batch. The test program, RESORC, from the OS/8 V3D Device Extensions kit runs just fine when installed on SYS: but not anywhere else. I wailed on this problem for a while but could not find root cause. That version if RESORC is NOT installed. I'm just trying to understand what it is about that epoch of building that behaves in that unexpected way. check-in: c0e2d1ce56 user: poetnerd tags: trunk
04:46
Regularized os8-* option help texts in auto.def and fixed tenses in verbs so they match the sense of the option's *inverse*, since that is how the help text is used in ./configure --help output. check-in: 09f9503302 user: tangent tags: trunk
04:39
Hand integrated patch 41.5.1 M which is a source change to OVRDRV.MA. check-in: a0c3e3490f user: poetnerd tags: trunk
2017-11-25
20:22
Implementing rename. check-in: 6f9077faef user: poetnerd tags: trunk
20:20
FUTIL V8A hangs under batch, and so it breaks our auto-build process as soon as we copy it in. I have hand-applied patch 35.13.1M which fixes the problem and upgrades FUTIL to v8B. I have documented work in README.TX, and I'm going to rename this image al-5642c-ba, a version never shipped, but embodying a critical fix. check-in: 86934ed2b1 user: poetnerd tags: trunk
17:20
Adding a hand-tooled MACREL v2 DECtape image. Contains FUTIL.SV version 8a that should replace v7D to match new Core Control Block format used by the new MACREL. When FUTIL is replaced, we need to re-test and probably disable patch FUTIL-31.21.2M. check-in: 1d6f691bbc user: poetnerd tags: trunk
2017-11-23
00:16
Reworked simh.os8_send_file() so that it gets EOF from txt2ptp rather than inserting it into the simulator's stdin itself. check-in: 816c827edb user: tangent tags: trunk
00:15
Another "PIP input from paper tape" documentation fix tracking the addition of Ctrl-Z at EOF in txt2ptp. check-in: 0c2b3b2035 user: tangent tags: trunk
00:02
Added a missing "hit Escape" in another PIP example check-in: e3054b879f user: tangent tags: trunk
00:01
Changed a recommendation of Ctrl-C to leave PIP to Escape. check-in: 4cd111528d user: tangent tags: trunk
2017-11-21
04:41
Further documentation around the patch FRTS-51.3.3-O. It might be OK. Or it might be yet another "only works with the Devices Extension Kit" patch. check-in: c68ec2b288 user: poetnerd tags: trunk
03:30
When making an ASCII paper tape, if the input file does not already end with ^Z, add it before emitting the leader/trailer. check-in: 6c4272cbbc user: poetnerd tags: trunk
02:02
Pushed mkos8 componentization to next release; didn't get to it this weekened, and won't have time this next weekend. check-in: 6f4c6ebd39 user: tangent tags: trunk
2017-11-18
15:01
Assorted improvements to src/cc8/examples/README.md check-in: 644ac70416 user: tangent tags: trunk
14:30
cc8.tu56 properly updated; last one was with a stale n8.s. check-in: 2dc1d0c256 user: tangent tags: cc8-fixes
13:53
Rebuilt cc8.tu56 using new n8.c. check-in: 9130135a29 user: tangent tags: cc8-fixes
12:11
Another fix to n8.c from Ian Schofield, received via email on November 16. check-in: fa81a46c5c user: tangent tags: cc8-fixes
2017-11-16
20:16
Thought up a workaround for the lack of toupper() and || in CC8 in the calc.c example. Also added a bunch of comments explaining why it is written the way it is. check-in: 784f8842cd user: tangent tags: trunk
20:01
Removed the test for lowercase 'y' in the reworked CC8 example calc.c: CC8 doesn't yet understand the C || operator. None of my other attempts to work around this work, either. (cupper, restructuring as nested if/elseif/else tests, etc.) check-in: 156b2b69e9 user: tangent tags: trunk
19:51
Removed a pointless "return 0" in pep001.c check-in: 1657a72a20 user: tangent tags: trunk
19:06
Merged in trunk fix for SAVE SYS BUILD check-in: e29f5b239d user: tangent tags: cc8-fixes
17:38
The "SAVE SYS BUILD" did the wrong thing. It carefully saved the updated setup on SYS which had been changed to the RK05, and then, moments later, overwrote it with the original from the DECTAPE. So we do "SAVE DTA0 BUILD" to put our revised setup where it will then be copied along with everything else to the RK05 SYS. check-in: 40a3f17c58 user: poetnerd tags: trunk
07:59
First attempt at pep001.c. It builds and runs correctly under Clang, but it fails under CC8. check-in: 176f2cabcd user: tangent tags: trunk
07:32
Merged trunk improvements in check-in: 663aa632ee user: tangent tags: cc8-fixes
07:31
Reordered the commands in cc8-tu56-update to collect all of the "send file" calls together. There is some kind of timing sensitivity in all of this which caused the previous method to truncate some of the files or even leave them empty. check-in: 308b654b57 user: tangent tags: trunk
06:42
All of the users of class simh which were using "expect" regexes like '\.' to wait for an OS/8 prompt had to be changed to '\\.' because the string is double-interpreted, first by Python in a string formatting construct (printf(), kinda) and then again in a regex construct, so that without the doubled backslash it was just looking for ., meaning any character in RE-speak. Did the same for '\*' because that was reducing to *, meaning "zero or more of the previous", and without a "previous", it matched anything. This doesn't seem to fix anything; I found it trying to fix something else, which I hope to check in soon. check-in: f8d7dc89bf user: tangent tags: trunk
04:58
Updated cc8.tu56 for new n8.c check-in: ddcbe1b779 user: tangent tags: cc8-fixes
04:34
New n8.c from Ian Schofield, received via private email. We're stashing it here, expecting him to check in the same thing on the trunk later, at which point this branch will either merge or be closed. check-in: 48c808fd86 user: tangent tags: cc8-fixes
04:31
Backed out Ian Schofield's improvements to src/cc8/os8/n8.c accidentally checked in as part of [d2f66e76b9]. Will check it back in on a branch, since we're waiting for Ian to check it in himself, both to ensure credit is given where due and so that he can describe what the change actually does in his own words. check-in: 51ecbfa05d user: tangent tags: trunk
03:25
Documented the LF -> CR+LF handling in the header comment of ptp2txt.c and made other minor improvements to it. check-in: 0487e8ce1e user: tangent tags: trunk
2017-11-15
17:29
Added Fetch LED item to the ChangeLog check-in: 69ae00927e user: tangent tags: trunk
17:25
Turning off Fetch LED when in STOP or single-step state as we had been doing with Execute prior to this. Investigation of the PDP-8/I maintenance manual by Bill Cattey shows this to be correct. Closes [347ae454039]. check-in: 9ff851e459 user: tangent tags: trunk
16:41
Clarified comment about the meaning of the optional "set remote telnet 3141" SIMH setup command in teco-pi-demo. check-in: 4ab764f2cf user: tangent tags: trunk
16:35
Gave up on trying to fix the %lld/%zu issue in d8tape/main.c portably. Just going with the one that builds without warnings on the supported version of Raspbian, then turning off the warning so it doesn't appear on platforms that really want the other form. We're not seriously going to be stressing the local integer size anyway; the compiler is just being pedantic here. check-in: cd094984d4 user: tangent tags: trunk
04:00
Subtle nomenclature changes to comments. Totally cosmetic, but slightly more accurate. check-in: ecb612b614 user: poetnerd tags: trunk
2017-11-14
18:24
More ChangeLog.md updates check-in: f14a91f551 user: tangent tags: trunk
18:13
Assorted improvements to the new lowercase I/O section of the ChangeLog check-in: b46a2c515c user: tangent tags: trunk
17:52
Another attempt at fixing the printf() complaint in d8tape/main.c. This one should be more portable than the last. check-in: 750c63b0a1 user: tangent tags: trunk
09:34
cc8-tu56-update tells class simh it's okay to run without front panel control. check-in: 9b34e6443c user: tangent tags: trunk
09:13
Fixed a crash in one of mkos8's exception handlers. check-in: b6acd6291c user: tangent tags: trunk
09:12
"mkos8 patch" no longer tries to apply patches to FORTRAN II and FORTRAN IV files if the corresponding --disable-os8-fortran-* options were given to the configure script. check-in: f4d3cf118a user: tangent tags: trunk
08:54
Reworked the CC[0-2].SV copy command in cc8-tu56-update so that it skips CCL.SV, thus avoiding the hole in the resulting DECtape image. check-in: d2f66e76b9 user: tangent tags: trunk
08:36
Rewrote the code in mkos8 emitting DEL foo.SV commands as part of --disable-fortran-ii processing so that only one command goes to the simulator, which runs faster and logs nicer. check-in: ff1e1c0545 user: tangent tags: trunk
08:27
Small Python style tweak check-in: 0db3c5fc38 user: tangent tags: trunk
08:13
Giving --disable-os8-fortran-ii now leaves out LOADER, LIBSET, and SABR. Because the OS/8 version of CC8 depends on LOADER and SABR, it also implicitly sets --disable-os8-cc8. check-in: 648ea9921c user: tangent tags: trunk
07:11
Running cc8-tu56-update on a Pi 3 gives a different result than running it on a macOS box using the *.s files produced on the Pi 3. Not sure why, but of the two, the result on the Pi 3 is more trustworthy, so using that one. check-in: 7d73c6e8e5 user: tangent tags: trunk
06:54
Removed the getchar() call near the end of main() in the cc8 cross-compiler. It blocks cc8-tu56-update, and we don't want to add a "send CR" bit to the script just to placate it. check-in: 96b6cef0c3 user: tangent tags: trunk
06:50
Fixed COPY commands near the end of cc8-tu56-update: they weren't grabbing everything we thought they should. Also removed CCL.SV, inadvertently copied to the tape by the CC?.SV pattern. check-in: 0eaba4e478 user: tangent tags: trunk
06:33
Initial version of tools/cc8-tu56-update complete, which updates media/os8/subsys/cc8.tu56 from the contents of src/cc8. The latter is now much smaller than before, since we no longer include the intermediate files: all *.SB and most *.RL. The only exception is LIBC.RL, which the linking step needs when building end-user programs. check-in: 4e67bbdfaf user: tangent tags: trunk
06:30
Rewrote src/cc8/examples/calc.c for clarity. It could be better, but it doesn't build and run properly as-is, so I've stopped here, waiting for improvements to the C compiler. check-in: 832db28e22 user: tangent tags: trunk
06:29
Fixed a bug in src/cc8/examples/fib.c which caused junk output check-in: 18ebdc34e4 user: tangent tags: trunk
06:28
Several small tweaks to src/cc8/examples/README.md check-in: c6ea800ac1 user: tangent tags: trunk
06:26
URL fix in previous check-in: 0981e043d7 user: tangent tags: trunk
06:25
Many improvements to the new src/cc8/examples/README.md file. check-in: d454056d80 user: tangent tags: trunk
06:24
Reverted the LF -> CRLF change in media/os8/init.tx.in, since autosetup just reverts it when creating init.tx. Instead, modified txt2ptp to turn LF input into CRLF output. I chose this instead of running a "dos2unix" type program on the files from simh.os8_send_file() because there is no standard for the name of such a program. Since our txt2ptp filter has to be involved anyway, we might as well give it the job. check-in: 6653eac20e user: tangent tags: trunk
06:06
Reworked the stock init.tx.in file to use lowercase, now that it's allowed, and to have DOS line endings now that it's being copied in as-is, rather than filtered through mkos8, which implicitly converts the line ending style. check-in: 93f3beed61 user: tangent tags: trunk
06:01
Rewrote simh.os8_send_file in terms of txt2ptp and SIMH paper tape attachment and read-in. It's faster, it works with much larger files, and it doesn't fold lowercase input. check-in: 69766295e7 user: tangent tags: trunk
04:35
The top-level "run" target no longer depends on the build RK05 media because we need to be able to use it to run whatever's built, even if it's technically out of date. The thing we're working on now modifies the RK05 disk images, and we need to then be able to say "make run" to examine what it did without having the work overwritten. check-in: b4e684c40a user: tangent tags: trunk
03:49
Moved another part of the "send file to OS/8" process from mkos8 to simh.os8_send_file(). check-in: 12dd946f7a user: tangent tags: trunk
02:14
Collected the CC8 example and test programs into src/cc8/examples and wrote a more extensive README.md for them based on the old src/cc8/examples/README.md file. check-in: 9cf664a25e user: tangent tags: trunk
01:44
Added another libc.h symlink check-in: c787c0ca0a user: tangent tags: trunk
00:17
Factored the "send INIT.TX" step of mkos8 out as simh.os8_send_file() so we can reuse it in another script. check-in: b14acea3cd user: tangent tags: trunk
2017-11-13
23:28
Fixed some code in the #include handling of CC8 which relied on undefined behavior. The replacement is actually simpler than the original, because the function using UB reduces to a no-op except on CP/M, which of course we don't care about. check-in: c548671ea0 user: tangent tags: trunk
23:18
Added a redirect-to-top[ Makefile.in to src/cc8/os8, since you have to be cd'd into that directory to build the OS/8 compiler, so you want to be able to say "make" from there. check-in: a388b49124 user: tangent tags: trunk
23:12
Added libc.h symlink to src/cc8/os8 directory pointing at ../include/libc.h since CC8 assumes a flat filesystem. check-in: 5fe720a649 user: tangent tags: trunk
2017-11-12
07:40
Small refinements to test-mkos8 check-in: ce3acfd9bd user: tangent tags: trunk
07:22
Added output reporting to test-mkos8. check-in: 3243380301 user: tangent tags: trunk
06:18
Briefer output from test-mkos8. check-in: 97d4065304 user: tangent tags: trunk
04:43
The method we were using for comparing lz4-compressed RK05 disk images in test-mkos8 only works if lz4 on the generating system and the test system give the same output for the same input, but this appears not to be the case between macOS 10.12 and Raspbian Stretch, likely due to improvements in the compression algorithm or compression defaults between the two versions in use. Therefore, instead of doing a binary comparison of the rklz files, we now decompress the rklz files and compare those outputs using a new tools/cmplz script which test-mkos8 calls. check-in: 8d51be13c7 user: tangent tags: trunk
04:13
Still more test-mkos8 sanitize_log() RE fixes check-in: 5b9d507ff0 user: tangent tags: trunk
04:06
More tweaks to regexes in test-mkos8 check-in: 33a1b89e49 user: tangent tags: trunk
03:34
Fixed regexes in sanitize_log() in test-mkos8 and rewrote them as commented Extended REs. check-in: 42c31eadd0 user: tangent tags: trunk
01:41
Improvements to sanitize_log() in test-mkos8. check-in: aa6e92da63 user: tangent tags: trunk
01:22
Small adjustments to new test-mkos8 color output. check-in: f2bd9d0a7a user: tangent tags: trunk
01:14
Colorized the test-mkos8 pass/fail result line so it's easier to see. check-in: 0ab8609fa6 user: tangent tags: trunk
00:35
Merged trecent changes from test-mkos8-pinned into trunk. check-in: 5160d2a336 user: tangent tags: trunk
00:26
mkos8 was reading init.tx from dirs.os8mi, which is in the source tree, not the build tree, so the recent change to test-mkos8 to write a neutral init.tx file was not doing anything useful. This removes the reason for this branch, so I'm closing it now. Closed-Leaf check-in: 5111887856 user: tangent tags: test-mkos8-pinned
00:20
Assorted minor fixes to test-mkos8 check-in: 6377e01ab5 user: tangent tags: test-mkos8-pinned
2017-11-11
23:59
test-mkos8 now overwrites init.tx with a neutral replacement so that tests made on one machine can be compared to those performed on another. check-in: 68de63f2c8 user: tangent tags: test-mkos8-pinned
06:21
Merged in trunk changes. The original reason for this branch just disappeared, to be replaced by a new one: the test results can only be compared between two identical checkins because of the INIT.TX file, but that just means we now need to use this branch to pin a particular version in place. Thus, we might as well bring the recent trunk changes in and start again. With test-mkos8 -es, we don't need to regenerate the entire test corpus to learn useful things. check-in: 111c244601 user: tangent tags: test-mkos8-pinned
05:55
test-mkos8 saves the mismatched rklz file if the test doesn't pass check-in: 2147ab88c0 user: tangent tags: test-mkos8-pinned
05:07
Renamed test-mkos8 -s option to -1 and implemented -e and -s, which together allow Monte Carlo testing on a subset of the test corpus. This is on a branch because the current test corpus was generated before the change to 3-column DIRECT output in generated OS/8 disk images, which changes the disk contents and log contents. Thus, we need to do this development on a branch stemming from the last checkin before that change and any possible later ones, until we're ready to regenerate the test corpus. check-in: 47217f7552 user: tangent tags: test-mkos8-pinned
04:20
Fixed a bug in the way teco-pi-demo was starting the simulator introduced along with the recent "ignore GPIO lock failure" stuff for mkos8. check-in: c0788fcd5c user: tangent tags: trunk
04:05
Made second parameter to class simh's ctor optional, as the comments claim, so that teco-pi-demo will run again. check-in: 846340d3d1 user: tangent tags: trunk
02:30
The new "throw exception on GPIO failure" feature added to prevent teco-pi-demo from colliding with other simulator users broke mkos8 under the collision case. (Not otherwise.) It is now possible to tell class simh whether this condition is considered fatal or not. check-in: 7e16fe3b23 user: tangent tags: trunk
02:17
Added a #include to src/d8tape/d8tape.h to placate the GCC on Raspbian Stretch. check-in: 17be5b5dd8 user: tangent tags: trunk
02:16
Integrated Robert Krten's d8tape host-side disassembler. It is the version distributed [here][1] with the following changes: 1. A trivial warning-squishing change 2. Using our own build system instead of the given `Makefile`. This also means no automatic version number bumping. 3. The `LICENSE` file is replaced with `src/d8tape/LICENSE.md`, containing the salient content of a private email message from Robert Krten granting more liberal use of the program than in the original license. [1]: http://dustyoldcomputers.com/pdp-common/reference/host/ check-in: 24d387ee4e user: tangent tags: trunk
01:25
Added "SET TTY COL 3" to mkos8 to give 3-column DIRECT listings, like the old os8.rk05 did. This checkin will cause a binary change to all RK05 bin disks created by mkos8; thus the new tag on checkin [fe441b85b]. check-in: 676330e2d9 user: tangent tags: trunk
00:58
The icky "sleep" call in teco-pi-demo wasn't long enough to always fix the SIMH "cont" problem. Doubled it; we'll see if that fixes it in all cases. check-in: 95df7e245b user: tangent tags: trunk
00:44
Class simh now throws an exception when the GPIO is locked at simulator start time. If this happens, teco-pi-demo exits with an error and mkos8 just grouses a bit; the difference being, teco-pi-demo really needs the display and mkos8 really doesn't. Applying tag "test-mkos8-mark" to this release because a change a bit down the timeline breaks all of the test-mkos8 outputs so far, so we need to be able to return to this checkin symbolically until we're done using that test corpus. check-in: fe441b85b4 user: tangent tags: trunk
2017-11-01
06:46
Including a comparison to our guess at the average IPS rate for a PDP-8/I in the teco-pi-demo -b output. check-in: 4c68402d93 user: tangent tags: trunk
05:58
Updated hardcoded RPi B+ constant in the pidp8i.ips module based on actual test results. check-in: ab68fa4e64 user: tangent tags: trunk
05:04
ChangeLog updates check-in: 9ec0b6f43f user: tangent tags: trunk
04:53
Replaced the broken calculation for simh._kbd_delay with a new one based on the new pidp8i.ips module, potentially modified by teco-pi-demo -b. The previous version had a Python bug in it that caused no delay at all to be applied between OS/8 keystrokes, which probably means it would only work reliably on sufficiently fast host machines. This one doesn't change the per-test build time all that much, but it will add increasing amounts of keyboard delays on slow hosts, as is appropriate. check-in: 2211503b72 user: tangent tags: trunk
04:51
More refinement to the INFILES and OUTFILES stuff in Makefile.in check-in: fe265b4e07 user: tangent tags: trunk
03:50
Better solution to the problem of parallel make after touching *.in causing parallel reconfigures, one copy for each file in INFILES. check-in: 27766013ab user: tangent tags: trunk
03:04
Added error diagnostics around making the rk05 copy to be patched. check-in: 2f669b050f user: poetnerd tags: trunk
02:48
Fixed an error in Python namespacing introduced in [b80f275e25] check-in: 73fd0da382 user: tangent tags: trunk
02:45
Python's File.write() apparently doesn't include a newline, though print() does. Grrrr. check-in: 40f1d966f5 user: tangent tags: trunk
02:43
Comment improvement check-in: e2ece94c5d user: tangent tags: trunk
02:41
Improved clarity of benchmarking results from teco-pi-demo -b and that of the underlying constants in the new pidp8i.ips module. check-in: 8b7f53c352 user: tangent tags: trunk
02:37
Add error detection around the creation of the bootable OS/8 DECtape image. Sometimes the creation fails and blows something else out unexpectedly. check-in: 892c109447 user: poetnerd tags: trunk
02:26
Added teco-pi-demo -b mode, which runs the demo for 10 seconds, then gets the IPS value from SIMH and appends it to a new Python module — pidp8i.ips — which initally gives a hardcoded value for a Pi 1, with the update giving the speed of the current hardware. check-in: 7a35b0cb16 user: tangent tags: trunk
02:14
A short document providing help with our FORTRAN IV stuff. check-in: a4a06ba896 user: poetnerd tags: trunk
02:00
Subsetted the INFILES list in Makefile.in to segregate the set that requires a mkos8 re-call from those that merely cause a reconfigure and build. As the INFILES list grew, more and more files irrelevant to mkos8 were included, increasing the chances of a pointless mkos8 build. check-in: c0987c9ee3 user: tangent tags: trunk
2017-10-31
15:23
Updated TODO section in ChangeLog.md check-in: 1e64c48994 user: tangent tags: trunk
14:20
test-mkos8 now builds and keeps os8v3d-patched.rk05 when not configuring with --disable-os8-patches. Previously, it was building and keeping the -bin disk regardless of this configuration option. check-in: e1a78b7930 user: tangent tags: trunk
04:22
mkos8 contains in-line code to replace FORLIB.RL with the patched one on local.tu56. os8-patching.md documents this new state of affairs. check-in: 1fbbf7a508 user: poetnerd tags: trunk
03:19
Added the 3 FORTRAN IV Source DECtapes. They came from Dave Gesswein's Archive, pdp8.net under misc_dectapes. The sources I've built seem reasonable. The DECtape part numbers match those for OS/8 V3D FORTRAN IV from the DEC Software Catalog. TODO: Write up what we have for FORTRAN IV in a doc file. check-in: a8ba68ef88 user: poetnerd tags: trunk
03:14
Updated Fortran IV install: Move the tapes to the subsys directory. Tape #2 is not needed. It contains the source files for the FORLIB.RL run time library. TODO: Add in the source DECtape images to the repository. check-in: 16d14955b5 user: poetnerd tags: trunk
03:12
Added files necessary for mkos8 to integrate patch FORLIB-51.10.1M.patch8. As per instructions in that patch, a new DLOG.RA has been made with one source line change. DLOG.RA was assembled with RALF into DLOG.RL. LIBRA was used to make an updated FORLIB.RL DLOG.RA and FORLIB.RL are on local.tu56. DLOG.RA in the patch directory is a redundant copy of that file. TODO: Add logic in mkos8 under patches to replace FORLIB.RL with the updated one if BOTH with-os8-fortran-iv AND with-os8-patches are set. check-in: 87aa1be986 user: poetnerd tags: trunk
02:34
Discovered a typo in the patch, AND that some OCR mistakes had been missed. Both are fixed now. TODO: Codify this patch into something mkos8 can work with. check-in: 69ce06acaf user: poetnerd tags: trunk
2017-10-28
21:52
Uncommented the OS/8 SQUISH commands at the end of the make_patch function in mkos8. check-in: 887632c998 user: tangent tags: trunk
13:57
Added "*Can* You Release Yet?" section to the release process doc check-in: b7b312b222 user: tangent tags: trunk
2017-10-27
09:17
With the final (?) bugs squished in the parallel version of test-mkos8, merging it into trunk. check-in: 4fc0e64aff user: tangent tags: trunk
09:16
Fixed a path bug that caused test-mkos8 to write finished test results to the wrong directory. That in turn caused subsequent runs to re-do tests already completed because the results weren't where it expected to find them. Closed-Leaf check-in: b513069b4c user: tangent tags: parallel-test-mkos8
09:15
Added test-mkos8 -v flag, enabling several new messages that explain what it's about to do. check-in: dad526a6ff user: tangent tags: parallel-test-mkos8
08:54
Fixed the last few problems preventing test-mkos8 from running multiple builds in parallel. check-in: db37af582e user: tangent tags: parallel-test-mkos8
08:47
Though we hacked tools/version to make it print a dummy version string when running under tools/test-mkos8, it didn't exit afterward, so it continued to run the code that was causing the problem we added the workaround to avoid! check-in: 3213505810 user: tangent tags: parallel-test-mkos8
08:41
The bootable-*.tu56 copy of the OS/8 boot tape created by mkos8 to avoid modifying input media is now being created in dirs.os8mo instead of os8mi, since the latter is shared among the children of test-mkos8, which means that when one of them deletes their temporary copy of this file, the copy used by all of them gets deleted. The file, being volatile, must go into each child's build directory. check-in: 0e8e159cf5 user: tangent tags: parallel-test-mkos8
08:08
Merged in trunk changes check-in: ded363caa7 user: tangent tags: parallel-test-mkos8
07:52
Added doc/class-simh.md. check-in: 69ad1727f5 user: tangent tags: trunk
06:31
Updated TODO list in ChangeLog.md check-in: ccc510261c user: tangent tags: trunk
06:28
Added tools/diffstat-since-release, a wrapper around "fossil diff" and "diffstat" which presents a bar graph displaying how the current version differs from the tip of the release branch. It doesn't show stats for files that don't exist on the release branch, only for files in common between the two, due to the limitations of the diff format. check-in: f4025603f4 user: tangent tags: trunk
06:26
A few *.pa files under cc8 were left behind when we moved that directory under src. Reunited them with their worried siblings. check-in: 397defb48b user: tangent tags: trunk
06:17
Merged two near-duplicate ChangeLog.md entries check-in: 538f5c1453 user: tangent tags: trunk
06:12
More ChangeLog.md tweaks check-in: 372b920c51 user: tangent tags: trunk
06:07
Updated ChangeLog.md check-in: 5315b0d947 user: tangent tags: trunk
05:46
The generated 0.script and run.script files now reference the -bin or -patched disk depending on whether --disable-os8-patches was given to the configure script. check-in: 8e59a04d7c user: tangent tags: trunk
05:20
Merged in trunk changes check-in: 16f6e36f5c user: tangent tags: parallel-test-mkos8
05:16
Extended module search path for teco-pi-demo the same way we did some time back for mkos8 so that when building out-of-tree, it doesn't go looking for autosetup-written files like lib/pipd8i/dirs.py under @srcdir@. check-in: fdc0fa387c user: tangent tags: trunk
05:14
Reworked the dirs.py module so that dirs.media now points to the "media" directory only, not to "media/os8". Then added dirs.os8mi and dirs.os8mo for the mkos8 input and output directories, respectively, and adjusted mkos8 and teco-pi-demo accordingly. check-in: 6e102afa3a user: tangent tags: trunk
04:54
Using dirs.os8 instead of dirs.media in teco-pi-demo, and fixed the "make install" step that adjusts libs/pidp8i/dirs.py in the installation tree to allow this to work. check-in: aa66ed7ae9 user: tangent tags: trunk
04:41
teco-pi-demo now seeks out the os8v3d-bin.rk05 disk intelligently, using the one in bin when run from a development tree, else using the one in dirs.media if run from the install tree. check-in: 2f68149c21 user: tangent tags: trunk
04:33
Replaced most of the command output from "make install" with echo calls explaining what each step does. check-in: 37cd3f3b62 user: tangent tags: trunk
04:26
More adjustments to "make install", primarily getting teco-pi-demo installed by generalizing the steps we were previously taking for the bin/pidp8i script. check-in: c24e154589 user: tangent tags: trunk
04:16
Assorted fixes to "make install" for the out-of-tree build case. check-in: 2204c9f1d5 user: tangent tags: trunk
03:36
One of the steps in "make install" didn't get updated when moving the cc8 tree under src. check-in: 4b75bd0c36 user: tangent tags: trunk
03:15
One of the changes in [2d6184c3c9] moves "src" to the end of the directories processed by mkadrules at configure time, but mkadrules itself was writing another version of the "src" rule set to the beginning of adrules.mk for the out-of-tree case, which also needs to move to the end of the file for the same reason. check-in: a658bdb074 user: tangent tags: trunk
03:06
Removed -w flag for src/PDP8/*.c: turns out to be unnecessary on Clang 9.0.0 (macOS 10.12) and GCC 6.3.0 (Raspbian Stretch). If later testing shows a need for something like this, we should probably put back -Wno-foo flags instead on a case-by-case basis. Turning off all warnings was an overreach. check-in: b54c70e41b user: tangent tags: trunk
03:01
palbart now builds with -g or -O2, depending on the --debug configure script flag. check-in: 2bee0290e3 user: tangent tags: trunk
02:58
Reworked the CFLAGS option handling so that we don't use the CFLAGS made for pidp8i-sim, which are entirely inappropriate for the cc8 cross-compiler. check-in: 3731a81320 user: tangent tags: trunk
02:44
Moved cc8/* under src, as we recently did for palbart. check-in: 2d6184c3c9 user: tangent tags: trunk
02:18
Another tweak to the table of input and output files in examples/README.md check-in: d922cf60d8 user: tangent tags: trunk
02:16
Added *.script to the table of outputs from the palbart + mkbootscript process. check-in: 9c32f877ae user: tangent tags: trunk
02:07
Added Option 4 section to examples/README.md check-in: 0a5f2b6a45 user: tangent tags: trunk
02:01
Removed a stray sentence fragment from examples/README.md. check-in: bc5ccc898f user: tangent tags: trunk
02:00
Added "Because" column to the table in the "Option 2" section of examples/README.md, explaining why each SR setting is correct. check-in: be4bd24fa0 user: tangent tags: trunk
01:52
Minor fixes to the BASIC section of examples/README.md check-in: dd1af61f28 user: tangent tags: trunk
01:49
Merged in trunk changes check-in: 1d21cdd108 user: tangent tags: parallel-test-mkos8
01:35
Fixed a dangling link check-in: 0a62c635b9 user: tangent tags: trunk
01:07
Comment improvements check-in: fc5952a615 user: tangent tags: trunk
01:03
Moved palbart subdir under src and rewrote its Makefile.in rules to use the new mkadrules mechanism. check-in: 47600227b0 user: tangent tags: trunk
00:33
0.script now runs against the "-patched" disk image, not the "-bin" disk. check-in: 199f3e32cb user: tangent tags: trunk
00:26
Added simh-update and publish-os8 steps to the release process document. check-in: 89f6513e25 user: tangent tags: trunk
00:12
Changed all "<a name" tags to "<a id" in README.md: strictly speaking, the "name" attribute isn't legal any more in HTML5, though all browsers still understand it. We've taken to using "name" only for fragment aliases, with "id" being the primary identifier. check-in: 6571cc1290 user: tangent tags: trunk
00:02
Added tools/publish-os8, which publishes bin/os8v3d-*.rk05 as unversioned files, so that people not running the current PiDP-8/I software can download the RK05s generated by mkos8. check-in: 3542ea0c36 user: tangent tags: trunk
2017-10-26
23:53
mkos8 now writes *.rk05.save to bin, not to media/os8. check-in: d61163b731 user: tangent tags: trunk
2017-10-25
23:18
Merged in trunk changes check-in: 78467c8474 user: tangent tags: parallel-test-mkos8
20:03
A few more fixes to os8-patching.md check-in: f446947b4b user: tangent tags: trunk
20:00
Polishing pass on doc/os8-patching.md check-in: 0aeaa09d3b user: tangent tags: trunk
19:37
Re-running "mkos8 bin patch" on "make" when the patch_list.txt file changes. (And only when "patch" is given to mkos8!) check-in: f7344dc4f1 user: tangent tags: trunk
18:53
URL fix check-in: ca07fe47e7 user: tangent tags: trunk
18:53
More README.md improvements check-in: 44a8cafb81 user: tangent tags: trunk
2017-10-24
13:55
Still more README.md tweaks check-in: 720dd754b7 user: tangent tags: trunk
13:50
More README.md clarifications. check-in: c74aab947b user: tangent tags: trunk
13:46
Clarity tweak to previous check-in: e8544cca8f user: tangent tags: trunk
13:43
More work to the Prerequisites check-in: b81857e17a user: tangent tags: trunk
13:40
Assorted improvements to the Prerequisites section of the top-level README.md file. check-in: aeab136fea user: tangent tags: trunk
13:09
Added .agignore (for ag v1) and symlinks to .ignore (for ag v2) to make ag skip large binary files that cannot possibly contain greppable information. check-in: 18a9cc5a8b user: tangent tags: trunk
12:30
Fixed "Squeeze" -> "Stretch". Debian Squeeze was 6.0, from 2011. :) check-in: 5dadc45e3a user: tangent tags: trunk
2017-10-23
15:46
Reworked the --enable-os8-vtedit description in the top-level README.md file. check-in: b0a6241a36 user: tangent tags: trunk
15:20
A bit more detail in the new "Unpacking" section of README.md. check-in: a14b453c03 user: tangent tags: trunk
15:16
Fixed an ambiguous Markdown named link in README.md. check-in: 1dddd5a673 user: tangent tags: trunk
15:15
Added two more options to the new "Transferring" section of README.md. check-in: a3d60d598e user: tangent tags: trunk
15:10
Added "Getting the Software onto Your Pi" and "If You Need More Help" sections to the top of the top-level README.md file. check-in: 79f7b127a9 user: tangent tags: trunk
14:35
Recharacterized the "upstream release" as the "old stable distribution" in the top-level README file. check-in: de86c711db user: tangent tags: trunk
04:37
I thought I checked these changes in already. Sigh. This puts all the patches, even the ones not to apply in the list with appropriate summary annotations. check-in: 8d5c4ee2e2 user: poetnerd tags: trunk
03:52
Added a commented-out "set remote telnet=3141" SIMH command to teco-pi-demo so that those wanting to fiddle with the simulator while the demo runs can do so without reading the SIMH manual. Whether they'll read the code and avoid bugging me about it is an open question. check-in: 86214e8626 user: tangent tags: trunk
03:50
Increased the number of digits to calculate in teco-pi-demo to the maximum value that doesn't crash TECO8, determined by experiment. This ensures that the demo runs as long as possible, so users don't have to keep restarting it. With the prior value, that would have happened after about 2-3/4 years, not unreasonable for a PiDP-8/I running purely as an objet d'art. check-in: 2d4085c0b4 user: tangent tags: trunk
01:05
Put args.debug stuff back into mkos8, reverting part of [9663cf4b750]. Not sure why it was failing on Bill's machine, but it works here. check-in: 81f6f42e86 user: tangent tags: trunk
00:51
Checkin [96fb10bbd3] was supposed to fix an accidental lowercasing... which actually happened in that checkin! Apparently it happened during the editing session, since the checkin did not completely revert the problem. check-in: b5ab11471d user: tangent tags: trunk
2017-10-22
23:08
Adding OVDRV patch for completeness. Updating patching.md with a few tweaks. mkos8: Make OS/8 command parse error a fatal error. Temporary change: The args.debug stuff didn't work for me. Kluding it out. check-in: 9663cf4b75 user: poetnerd tags: trunk
20:49
Discovered that PAL8-21.22.4M analogously to ABSLDR-21.29.1M, is actually against the OS/8 V3D Extensions version, and BREAKS PAL8's ability to generate listing output. That problem is now documented and the patch is disabled. check-in: 3e3e10993f user: poetnerd tags: trunk
14:31
Niggly typos and cleanups. check-in: 7a86dc37fb user: poetnerd tags: trunk
04:35
Complete first draft with formatting. check-in: a6abb8204e user: poetnerd tags: trunk
03:22
Snapshot. More formatting improvements. (Halfway done, I think.) check-in: 8e7cc0f0ab user: poetnerd tags: trunk
03:02
Added the new pidp8i-test keyboard controls to doc/pidp8i-test.md. check-in: 44794b7b5f user: tangent tags: trunk
03:00
The code in pidp8i-test which was supposed to allow for uppercase R or X keystrokes to behave the same as r or x didn't work. Apparently this section of code got lowercased somehow. check-in: 96fb10bbd3 user: tangent tags: trunk
2017-10-21
23:20
improved formatting. check-in: 042195c724 user: poetnerd tags: trunk
22:42
First draft of documentation on OS/8 Patching. check-in: ac1f73e6cc user: poetnerd tags: trunk
2017-10-20
18:53
There was a typo: ".GET SYS TECO" was ". GET SYS TECO" The patch failed to load TECO into core, but happend to have TECO in core from the previous patch run. I guess I should make "failed OS/8 command parse" a fatal error. check-in: f410b7a38a user: poetnerd tags: trunk
16:54
Added "patches" item to the ChangeLog. check-in: d26180a507 user: tangent tags: trunk
16:51
Documented --disable-os8-patches. check-in: b3af2847e7 user: tangent tags: trunk
16:23
Removed an unused function from mkos8, and did some whitespace and comment tweaks. check-in: 4a64ffe7ce user: tangent tags: trunk
16:01
Suppressed most of the ODT/FUTIL patch application debugging messages in mkos8 by default. Added a --debug flag to re-enable them. This is distinct from --verbose in that the latter swaps the SIMH logging from sending to a log file to sending to stdout, which in turn suppresses most other output from mkos8. We might want to rethink these two options, combining them somehow to avoid the new confusion. check-in: 66b56643e4 user: tangent tags: trunk
15:36
Added configure --os8-patches flag, default on. When set, calls "mkos8 bin patch" instead of just "bin". check-in: adaef3c96e user: tangent tags: trunk
15:06
Merged mkadrules branch into trunk: all the .c.o and .c.d rules are generated at configure time instead of being hand-maintained in Makefile.in. This also moves the CC8 *.[od] files to obj/cc8/cross, mirroring the source tree structure. This simply removes an idiosyncratic difference between the previously hand-maintiained rule sets, a natural outcome of generating them from a single template rule set. check-in: cdd09a6093 user: tangent tags: trunk
14:57
Reverted delegation of creation of the obj subtree dirs to mkadrules: better done by extending BUILDDIRS in Makefile.in. Closed-Leaf check-in: c2bc715e2c user: tangent tags: mkadrules
14:40
Deferred relacement of "SRCDIR" in mkadrules until the last moment in case we're building out-of-tree and $srcdir contains "src/" to avoid unintended string replacements. check-in: d74f2616c5 user: tangent tags: mkadrules
14:26
Fixed a command line sanity check in mkadrules for the out-of-tree build case. check-in: 72986ccf05 user: tangent tags: mkadrules
14:21
Minor improvements to the .o and .d generation and cleanup bits in Makefile.in. Not really related to the mkadrules mechanism, but I noticed the weaknesses while working with it. check-in: 4768cc8794 user: tangent tags: mkadrules
14:10
Reworked CC8_OBJS to work with new mkadrules obj subdirectory scheme. check-in: 1ba04c2424 user: tangent tags: mkadrules
14:08
Switched from mkdir() to make_path() in previous to allow obj/cc8/cross to be created. Like mkdir(1), Perl's mkdir() won't recurse. check-in: 18d508e685 user: tangent tags: mkadrules
13:57
Moved generation of obj/* subdirs to mkadrules from auto.def. check-in: 5325bc575b user: tangent tags: mkadrules
13:49
The repeated autodependency .c.o and .c.d Makefile rule sets are now generated as adrules.mk by tools/mkadrules, which will avoid the sort of regression fixed in [83b73930ec]. check-in: a818a27648 user: tangent tags: mkadrules
12:11
The changes in [a6c3123bff] to the obj/PDP8/*.o Makefile rules to allow out-of-tree builds caused dependency ordering problems on the Pi, though not on macOS for some reason. The prior fix did not change all obj/*.d type paths to obj/PDP8/*.d, which confused the autodep mechanism. Problem noticed by Phillip Porch on the mailing list, with a provisional patch, extended by me. check-in: 83b73930ec user: tangent tags: trunk
03:58
mkos8: Close patch files when done with them. (minor housekeeping oops) Rudimentary FUTIL support now supports the 4th PAL8 patch. Discovered the ABSLDR patch supplied is just wrong. It's for a version of ABSLDR we don't have and which exists on the OS/8 V3D Device Extensions kit, which is rare, and not yet visible in the archives I've scoured. TODO: 1. MACREL and LINK patches. 2. Decice what to do about the patches that require very different application: FORLIB 51-1-01M is a source patch that would require a batch script. Same with OVDRV 40.6.1M. LQP 21.49.1 runs BUILD in a batch script which is actually not possible unless you have the version of BUILD unique to the OS/8 V3D Device Extensions kit. check-in: 241d6b4a25 user: poetnerd tags: trunk
00:09
Clarified example commentary in the U/W FOCAL supplement check-in: 066aaa6b7c user: tangent tags: trunk
2017-10-19
21:25
44 Patches, all but one verified against source. The one un-verified one is for FRTS.SV, which is recommended. I just cant figure out how to build FRTS from source to verify it. mkos8 successfully applies them all. patch_list.txt names all patches, comments out non-recommended ones and says why. check-in: 1bec0d528f user: poetnerd tags: trunk
2017-10-18
20:41
Reverted Unix -> DOS line ending change for src/*.in: autosetup blindly assumes Unix line endings and emits mixed line endings when *.in has DOS line endings as it passes input CRs through on lines it doesn't touch and fails to include a CR on the lines it rewrites. The symptom is that you get a confusing compiler error in gpio-common.c. check-in: 860fd189d5 user: tangent tags: trunk
2017-10-15
23:46
Refined patcher. Successfully applies about 40 of the 56 patches. TODO: Verify the successful patches at source code level. Get the rest of the patches to apply. check-in: 7278e6aceb user: poetnerd tags: trunk
22:30
Backed out [1e62781bcd0]: it added a guard for a condition that apparently cannot fail, so it's useless at best and may be masking the real problem now at worst. check-in: f396fbb736 user: tangent tags: trunk
22:18
Whitespace tweaks in Makefile.in check-in: 26f03607d2 user: tangent tags: trunk
22:11
The dependency of bin/*-focal.pt on txt2ptp wasn't expressed clearly enough, so whether they got built or not depended purely on whether make(1) decided to build ptp2txt and hard link it to txt2ptp before attempting it. check-in: 7f25f66583 user: tangent tags: trunk
22:06
Suppressed the harmless warning about missing setcap on non-Linux hosts during "make install". check-in: b0790a69cb user: tangent tags: trunk
17:22
ODT Patches now check old value and abort the patch if the actual contents do not match the expected contents. There is detection of "dont care" old contents as well. Added ability to comment out lines in patch_list.txt manifest file. TODO: 1. Add in a bunch of patches and try them out. 2. Add in support for other patches than ODT. 3. Make patching conditional in auto.defs. check-in: a5d1d41858 user: poetnerd tags: trunk
16:53
Assorted fixes to parallel test-mkos8 check-in: 5797acc1f3 user: tangent tags: parallel-test-mkos8
16:32
Made the "get version string" mechanisms more durable in the face of multiple parallel instances, as now happens with parallel test-mkos8. check-in: c34a426eed user: tangent tags: parallel-test-mkos8
15:49
First pass at reworking mkos8-test to run $cores tests in parallel unless -s is given. Each test is built out-of-tree in test/tmp/$PID, so they don't interfere with each other. check-in: f5cad8d9f6 user: tangent tags: parallel-test-mkos8
15:24
Switched compression in test-mkos8 from lzma to lz4. check-in: 6addfa56e1 user: tangent tags: trunk
15:02
Got out-of-tree building again with mkos8. check-in: a6c3123bff user: tangent tags: trunk
14:49
Reworked the *.c -> *.obj Makefile rules a bit check-in: c7b2eced8d user: tangent tags: trunk
13:56
Variable name tweaks in tools/test-mkos8 check-in: 3d31039cbd user: tangent tags: trunk
13:41
Added -g and -n options to test-mkos8: generate test/* only and dry run, respectively. check-in: 303ad06d12 user: tangent tags: trunk
2017-10-14
11:18
Squished perlcritic --harsh complaints check-in: 6d893bfd57 user: tangent tags: trunk
11:17
Fixed or suppressed perlcritic --stern complaints about tools/test-mkos8. check-in: 4b0b26389b user: tangent tags: trunk
11:02
Added license comment to test-mkos8 check-in: ec02b84400 user: tangent tags: trunk
10:32
Forgot to check tools/test-mkos8 in. check-in: bf1158e040 user: tangent tags: trunk
10:29
First version of the combinatoric tester. Implements [87abba4c08]. check-in: def9c30e0f user: tangent tags: trunk
07:57
Applied the reverse fix to the previous checkin: when built for ILS and previously running with ILS suppressed, then switching from "ratio" throttle mode to an "IPS" throttle mode, re-enabling ILS. check-in: 141f201e85 user: tangent tags: trunk
07:48
Merged NLS forcing in SET THROTTLE M/N mode (ratio mode). Closes [7d7eadd391] check-in: 3f1588e495 user: tangent tags: trunk
07:47
The mechanism we were reusing to revert to NLS mode while built for ILS wasn't doing full-rate display updates. It didn't need to before because it was only used for STOP and single step/instruction mode. Now that we're also using it for SET THROTTLE=M/N (ratio mode) it differed substantially from "real" NLS mode prior to this fix. Closed-Leaf check-in: 1d600ecbe7 user: tangent tags: ratio-throttle-ils-disable
06:51
Accidentally made a fix in the *.in output file, checking in the buggy version. check-in: f219177758 user: tangent tags: ratio-throttle-ils-disable
06:48
First step toward disabling ILS when SET THROTTLE M/N is set. check-in: 70f50d2061 user: tangent tags: ratio-throttle-ils-disable
06:38
The line to remove a prior sullied bootable OS/8 TU56 tape image in make_bin() within mkos8 wasn't checking whether it exists first. Calling os.remove() on a file that doesn't exist throws an exception, killing the program. (Clearly we two haven't been running without this file always existing from a prior run for quite some time, or have been missing this failure!) check-in: 1e62781bcd user: tangent tags: trunk
05:47
Finished pass through UWFD. The supplement is therefore "done" for now. check-in: fcbd2f669a user: tangent tags: trunk
05:44
Added "FOCAL Statement Functions" section to the supplement. check-in: 2348b30f17 user: tangent tags: trunk
03:14
Basic patching with ODT works. First two Patches to EDIT.SV as requested in patches/patch_list.txt are applied correctly. TODO: Try more ODT patches. Implement support for "R EPIC" and "R FUTIL" check-in: f382a12204 user: poetnerd tags: trunk
02:39
The bin/*.pt generation build rule added for examples/*.fc conflicted with the preexisting ones for asm/*.pal and examples/*.pal, which also produce bin/*.pt. (Conflicted twice in fact: once at the make(1) level and again in the output when the basename is the same. Consider examples/pep001.{fc,pal}.) Addded -focal and -pal tags to the output *.pt file names to break the conflict. check-in: e9954d80c5 user: tangent tags: trunk
02:26
Added recently-created lib/{mkos8,pidp8i} dirs to INSTDIRS check-in: 3be8c3161e user: tangent tags: trunk
2017-10-13
20:21
Added TODO section to ChangeLog, lining out what remains to be done before release. check-in: 2ce4e9cac6 user: tangent tags: trunk
20:07
Assorted cleanups to the new "mkos8 patch" feature check-in: e8a468e8d6 user: tangent tags: trunk
19:51
More ChangeLog entry reorganization so it flows from point to point better. check-in: 6f501ff071 user: tangent tags: trunk
19:49
Moved the teco-pi-demo item down within the ChangeLog to be after the items describing the new OS/8 disk images. check-in: e2c09099b3 user: tangent tags: trunk
19:44
Updated ChangeLog.md again check-in: f017f24272 user: tangent tags: trunk
02:59
Four simple patch files for EDIT.SV, and a trial Manifest that names 2 of them. TODO: Verify these patches are sane. Verify that the patching will work safely. check-in: c4cb3a99bc user: poetnerd tags: trunk
02:58
Fix bug in handling of "all": The "all" action should not be one of the things acted upon. Now we have "allowed acts" and "do_all_acts" that just has src and bin. Begin work on the patch maker: A manifest file will list the patch files. For each patch file, parse it and act on it. Parsing the patch file is fun! Create a degenerate state machine to control what we do when we're in a command. ODT is currently parsed. TODO: Connect the parsed stuff to calls out into OS/8. check-in: 1798cb2765 user: poetnerd tags: trunk
2017-10-12
14:08
Worked around a Fossil Markdown processing limitation in the supplement. check-in: 4cc31ac3df user: tangent tags: trunk
14:04
Moved the ZVR discussion up within the supplement to the newer "Command Overloading" section. check-in: 83e59af3a1 user: tangent tags: trunk
13:45
Discovered a new Autosetup feature, write-if-changed. Rewrote the mkos8.opts mechanism for suppressing RK05 rebuild if the mkos8 options haven't changed in terms of it. Much shorter and clearer now. check-in: 26e5f1c5ee user: tangent tags: trunk
12:47
Minor style tweaks to new teco-pi-demo check-in: 892f0be86b user: tangent tags: trunk
12:38
Fixed a bug in mkos8 introduced by the "class simh" refactoring. check-in: cff76df975 user: tangent tags: trunk
12:34
Added bin/teco-pi-demo check-in: a31a4428ee user: tangent tags: trunk
12:21
Added lib to ctags list check-in: f5eed8086b user: tangent tags: trunk
12:12
Renamed a few variables check-in: c9a3ed7fcf user: tangent tags: trunk
12:11
Renamed sim.send() to simh.send_cmd() to be clearer about what it does and to bring it in line with send_os8_cmd(). check-in: 97f4e96d90 user: tangent tags: trunk
11:33
Raised new simh class to a single-module library as well. check-in: 6837a49441 user: tangent tags: trunk
11:26
Moved lib/mkos8/argparser/__init__.py to lib/mkos8/argparser.py. We don't need the extra directory layer: argparser isn't going to turn into a multi-module sub-library. check-in: 58babeb8b1 user: tangent tags: trunk
11:22
Moved the dirs.py module out of lib/mkos8 into a new lib/pidp8i directory, since it really isn't mkos8 specific. (A later checkin will include another program that also uses it.) check-in: d66f92ce95 user: tangent tags: trunk
11:09
Extracted class "simh" from mkos8 to collect all of the functions that call pexpect either to command SIMH or OS/8 *via* SIMH. Also threads that object instance through the mkos8 call chain instead of having everyone refer to a global, and cleans up the function naming to be a bit more self-consistent. check-in: 2af351187f user: tangent tags: trunk
10:06
Found documentation for FRA() check-in: ffeac8fad3 user: tangent tags: trunk
09:45
Added the "Command Overloading" section to the U/W FOCAL supplement. Added a top-level LIBRARY command section, as well as LIST and LOGICAL sections. Also moved the ZVR and FRA sections up to be just after these, as the group amounts to documentation of commands and functions not covered in The Manual. check-in: ad0e316bcd user: tangent tags: trunk
2017-10-11
21:11
Clarified the line ending issue in the new "The Paper Tape Reader" section of the supplement. check-in: 4d893bc859 user: tangent tags: trunk
01:06
Adjusted the header spacing on the new tratbl.fc example to line them up with the U/W FOCAL number formatting. check-in: 2fa0a6fae9 user: tangent tags: trunk
00:36
Fixed the needless rebuild of the bin media on init.tx update due to reconfigure, and reworked the dependencies to prevent dual RK05 bin disk rebuilds when you run make with -j. check-in: 5c69c4a384 user: tangent tags: trunk
00:14
Moved rationale from start of the supplement to the end, added an Introduction to the start, and added a References section. check-in: f24611b921 user: tangent tags: trunk
2017-10-10
23:36
Small tweaks to previous check-in: 0ed7d97637 user: tangent tags: trunk
23:28
Added a new section to the supplement, "The Paper Tape Reader", showing how to pull FOCAL programs in from simulated paper tape. Also created a mechanism similar to the examples/*.pal -> bin/*.pt, only for examples/*.fc by way of Bill's txt2ptp program. The new supplement section is written in terms of this mechanism, using a new example program, tratbl.fc. check-in: 964c647879 user: tangent tags: trunk
22:11
Better PS/8 FOCAL, 1971 doc link check-in: ccb8d4b1b2 user: tangent tags: trunk
13:59
Added links to other useful docs from the top of the U/W FOCAL manual supplement. check-in: 4b7ac1b089 user: tangent tags: trunk
13:45
Decided to just remove "The Hard Way" from the U/W FOCAL manual supplement. Should a good idea for using a text editor on a FOCAL ASCII text file come up, we can pull the text back from Fossil and work it back into the doc. check-in: 4842ad6f5a user: tangent tags: trunk
13:40
Small tweaks to the supplement check-in: def8113396 user: tangent tags: trunk
13:36
Deferred discussion of why PLOT doesn't work from the PUNCH section of the supplement to the Missing Hardware section. check-in: 5f1883fd59 user: tangent tags: trunk
13:29
Assorted improvements to the Rationale intro to the U/W FOCAL supplement. check-in: 9c4f011c44 user: tangent tags: trunk
13:22
Linking from U/W FOCAL supplement to the "Submitting Patches" sub-section of HACKERS.md rather than to the top of the document. check-in: 85c587d7e4 user: tangent tags: trunk
13:15
Factored "instdirs" target out of "install" so mediainstall can depend on it. Without this, you could type "make mediainstall install" and it would fail because the instdirs hadn't been built yet. This removes the need to care about the order of targets given. check-in: a631363b48 user: tangent tags: trunk
13:07
Corrected new ChangeLog item about the -src RK05: it's built from 10 tapes, not 7. check-in: cc1d46e7c3 user: tangent tags: trunk
03:34
Tiny nomenclature change: "DEC source tapes" would imply building from source. So the binary RK05 image was, in meticulous nomenclature built from, "DEC binary distribution DECtapes." Similarly "distribution DECtape(s)" was added further down the doc as appropriate. check-in: b2707f406f user: poetnerd tags: trunk
03:23
Updates to the in-progress current ChangeLog.md entry check-in: 426d031a83 user: tangent tags: trunk
03:10
Assorted tweaks to HACKERS.md check-in: fcf8e53b62 user: tangent tags: trunk
02:29
Small fix to --disable-os8-fortran-ii. (Was attempting to delete FORT.SV from DSK:, not SYS:.) check-in: 28c643da36 user: tangent tags: trunk
02:24
Calling SQUISH on SYS: and DSK: at the tail end of make_bin() in mkos8. check-in: b5ea0bca7f user: tangent tags: trunk
02:24
Added --disable-os8-fortran-ii configure option check-in: 1370066ffe user: tangent tags: trunk
02:04
Added --disable-os8-macrel configure option check-in: aaadf0d75c user: tangent tags: trunk
01:57
Added --disable-os8-fortran-iv configure option check-in: 9b93db676b user: tangent tags: trunk
01:55
Clarified documentation of --disable-os8-focal check-in: 6cbb6e2ede user: tangent tags: trunk
01:52
Fixed a dependency cycle that could cause "make" to loop indefinitely via the autoreconfigure mechanism: it would touch some dependency of Makefile which would reconfigure, which would touch the dependency, which... check-in: b42be341cc user: tangent tags: trunk
01:13
Reworked "make run" so that it runs OS/8 from bin, not the installation directory, so you don't have to "make install mediainstall run". check-in: 6d1cdc8426 user: tangent tags: trunk
01:03
Added --disable-os8-src configure script option. check-in: 94b7dcf49e user: tangent tags: trunk
00:36
Applied patch to autosetup from upstream issue #30 to prevent overwriting *.in outputs when the result wouldn't be different, thus forcing unnecessary rebuilds of the dependencies. Closes [9d55730778]. check-in: b218efa8cc user: tangent tags: trunk
00:27
Permission fix on CC8 stuff installed to $prefix/share/include check-in: 400025e312 user: tangent tags: trunk
00:19
Removed commented-out ADVENT initialization in mkos8 check-in: 0ef81bc574 user: tangent tags: trunk
2017-10-09
22:49
Forgot to install the adventure setup file, ADVENT.IN on advent.tu56. So it kept thinking it was uninitialized. With that file in place, the code to run the dialog is no longer needed. I commented it out of mkos8. TODO: Delete the dialog code. check-in: cb498b03ba user: poetnerd tags: trunk
22:34
Fixed teeny bug in cc8 cross compile install: Needed to add share/include to INSTDIRS in Makefile.in check-in: ac7cc70d71 user: poetnerd tags: trunk
18:40
Added --os8-minimal configure option check-in: 839aa48f08 user: tangent tags: trunk
17:47
Added --disable-cc8-cross configure option check-in: c33d5ece27 user: tangent tags: trunk
17:35
Merged cc8-merge branch into trunk. This is happening after the merge of clean-os8-packs since the latter resolves the question of how we're going to merge Ian Schofield's nice and clean OS/8 installation + C with our previous os8.rk05. This merge therefore just gets us an alternate OS/8 bootscript and disk image plus the host-side compiler. check-in: 4fa2e4fdc0 user: tangent tags: trunk
17:24
Fixed violations of the "DOS line endings" rule in src/*.in check-in: 20a02472af user: tangent tags: trunk
17:14
Documented --disable-os8-init and editing init.tx.in. check-in: ceb4d912a2 user: tangent tags: trunk
05:55
The two "Pasting Text in from a Terminal Emulator" sections of the supplement are now sub-sections of a single level 3 section. check-in: e3e1f90bfe user: tangent tags: trunk
05:48
Added fourth reason we need the U/W FOCAL Manual supplement: the version we ship isn't identical to the version described in *any* of the primary source documents! check-in: 186f1c5d44 user: tangent tags: trunk
05:39
Titled the upcoming release check-in: 39e66a40d7 user: tangent tags: trunk
05:36
Another ChangeLog tweak check-in: 74537be12b user: tangent tags: trunk
05:30
Minor tweaks to new v2017.10.xx ChangeLog check-in: 1530f3760f user: tangent tags: trunk
05:18
Updated some doc URLs to point to the trunk branch now that clean-os8-packs has been merged in. check-in: 01dff30411 user: tangent tags: trunk
05:17
Updated the ChangeLog to distill what's happened since v2017.04.04. We're not all that near a release point, but with the merging of clean-os8-packs into the trunk, it felt like a good time to summarize what's been happening these past few months. check-in: 854f35ecb6 user: tangent tags: trunk
03:19
mkos8 now runs Adventure after installing it to answer the configuration questions it asks on first run, since we know the answers and the user is more likely to be fine with our answers than they are able to answer differently *and* correctly on their own. check-in: 880632ab80 user: tangent tags: trunk
02:33
Improved the comment on the "SET SYS NO INIT" command sent during OS/8 BUILD in mkos8. check-in: d2c10add20 user: tangent tags: trunk
2017-10-08
19:00
Small tweaks to the new INIT.TX mechanism check-in: 0a2ab49554 user: tangent tags: trunk
18:53
Worked around a Jim Tcl limitation in init.tx build. check-in: 86710df348 user: tangent tags: trunk
18:46
Merged clean-os8-packs into trunk. check-in: faee651fc4 user: tangent tags: trunk
18:44
Replaced the "Hello, world!" init message with one based loosely on the "FIELD SERVICE PDP-8 DIAGNOSTIC SYSTEM" message, but showing information more likely to be useful to our end users. Closed-Leaf check-in: e95de3f1a6 user: tangent tags: clean-os8-packs
18:16
Sketched in the initial implementation of the --enable-os8-init feature, which creates INIT.TX and INIT.CM on the OS/8 bin disk just before finishing up. If the option is set, it calls SET SYS INIT to make it run on boot, but it always does get created, so the user can turn it on later without rebuilding their bin disk. This version just says "HELLO, WORLD!" We'll be doing something more substantial next. check-in: 3f8551641f user: tangent tags: clean-os8-packs
17:52
Added mkos8 to the set of files ctags -R looks at, since it won't normally find it, lacking known file extension. check-in: e165816404 user: tangent tags: clean-os8-packs
17:34
Whitespace and comment tweaks check-in: f3dceaeb79 user: tangent tags: clean-os8-packs
16:31
The creation of obj/mkos8.opts during the configure script run to force a rebuild of the OS/8 media *only* when those options have changed was failing in clean build trees because obj doesn't exist yet. For the most part, $(BUILDDIRS) in the Makefile handles this, but that hasn't run by this point, so we need to do this one early. check-in: 5dfc456436 user: tangent tags: clean-os8-packs
05:30
The "?01.00" error code in the reformatted refcard is just "?" on the original, so there is not in fact a discrepancy between the two error tables for this one. Fixed the refcard and removed the note about the discrepancy from the supplement. check-in: 3b74ad629d user: tangent tags: clean-os8-packs
2017-10-07
22:01
Small fix to transcript at the end of "The Hard Way" check-in: 1814197ca3 user: tangent tags: clean-os8-packs
21:40
Updated the discussion of the missing VIEW command in U/W FOCAL: we *could* support it, but it's apparently missing from the PAL source we built U/W FOCAL from. Feature request filed as [b8f5d84fc]. check-in: 534640eea8 user: tangent tags: clean-os8-packs
21:17
Added ZVR section to the supplement check-in: 9ec533f16d user: tangent tags: clean-os8-packs
21:11
Another *.FD fix to "The Hard Way" check-in: 75048a2bf8 user: tangent tags: clean-os8-packs
21:03
Added a new "The WRITE Command" method for saving program text out of U/W FOCAL as a plain ASCII text file, and relabeled the old way as "The Hard Way", now used only as a warning. :) check-in: 5e23affd4b user: tangent tags: clean-os8-packs
20:43
Assorted tweaks to Loading and Saving in the supplement check-in: a8a72951d0 user: tangent tags: clean-os8-packs
20:29
Added "Converting Programs from Other Versions of FOCAL" section to the supplement. check-in: 007115ea46 user: tangent tags: clean-os8-packs
20:22
Small tweaks to previous check-in: 7f60a6cd67 user: tangent tags: clean-os8-packs
20:17
Added list of advantages of U/W FOCAL over other FOCALs from the DECUS submission document to our supplement, and linked to it from the README.md section explaining why U/W FOCAL is the default version. check-in: 0404a184e8 user: tangent tags: clean-os8-packs
20:10
Added more info on what hardware support and corresponding software features are missing to the supplement. check-in: 51316b767f user: tangent tags: clean-os8-packs
19:16
First complete "comprehension" pass through the U/W FOCAL manual completed, and final problems fixed. (Yeah, right, "final.") check-in: 24da60990b user: tangent tags: clean-os8-packs
18:58
Added CARD?.DA references to the supplement check-in: 0ff6d3cd24 user: tangent tags: clean-os8-packs
18:48
Consolidated and expanded the new sections at the end of the supplement about missing hardware into a single section. check-in: 6a9c4be91f user: tangent tags: clean-os8-packs
18:39
Fixed another LOOK/LINK thing in the supplement check-in: 77065b8d02 user: tangent tags: clean-os8-packs
18:35
Discovered that PUNCH doesn't exist in our version of U/W FOCAL at all, so rewrote that section of the supplement and the references to it. Also rewrote the sections referencing LOOK and LINK for the same reason. check-in: d99883639e user: tangent tags: clean-os8-packs
18:27
Documented why we're giving *.FD in OPEN INPUT commands. check-in: 96c92dd0b3 user: tangent tags: clean-os8-packs
18:24
Changed the *.FC and *.TX extensions in the supplement's newly reorganized "Loading and Saving Programs" section to *.FD. *.FC is a binary FOCAL core image format, not suited for plain text. That's what *.FD is for. *.TX is also fair, but FOCAL defaults to FD, so we might as well go along with it. check-in: ea76f85801 user: tangent tags: clean-os8-packs
18:18
Reorganized all the program loading and saving material in the supplement as subsections of a top-level section, ordered them in increasing level of complexity (and probably decreasing usefulness!). Changed all the named anchors to an "ls-*" scheme: ls = loading and saving. check-in: cc21eef7b2 user: tangent tags: clean-os8-packs
17:50
Header tweaks check-in: ed9694428b user: tangent tags: clean-os8-packs
17:49
Added "Pasting Programs in from a Terminal Emulator, Part 2" section to the supplement. check-in: 78ea81fe65 user: tangent tags: clean-os8-packs
17:30
Added LIBRARY LOAD based method for loading and saving FOCAL to the supplement above the WRITE/EDIT/OPEN version, and made the prior one the "Alternative Method". check-in: 345f76e497 user: tangent tags: clean-os8-packs
17:05
Added a paragraph to the "Lowercase Input" section of the supplement noting that "o o" and similar commands do not work because U/W FOCAL is not case-insenstive in its command *arguments*. check-in: 0e41940834 user: tangent tags: clean-os8-packs
17:04
Added the "FRA Built-In Function" section to the supplement. check-in: a4b65e95e6 user: tangent tags: clean-os8-packs
17:03
Added the "PDP-12 Support" section to the supplement check-in: 3b2813f5c4 user: tangent tags: clean-os8-packs
17:03
Added the "Video Output" section to the supplement check-in: e4d01d0f59 user: tangent tags: clean-os8-packs
17:03
Added "Error Codes" section to the supplement, discussing the discrepancies between the error code tables in the manual and refcard. check-in: 57b2e6448a user: tangent tags: clean-os8-packs
16:20
More fixes to the U/W FOCAL manual check-in: 560ecb23b3 user: tangent tags: clean-os8-packs
14:42
Minor tweaks check-in: 86600fc404 user: tangent tags: clean-os8-packs
14:41
Typo fix check-in: 57450bf7aa user: tangent tags: clean-os8-packs
14:37
Reworked the new bit at the end of "Loading and Saving Programs" in the supplement to be even clearer. check-in: 5ba092d492 user: tangent tags: clean-os8-packs
14:14
Noted the CSS print attempts in the refcards intro check-in: 75a007e5e0 user: tangent tags: clean-os8-packs
14:09
The "copyright" paragraph in the refcards doc used to be at the end and thus said "above text", but that was not changed when moving it to the top of the document. Also, USA -> United States; it flows better. check-in: d20062edad user: tangent tags: clean-os8-packs
14:06
Added U/W FOCAL refcards link from the supplement. check-in: 86760085fc user: tangent tags: clean-os8-packs
00:02
Clarified and expanded upon the OPEN INPUT example. check-in: 020e3f3e77 user: poetnerd tags: clean-os8-packs
2017-10-06
12:51
Fixed up a few remnants of the brief CARD*.DA presence in the supplement check-in: 220c9a54da user: tangent tags: clean-os8-packs
11:33
Merged scanswitch serial mod fix in from trunk check-in: dce9086a45 user: tangent tags: clean-os8-packs
11:26
Removed a bunch of the init code from scanswitch.c: calling the new gpio-common module init functions instead. If nothing else, this allows scanswitch to work correctly for the serial mod cases for the first time! check-in: c5a2a1eb11 user: tangent tags: trunk
11:25
Moved more of the gpio-common module's internal init code out as public functions, and hid away some of those now only called from within the module. check-in: fc42d83843 user: tangent tags: trunk
11:01
Extracted init_pidp8i_gpio() from gpio_thread() startup so we can call it from programs that don't use the GPIO thread. check-in: 2a8b622469 user: tangent tags: trunk
09:41
A bit of messing with CSS and paragraph breaks in the new uwfocal-refcards.md file to get somewhat reasonable print output. Still not awesome, but better than it was. check-in: e365c158fb user: tangent tags: clean-os8-packs
09:13
Moved the CARD[1-4].DA material from uwfocal-manual-supp.md to a new uwfocal-refcards.md file to keep the copyrights clear, and to make printing easier. check-in: ad35229d5c user: tangent tags: clean-os8-packs
08:42
Fixed some grammar and Markdown errors in the CARD2.DA section. check-in: 4428cdf5d8 user: tangent tags: clean-os8-packs
08:38
Moved the Variables and FOCAL Statement Functions sections within the supplement down to where they appear in CARD2.DA, and explained where this section comes from. check-in: 08c0cc4ca8 user: tangent tags: clean-os8-packs
08:30
Clarified Bill's new "Loading and Saving Programs" WRITE-based ASCII file saving method in the U/W FOCAL supplement. Also moved some paragraphs that were up in this section down in the CARD2.DA section where they clearly belong, and explained the source of these CARD files in the License section. check-in: f315cb560c user: tangent tags: clean-os8-packs
05:30
Added in instructions on save/cleanup/restore of ASCII file in FOCAL. check-in: e4ead2df48 user: poetnerd tags: clean-os8-packs
04:47
Another snapshot. I added the character table, but perhaps did not need to. TODO: 1. Verify the formatting. 2. Paste in File save clues from OMSI Doc. check-in: 8cda328391 user: poetnerd tags: clean-os8-packs
03:07
Snapshot Adding more reference cards. check-in: d108c40448 user: poetnerd tags: clean-os8-packs
02:11
Snapshot. Better formatting. check-in: 9ecc8ccc67 user: poetnerd tags: clean-os8-packs
01:51
Snapshot. Check on my formatting for Error table. check-in: 5c55c2eaff user: poetnerd tags: clean-os8-packs
2017-10-05
20:32
Added DCP Disassembler to packs. Does this by default. I sort of don't like how you have to touch 3 files in 3 places to add stuff to the packs. check-in: a60baa0fb2 user: poetnerd tags: clean-os8-packs
20:05
Realized that the "&/" variable name U/W FOCAL mangles "foo" into cannot be the secret & variable because that isn't allowed by default. On further investigation, it appears to be some kind of value mangling, so fixed that discussion in the U/W FOCAL supplement. check-in: d2947f1527 user: tangent tags: clean-os8-packs
20:03
Converted install of Case conversion, chess and vtedit to file-based subset copyin from local.tu56. This structure is what would be used for the DCP16/DCP24 disassembler copyin. check-in: 7d045ed598 user: poetnerd tags: clean-os8-packs
19:55
Explained why U/W FOCAL gives an answer of "0" instead of an error from fsin(pi/2), and explained why this is a sensible answer given the historical context. check-in: a057be2ab4 user: tangent tags: clean-os8-packs
19:31
Typo fix check-in: 0fc6cbef6e user: tangent tags: clean-os8-packs
19:30
Fixed the prompt character in the previous checkin check-in: 015c2f6cbc user: tangent tags: clean-os8-packs
19:29
Added the Improvements sub-section to the "Default Output Format" section of the U/W FOCAL supplement. check-in: e12e3f1e57 user: tangent tags: clean-os8-packs
19:17
Now that we have a fully-functional version of FOCAL, updated several of the commands and outputs in the F??? sections to be actual terminal transcripts. Also added point 7 to the Formatter's Note explaining why this Markdown version of the manual doesn't show the inputs and outputs exactly the same way the original did. check-in: 3bdcd2ac8f user: tangent tags: clean-os8-packs
19:03
Added a "Default Output Format" section to the U/W FOCAL manual supplement to explain why some of the examples' outputs in the manual are not particularly nicely formatted. check-in: 00d620ff6c user: tangent tags: clean-os8-packs
18:09
Grammar tweak check-in: 23fdc81ed1 user: tangent tags: clean-os8-packs
18:08
Clarified the 3 points at the top of the U/W FOCAL manual supplement justifying its existence. The prior-numbered points 1 and 3 might have been read as the same point repeated, whereas now it's clear that we're making two distinct points. check-in: c823d49f60 user: tangent tags: clean-os8-packs
18:01
Using Unicode arrows in the "violating rule 2" transcript to make it clear that we don't expect the user to the type comment text into the terminal. check-in: 059a06d4f5 user: tangent tags: clean-os8-packs
17:59
Yet another tweak to the U/W FOCAL supplement's discussion of lowercase input. check-in: 20159fe6db user: tangent tags: clean-os8-packs
17:48
Typo fix check-in: 55436f0fa4 user: tangent tags: clean-os8-packs
17:47
Another tweak to the supplement's new lowercase input text check-in: 918c9c97a3 user: tangent tags: clean-os8-packs
17:46
Small tweak to previous check-in: 165a9dff9d user: tangent tags: clean-os8-packs
17:46
Reworked the lowercase input examples in the U/W FOCAL supplement to use the now-working PI constant. check-in: 15af913175 user: tangent tags: clean-os8-packs
17:41
Added fragment identifiers and named anchors to all of the headers in the U/W FOCAL manual supplement. check-in: a72ceb276a user: tangent tags: clean-os8-packs
17:37
Expanded the section on Lowercase Input in the U/W FOCAL manual supplement to cover some surpring new findings. Incidentally, it now serves as a "Hello, world!" tutorial. check-in: d241323118 user: tangent tags: clean-os8-packs
17:01
Better explanation of what ./configure --enable-os8-focal69 does in README.md. check-in: b72cc917cf user: tangent tags: clean-os8-packs
16:48
Reworked the configure script --*focal* options and their corresponding mkos8 options so that FOCAL 69 is disabled by default and U/W FOCAL remains enabled by default. Also added documentation for all of this to the main README.md file. check-in: 942424a30f user: tangent tags: clean-os8-packs
16:17
Added "Pasting Text in from a Terminal Emulator" section to the U/W FOCAL manual supplement. I could have put this in the Known Bugs section I just removed, but it belongs above the preexisting "Loading and Saving Programs" section, and it isn't a "bug" per se: the problem comes from the fact that U/W FOCAL is operating within the design limitations imposed by its development environment, which modern environments invalidate. The solution — if we ever do that — is therefore an enhancement to U/W FOCAL, not a bug fix. check-in: 9b0a771d74 user: tangent tags: clean-os8-packs
16:11
Removed Known Bugs section from the U/W FOCAL manual supplement: checin [d6a7c6fede] fixed the last known one. check-in: 2e8482e9fa user: tangent tags: clean-os8-packs
16:11
Added invitation to send patches to the U/W FOCAL manual supplement. This is a sideways way of preserving a named URL that would otherwise be removed in the next checkin. check-in: dd068e0950 user: tangent tags: clean-os8-packs
05:25
Removed an unreferenced named URL left by [ee437c54a9] in the U/W FOCAL manual supplement. check-in: 2dc8ce6aea user: poetnerd tags: clean-os8-packs
05:23
Since I fixed the PI bug, I deleted it from the table of known bugs. check-in: ee437c54a9 user: poetnerd tags: clean-os8-packs
05:04
Fixed FOCAL installs. They were installing way too much and overran the limits of the system directory. Only 1 file is installed for U/W FOCAL: SYS:UWF16K.SV. Only a few files are installed for FOCAL69 all into RKB0: FOCAL.BN,4WORD.BN,4KVT.BN,8KVT.BN,8KNOVT.BN Personally I favor telling people just fetch these from the focal69.tu56 DECtape image. Also tested new UWF16K.SV, and it properly initializes PI. check-in: 6456a6e06d user: poetnerd tags: clean-os8-packs
04:47
Replaced broken UWF16K.SV with one that works better. Root cause: I mis-specified the starting address when I did the SAVE action, and so UWF16K.SV was not properly initializing itself when run. check-in: d6a7c6fede user: poetnerd tags: clean-os8-packs
2017-10-04
14:25
Added Known Bugs section to the U/W FOCAL supplement. check-in: ca96147091 user: tangent tags: clean-os8-packs
09:08
Added "Trigonometric Identities" header to the U/W FOCAL Manual to separate that section visually from the preceding FTAN/FATN section check-in: 8d23660bf7 user: tangent tags: clean-os8-packs
09:05
More U/W FOCAL Manual improvements, mainly for style this time. check-in: 81dee12842 user: tangent tags: clean-os8-packs
09:02
Added "Switch Ordering" section to the U/W FOCAL Manual Supplement. check-in: 3a12df8223 user: tangent tags: clean-os8-packs
08:45
Added a section on lowercase input to the U/W FOCAL manual supplement. check-in: 51bf4b9a9d user: tangent tags: clean-os8-packs
08:09
Small tweaks to the U/W FOCAL manual supplement check-in: 88940d8a2f user: tangent tags: clean-os8-packs
07:51
Added "Starting U/W FOCAL" section to the U/W FOCAL manual supplement check-in: c0cd965249 user: tangent tags: clean-os8-packs
07:46
Added --disable-os8-focal, --disable-os8-focal69 and --disable-os8-uwfocal configure script options and corresponding mkos8 options and their implementations. check-in: be5885a806 user: tangent tags: clean-os8-packs
07:41
accidental checkin Closed-Leaf check-in: 69b3d8c9f2 user: tangent tags: bogus
07:14
Fixed the --help line for the configure script's --disable-os8-chess option: sense was backwards check-in: d04034d4aa user: tangent tags: clean-os8-packs
07:11
Renamed FOCAL TU56 images to conform to prevailing naming scheme check-in: aaf850b05d user: tangent tags: clean-os8-packs
2017-10-03
20:21
Whitespace fixes in the examples' README check-in: 753b55fad8 user: tangent tags: clean-os8-packs
20:21
More Markdown and grammar tweaks to the U/W FOCAL manual check-in: a3608589c5 user: tangent tags: clean-os8-packs
20:19
First cut at the new "U/W FOCAL Manual Supplement for the PiDP-8/I" document. check-in: a8975496f3 user: tangent tags: clean-os8-packs
2017-10-02
06:27
Removed media/os8/os8.rk05: obsolete for a month or so now on this branch. If it's still wanted for reference, it's still visible at the tip of trunk and on the release branch. After the eventual release, you can roll back to the v20170404 tag to get it. check-in: ce85b8f355 user: tangent tags: clean-os8-packs
06:11
Removed one of the Easter eggs in the U/W FOCAL manual: Fossil's Markdown renderer doesn't hide this one as other Markdown processors do. Waah. check-in: d2998f8b65 user: tangent tags: clean-os8-packs
06:10
More errors fixed in the U/W FOCAL manual check-in: 5d951709b2 user: tangent tags: clean-os8-packs
04:03
Several more U/W FOCAL manual fixes check-in: dee688ea4f user: tangent tags: clean-os8-packs
03:12
Markdown cleanup pass on doc/dcp_wu.md: hard tabs replaced with spaces, indent level fixes for numbered and bulleted lists, use of indents for literal code sections instead of <code> blocks, etc. Also did a few minor prose tweaks. check-in: 2be9e5a11b user: tangent tags: clean-os8-packs
02:18
Three DECtape images added for FOCAL Support. TODO: Tease out what kind of documentation we want to give on utilization, and decide what's going onto the packs. Recommendation: UWF16K.SV onto the packs. Everything else in docs. check-in: 1662ab9450 user: poetnerd tags: clean-os8-packs
02:11
Beginnings of adding DCP Disassembler to the packs. Put relevant files on local.tu56, and complete first draft of the DCP documentation. Similarly to the U/W FOCAL documentation, a markdown version of an existing document DCP.WU, has been created. check-in: 8acfc443ab user: poetnerd tags: clean-os8-packs
00:26
Diagnosed the "SIMH cont problem" in mkos8 and came up with a less traumatic way to re-enter OS/8 than rebooting the whole simulator without complicating the send/expect sequencing. check-in: bd610a4a17 user: tangent tags: clean-os8-packs
2017-10-01
23:49
Adds file_copyin data structure. All existing copyins get a new element that points to the file_copyin array or to None. cc8 install is now done using this method. This prepares for other copyins that are per file. Added extensive documentation of how copyins work. check-in: c14aa1561a user: poetnerd tags: clean-os8-packs
22:50
Added missing header comment check-in: ea77d77d6e user: tangent tags: clean-os8-packs
22:34
Technical merge with trunk. We already had this fix on this branch, but this checkin informs Fossil of that fact. check-in: 57e3187127 user: tangent tags: clean-os8-packs
22:31
Worked around a Jim Tcl limitation in auto.def check-in: 405ea7357f user: tangent tags: trunk
04:18
Fix a typo that caused only LCSYS.BI and LCBAS.BI to be installed. Now UCSYS.BI and UCBAS.BI will be installed. TODO: Change how this works so we can create a file-based copy-in data structure. check-in: 5f22db82fd user: poetnerd tags: clean-os8-packs
2017-09-30
21:42
Moved a bunch of the path handling from libexec/mkos8 into dirs.py. Along the way, made it possible to run mkos8 within the installation tree and have it update the installed RK05 images, not the ones in the development tree. check-in: 407cdb4014 user: tangent tags: clean-os8-packs
20:55
Added lib/mkos8/__init__.py to the "make install" file set. It should have been done when we did the dirs.py stuff. check-in: 15eb96d740 user: tangent tags: clean-os8-packs
20:48
The AUTHORS.md file still referred to tools/mkos8.in. Changed it to libexec/mkos8. check-in: bd022432a3 user: tangent tags: clean-os8-packs
20:41
Trunk changes merged in check-in: a38acc1f1f user: tangent tags: clean-os8-packs
20:34
Added Bill Cattey's ptp2txt.c to the tree, and added it to the build and installation steps, along with hard links to its txt2ptp alias. check-in: af9c5d6025 user: tangent tags: trunk
20:05
Minor cosmetic tweaks to the U/W FOCAL manual check-in: 3243002d8b user: tangent tags: clean-os8-packs
19:06
The configure script now removes the bin/os8v3d-bin.rk05 file when the set of mkos8 options changes from one run to the next. This completes the evolution started in the prior few checkins, where only substantial changes to input files or build options causes a rebild of the OS/8 media. check-in: 2d871919e4 user: tangent tags: clean-os8-packs
19:03
Put @ before new comments in Makefile.in to prevent them from echoing during the build. check-in: 7e263bdd1d user: tangent tags: clean-os8-packs
18:49
Moved the @abs_top_srcdir@ and @builddir@ stuff out of libexec/mkos8.in into lib/mkos8/dirs.py.in, which exists only to hold those directory definitions. Then reworked the make dependencies so that simply regenerating the lib/mkos8/dirs.py file no longer causes a rebuild of the OS/8 media, since by far the most likely reason for this is that auto.def or some other *.in file changed. Also removed the simulator as a make dependency of the OS/8 RK05 media, since we just need it to *exist*, not to be older than the media. Instead, we check for it before rebuilding the media, and we only do that when one of the input files for building the media change, which explicitly does not include dirs.py. There's one missing step in all of this which can cause us to miss a needed rebuild, but that will be taken care of next. check-in: 9b76afeacb user: tangent tags: clean-os8-packs
17:59
Comment fix check-in: ad33c84c4e user: tangent tags: clean-os8-packs
17:16
Reorganized the mkos8/argparser component stuff into a subdirectory structure so that we can import the whole subtree with an "import *" call, so that the upcoming modules don't all need to be named explicitly. check-in: 73cf71943e user: tangent tags: clean-os8-packs
14:54
Moved tools/mkos8.in to libexec and added it to "make install". It isn't easily usable from within the installation directory yet, but that is the plan. check-in: 47e196646c user: tangent tags: clean-os8-packs
14:20
Extracted lib/mkos8/argparser.py from main() in mkos8, an ArgumentParser subclass that simplifies its interface for the main script's purposes, primarily by hiding away the process of setting up the parser. EDIT: This step also creates the mechanism for pulling other pieces of mkos8 out as separate modules. I just happened to choose to make this the first such external component. check-in: c14164b6fd user: tangent tags: clean-os8-packs
2017-09-29
12:05
Added ASCII art "UWF" to top of U/W FOCAL manual. (Side-by-side instead of staggered vertically, since we don't need to fill the height of a letter sized page.) check-in: 2a46a2bc55 user: tangent tags: clean-os8-packs
11:23
Hard-wrapped long lines in U/W FOCAL manual and made a few other tweaks. check-in: 6163589352 user: tangent tags: clean-os8-packs
11:04
Moved formatter's note in U/W FOCAL manual from front to back, just before the copyright notices check-in: c6fb247e62 user: tangent tags: clean-os8-packs
06:51
Restored ToC (actually an "index of major topics") to the U/W FOCAL manual. Also fixed several of the named anchors to allow this to work. check-in: 88648a141b user: tangent tags: clean-os8-packs
06:04
Added ASCII table to Appendix I of the U/W FOCAL manual check-in: 9457eb33d4 user: tangent tags: clean-os8-packs
05:04
Fixed a few errors in the "Error Codes" section of the U/W FOCAL manual check-in: e3100a9be0 user: tangent tags: clean-os8-packs
2017-09-28
13:49
More U/W FOCAL manual tweaks check-in: fcfb537327 user: tangent tags: clean-os8-packs
13:48
Initial version of U/W FOCAL manual didn't have FDIN section formatted. check-in: 90043f499b user: tangent tags: clean-os8-packs
13:46
Fixed formatting problems highlit by seeing the U/W FOCAL manual in the Fossil Markdown viewer. check-in: fd3c285a3a user: tangent tags: clean-os8-packs
13:34
Added Markdown version of "U/W FOCAL Manual V4E, October 1978", being the OCR'd text from archive.org for the scanned PDF also on archive.org with errors fixed, style improved, and assorted paper -> computer screen reading tweaks, but no new material. This is the baseline from which we will create a separate PiDP-8/I FOCAL manual matching what we actually ship. There are a few known missing items before we call this "finished": the ToC and charmap sections need to be recreated. This is also likely to still have errors that need to be fixed. check-in: 21260043fb user: tangent tags: clean-os8-packs
2017-09-18
05:50
Expanded Tony Hill's AUTHORS.md entry check-in: 209e632cf9 user: tangent tags: trunk
05:41
Expanded my own entry, primarily to make clear what I did write, so as not to overclaim my contributions. check-in: a80d518798 user: tangent tags: trunk
05:40
Expanded Bill Cattey's AUTHORS.md entry to better reflect what he's been doing since he wrote that. check-in: b246817c77 user: tangent tags: trunk
05:28
Grammar and "flow" tweaks to AUTHORS.md, primarily for the web rendering. check-in: ee2ead6920 user: tangent tags: trunk
05:22
Converted the email addresses in AUTHORS.md to Markdown mailto links so the web-formatted version of this document formats nicely. Also updated Rick Murphy's entry. check-in: e3b19fd225 user: tangent tags: trunk
2017-09-16
04:43
The separate "bin" and "src" steps of mkos8 as run by make were causing the lone "bin" step's log file to be clobbered by the src step. When mkos8 is not running in -v mode, its log file is now named after the first legal action name given on the command line, giving obj/mkos8-bin.log and such. check-in: 69b961a3aa user: tangent tags: clean-os8-packs
02:34
When we changed DSK to RKB0, we broke cc8. To fix this while keeping mkos8.in as simple as possible we: 1. Change the destination of cc8.tu56 to RKB0. 2. Add commands to copy CC0.SV, CC1.SV, CC2.SV to SYS and delete them from RKB0. 3. Add a SQUISH of RKB0 to defragment the hole made by deleting the CC .SV files. Now the C Compiler works as documented in the Wiki. check-in: 2cc9ef9463 user: poetnerd tags: clean-os8-packs
2017-09-15
09:03
Merged mkos8 option naming consistency fix with respect to the configure script. check-in: 72bf7bb39a user: tangent tags: clean-os8-packs
09:02
The prior checkin missed the args.with_* and args.without_* tests. Fixed. Closed-Leaf check-in: d9be605fbb user: tangent tags: mkos8-en-dis-opt
08:59
Renamed mkos8 --with-* and --without-* optinons to --enable-* and --disable-*, respectively, to match the new restrictions on the corresponding configure script option naming. check-in: 6f385a6100 user: tangent tags: mkos8-en-dis-opt
08:43
Added apt suggestions to the help text emitted when the required Python modules are not found. check-in: 0f8bb89f56 user: tangent tags: clean-os8-packs
08:42
Added a check for Python module pkg_resources in configure, now needed by tools/mkos8 check-in: 64c8aec7e6 user: tangent tags: clean-os8-packs
08:00
Jim Tcl compatibility fix in auto.def check-in: 1472fa08b1 user: tangent tags: clean-os8-packs
07:39
Fixed a pexpect 3.x API compatibility problem in tools/mkos8 by checking the distribution's version number and doing things the old way if necessary. Currently tested only on pexpect v4.x, checking it in so we can go test on a machine with v3. check-in: 03d5f08098 user: tangent tags: clean-os8-packs
07:18
Fixed two problems with the bin/*.rk05 dependencies in the top level Makefile. First, *-src.rk05 wasn't dependent upon pidp8i-sim, so in a parallel make from a clean build tree, it could call "mkos8 src" before the simulator was built, causing a build error. Second, *-src.rk05 wasn't dependent upon *-bin.rk05, so if a parallel make chose to try and build the src RK05 first, mkos8 would internally attempt to build the bin RK05 ahead of that, during which time make could launch its own build of the bin RK05, causing a build failure as both instances of mkos8 fought over the bin RK05 image file. The strict dependency chain now defined in Makefile.in means the dependency rule between these two RK05s encoded in mkos8 is now only used when you call "mkos8 src" by hand while the bin RK05 is missing. check-in: 345cad495f user: tangent tags: clean-os8-packs
07:11
"make clean" now removes obj/mkos8.log check-in: 1879a87ed5 user: tangent tags: clean-os8-packs
07:09
"make clean" now removes bin/*rk05* check-in: b0d9bf39ba user: tangent tags: clean-os8-packs
07:07
Moved media/subsys underneath media/os8, since everything in here currently requires OS/8 in one way or another. Doing so simplifies the path name building code in tools/mkos8 considerably. It also swaps out an explanation in media/subsys/README.md for why it is outside the os8 tree for an explanation of why it's in a subdirectory of that tree, a distinct improvement. check-in: 2a4f4cec29 user: tangent tags: clean-os8-packs
2017-09-14
13:41
Comment typo fix check-in: a5ecc26447 user: tangent tags: clean-os8-packs
13:27
Added named anchors to the top-level README.md file so one can link to sections of the document. It's getting big! check-in: 2922837909 user: tangent tags: clean-os8-packs
13:19
Replaced the --disable-os8-lcmod configure script flag with --lowercase={auto,pass,upper} option which lets you control the OS/8 lowercase patches independently of the SIMH uppercase folding feature. Technically there are four possible alternatives, but two of them amount to the same thing (upper) so there are only three real choices. check-in: c941ce36b0 user: tangent tags: clean-os8-packs
12:21
The top-level Makefile now builds bin/os8v3d-src.rk05 given the fix in the prior checkin. check-in: 91078c04cc user: tangent tags: clean-os8-packs
12:16
make_src() in mkos8.in was not getting passed the parsed command line arguments, so that if it decided it needed to call make_bin(), the call would fail because it couldn't supply the needed args object. check-in: 82388c43de user: tangent tags: clean-os8-packs
2017-09-13
21:54
The install(1) commands during mediainstall were using -g @INSTGRP@ only. Added -o @INSTUSR@ so the files are not owned by root due to sudo. check-in: 54bbf978f6 user: tangent tags: clean-os8-packs
20:13
Includes batch job to patch OS/8 BASIC to cope with lower case. Two new files added to local.tu56: LCBAS.BI, UCBAS.BI they are similar to LCSYS.BI and UCSYS.BI but work on BASIC instead of the system area. mkos8.in now installs all 4 .BI batch scripts, and runs both LC batch scripts. check-in: d5c39d4421 user: poetnerd tags: clean-os8-packs
04:38
Merged autosetup update in from trunk. This also removes the --with-* and --without-* aliases for --enable-* and --disable-* options due to a conflict with the way earlier autosetups handled this, so upstream backed that feature out. In turn, I've simplified our README.md. Also now using the new @abs_top_srcdir@ feature in place of our local @ABS_TOP_SRCDIR@ hack. check-in: 9142064d76 user: tangent tags: clean-os8-packs
04:33
Added the tools/autosetup-update script for automatically updating our autosetup installation. check-in: 2d6dc7201d user: tangent tags: trunk
04:32
Updated autosetup to v0.6.7 plus the few changes made in the past week since that release. We need a change just made upstream in one of the branches, but this update really needs to be on the trunk. check-in: cf74ea6c79 user: tangent tags: trunk
2017-09-12
16:35
Removed unused function os8_send() from mkos8 script check-in: 7d497f001f user: tangent tags: clean-os8-packs
16:33
Moved the os8_kbd_delay() call down within os8_pmt_send() in mkos8 so that it happens inter-character, not just once at the start of the line of text being sent. check-in: 72de1c5535 user: tangent tags: clean-os8-packs
14:39
Merged greadlink replacement in from trunk, and doing the same for ABS_TOP_SRCDIR as we did on trunk for ABSPREFIX. check-in: a3b7b16ee5 user: tangent tags: clean-os8-packs
14:37
Replaced the use of GNU readlink with Tcl's "file normalize" function. check-in: b41a0c2f02 user: tangent tags: trunk
13:57
The "make mediainstall" target was implicitly picking up os8v3d-*.rk05 from the old output location, but now needs an explicit copy to install from bin/. check-in: 09f6d7db8d user: tangent tags: clean-os8-packs
13:51
Renamed tools/mk-os8-rk05s.in to tools/mkos8.in. The new name is much easier to type, and we don't need the name to be descriptive: we have the file's header comments and docs to explain what it does. check-in: 2e6b7338de user: tangent tags: clean-os8-packs
13:43
Added a call to "mk-os8-rk05s src" to the top-level Makefile from an "independency". There is a bug in the build script that prevents creation of bin/os8v3d-src.rk05, so it is temporarily disconnected from the dependency graph, but you can still say "make bin/os8v3d-src.rk05" to see the problem. (Some bug in the Expect sequence.) check-in: f435f0a472 user: tangent tags: clean-os8-packs
13:37
The mk-os8-rk05s script now generates *.rk05 in the bin dir, not in the media/os8 dir, since the latter contains input files; we should not be mixing inputs and outputs in the same directory. Also reworked things to allow building out-of-tree, which not coincidentally shows the value of not mixing inputs and outputs. check-in: e0173f079b user: tangent tags: clean-os8-packs
12:25
Merged in trunk changes check-in: f09a866510 user: tangent tags: clean-os8-packs
12:24
Small fix to allow tools/version to be run by Makefile when building out of tree. Also cleaned up the code a bit. check-in: c94cb7be8f user: tangent tags: trunk
11:42
Added "-os8" to all of the configure script option names that affect the flags sent to mk-os8-rk05s. This is not just bowing to Emerson's hobgoblin: it is a realization that some of these options were ambiguous in meaning outside the OS/8 RK05 build process. For example, did the old --without-cc8 option imply that the host-side CC8 compiler would also not be built? The "-os8" bit is stripped in the option names given to mk-os8-rk05s, since "OS/8" needn't be specified at that level. check-in: 8d104bd4c8 user: tangent tags: clean-os8-packs
11:15
Renamed --without-cc8 option to --without-os8-cc8, since it only applies to the OS/8 native CC8 compiler. When we this line of development eventually merges with the cc8-merge branch, we may want a --without-host-cc8 option or similar to make it not build the host-side CC8 compiler. The point is, they're separate things, and we have at least one use case where one is not desired while the other is: LCSYS.BI is a hindrance to some on the OS/8 side because they may be running programs that can't fold lowercase to uppercase and won't work without that folding. check-in: d5bd6bf808 user: tangent tags: clean-os8-packs
2017-09-11
18:06
Removed all send() delays in mk-os8-rk05s automatically inserted by pexpect. They aren't necessary. Only the OS/8 delays we've manually inserted are necessary. This takes OS/8 media build time down to about 9 seconds on my machine while still giving the same log transcript and binary media md5sum. check-in: 0453d18c2b user: tangent tags: clean-os8-packs
2017-09-10
12:09
Added "pip install pexpect" stuff to the "bosi init" step, so the "make install" step following it does not fail due to lack of pexpect in the mk-os8-rk05s step. check-in: 37735a593a user: tangent tags: clean-os8-packs
12:00
Increased the simulated terminal speed implied by the new os8_kbd_delay function in mk-os8-rk05s from the 110 bps of an ASR-33 to the 2400 bps of the more-nearly contemporaneous VT05. Since this does not actually save any build time on my machine — presumably because other I/O overheads swamp it, such as the simulated TU56 reading time — I also removed all the comments about the possibility of going even faster. We've squeezed all the juice out of this stone we can. check-in: 354fa7230b user: tangent tags: clean-os8-packs
11:42
Decreased the "sleep(0.5)" stuff in mk-os8-rk05s to a smaller constant (0.0909...) based on the data rate of an ASR-33 teletype which must be the worst-case value for keyboard input to OS/8. Testing shows this gives identical binary media to what the old constant produced. This is backed up by diffing the mk-os8-rk05s.log file produced by the two versions of this script, which differ semi-randomly in the instruction being executed by SIMH whenever it gets one of the Ctrl-E commands. This change saves about 12 seconds from a 55 second build on my machine relative to the old 2 cps behavior! check-in: 6b8ea89df4 user: tangent tags: clean-os8-packs
11:12
Captialization tweaks to mk-os8-rk05s script. check-in: b3dafeb3a1 user: tangent tags: clean-os8-packs
11:09
Missed a renaming in [68c02444fd]. check-in: 913d6316b2 user: tangent tags: clean-os8-packs
10:44
Updated the --with-* paragraph in media/subsys/README.md to reflect the prior checkin's file renamings. check-in: c60013759f user: tangent tags: clean-os8-packs
10:43
Renamed media/subsys/*.tu56 so that the file name matches the corresponding --with-* or --without-* option to the configure script. check-in: 68c02444fd user: tangent tags: clean-os8-packs
10:35
Fixed several logic inversions in the new --without-os8-lcmod option to the configure script and in the corresponding --without-lcmod option to the mk-os8-rk05s script. Also added a comment to the generated 0.script file explaining why the "set tti" option is set as it is, so the user doesn't have to RTFM to understand the option's obscure naming. check-in: c2a743654d user: tangent tags: clean-os8-packs
09:46
Improved the explanation for the --without-ba option's name. check-in: 73f33337b9 user: tangent tags: clean-os8-packs
09:39
Described all the new --with-* and --without-* options recently added to auto.def in the configure script option section of the top-level README.md file. check-in: fe765c0b5d user: tangent tags: clean-os8-packs
09:38
Apparently I can't alphabetize today... check-in: 36101b88b1 user: tangent tags: clean-os8-packs
09:36
Another alphabetization fix to auto.def check-in: 834534956a user: tangent tags: clean-os8-packs
09:16
Alphabetized the list of options in auto.def and changed tabs to spaces check-in: 326ea984c8 user: tangent tags: clean-os8-packs
08:42
Clarity pass on the media/subsys/README.md, and fixed one link check-in: 82e0f1059f user: tangent tags: clean-os8-packs
08:34
Initial version of media/subsys/README.md check-in: b51c36304b user: tangent tags: clean-os8-packs
08:08
Clarity pass on media/os8/README.md check-in: 288e5d2052 user: tangent tags: clean-os8-packs
07:51
Added description of local.tu56 to media/os8/README.md, and collected it together with the description of LICENSE.md as the new "Others" section. check-in: 2f3080c6e1 user: tangent tags: clean-os8-packs
07:44
Formatted the file name/content description lists in media/os8/README.md as a Markdown table so it formats nicely when viewed in Fossil UI. check-in: c2d4c92026 user: tangent tags: clean-os8-packs
2017-09-09
05:55
Correcting factual error: An rk05 pack has 2.5Meg, not 10 meg. check-in: 4771013619 user: poetnerd tags: clean-os8-packs
2017-09-08
21:17
Moved default device DSK from SYS to RKB0. I changed my mind about this setup after running out of space once too often by letting files get created on SYS by default. TODO: Retest the C compiler now that DSK is the other partition. We may move it. check-in: 32b685b6d1 user: poetnerd tags: clean-os8-packs
20:14
os8.rk05 had a version of LCSYS.BI that is incompatible with OS8/V3d. Indeed it does not work on this disk. Wherever it came from, it's wrong. New packs have the good, working, tested LCSYS.BI, as stored in local.tu56 check-in: 1e54026f8f user: poetnerd tags: clean-os8-packs
05:02
Added cover scan of the green-yellow 1968 edition of DEC's "Small Computer Handbook" for the PDP-8/I. check-in: e6215cb721 user: tangent tags: trunk
03:10
Renamed with-lowercase to with-lcmod. All the code that implements lcmod in auto.def, mk-os8-rk05s, 0.script is in place. The LCSYS.BI batch script runs, but is having no effect. TODO debug LCSYS.BI so that lcmod actually works. check-in: 73a45794f1 user: poetnerd tags: clean-os8-packs
01:49
Corrected typo in mk-os8-rk05s.in Checking in local.tu56 that contains locally developed files that are part of the system build process. check-in: 59b79564ee user: poetnerd tags: clean-os8-packs
01:34
This change implements --with-vtedit, --without-chess, and adds copyin of LCSYS.BI and UCSYS.BI scripts. check-in: da7d583f58 user: poetnerd tags: clean-os8-packs
00:58
mk-os-rk05s.in now has args for config pieces conditionalized on: --with-vtedit (Not yet written) to add the TECO VTEDIT stuff. --without-crt Does SET TTY SCOPE by default unless this option is set. --without-lowercase (Not yet written) Activates LCSYS.BI. (Will require conditionals in startup script.) --without-advent to disable installing ADVENT --without-chess (Not yet written) To disable default install of CHESS So advent is now part of the packs by default as is CRT mode. check-in: 72bf281ca1 user: poetnerd tags: clean-os8-packs
2017-09-07
06:56
pidp8i-sim is now a prerequisite for the OS/8 RK05 pack building process. Without this, building from a clean directory fails because the simulator doesn't exist early enough. check-in: 63233d74ba user: tangent tags: clean-os8-packs
04:28
Discovered that data files for YAHTZE and MONPLY were left out. Earlier test runs succeeded because the files were on RKB0 of booted packs, precisely where the basic programs are hard-coded to get them. New packs would fail to run these programs because the data files were never installed. Until now. check-in: 2251f49324 user: poetnerd tags: clean-os8-packs
03:12
We left out too much from system Dectape 2. Now we copy in Fortran II .RL files and .HL files. Also, as a safety measure we do "SET SYS NO INIT" before running BUILD. The default Dectape images have this state, but if we ever use this code to build with another image, we need to turn off INIT. check-in: 6aa7475e9e user: poetnerd tags: clean-os8-packs
2017-09-06
20:55
Refactored make_src. bin, src, and all seem to work. TODO: Review log output and disk contents and confirm all is well. Next up: Installing local hacks. Decision: one system rk05 with everything? Or a second one with just virginal OS8/8 v3d? check-in: 0201efadd6 user: poetnerd tags: clean-os8-packs
06:54
Snapshot: re-factoring mk-os8-rk05s to be table driven is half done. Also noticed that we overflowed the directory blocks. When we add kermit, and C we run out of directory space. So I've stopped copying in the device drivers. The ones that are resident in BUILD are probably sufficient. People who want to add them in can mount the driver tape. TODO: Write it up in the Wiki page. check-in: 9a36900e5f user: poetnerd tags: clean-os8-packs
00:37
Removed media/os8/os8v3d-*.rk05 now that we're able to recreate them at will. check-in: 421b3e2b24 user: tangent tags: clean-os8-packs
2017-09-05
11:49
Renamed a function for consistency with a paired function check-in: 96a313d8a0 user: tangent tags: clean-os8-packs
11:46
Added --without-* options to the configure script corresponding to the other *.tu56 files in the media/subsys directory, which pass similarly named options to the mk-os8-rk05s script. These all default to "off", meaning that these components are normally installed. (Technically, that's backwards: autosetup considers them boolean enabled by default options, which causes the --help message to document them as --disable-*, since that is the only form of option that causes a change in the default behavior of the configure script. You can say things like ./configure --with-cc8; it just doesn't do anything useful.) check-in: 5fcb62ab70 user: tangent tags: clean-os8-packs
11:09
Added the "./configure --with-music" option, which in turn causes the flag of the same name to be passed to the mk-os8-media script when called from the top-level Makefile. check-in: 23021c2cc5 user: tangent tags: clean-os8-packs
11:04
The mk-os8-rk05s script now runs as part of the normal build process as well as a prerequisite for the "install" and "run" targets. If any of the relevant TU56 tapes or the mk* script changes, the output is invalidated and gets rebuilt. check-in: 4d1a7ed591 user: tangent tags: clean-os8-packs
11:04
boot/0.script now boots from the new os8v3d.rk05, not the old os8.rk05. The new one is still not finished, but it will be by the time this branch is marged into the trunk, and it's convenient to be able to say "make run" to test our progress. check-in: 9df3792722 user: tangent tags: clean-os8-packs
10:31
Added --with-music option to tools/mk-os8-rk05s script. This checkin also changes pretty much every bit of code that referred to the media/os8 subdirectory, since we now need to refer also to media/subsys. Future --with and --without flags added to this script will not be so intrusive. check-in: 586526ddfe user: tangent tags: clean-os8-packs
09:39
The new mk-os8-rk05s -v flag now has an effect, causing SIMH and OS/8 output to go to the console instead of to a log file, which is now called obj/mk-os8-rk05s.log instead of log.txt at the top level. This option also suppresses most of the progress messages we added recently since the output from SIMH and/or OS/8 suffice in that case, and we don't want their outputs polluted by messages from the script in that case anyway. check-in: 66481ebd58 user: tangent tags: clean-os8-packs
09:20
Replaced the command line parser of mk-os8-rk05s with an ArgumentParser based one, which does better error checking and generates a nice usage message. It also parses an optional -v or --verbose flag, which we will do something with next. check-in: fe1d1e04f1 user: tangent tags: clean-os8-packs
08:46
Added many "print" calls to mk-os8/rk05s to show build progress. check-in: 5186973178 user: tangent tags: clean-os8-packs
08:27
Added a UTF-8 encoding hint comment to the top of tools/mk-os8-rk05s.in. Python doesn't assume UTF-8 on POSIX platforms as most other languages do, and it barfs on the non-ASCII © symbol in the new header comment without this. check-in: 235bdcc40b user: tangent tags: clean-os8-packs
08:18
Comment and whitespace improvements to mk-os8-rk05s. check-in: c5ec67be9e user: tangent tags: clean-os8-packs
08:04
Added header comment to mk-os8-rk05s, including SIMH License grant. EDIT: Received permission from William Cattey and Jonathan Trites via private email on/around 2017.09.05 to release their contributions under the SIMH license. I being the final author so far, that seals it. check-in: b63f870147 user: tangent tags: clean-os8-packs
07:59
Small tweaks to "global child" stuff in mk-os8-rk05s script check-in: 224872bb99 user: tangent tags: clean-os8-packs
07:43
Added a usage message to mk-os8-rk05s. check-in: 270d044eba user: tangent tags: clean-os8-packs
07:23
Further tweaks to the AUTHORS.md file check-in: 8db54aaaf9 user: tangent tags: clean-os8-packs
07:17
Added Jonathan Trites to the AUTHORS.md file. check-in: 27d02c6719 user: tangent tags: clean-os8-packs
07:14
Added checks for Python and pexpect to the configure process, as they are necessary to run tools/mk-os8-rk05s, which will shortly become a required part of the build sequence. It does not check for Python 2 vs Python 3, as it is not yet known to me (at least) whether this distinction matters. check-in: 4307eba025 user: tangent tags: clean-os8-packs
06:33
Simplified an unnecessary string concatenation in the generation of tools/mk-os8-rk05s. check-in: 178da96905 user: tangent tags: clean-os8-packs
06:31
Merged in "cd $prefix/share/media" fix for the pidp8i init script, which will shortly become helpful in the mk-os8-rk05s script. check-in: 90fe5ea7aa user: tangent tags: clean-os8-packs
06:30
Added a sensible-default cd $prefix/share/media to etc/pidp8i-init.in just before the "start simulator under screen" call, so that SIMH's CWD will be somewhere useful, not taking the default used by the OS's init system, which may well be something entirely unhelpful like /. check-in: 46366581f0 user: tangent tags: trunk
06:13
Merged in trunk improvements check-in: 0b7f31d043 user: tangent tags: clean-os8-packs
06:12
Made tools/mk-os8-rk05s.in executable. check-in: 050a77b879 user: tangent tags: clean-os8-packs
06:11
Typo fix in previous. check-in: 321f218fcb user: tangent tags: clean-os8-packs
06:07
Moved media/os8/make_os8_rk05s.py.in to tools/mk-os8-rk05s.in. The directory change is because it will become an automatically-run build tool, and it is not now nor will it become "media". The file name change is mainly a matter of matching existing style: dashes instead of underscores, no ".py" extension needed for one-file scripts, and historically "mk" instead of "make" on a Unix type platform. check-in: a1be47bd09 user: tangent tags: clean-os8-packs
04:53
This version of make_os8_rk05s.py.in seems to work. TODO: 1. More testing of the packs generated. 2. Check on how the system Dectape got modified. (It's probably fine.) 3. Remove the old os8v3d-bin.rk05 and os8v3d-src.rk05 images. 4. Expand the script to build a new os8.rk05 5. Dig in and find out why expect HANGS when we try to do: simh_send("cont") os8_send(anything) check-in: 5fe02ffa8f user: poetnerd tags: clean-os8-packs
02:46
First attempt at code to generate OS-8 src and bin RK05 packs from source Dectape images using a python script. Python script is hooked into auto.def to parameterize the location of the media files. check-in: 3f0511bb6d user: poetnerd tags: clean-os8-packs
2017-09-03
15:36
Updated to fix missing last character of ASCII files. check-in: 3428d2e4ca user: poetnerd tags: clean-os8-packs
2017-08-31
21:02
Corrected cosmetic problem in ROCKET.BA ROCKT1.BA TICTAC.BA and WAR.BA: last linefeed in the file was missing. Fixed the files and made a new version of the .tu56 image. check-in: e360448331 user: poetnerd tags: clean-os8-packs
2017-08-11
14:29
Removed CCBTCH.TM because it's a temporary file, unrelated to the C subsystem. check-in: 48ffb83d68 user: poetnerd tags: clean-os8-packs
00:49
Style pass on media/os8/README.md: wrapped long lines for 80 column displays; fixed capitalization of acronyms, brands, etc.; moved some long URLs to the bottom as Markdown references. check-in: 2d92dfad81 user: tangent tags: clean-os8-packs
2017-08-10
20:53
Music Subsystem. Contains source to MUSIC.PA, a program that takes .MU score files, and makes RFI noise on a physical pdp-8 to play it. Legend has it that some sites built a trivial interface that could be used instead of RFI noise. TODO: Investigate how this might run under SIMH or in the PiDP-8. See also the PiDP-8 discussion thread on this: https://groups.google.com/d/msg/pidp-8/Fo2RSfUsIwo/P14Kh5nPBwAJ check-in: d74e9f2454 user: poetnerd tags: clean-os8-packs
20:48
Dectape subsystem overlay of Kermit-12. Contains binaries from old os8.rk05 system packs. TODO: Integrate upstream Kermit-12 source and build from source into this image. check-in: 092914c957 user: poetnerd tags: clean-os8-packs
03:14
Creating directory for subsystems called "subsys" (to be easy and short to type.) First two inhabitants are: The newly cleaned up basic-games demos in basic-games.tu56 Ian Schofield's C compiler stuff unpicked from the cc8.rk05 packs. TODO: Create a mechanism to create cc-bin.tu56 from source here. (Involves scripts to do builds on OS/8 system and save new dectape data.) check-in: 4ec42ee1bf user: poetnerd tags: clean-os8-packs
2017-08-07
03:25
Updated to render more cleanly, and to give credit to van der Mark and Gesswein. check-in: acb186d7b2 user: poetnerd tags: clean-os8-packs
03:04
Added the Dectapes from vandermark.ch and the beginnings of a README.md file that says what everything is. TODO: Validate the README.md file, and add credit for vandermark.ch. check-in: 3381cd4769 user: poetnerd tags: clean-os8-packs
2017-08-06
18:25
The bosi script has been generating SHA-1 160-bit sums in the MANIFEST.txt files. Calling shasum -a 256 now to give the claimed 256-bit SHA-2 sums instead. check-in: b0c16edcfe user: tangent tags: trunk
2017-08-02
23:11
Moved examples/*-rim-loader.pal to a new asm/ top-level directory, since they aren't really "examples" per se. check-in: 505e8f1a3c user: tangent tags: trunk
18:39
Added myself. check-in: de01588443 user: poetnerd tags: trunk
2017-07-31
17:12
Adding an rk05 pack that contains complete OS/8 sources built from the OS/8 distribution tapes. MACREL and FIV source are NOT present. check-in: 0421f771e1 user: poetnerd tags: clean-os8-packs
01:53
New pristine os8v3d binary rk05 pack built from Dectape distribution. Use this to craft packs customized to different uses. check-in: 4fad196e10 user: poetnerd tags: clean-os8-packs
2017-07-30
05:43
Merged trunk changes in Closed-Leaf check-in: 5edf3ced9b user: tangent tags: cc8-merge
05:42
Updated SIMH Users' Guide link from the old 3.9 doc to the one we host as an unversioned file. check-in: d807dd7a23 user: tangent tags: trunk
04:29
Added branch naming paragraph to HACKERS.md check-in: c92201cfe0 user: tangent tags: trunk
04:22
Clarified what "fossil update" on a tag checkout would do. check-in: 018e9f92b4 user: tangent tags: trunk
04:18
Rewrote the Fossil 2.1 discussion at the top of HACKERS.md for clarity. check-in: 2f43f08b35 user: tangent tags: trunk
03:13
Removed the "sudo" bit on the "make run" target. It's helpful on the Pi for ensuring that you get real-time priority when running a test build, but on all other host platforms, it isn't needed, so it adds an unnecessary password prompt and runs the simulator with more privs that it needs. On a Pi, say "sudo make run" instead. check-in: 9ebb6a6683 user: tangent tags: trunk
2017-07-16
14:33
Merged ChangeLog.md entries in check-in: 7500e6a6f9 user: tangent tags: cc8-merge
14:33
Clarification to previous check-in: 47bf89622c user: tangent tags: trunk
14:32
Updated the ChangeLog comment for the 2015.12.15 release, which was still saying it remains the current stable version. check-in: db7fbd7fc9 user: tangent tags: trunk
01:45
Changed a bunch of "return;" lines in the CC8 cross-compiler to "return 0". It's using K&R function declarations, which means you get an implicit "int" return type, and Clang won't let you just "return" in this case. check-in: b74fa40bf2 user: tangent tags: cc8-merge
01:43
Changed the declaration of main's argv parameter for the cross-compiler from int* to char** to quiet Clang. This does mean the compiler can't be bootstrapped on OS/8 by CC8 from these sources, but according to Ian Schofield, that produces an unusably big assembly output already. Therefore, the only important compiler for this file is GCC or Clang. check-in: c5afc7544f user: tangent tags: cc8-merge
01:36
Added cc8/Makefile.in check-in: cdbe48dd2c user: tangent tags: cc8-merge
01:31
Yet another Fossil Markdown workaround check-in: d398e5cc9a user: tangent tags: cc8-merge
01:28
Another Fossil Markdown workaround check-in: 5e1c8572c1 user: tangent tags: cc8-merge
01:27
Fossil's markdown processor isn't handling some of the bold type changes we made in the RTF -> Markdown conversion. Reworked it to something it will accept. check-in: 2853cbdbe5 user: tangent tags: cc8-merge
01:26
Small tweaks to the CC8 top-level readme check-in: 5a6768982e user: tangent tags: cc8-merge
01:13
Merged in the 2017.07.08 distribution of Ian Schofield's Small-C based CC8 native and cross-compilers for the C programming language. This checkin differs in many ways from the upstream distribution so far, with more changes planned before merge into the trunk: * Converted the RTF and the Readme.txt files to Makrdown format. * Fixed some typos and grammar errors in those files flagged by LibreOffice Write. * Changed "PDP/8" to "PDP-8" and similar, to match DEC conventions. * Fixed some case inconsistencies: e.g. "N8.c", which is actually distributed as "n8.c". * Replaced the link to Vince Slyngstad's SVN checkout image to a link to the HTML page that describes it. * Moved the top-level RTF doc's Addendum up above the Conclusion as the new Preprocessor section. * Changed "hosted" to "cross" in the top-level doc, that being the more common term for this sort of C compiler, and because "hosted" has a different meaning in the C standard. * Renamed the SMC directory to "cross" for the same reason; also, this can't really be said to be a distribution of Small-C any more, with so many differences. * Qualified "native" with "OS/8" or "PDP-8", as seemed appropriate. The unqualified form could refer to the cross-compiler, since it is native to the SIMH host! * Renamed the "ccos8" subdirectory to just "os8", since this software is under a cc8 directory in the PiDP-8/I tree, with subdirectories for the CC8 cross-compiler (cc8/cross) and the CC8 OS/8 compiler (cc8/os8). * The top-level PiDP-8/I build system now builds the cross-compiler, so I removed all the other Makefiles and project files. * Moved the warning about using unix2dos into the top-level README.md, from cc8/smc/test/Readme.txt, where few would notice it. * Consolidated redundant copies of OS8.TM and libc.h into a cc8/include directory, with symlinks checked in for the benefit of the native OS/8 compiler, which would make use of relative paths annoying. (When checked out on a Windows box, the symlinks will give copies of the files, due to severe limitations in the NTFS symlink implementation.) I also renamed OS8.TM to init.pa, as this doesn't seem OS/8-specific, and it appears to be PAL assembly code, not a temporary file, that being the normal meaning of *.TM on OS/8. * Left out *.s, as they are generated files. (I did check in header.sb, as it appears hand-written.) * Renamed 7.script to boot/cc8.script and rk05.dsk to media/os8/cc8.rk05, and updated the references. * Removed the VC8 stuff from the boot script, since the current SIMH build does not include that, so it generates errors on start. check-in: 6cfe232a65 user: tangent tags: cc8-merge
2017-07-11
06:14
The configure script now checks whether -lrt is needed to use clock_gettime(). check-in: bc11dba4eb user: tangent tags: trunk
2017-07-10
19:59
Removed " IPS" from configure message reporting the chosen/set throttle value since the setting isn't always expressed in instructions per second. check-in: ee1f5fad62 user: tangent tags: trunk
2017-07-06
12:30
The bosi script now enables sshd to start on boot. We didn't have to do this before since Raspbian shipped with sshd enabled, but from November 2016 on, it's now disabled, so we have to turn it back on. check-in: ff580eaa9f user: tangent tags: trunk
2017-04-09
22:55
Updated Dylan McNamee's AUTHORS.md entry check-in: e01464a267 user: tangent tags: trunk
22:02
Merged Dylan McNamee's fixes for the alt-serial mode into trunk check-in: 8ed5b34d8b user: tangent tags: trunk
22:01
Comment and whitespace changes Closed-Leaf check-in: b326226453 user: tangent tags: alt-serial-fix
19:33
Reordered GPIO peripheral mapping in the James L-W alt-serial case. It needs to do the normal GPIO mapping before attempting the secondary one used by alt-serial, since only the primary mapping is checked. check-in: 25d6254e75 user: dylan.mcnamee tags: alt-serial-fix
2017-04-04
13:11
Merged trunk changes for v20170404 into release branch check-in: 01083a76e7 user: tangent tags: release, v20170404
13:10
Tagged release v20170404 check-in: 078e1d9324 user: tangent tags: trunk
13:08
Using `set throttle 50%` instead of trying to find an ideal IPS value for single-core hosts, and explained the reasoning behind this in README-throttle.md. check-in: 1d4b018441 user: tangent tags: trunk
11:24
"bosi prepare" now stops pidp8i-sim before starting work, so it doesn't slow the prepare process down. It will normally be running, since you do this step shortly after a reboot. check-in: 81b262dcf5 user: tangent tags: trunk
11:18
Removed the time(1) call on the "zero free space" part of "bosi prepare". Raspbian doesn't ship /bin/time (bad, bad!) and Bash's builtin version isn't available at that point, so the dd wasn't even happening! check-in: 2d11f4b37f user: tangent tags: trunk
11:13
Clarified the default throttle value on single-core Pi boards. check-in: c180d1af1a user: tangent tags: trunk
10:59
Merged trunk changes for v20170404 into release branch check-in: 47a06feed3 user: tangent tags: release
10:59
Tagged release v20170404 check-in: cc8cfe61df user: tangent tags: trunk
2017-04-03
08:53
Merged trunk changes for v20170403 into release branch check-in: 31ed8d5b96 user: tangent tags: release, v20170403
08:50
Tagged release v20170403 check-in: 948f08c86f user: tangent tags: trunk
2017-04-02
17:12
. check-in: 62187af0b1 user: tangent tags: trunk
17:04
Updated HACKERS.md for the Fossil 2.1 situation check-in: f5fe83734d user: tangent tags: trunk
16:51
URL and whitespace fixes in HACKERS.md check-in: 567d1e4219 user: tangent tags: trunk
16:39
Changed --throttle=human from running 10 instructions and sleeping for a second to running one instruction and then sleeping for 100 ms. check-in: e000553005 user: tangent tags: trunk
16:36
Reworked README-throttle.md a bit to cover the automatic disabling of ILS when a slash is given (implicitly or explicitly) in --throttle. check-in: b559e016b2 user: tangent tags: trunk
2017-04-01
23:39
Merged v20170401 back in after trunk fork fix check-in: a16d7c0eef user: tangent tags: release, v20170401
23:37
Fixed dual trunk caused by misapplying a "trunk" tag check-in: 76efa543af user: tangent tags: trunk
23:36
Fixed the palbart autodep generation output file name check-in: d15123bb7e user: tangent
23:25
Updated release branch to new v20170401 tag check-in: b1503bc948 user: tangent tags: release
23:19
Fixed a status code and quoting problem with the new Pi Zero detection code in auto.def, where it's deciding the default throttle value. check-in: b1711ead0a user: tangent
22:11
Using /dev/rdisk* for "bosi image" only in the dd steps now, not in the diskutil steps. check-in: f7159c3245 user: tangent
22:05
"bosi image" now uses /dev/rdisk* for speed check-in: f8e9405818 user: tangent
21:26
More Fossil install fixes in BOSI check-in: 01775ffa71 user: tangent
21:18
More BOSI fixes to recent changes check-in: b06bfde25a user: tangent
21:15
Small fix to previous check-in: f9d135e9e8 user: tangent
21:13
The usbmount config change in BOSI wasn't working because usbmount isn't installed by default on Raspbian; we were doing it as part of "make install". Copied that bit from Makefile.in. (Can't move it outright becasue we still need to do the right thing when the user is installing our software from source onto a fresh Raspbian system.) check-in: 762d53b7a4 user: tangent
21:09
Portability fix in the recent Fossil-from-source change to BOSI check-in: 81f6499523 user: tangent
20:57
Release process tweaks check-in: 7c65564687 user: tangent
20:36
Typo fix check-in: 6cf0ac32ad user: tangent
20:23
The colordiff part of mkrel was missing " | less " check-in: 72e15c5ecb user: tangent
20:22
Merged trunk changes for v20170401 into release branch check-in: cba0f3aa07 user: tangent tags: release
20:11
Tagged release v20170401 check-in: 5c47394f19 user: tangent tags: trunk
20:03
Another SIMH update. check-in: 7b5d3468e0 user: tangent tags: trunk
19:46
Small tweak to previous check-in: f1a2300bb3 user: tangent tags: trunk
19:34
Replaced the installation of Fossil from the Raspbian package repository with a build-from-source process so we can switch to Fossil 2.1+. check-in: 32624ed9fe user: tangent tags: trunk
19:13
Added pidp8i-test -v handler, which just gives the version string and exits. check-in: a13e82e87d user: tangent tags: trunk
18:53
The BOSI process now tells the USB automounter that FAT sticks should be world read-write, rather than read-only by all but root, as is the default. Non-FAT sticks are left alone, since presumably their filesystem permissions will let non-root users do things to them. check-in: 03346009d5 user: tangent tags: trunk
18:38
Merged "turn off LEDs on pidp8i-test exit" branch into trunk. check-in: 2703988ccd user: tangent tags: trunk
18:35
Simplified the turn_off_pidp8i_leds() implementation. Closed-Leaf check-in: 4d419abfdf user: tangent tags: turn-off-leds-on-exit
18:32
Assorted improvements to pidp8i-test shutdown handling. check-in: cb6c6de1f9 user: tangent tags: turn-off-leds-on-exit
18:22
pidp8i-test now de-initializes ncurses and turns off the front panel LEDs on Ctrl-C and normal exit. check-in: 10958ee1b3 user: tangent tags: turn-off-leds-on-exit
2017-03-31
10:50
Clarity tweak check-in: 1ab2a15d37 user: tangent tags: trunk
10:47
Typo fix check-in: 15190783f9 user: tangent tags: trunk
10:43
Merged the "overwriting the local simulator setup" stuff from the new --no-idle section of README.md in with similar information previously given later in the file into a new section that --no-idle now refers to. check-in: a943c3c122 user: tangent tags: trunk
09:58
Noted that re-configuring can fix make dependencies in the README.md file. check-in: 3126f10816 user: tangent tags: trunk
09:51
Added some "ILS" and "NLS" descriptors check-in: 59e6c3f231 user: tangent tags: trunk
09:50
Expanded the coverage of --no-idle somewhat check-in: 51c19b9240 user: tangent tags: trunk
09:44
Documented --no-idle in README.md check-in: e5ab9936a1 user: tangent tags: trunk
2017-03-30
12:39
Disabling PDP-8 CPU idling when ILS is enabled. This has always been the default for some boot/*.script files, but we need to enforce it when ILS is enabled because we need regular CPU instruction rates to make this work. Closes [c9eb5ac0144] Also added a new configure script flag, --no-idle, to allow NLS users to disable CPU idling too, if they like. The *.script files generated from *.pal are marked noidle, with no way to change it at present. CPU idling doesn't make much sense for these two (1.script and 5.script) anyway. check-in: f24edf21c1 user: tangent tags: trunk