PiDP-8/I Software

Timeline
Log In

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

50 descendants and 50 ancestors of 78e77bf3f045c3ea13e4b2bbe0b1ea5def96c46aae7f9c5010a38e50b75b357e

2020-04-19
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-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:09
Switched Prism dark theme to Solarized Light. (EDIT: Reverted to dark; looks better with our repo skin.) Closed-Leaf check-in: 9860d36b97 user: tangent tags: BOGUS
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
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: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: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
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: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
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