PiDP-8/I Software

Timeline
Log In

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

140 check-ins using file README.md version 6b39340a92

2016-12-26
20:23
Merged simh-update branch into trunk check-in: 9025c14510 user: tangent tags: trunk
20:07
Merged the tip of the release branch into trunk again. Not sure why the previous merge didn't get absolutely everything, but it did manage to miss the last few release branch changes somehow. check-in: 0e9d5e4a4e user: tangent tags: trunk
09:29
update template files to my most recent versions - the initial commit version would not build Closed-Leaf check-in: 43ed427653 user: tony tags: simh-update
09:04
created branch for merging updated simh files from github commit 5ced037b4bdbf36e04b78bcfde780b07871babb5 on 2016/12/19 check-in: a0a4ae25d3 user: tony tags: simh-update
2016-12-25
15:32
Moved all trunk checkins from the v20161203 release point to a new long-lived "release" branch, then merged the tip of that branch (the previous trunk tip) into the actual trunk. The end result is that we have a few weeks of checkins that all appear to be release versions, but that will disappear into history soon. check-in: c39069fdfb user: tangent tags: trunk
2016-12-23
17:24
Moved the new "disable competing services" install step above the "enable pidp8i service" step, and using parallel methods to enable the latter as we do to disble the former. check-in: cbbee9c080 user: tangent tags: release
17:20
Disabling the 'deeper' and 'pidp8' services on 'make install' in case they're present, in which case they'll fight with our service. Closes [a1cd66327f]. check-in: 8060e0fbd2 user: tangent tags: release
17:11
Appended gpio to the supplemental group list of @INSTUSR@ if group gpio is present on the install system, as it will be on the Raspberry Pi. This is needed for end users who build and install the software under a different account than the default 'pi' user or a derivative, as we do with user pidp8i in the binary installation media. Closes [56397a0c55] check-in: 4f68bc260d user: tangent tags: release
2016-12-20
00:07
Updated the FORTRAN item in the previous ChangeLog.md, on finding that both problems affected FORTRAN IV, not one affecting FORTRAN II as I supposed. check-in: b8f9c278e8 user: tangent tags: release
2016-12-19
07:30
Fixed an operator precedence problem in the new switch combos, which caused the reboot/shutdown sequences to be ignored. check-in: 6351b989cf user: tangent tags: release
2016-12-18
11:08
Merged trunk check-in: 7459461159 user: tangent tags: no-lamp-simulator
11:06
Release v20161218 (replaces v20161217) check-in: 7a5e811420 user: tangent tags: release, v20161218
10:58
Small fix to previous check-in: 376f78b41b user: tangent
10:56
Reworked the bosi verbs a bit check-in: 96c594822f user: tangent
10:47
Better method for handling image file tags check-in: 84487c34e3 user: tangent
10:16
Added -y to apt-get commands on install check-in: 2d782b6c12 user: tangent
09:45
. check-in: 36290a638f user: tangent
09:39
. check-in: 695497e05f user: tangent
09:29
. check-in: 767829139e user: tangent
09:13
. check-in: f9832ddd33 user: tangent
09:05
. check-in: 618cd75026 user: tangent
09:01
. check-in: e22880c684 user: tangent
08:45
. check-in: e4f3b5c0f2 user: tangent
08:40
Merged the bosi* scripts into a single big script check-in: 919ce12805 user: tangent
07:24
Formatting tweak check-in: 671ea7eeb2 user: tangent
07:23
More bosi1 improvements check-in: c27db21136 user: tangent
07:06
More bosi1 improvements check-in: 0938895777 user: tangent
06:55
`usermod` fix for bosi1 check-in: cbf213da66 user: tangent
06:37
Release v20161217 check-in: a7942d025f user: tangent tags: v20161217
05:49
SD card moved to rdisk10 check-in: f7c330ef4e user: tangent
2016-12-17
20:29
Moved final stage of RELEASE-PROCESS.md into bosi5 and extracted some common bits between it and bosi4 into etc/bosi-vals. check-in: 53a7c6cd5b user: tangent
20:19
Moved the fourth scriptable stage of RELEASE-PROCESS.md out to tools/bosi4. check-in: 452d8fc7f7 user: tangent
20:05
Comment tweaks check-in: 258bd4e3ed user: tangent
20:01
Moved the third scriptable stage of RELEASE-PROCESS.md into tools/bosi3 check-in: 982e36534e user: tangent
19:52
. check-in: 9b06398136 user: tangent
19:52
Moved the second scriptable stage of RELEASE-PROCESS.md into tools/bosi2 check-in: c11ec50192 user: tangent
19:37
Shortened the initial curl command for kicking off the BOSI process. check-in: 2119ccd8c5 user: tangent
19:32
Moved bosi1 from bin to tools dir check-in: 3371a65bf0 user: tangent
19:30
Moved the first scriptable step of RELEASE-PROCESS.md into tools/bosi1. check-in: 75b46acb84 user: tangent
18:19
Added "make release" and `tools/mkrel` to automate the tagging of new releases. check-in: 7969860a8b user: tangent
2016-12-16
12:52
Background fix (again) check-in: 40d4a0a373 user: tangent
12:48
Border and background improvements for VTEDIT diagram check-in: 6cb84eb396 user: tangent
12:44
Layer fixes to previous check-in: e799bb8810 user: tangent
12:36
Created PNG version of VTEDIT keypad diagram; browsers aren't rendering the SVG sanely. check-in: 401152a2ae user: tangent
12:17
. check-in: 3005fac429 user: tangent
12:06
. check-in: 10c7148b06 user: tangent
12:00
Initial version of VTEDIT keypad diagram check-in: 14046da782 user: tangent
08:51
Copied UCSYS.BI and LCSYS.BI over from advent.rk05 check-in: 92a38353c0 user: tangent
08:45
Small fix to previous check-in: a70a030e1c user: tangent
08:43
Put guards on the new reboot/poweroff switch combos to make them not run when the PiDP-8/I panel isn't present. check-in: f4ce8086b8 user: tangent
08:41
Added missing etc/sudoers.in check-in: 2809cef764 user: tangent
07:44
Swapped the meaning of Sing_Step + Sing_Inst + Start from poweroff to reboot, as the mnemonic seems to speak of "restart" rather than "shutdown and power off." Then instead of reassigning the + Cont combo to shutdown, gave it + Stop. check-in: 855e1e9883 user: tangent
07:33
Moved the Sing_Step + Sing_Inst + X switch combo detectors outside the block that turns Sing_Step into a momentary switch in software. With the tests inside that block, the exact order of switch activations matters, but we want the combinations to take effect regardless of switch close order. check-in: 2ec003caf0 user: tangent
07:28
Replaced many of the bare constants used for switch detection in the simulator with the new GPIO SSn_* constants. check-in: 6acd6b1416 user: tangent
06:22
Added a series of #defines for switchstatus masks check-in: 656b4cc0f1 user: tangent
06:07
Worked around a race condition in test.c that caused it to fail to start if the GPIO thread didn't start fast enough, thinking that the lock had not been acquired. (The proper fix would be a mutex or semaphore, but...) check-in: 510d648410 user: tangent
05:44
Replaced the calls to shutdown(8) and reboot(8) with calls to /bin/systemctl, the proper way to do such things on modern Ubuntu. Then, added those commands to /etc/sudoers.d for the install user so that the user can run those commands via pidp8i-sim without superuser privileges. Closes [0584a955f5]. check-in: d1ca449bfa user: tangent
2016-12-15
12:56
Copied Rick Murphy's modified VTEDIT-for-VT100 stuff to SYS: on the OS/8 disk image, and added a slightly modified version of VTEDIT.DC (docs for the editor) given by Rick on the mailing list. check-in: 9fdbd48f6f user: tangent
03:02
Ran SQUISH on both halves of the OS/8 disk image, in case the previous edits fragmented it. check-in: 67edb22601 user: tangent
02:58
Copied FORLIB.RL over from Rick Murphy's advent.rk05 disk to os8.rk05 to solve an issue reported way back in April on the mailing list: https://groups.google.com/forum/#!searchin/pidp-8/fortran%7Csort:relevance/pidp-8/VACP-EhC-L8/omae17ZSBQAJ check-in: cdd0f01b45 user: tangent
02:55
Copied FRTS.SV from Rick Murphy's advent.rk05 disk over the top of the broken one that came from upstream on os8.rk05. Now ".R FRTS" doesn't just hang. Closes [12dd9869d0] check-in: c696fa9b04 user: tangent
2016-12-11
06:32
Added doc/led-decay.cpp, demonstrating my idea for a source-rate independent replacement for the incandescent lamp simulator. check-in: 77387fd163 user: tangent
00:42
Dependency fix for Makefile.in check-in: c5220390fe user: tangent
2016-12-10
23:52
Merged BOOTDIR fix from trunk check-in: beb62e8230 user: tangent tags: no-lamp-simulator
23:51
Reverted the renaming of pdp8_cpu.c.in. The removal of the references to @ABSPREFIX@ wasn't the total removal of all autosetup-provided values. There was still a use of @BOOTDIR@, at least. check-in: 9adbcad6b9 user: tangent
22:27
Merged in trunk changes check-in: 72ad17c733 user: tangent tags: no-lamp-simulator
22:15
The recent change to autodetect available C compiler flags accidentally dropped out -D_GNU_SOURCE, which broke the build for sim_fio.c. check-in: af1e357fb1 user: tangent
20:48
Removed a stray "RKB0:" in examples/README.md. The rest of the commands don't expect this file to be on the second slice. check-in: 0a869556c4 user: tangent
19:53
Added BASIC section to examples/README.md check-in: ad15ce98aa user: tangent
06:31
Small fix to previous for clang. check-in: 5756284bf7 user: tangent
06:12
Fixed a few problems with the "make clean" and "make distclean" targets check-in: 0dbecf027d user: tangent
06:09
Conditionally added several GCC-specific flags to CFLAGS to better match how upstream SimH 4.0 is built. Also made some of the existing flags conditional, in case Clang drifts away from GCC-compatibility. check-in: cf898b1ffa user: tangent
2016-12-09
20:19
Added PIP alternative to EDIT in examples/README.md check-in: 552d4ebda4 user: tangent
20:08
Improved comments in boot/5.script check-in: 676a0faae1 user: tangent
19:53
Added assembly language version of 5.script as ac-mq-blinker.pal check-in: 91297147ab user: tangent
05:09
Diked out the USB media mount/unmount features added to the buildroot version, since it isn't necessary with my binary images. In fact, if you *don't* use the original buildroot custom OS, it doesn't work at all. Since I don't want to use buildroot, we might as well free these front panel switch combos up for other purposes. check-in: d13004a8f5 user: tangent
04:49
The /dev/gpiomem mmap/unmap pair now acquires a lock on the device so that two LED-manipulating programs cannot grab the device at once. This prevents multiple pidp8i-sim simulators or combinations of simulator and pidp8i-test from fighting over the LEDs. We *do* allow scanswitch to run in parallel with these other two, since that's harmless. Closes [9390414809] check-in: f26340b636 user: tangent
02:51
Minor adjustments to AUTHORS.md check-in: 81ff3fa674 user: tangent
2016-12-08
03:25
If the simulator fails to open /dev/gpiomem or to mmap() the GPIO peripheral into its address space, it now disables the PiDP-8/I front panel functionality so that we don't get phantom switch activations on non-Pi systems. Basically, it reverts to nearly-stock SimH behavior. This lets you build and test off the Pi, on a faster system, and deploy to the Pi once you've got something worth testing on the actual hardware. Closes [0a89046aab5]. check-in: 1486a28eb2 user: tangent
03:07
The init script now drops superuser privileges before executing any screen(1) command so that the simulator and its attached screen session are owned by the user who configured the software, which is presumably the one who will be trying to run it. Similarly, the bin/pidp8i script now no longer runs screen(1) via sudo. The practical upshot of this is that the only remaining commands that you have to run via sudo are the ones to start and stop the simulator, and that's only because service control feels like it should belong to root. Closes [aa4c9ba77]. check-in: 477b1549b6 user: tangent
02:28
The binary media images now install as group-writeable by the primary group of the user who ran the configure script, so that you can run the simulator against the installed images as a regular user and still be able to write to the installed media. check-in: 023ef97693 user: tangent
01:56
Prior checkin didn't work because setcap doesn't accept more than one executable name. check-in: c741e0ffe0 user: tangent
01:52
Applying the "let user program increase its priority" setcap fix to bin/pidp8i-test as well. check-in: 88c2045e7d user: tangent
01:49
Applied the /dev/mem -> /dev/gpiomem change check-in: 12f1c46bcd user: tangent tags: no-lamp-simulator
2016-12-07
16:26
The gpio-nls module now uses /dev/gpiomem instead of /dev/mem, so it can run without sudo, which is a doubly good thing because sudo resets the path so that the normal installation location's bin subdir isn't included. check-in: f1572cc816 user: tangent
16:01
Got rid of STMAX as a separate constant, since it suffices to just reuse MAX, with the understanding that MAX < 1024 now, so that the subtotal rollover point is <= 1024. A separate constant makes sense when MAX is much smaller than STMAX, but they're so close now it's pointless have both. Closed-Leaf check-in: 8dea8cc325 user: tangent tags: pep001.pal-stripped-ascii
15:54
Dropped an unnecessary CLL in SAPRT: we aren't rotating bits any more, so we don't care if the link is set. check-in: 15e5c13878 user: tangent tags: pep001.pal-stripped-ascii
15:52
Moved the SANEXT label down an instruction: it was on a redundant instruction with respect to the next iteration of that loop. check-in: 9b1e789139 user: tangent tags: pep001.pal-stripped-ascii
15:33
Squeezed two more words from SAPRT by using the PDP-8/E's SWP instruction instead of two RTR's, and using the MQ for storage instead of a named core location for temporary storage. check-in: b1903a5e57 user: tangent tags: pep001.pal-stripped-ascii
14:59
Merged trunk changes check-in: 8b7ba265bf user: tangent tags: pep001.pal-stripped-ascii
14:59
Added examples/*.err to the list of things the clean target removes. palbart normally removes these for you on a clean build, but it is possible that someone could say "make clean" just after a failed build and expect these files to be gone, too. check-in: ab1e41e4a0 user: tangent
14:57
When assembling with palbart, if the assembler returns an error we now cat the *.err file to the screen for you, so you don't have to switch editor buffers to see what error(s) it caught. check-in: 1bb0304c3d user: tangent
04:54
Binary OS images now use zip format to match the Foundation's docs, and so Windows users don't need 7Zip or similar. check-in: 058ddc4488 user: tangent
03:23
Copied gpio.[ch] over from the no-lamp-simulator branch as src/gpio-nls.[ch] for use by pidp8i-test, allowing the tester to run properly when built from this branch, too. Re-tagged as v20161206. check-in: 7a21d3f627 user: tangent tags: v20161206
02:44
Merged in trunk check-in: e754fb9b4c user: tangent tags: no-lamp-simulator
02:38
Release v20161206 check-in: 56c5d7107b user: tangent
2016-12-06
23:03
More small tweaks to the release process doc check-in: 2c6d601be1 user: tangent
22:56
Moved a hyperlink inline in the release process doc check-in: 23b058bb45 user: tangent
17:12
Rewrote PRINTS in pep001.pal to accept a subset of the "stripped ASCII" encoding produced by the assembler for TEXT directives. It is untested, and so far, it's 8 instructions longer than the ASCIIZ implementation, so I don't want to commit it as the main version even if it does work. I'm saving it as a branch in case it's useful later, and possibly someone will find a way to bum those 8 extra instructions back out. check-in: 80fe276c70 user: tangent tags: pep001.pal-stripped-ascii
16:03
Extracted updated PRINTS routine from examples/pep001.pal check-in: 45501a8440 user: tangent
15:05
Replaced the space at the end of the "ANSWER: " string constant since the previous checkin bought us two instructions at the end of page 1. check-in: e1e4f9fbe7 user: tangent
15:04
Dropped two unnecessary CLAs from examples/pep001.pal: DECPRT leaves AC = 0 and SHOWST calls that at its tail end, so removed the CLAs following the two calls to SHOWST. (Patch by Rick Murphy.) check-in: a9330964a2 user: tangent
14:59
Cosmetic improvements to examples/pep001.pal check-in: 283e4497fa user: tangent
14:58
Fixed an inverted bit test in the recently-optimized pep001.pal that caused it to skip a jump when it should jump and jump when it should skip. Fix by Rick Murphy. check-in: 4b82ef7208 user: tangent
2016-12-05
13:28
More tweaks to the examples' readme check-in: 401e3375a9 user: tangent
13:22
Replaced several references to "PAL-III" where "PAL8" should have been used. check-in: 25539f16eb user: tangent
13:21
Removed a stray paragraph from examples/README.md check-in: 371abc0cbc user: tangent
13:20
. check-in: 7d74224396 user: tangent
13:17
Formatting fix check-in: b7bef76d58 user: tangent
13:17
Expanded on the description of the examples in examples/README.md now that we have more than one pep001.* file. check-in: 078793c007 user: tangent
13:16
Renamed examples/*.ba to examples/*.bas check-in: 03953c61cc user: tangent
11:01
Release v20161205 check-in: a82c5e2a9c user: tangent tags: v20161205
10:45
Added a RELEASE-PROCESS.md document. check-in: 4db316e26b user: tangent
09:04
Previous checkin had incorrect line number references due to the optimization. check-in: d437f3e76b user: tangent
09:03
Carved two lines off of the OS/8 BASIC example check-in: 1858541d03 user: tangent
08:15
The process for creating a bootable Raspbian image for the PiDP-8/I involves removing SSH host keys. Since the stock OS apparently only does this on the first actual boot, I've added a step to the init script to regenerate these keys if they're missing. Ideally, I'd find a way to re-trigger the OS's own key generation process, but a whole lot of grepping has failed to turn it up. check-in: 1072cdb004 user: tangent
07:23
Prior changes to the init file cause it to *not start* by default. check-in: 78374aaae4 user: tangent
05:18
Merged Rick Murphy's optimizations to examples/pep001.pal. Source: https://groups.google.com/d/msg/pidp-8/OQ0LzyQ94QI/FUckXgOqDAAJ check-in: 61ddd701e5 user: tangent
05:17
Added an OS/8 BASIC solution to Project Euler Problem #1. check-in: fa2ff0c1bd user: tangent
2016-12-04
10:44
Minor improvements to the init script check-in: d50cef7245 user: tangent
10:15
Added several missing *.in dependencies to the Makefile target. The most critical are those under src, since editing the *.c.in file should force a reconfiguration, re-generating the *.c file from it. check-in: 0fc0e814b1 user: tangent
10:11
Merged trunk Leaf check-in: c1a3a38ea5 user: tangent tags: project-euler
09:38
Release v20161203 check-in: 886da7ce95 user: tangent tags: v20161203
08:39
Merged trunk changes check-in: 910d1b522c user: tangent tags: no-lamp-simulator
08:06
Using those new GPIO module API array constants in scanswitch and pidp8i-test now, too. check-in: 4cff15b2c9 user: tangent tags: trunk
08:00
Added a time-based state machine to the GPIO module's switch state change handler that doesn't report the new state of a switch after observing a change until it has remained stable in a state different from the last one reported to other modules for at least 50 ms to give the switch contacts time to stop bouncing. Closes [fcbd41dd0d] This checkin also replaces a bunch of naked constants in that same module with named constants that are calculated by the compiler, so they're always correct. check-in: 07882c14fe user: tangent tags: trunk
05:09
Sync'd with trunk again check-in: 2b244da5c3 user: tangent tags: no-lamp-simulator
04:22
Merged recent trunk changes in check-in: d384593ef8 user: tangent tags: no-lamp-simulator
04:10
Fixed a typedef, broken in one of the recent checkins. check-in: b6d5aeffdd user: tangent tags: trunk
03:58
Comment fix check-in: 07a2501c15 user: tangent tags: trunk
03:27
Much of scanswitch.c and gpio.c were duplicated. Exported these things as public API elements of the gpio module, and simply linked scanswitch to gpio.o. Also unified the delay mechanisms. check-in: d6d34de7ec user: tangent tags: trunk
01:53
Moved the "extern foo" stuff scattered around the various programs into gpio.h, and #including that from them. Also replaced some of the custom typedefs for sized int types to stdint.h types. (e.g. uint32 -> uint32_t.) These are in the same checkin because both affect the public interface to gpio.h. check-in: 0d657a6e12 user: tangent tags: trunk
01:47
Removing tags file on 'make clean' check-in: 3aa505c477 user: tangent tags: trunk
01:37
Made 'tags' a phony target, so make(1) won't consider it always up-to-date check-in: 39578d0dd6 user: tangent tags: trunk
01:24
Added ctags/tags target check-in: e8d6640336 user: tangent tags: trunk
2016-12-03
05:34
Added a dependency on bin/palbart to the *.pt targets. Without this, a parallel make can fail because it doesn't understand that the examples can't be built until bin/palbart is present. check-in: 176a5804e6 user: tangent tags: trunk
05:26
Removed some unnecessary instruction definitions at the top of examples/pep001.pal. (Things I defined during development but ended up not using in the final version.) check-in: d736d3fccf user: tangent tags: trunk
05:22
Assorted fixes to new palbart target check-in: 1901c58073 user: tangent tags: trunk
05:17
Added palbart 2.13 from https://www.pdp8online.com/ftp/software/palbart/ to the source tree and building the examples with that version instead of whatever is lying around on the system. Not only does it mean we can stop checking *.lst and *.pt into the source repo, it means we get a much newer version in many cases since the standard version you find most places is 2.4 or 2.5, which is about 6 years older, with many missing features and fixes. check-in: c77171d87c user: tangent tags: trunk
04:19
URL fix check-in: 768019fb21 user: tangent tags: trunk