PiDP-8/I Software

Timeline
Log In

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

399 check-ins using file src/sim_sock.c version 31ac7dd1bb

2017-04-01
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
12:15
Whitespace improvement check-in: 26c0054e0e user: tangent tags: trunk
11:46
The new PDF size change detector in the simh-update script would cause an error if the output PDF file didn't already exist. This doesn't happen here in practice at the moment, but it could happen later, either because of a "fossil clean", a new Fossil checkout, or because we've added a new DOC -> PDF conversion. check-in: d3e46c3944 user: tangent tags: trunk
11:43
Another SIMH update pass. Mostly more Coverity stuff. check-in: a351a7bfa1 user: tangent tags: trunk
11:39
The use of cmp(1) in tools/simh-update to detect PDF change wasn't doing the right thing, apparently because metadata is changing on each re-render. (e.g. timestamps, possibly GUIDs, etc.) Switched to a simple file size difference test, which should suffice for our purposes. Potentially a substantial change could slip through this way, but we'll eventually catch up if that ever does happen, since eventually some size difference will occur. check-in: 774a08c6aa user: tangent tags: trunk
11:22
Optimized the SIMH MS Word -> PDF doc conversion part of simh-update a bit: it now replaces the versions in the public unversioned file set only if the new files compare differently. check-in: f5978c5732 user: tangent tags: trunk
10:36
Changed tools/version to use 10 hex digits for the Fossil checkin ID part to match the Fossil timeline default length, to avoid confusion when telling people to match the value given here to the value on the timeline page. Not everyone will understand that 8 hex digits is more than enough to make a unique match in our small-ish repository. Also made the build depend on tools/version such that when that script file changes, it does a rebuild in case some future change like this occurs. It wasn't necessary this time because we also touched Makefile.in, but we might not always do so in the future. check-in: b68d4a68fc user: tangent tags: trunk
2017-03-26
03:43
The code matching USB-attached files to PDP-8 device name extensions wasn't checking that the extension is at the end of the file, so a file called a.pt.b would match the *.pt check. It also wasn't ignoring dotfiles, so not only would it waste a bunch of time looking at . and .., it would have mounted .foo.pt, which probably isn't what you want. Also added a bunch more debugging. check-in: fe9dec9077 user: tangent tags: trunk
03:24
Added an ifdef'd out debug message, and clarified the code a bit. No functional change. check-in: 2fa6ae6141 user: tangent tags: trunk
03:13
The file name extension generation code was chopping the extension off at one character, so that "PTP" would become *.P instead of *.PT. check-in: e7e697d41c user: tangent tags: trunk
03:00
Changed SING_STEP + DF=7 combination to mount *.rk on SIMH device RK1, the second RK05 drive. It was previously set for an RL01 drive attached to an RL8A disk controller for the PDP-8/a, which is about 8 years after the PDP-8/I, and the drives themselves are more commonly associated with PDP-11s besides. This is more period-correct, and more useful with OS/8 besides. check-in: 37e357d1c3 user: tangent tags: trunk
02:55
Tweaks to the new serial drive method strings emitted by autosetup, one of which avoids an 80 column terminal wrapping problem, and the other just a clarity tweak. check-in: e24705309e user: tangent tags: trunk
02:44
The SING_STEP + DF feature wasn't including the device type with the ATTACH command sent to SCP, which is apparently fine for paper tapes, but fails for at least RX01 floppy images. check-in: 9ac90dc409 user: tangent tags: trunk
02:25
Improved debugging output from the USB auto-attach (SING_STEP + DF) feature. check-in: 35015ee903 user: tangent tags: trunk
2017-03-24
10:42
Applied James L-W's alternative serial mod patch from the mailing list, as requested by Dylan McNamee. check-in: d1d2a2dd72 user: tangent tags: trunk
2017-03-20
02:27
More ChangeLog tweaks check-in: efee37ea76 user: tangent tags: trunk
02:25
Clarified kIPS vs MIPS in ChangeLog check-in: eb9967716e user: tangent tags: trunk
2017-03-19
08:56
Better description of the interlocked startup fix, and noted that it also affects Deeper Thought when integrated with our software via the Incandescent Thought process. check-in: c3940d0c81 user: tangent tags: trunk
08:52
Whitespace fix check-in: cac92bd242 user: tangent tags: trunk
08:05
Fixed [88fad950a3] check-in: f5c3de8341 user: tangent tags: trunk
08:05
Small fix to previous Closed-Leaf check-in: 55674b341d user: tangent tags: interlocked-gpio-start
08:01
Initial work towards fixing [88fad950a3] by adding an interlock between the new start_pidp8i_gpio_thread() wrapper and the early init stuff in gpio_thread(). Basically, instead of calling sleep(2) after creating the GPIO thread to give that thread time to start up, we play a little game with mutexes that will block the main thread if the GPIO thread isn't sufficiently initted by the time we're ready to return from our start_pidp8i_gpio_thread() call. Untested, since the work is being done on the desktop, and it only takes effect on the Pi. check-in: 1e40f7741f user: tangent tags: interlocked-gpio-start
07:35
Comment tweaks check-in: 9b11373499 user: tangent tags: trunk
07:27
Moved part of the GPIO init sequence from the top of gpio_thread() into the new start_pidp8i_gpio_thread(). (It should have been done earlier; we shouldn't have left it behind.) check-in: c0bc19013a user: tangent tags: trunk
07:08
Rearranged ChangeLog entries a bt check-in: 0ab9073dff user: tangent tags: trunk
07:06
Wrote up preliminary ChangeLog.md entries. Not yet ready to push a release, but a lot has happened since the prior release. check-in: 73f34c82d2 user: tangent tags: trunk
06:40
Disabled the DF32 device in all boot/*.script outputs, since we don't use it, and its default device name ("DF") is ambiguous with respect to a PDP-8 CPU register that's always present. check-in: 84a8e1d314 user: tangent tags: trunk
04:43
The attempt to do read-only I/O on the Raspberry Pi GPIO peripheral from the scanswitch program on the basis that we only need read-only access here falls down in reality because merely reading one of the GPIO pins fails with a segfault if you don't have the peripheral read-write mapped. This can only be classed as a bug in the GPIO peripheral driver, but we have to work with the software as we find it. check-in: 535a9561c2 user: tangent tags: trunk
04:22
The two GPIO thread start cases in pidp8i-sim and pidp8i-test weren't equivalent, so the prior checkin prevented the simulator from starting on non-Pi hosts. The difference is that pidp8i-test *must* map the GPIO periphieral into RAM to proceed, while pidp8i-sim would like to have it mapped, but it can fall back to stock SIMH behavior if it isn't present. Therefore, added a new flag to start_pidp8i_gpio_thread() to indicate whether the GPIO peripheral must map or not. Also made a similar distinction for map_peripheral(), which now understands non-exclusive mappings for use by libexec/scanswitch while another PiDP-8/I based program runs: there's no reason we can't get the switch values in this case, we just need to open the peripheral for read-only access, without locking it. Also fixed a bug introduced in [0bd33744ffb07b75]: the @VERSION@ string in the config line was accidentally replaced by its value at that time, doubtless due to hasty copy-pasting between gpio-common.c and gpio-common.c.in. check-in: d5722b7ca4 user: tangent tags: trunk
02:49
scanswitch must now link with -pthread on Linux since it linkes to gpio-common.o, which how includes the new GPIO thread start/stop routines, even though it doesn't call them. check-in: ee85a40171 user: tangent tags: trunk
02:42
Moved the start/stop GPIO thread code common to both the pidp8i-sim and pidp8i-test cases into a pair of helper routines in src/gpio-common.c.in now called by both. gpio_thread() is now module-scoped, since other modules now no longer need to know about it. check-in: 498ea766b0 user: tangent tags: trunk
01:45
The recent renaming of the top-level "os8test" target in the Makefile.in wasn't reflected into tools/simh-update.in, so the OS/8 test after a successful simh-update run wasn't running. check-in: 160dff50d7 user: tangent tags: trunk
01:43
Cleaned up GPIO thread starting and stopping code at the top of main() in src/scp.c: match local style, give less generic error message on thread start failure, and use variable names less likely to conflict with future upstream SIMH changes. check-in: b0534785eb user: tangent tags: trunk
01:34
Removed "Ian Schofield" from src/PDP8/pdp8_cpu.c license comment, since his brtval update patch has since been removed from this module. The closest rough equivalent to this is now in src/gpio-ils.c. check-in: 36f36410b9 user: tangent tags: trunk
01:30
Merged in PDP-8 DECtape fixes from SIMH upstream check-in: 7b8b53d287 user: tangent tags: trunk
01:27
Removed the negative enum value test in the prior checkins because it causes clang on macOS to complain that this can't happen. It's right, if everyone is playing ball, but since we have the assert test on unhandled cases, we don't need to squish the warning. We'll just catch it at run time via the assert() path rather than by an explicit test. check-in: 7f98b5a844 user: tangent tags: trunk
01:21
The prior checkin removed the last legitimate reason for src/scp.c to be generated by autosetup from scp.c.in: it needed the @BOOTSCRIPT@ value to build the "do $bootscript" commands. We now delegate that back to the pidp8i.c module which has a better reason to be generated from pidp8i.c.in by autosetup. check-in: ce2c9d0444 user: tangent tags: trunk
01:17
Moved all handling of awfulHackFlag into the pidp8i.c module and cleaned its handling up so that it is no longer "awful". It is now just a module global set during the brief window between when the switch handler sets it from within the PDP-8 CPU core and when SCP calls back into this module via a new pidp8i.h API that builds the command we want SCP to run for us as part of handling that front panel switch combo. For the most part, this is functionally identical to the previous implementation, except for being a lot cleaner. There are some messaging differences, and we now exhaustively handle all of the command value cases, however. check-in: 491698e049 user: tangent tags: trunk
2017-03-18
23:33
Reworked the "awful hack flag" handler in src/scp.c.in to a) eliminate the code duplication with respect to the upstream version; b) match the upstream style; c) clarify the code flow; d) add several comments and one diagnostic message. No functional change. check-in: 67498625df user: tangent tags: trunk
22:56
Rather than ifdef'ing out all the uses of the upstream sim_video module and not including it, we now build it without defining `SIM_VIDEO`, which basically turns it into a stub module that compiles quickly even on a Pi 1. We don't use it presently, but we may need it later for things like on-Pi Spacewar builds where the X-Y vector output uses the SIMH SDL video subsystem. The primary point of this change, however, is to let us remove unnecessary changes in the patch we make relative to the upstream SIMH code. check-in: a328b94dcb user: tangent tags: trunk
2017-03-13
03:51
Replaced a removal of a call to vid_close() from scp.c with an ifdef wrapper around it, to match the way we deal with the other dependencies on the sim_video module, which we don't currently use in this software distribution. check-in: c330ac3135 user: tangent tags: trunk
03:48
Merged more whitespace changes in from SIMH trunk. Mainly removal of unnecessary trailing whitespace. check-in: 5a1579564e user: tangent tags: trunk
03:17
Whitespace tweaks to reduce the size of the simh-update diff check-in: 735d9e645e user: tangent tags: trunk
03:11
Prior commit didn't include the new Git commit ID for SIMH check-in: 5fe3a7a664 user: tangent tags: trunk
03:04
Merged in upstream SIMH changes check-in: 626ce65da6 user: tangent tags: trunk
03:03
simh-update now logs the version numbers it is diffing in case it fails, since then the only way to find them short of going to github.com is to look in output.log, since they won't be substituted into Makefile.in yet. check-in: daf52cea65 user: tangent tags: trunk
02:37
Whitespace and comment tweaks to reduce unnecessary differences between our pdp8_cpu.c and the upstream version. check-in: 8e1127a7ab user: tangent tags: trunk
02:35
The simh-update script no longer tries to diff our Makefile.in against the upstraem Makefile. check-in: c5ea8b9bcb user: tangent tags: trunk
2017-02-28
06:24
The DEP switch handler wasn't ensuring that *pPC is limited to 12 bits, even though the LOAD_ADD handler did ensure it. Somehow, between these two points, PC is getting its high bits set, which causes us to deposit the SR into the wrong core memory location. This is probably just masking a bug elsewhere, but I lack the time to chase it down now. check-in: 9aa43b8c3e user: tangent tags: trunk
2017-02-13
15:36
Refinement of IB reset in START handler. Still doesn't do "return to OS/8 from ADVENT." check-in: ef27926333 user: tangent tags: trunk
15:26
More work on START handling. Still doesn't do the same thing "RUN 7600" does in the "restart OS/8 from ADVENT" test, but I need the checkin. check-in: 430c821114 user: tangent tags: trunk
14:33
Delegating much of our START handling to SIMH's cpu_reset() function, which does most of what our START handler did and more, leaving us to handle only a few other things. This should fix the "resume from ADVENT" problem. check-in: afdaf7a69b user: tangent tags: trunk
11:13
Reverted the substantive part of [6e3bab]: both versions of the code do the same thing, and the new one is just less effective. check-in: aa584d189b user: tangent tags: trunk
10:39
Further refinement of switch debugging code check-in: 75a0b4cd88 user: tangent tags: trunk
10:30
The method for loading PC from SR in L_ADD was bogus. Also improved and expanded the recently-added debugging in the flow control switch handler. check-in: 6edbabfa8a user: tangent tags: trunk
09:58
Somehow config line code to display [ils] when GPIO is built in ILS mode got lost. Restored it. check-in: 653a3ae4b1 user: tangent tags: trunk
09:28
Added debugging outputs for the CONT and START switch presses check-in: 510ceb6f50 user: tangent tags: trunk
2017-02-10
23:29
If Fossil was somehow not installed on the system or if the local checkout directory had become disassociated from its repo file, the @VERSION@ substitution into gpio-common.c would be the Fossil error, not the version string emitted by tools/version. We now catch this error and diagnose the cause in auto.def, then stop the process, so we don't produce an un-compilable C file. check-in: 0593692aec user: tangent tags: trunk
2017-02-07
07:16
Mark Pizzolato's re-jiggering of the PDP-8 CPU registers to allow the ones previously declared on the stack inside sim_instr() to be accessed via the front panel API. This branch also serves as a PiDP-8/I free version of the simulator (excepting the starting of gpio_thread() from the SCP) for comparison tests. Closed-Leaf check-in: 65b498c924 user: tangent tags: pidp8i-free-cpu
06:32
Also disabling the ILS when the user gives --throttle=$ratio check-in: a06c5c8216 user: tangent tags: trunk
06:25
Disabling ILS when you configure on a multi-core pi, but you use the --throttle=human or --throttle=trace syntaxes. check-in: 12cbcebd52 user: tangent tags: trunk
06:19
Pointing to new ILS wiki article from README.md check-in: 18835ebcdb user: tangent tags: trunk
2017-02-06
04:59
Bumped Pi Zero default throttle to 1.25 MIPS check-in: 7868817712 user: tangent tags: trunk
2017-02-05
23:20
Added the first direct support for the Pi Zero: reported as "pi0" in the configuration string, and increasing the throttle value to soak up the extra CPU speed over the Pi 1+ series. Also bumped the Pi 1+ throttle value from 666k to 850k, as related testing shows they'll do it without a whole lot of damage to the CPU idle time. check-in: f461ac3b3b user: tangent tags: trunk
20:36
Moved the top-level Makefile.in into PRECIOUS_INFILES so its Makefile output version doesn't get removed on Ctrl-C during a build. check-in: 938ba7222c user: tangent tags: trunk
20:33
Removed unnecessary @builddir@/ bits in Makefile.in, and fixed a few latent problems preventing building out-of-tree. check-in: e1ed74d733 user: tangent tags: trunk
20:16
Improved the way we determine the "pi type" tag in the configuration string. It no longer confuses several cases with "pi1+", and it can detect RPi Compute Modules. check-in: cb45538bbc user: tangent tags: trunk
04:26
Typo fix check-in: 23aeef1ced user: tangent tags: trunk
04:06
Thinko fixed in new MANIFEST.txt generation code check-in: f676159074 user: tangent tags: trunk
03:58
Assorted edits to README-throttle.md check-in: b8c55bb6b0 user: tangent tags: trunk
03:04
More selective "set -x" in bosi check-in: 4867cbfb0a user: tangent tags: trunk
03:03
Added several time(1) commands to bosi check-in: 3a91cbec62 user: tangent tags: trunk
02:48
Whitespace tweak check-in: d59d2cd37e user: tangent tags: trunk
01:55
Fixed usermod step in reorg of bosi check-in: 6a46ad4520 user: tangent tags: trunk
01:11
Merged trunk changes for v20170204 into release branch check-in: 81b7423840 user: tangent tags: release, v20170204
01:11
Tagged release v20170204 check-in: 441caf2063 user: tangent tags: trunk
01:09
The bosi step also renames the "pi" group to "pidp8i" now. check-in: 0648b11dfe user: tangent tags: trunk
01:02
Removed the "systemctl stop pidp8i" step from bosi. No longer needed with the newly reorganized bosi sequence. check-in: a09c461044 user: tangent tags: trunk
01:01
Whitespace fix check-in: 1ad5e76e5a user: tangent tags: trunk
00:51
The bosi process was doing the "rename pi to pidp8i" step after the software configure and build step, so that the user name "pi" was configured into the shipping init script and such. Split the usermod steps into two stages, rename user and set password, which now surrounds a new "build" step between "init" and "prepare". The latter is what remains of the old "reset" step. check-in: 2866116923 user: tangent tags: trunk
00:26
More bosi process simplifications check-in: 0197b1c58e user: tangent tags: trunk
00:18
The new "zero the SD card" step in "bosi image" naturally causes an end-of-device error, which was halting the image process, so it wouldn't move on to re-imaging the card. check-in: 3297ba9775 user: tangent tags: trunk
00:00
bosi now displays its usage message without the "set -x" noise at the top when you don't give any args. check-in: 090a2929c8 user: tangent tags: trunk
2017-02-04
23:58
Simplified generated MANIFEST.txt check-in: 2f3263a6e2 user: tangent tags: trunk
23:33
Now that we no longer need to report the block size for the user to copy between the "bosi shrink" and "image" steps, powering down the intermediate Pi we use to shrink the FS. check-in: b6304fb616 user: tangent tags: trunk
23:22
Another attempt at serializing the diff step during mkrel check-in: 57a4dd4d22 user: tangent tags: trunk
23:19
Merged trunk changes for v20170204 into release branch check-in: 1f9a88fb6b user: tangent tags: release
23:19
Tagged release v20170204 check-in: 0f9fa508ab user: tangent tags: trunk
22:36
Reworked the bosi process to no longer take a "blocks" value in the "image" step. Now that we're using 2G cards, we can just copy the slack space, too, and expect it to compact down nicely in the Zip step. This in turn let us get rid of the clumsy "image-nls" tag scheme, since we can just use the parameter space vacated by the vague "object" parameter. Since we've got a single-core Pi here to build images with, we don't need to pass --no-lamp-simulator to the "bosi init" step, either, the other user of the "object" parameter. This should fix the unbootable image problem we had with the last single-core OS image. check-in: e928902283 user: tangent tags: trunk
20:51
BSD portability fix to new sed command in "bosi image" step check-in: d02b80df29 user: tangent tags: trunk
20:39
Trailing slash fix in previous check-in: 0ec03e0b98 user: tangent tags: trunk
20:39
The new MANIFEST.txt file builder was using fully-qualified path names instead of the base image file name. check-in: 02536804ad user: tangent tags: trunk
20:27
More tweaks to bosi script check-in: 8e39bc558c user: tangent tags: trunk
20:23
The configure script now checks for curses.h and initscr() in libncurses. check-in: 8b50245fbe user: tangent tags: trunk
20:19
Not sure why, but the "poweroff" step in the "bosi reset" step was being done in the background, which seems to create a race condition that shows up on a Pi 1. Doing it synchronously now. check-in: 3d24b874b5 user: tangent tags: trunk
20:12
It is now possible to run "bosi reset" multiple times on a given system without restarting it. It runs to completion again. check-in: 18163cde0f user: tangent tags: trunk
20:09
The usermod step in bosi would fail when run on a cleanly-imaged SD card because the init step left the pidp8i service running. check-in: 8a51d50f79 user: tangent tags: trunk
19:56
Installing libncurses-dev in "bosi init" step, else the new test.c implementation won't build. check-in: 53a8d8bc62 user: tangent tags: trunk
19:16
greadlink fix in bosi script, affecting the "image" step check-in: 7107d33a45 user: tangent tags: trunk
18:31
mkrel wasn't pausing on the "diff check" step check-in: 95c2b9182f user: tangent tags: trunk
18:29
Merged trunk changes for v20170204 into release branch check-in: 75a0d35fc7 user: tangent tags: release
18:29
Tagged release v20170204 check-in: 9db2a1fb9c user: tangent tags: trunk
04:57
Updated the preliminary ChangeLog.md check-in: ee9931bbfb user: tangent tags: trunk
04:15
Fixed a return value type. No functional change. check-in: d1aff2925b user: tangent tags: trunk
04:13
The new ledstatus[] mechanism now works in ILS mode, tested with a slightly modified version of Deeper Thought 2. check-in: a2bd89be01 user: tangent tags: trunk
04:02
If src/deeper.c is found at configure time, it builds it against the selected GPIO module. Currently it only works when built as --no-lamp-simulator, and it requires some minor adjustments to deeper.c. check-in: e48070eaa5 user: tangent tags: trunk
03:29
Updated preliminary ChangeLog again check-in: 7e156bf4bc user: tangent tags: trunk
03:22
Reimplemented pics/schofield-brtval.c inside the R file of the same name in that directory, and holding the generated data inside the R session instead of expecting the C program's output to be written to a CSV file which we parse. Also fixed the decay constants: they were off by 10x, which threw off the length of the X axis, though the resulting data shape is the same. Also including the min and max data values in the data set. check-in: 46d6a65ece user: tangent tags: trunk
02:25
Merged test.c improvement into trunk. check-in: 4186424625 user: tangent tags: trunk
02:23
Redesigned test.c as a series of actions which can be stepped through forwards and backwards manually, resumed, and interrupted. Closed-Leaf check-in: d34eec5c0a user: tangent tags: test-ui
00:28
Small fix to previous check-in: faba0b8f12 user: tangent tags: test-ui
00:21
Restored the ledstatus[] method of directly modifying the LED states for the GPIO thread, used by test.c and others. It's implemented in terms of the new struct display mechanism on the back end, but it saves translating code. check-in: 26055a5a03 user: tangent tags: test-ui
2017-02-03
11:45
Reworked src/test.c to work with the new gpio-nls mechanism. check-in: 326a778233 user: tangent tags: trunk
11:15
Moved the indent(1) commands from the HACKERS.md file into a new script, tools/restyle. check-in: 27ab06f9c7 user: tangent tags: trunk
09:52
URL fix check-in: cd5773536c user: tangent tags: trunk
09:50
. check-in: 4a1c1bff1b user: tangent tags: trunk
09:45
Another pass at the preliminary changelog check-in: e2047330f5 user: tangent tags: trunk
09:34
Typo fix check-in: e46bcbaa43 user: tangent tags: trunk
09:31
Moved README-test.md to doc/pidp8i-test.md; same justification as previous checkins. check-in: 9d290f9b14 user: tangent tags: trunk
09:29
Moved README-OS-images.md to doc/OS-images.md for the same reason I moved the "naked Pi" article into the wiki. check-in: 4ab6f9268c user: tangent tags: trunk
09:23
Moved "naked Pi" README into the wiki. We shouldn't cheapen "README" that way; that file name should be for files everyone really should read. check-in: 603b154dc6 user: tangent tags: trunk
07:22
Added the R and C programs that generated the data behind schofield-brtval.svg, in the name of openness and replicability. check-in: c16dcde01b user: tangent tags: trunk
07:03
Ran Inkscape's "simplify" function on the data curves generated by R from the raw values output by our brtval.c program. The prior version of this graphic is technically more correct, in that there is an SVG node at each actual data point plotted, but the way SVG renderers draw this, the line isn't smooth, as it would be if we ran our data generator with more resolution. This approximation is therefore toward an ideal of correctness, not away from it. check-in: 27de285fd6 user: tangent tags: trunk
05:53
Added SVG showing Ian Schofield's ILS brightness curves check-in: ee2ce13632 user: tangent tags: trunk
03:50
Updated lamp simulator credit now that it's evolved check-in: 018660ad44 user: tangent tags: trunk
03:42
Comment clarification check-in: da051fcc07 user: tangent tags: trunk
03:24
Comment fix check-in: 40e8c5f304 user: tangent tags: trunk
2017-02-02
14:13
The bosi image step now zeroes the SD card prior to re-writing the image to it. If you were to pass a truncating size value to it, the lack of this step means you'd read a short image, then rewrite the card with the same truncated image, and not realize that it's a bad image because the rest is still there. By zeroing it, we produce a fairer test. check-in: 62df1ff915 user: tangent tags: trunk
14:05
. check-in: e5739ed70c user: tangent tags: trunk
14:03
Simplified the description of the led-counters feature in the ChangeLog check-in: e3459e04e8 user: tangent tags: trunk
13:56
Preliminary v20170202 changelog udpates check-in: f587b37166 user: tangent tags: trunk
13:31
Setting mode 755 on the file pointed to by /etc/init.d/pidp8i, so normal users can run it. Nothing in that file now requires root privs, except for the swap file restoration stuff. (You still can't run it via systemd, though.) check-in: 81d545a203 user: tangent tags: trunk
12:52
Merged led-counters branch into trunk. check-in: cc79b18af6 user: tangent tags: trunk
12:48
Grammar and spelling fix check-in: 0a4a9ac025 user: tangent tags: trunk
12:42
Lowered the default throttle value for single-core Pi boards based on testing the current led-counters branch on a Pi 1 B+. It runs fine at ~2x PDP-8/I speed (666k) and refused to accept a throttle value of 750k, so the prior 4x default (1332k) was definitely out, even if we assume the prior code was a lot faster; it certainly wasn't 2x faster! check-in: e8f9a47e1e user: tangent tags: trunk
12:26
Merged doc changes in from trunk Closed-Leaf check-in: 9deccc8da2 user: tangent tags: led-counters
11:53
Tweaks to the HACKERS.md file check-in: 60df1ee2ef user: tangent tags: trunk
11:34
Added software rebuild section to "nekkid" guide check-in: 692fb38251 user: tangent tags: trunk
11:23
Referring to new README-nekkid.md from README-OS-images.md check-in: a9a68b59ba user: tangent tags: trunk
11:19
Added README-nekkid.md: How to Run a Nekkid PiDP-8/I check-in: b41872f252 user: tangent tags: trunk
09:56
Resetting ILS state when re-entering simulator from Ctrl-E in case the user gave a SET THROTTLE command that throws off our timing. check-in: b68c3d6fe5 user: tangent tags: led-counters
09:28
Merged trunk changes in check-in: bc6ee9e0a0 user: tangent tags: led-counters
09:19
Reworked the text of README-OS-images.md to work both standalone as an element of the zip file and as a separate web page. check-in: 85cf708bee user: tangent tags: trunk
09:17
Changed the name of the new manifest file to MANIFEST.txt check-in: 6f517a3def user: tangent tags: trunk
08:45
First cut at MANIFEST.TXT and README.md additions for OS image zip files check-in: c107f037bf user: tangent tags: trunk
2017-02-01
19:59
Fixed ignore-glob rule for new doc/simh/*.pdf check-in: de33b39891 user: tangent tags: trunk
19:53
Merged in trunk changes check-in: e2113929e3 user: tangent tags: led-counters
19:52
Updated SIMH again. Nothing important for us. Did it only because it was "free" with the DOC to PDF feature, just completed. check-in: 830c1e5ac1 user: tangent tags: trunk
19:48
Instead of copying *.doc from upstream Git dir into our unversioned doc/simh dir, we now convert them to PDFs via LibreOffice. check-in: 339956296f user: tangent tags: trunk
19:40
Added a check for "git worktree" to the simh-update tool. check-in: 623514fac0 user: tangent tags: trunk
07:30
Updating the software SR from the SR switches on each iteration was costing us 0.3 MIPS on a Pi 3 when unthrottled. Switched to a slightly more complex method that gets this update out of the fast code path. check-in: 431f01b007 user: tangent tags: led-counters
06:30
Changed the ILS update loop's innermost timing to increase the brightness level of the LEDs. Not sure if this will have bad side effects, but it seems correct. Closes [24b8b302df] check-in: 3d7e5c65fa user: tangent tags: led-counters
06:29
Added another ifdef'd out debugging block check-in: e2211144c6 user: tangent tags: led-counters
06:08
Restored freeze-on-Ctrl-E behavior. The display swapper was making the display go dark because it didn't know the display update code was no longer running. check-in: 4ab28b87ed user: tangent tags: led-counters
05:42
Style tweak; no functional change check-in: 9622d581af user: tangent tags: led-counters
05:12
Fixed several related problems in handling the display during STOP or SING_INST mode. check-in: 2751a38a8b user: tangent tags: led-counters
05:03
Added another ifdef'd-out debugging block check-in: 79552ec8bc user: tangent tags: led-counters
02:57
Added an ifdef'd-out block of debugging code for the NLS handler used by the ILS code in single-instruction or STOP mode to debug this "display goes blank on STOP" bug. (Answer: because all the regs go to 0! But checking it in ahead of the bug fix, because it's a separate thing.) check-in: ced432330c user: tangent tags: led-counters
00:54
Updated license statement for the design files, following resolution of the discussion on the mailing list. check-in: ca367870ce user: tangent tags: trunk
2017-01-31
18:23
Added a section on the PiDP-8/I KiCad design files to the COPYING.md file. check-in: 180f3219d1 user: tangent tags: trunk
18:16
Added KiCad and FreeRouting design files, and moved the PDF schematic into that directory. Same "no copyright" declaration applies. check-in: 8d2fea0dac user: tangent tags: trunk
18:08
Renamed the "schematics" directory to "hardware", as we're about to put non-schematic hardware design files in there. check-in: 2f7112d379 user: tangent tags: trunk
18:02
Added PDP-8/I panel schematic converted from KiCad to PDF by Tony Hill. "No copyright" declared here: https://groups.google.com/d/msg/pidp-8/bcIH9uEB_kU/twnJbJqzDAAJ check-in: 17956f5b69 user: tangent tags: trunk
16:11
No longer clearing MA, MB, and IR on simulator startup. The real hardware did not do that. Closes [008cae890c]. check-in: 8446075dd3 user: tangent tags: led-counters
16:03
Merged SR fix in from trunk check-in: 0b975fd395 user: tangent tags: led-counters
16:02
The simulator now loads its internal SR register with the known values from switchstatus[] on every CPU iteration. Closes [fad3ad73ea]. See that ticket for the reasons it is important to do it every time, instead of only when we get an OSR instruction. check-in: 287c3a70af user: tangent tags: trunk
04:44
Fixed the known problems with resume from SING_INST and STOP modes. check-in: 3491b728b9 user: tangent tags: led-counters
04:38
Put a set_pidp8i_leds() call back in that we can't live without. check-in: 2fb8ef03e5 user: tangent tags: led-counters
03:52
Merged trunk changes check-in: 8c1249888c user: tangent tags: led-counters
03:51
Found a simpler solution for exporting the state of the SING_INST and STOP switches to the modules that care about it, outside the pidp8i module that sets these flags. check-in: de7371eaf2 user: tangent tags: led-counters
03:47
Fixed a problem with "make clean" check-in: 7a6a81338f user: tangent tags: trunk
02:32
Comment typo fixes check-in: 7b7d1cac29 user: tangent tags: led-counters
02:27
Fixed a race condition in the code to update the displays' stopped and single-instruction flags. check-in: e487dc9f5b user: tangent tags: led-counters
02:16
Simplified the logic for handling CONT switch presses. check-in: d148d91048 user: tangent tags: led-counters
2017-01-30
14:38
Restored the upstream SIMH cpu_astop feature per feedback on GitHub issue #387 check-in: 07063bafef user: tangent tags: trunk
14:25
Merged trunk chages check-in: bff1c653ea user: tangent tags: led-counters
14:24
Moved the new "run" target down in the Makefile so it's alphabetized with the other major top-level targets. check-in: dc70b66f34 user: tangent tags: trunk
14:23
Renamed the `os8test` target to `run` and added a `sudo` prefix to it. check-in: 5aa467c9f7 user: tangent tags: trunk
12:08
Merged trunk changes check-in: 83efc25f99 user: tangent tags: led-counters
12:07
Another fix to single instruction flag handling check-in: eaaa40a201 user: tangent tags: led-counters
12:05
Merged in upstream SIMH OSR fix and v3 front panel API update check-in: c83f288279 user: tangent tags: trunk
11:45
Squished some needless log noise from simh-update in the "rename *.in files" step. check-in: 0f65d0cf98 user: tangent tags: trunk
11:39
Comment improvement check-in: 5cff0b8c4d user: tangent tags: trunk
11:38
Fixed up some unnecessary differences between our fork of SIMH's PDP-8 simulator and the upstream Git version we most recently sync'd with. The only functional difference is that our version would ignore SIMH breakpoints. I can't see why we'd want that: if someone sets a SIMH breakpoint, of *course* it should drop into the sim> prompt, even if this isn't period-correct. The user started the anachronistic behavior by setting the breakpoint. check-in: 5bf7e2f748 user: tangent tags: trunk
10:32
Function inlining tweaks check-in: e58eec8ec9 user: tangent tags: led-counters
10:27
Prior checkin missed changes to src/PDP8/pidp8i.c.in. check-in: 895b7901e2 user: tangent tags: led-counters
10:08
Added another flag to struct display for SING_INST mode, since that also needs to force ILS into NLS mode until we're back to free-running mode. check-in: f48aa42624 user: tangent tags: led-counters
2017-01-29
20:00
Small adjustments to the IPS estimator in the PiDP-8/I CPU core check-in: bafe1d7a24 user: tangent tags: led-counters
19:59
Fixed a variable reference bug accidentally checked in. (Was fixed in the non-*.in file.) check-in: 33dad00a07 user: tangent tags: led-counters
19:48
Fixed another bug in ms_time(), this time an incorrect cast. check-in: db5b67aab6 user: tangent tags: led-counters
19:38
Our ms_time() function had its arithmetic backwards, so it wasn't returning milliseconds since the epoch at all! check-in: 698cc94e03 user: tangent tags: led-counters
19:14
Improved initial IPS estimation to avoid slow ramping LED brightness with heavily-throttled simulators. (e.g. 5.script.) check-in: bb93e9e435 user: tangent tags: led-counters
17:01
More fixes to LED states in STOP mode check-in: 0cac226e2e user: tangent tags: led-counters
16:53
Bug fix to previous. check-in: 04ebaebd34 user: tangent tags: led-counters
16:52
The Stop LED now turns off in STOP mode. The recent optimizations removing unnecessary set_pidp8i_leds dropped this case. It's better to special-case it rather than put this big old loop call back in for this one LED. check-in: 2d74c78cbb user: tangent tags: led-counters
16:31
Renamed "blink" functions to gpio_*. They do more than blink LEDs. :) check-in: 943ab5685c user: tangent tags: led-counters
16:24
Added a missing "extern". (C doesn't care, but I do.) check-in: a202a098f4 user: tangent tags: led-counters
16:24
Hid some unnecessary exported functions that we no longer use between modules. check-in: 5fa5c2ecb0 user: tangent tags: led-counters
16:13
Moved the "skip early" stuff at the top of set_pidp8i_leds() out into the PDP-8 simulator CPU main loop, which calls that function. Testing shows that this function call costs ~1.0 MIPS all by itself! check-in: 29dd841b8d user: tangent tags: led-counters
14:58
First cut at abstracting the simple "update panel LEDs" loop for use by NLS full time and ILS while the processor is in STOP mode. The display structure now contains current-state bitfields like the traditional ledstate[] values, which this new combined routine uses. check-in: e75894b4ec user: tangent tags: led-counters
14:35
ILS had half-implemented code to show Fetch and Execute at 50% brightness because they're each only on half the instruction time; tied this loose string. check-in: 7048ce0ac9 user: tangent tags: led-counters
12:48
Slowed the incandescent lamp decay down some. More lampy, less snappy. check-in: f177d85566 user: tangent tags: led-counters
12:32
Refined the "skip out early" stuff at the top of set_pidp8i_leds(), reducing updates per second according to prior front panel update rate reduction and adding dithering. check-in: 21a9bf10e3 user: tangent tags: led-counters
12:30
Reduced front panel update rate from ~400 times per second to ~100. No point going faster. check-in: 8527d866b2 user: tangent tags: led-counters
10:58
Fixed a divide-by-zero bug in the new brightness calculation code in the ILS GPIO module. check-in: 040a22530f user: tangent tags: led-counters
10:54
Merged --debug-mode build fix from trunk check-in: b55caeacce user: tangent tags: led-counters
10:53
Moved -D_GNU_SOURCE back into default CFLAGS definition. We were skipping it in --debug-mode, which broke the SIMH build, but this flag should be harmless everywhere we care to build. If not, we need to handle it differently in auto.def than like this. check-in: dc5c74bf30 user: tangent tags: trunk
10:47
Merged in some of the recent trunk changes check-in: bd3972a6a9 user: tangent tags: led-counters
10:45
Restored the dynamic "leave early" mechanism at the top of set_pidp8i_leds(). This restores ~8 MIPS operation on my Pi 3, and I think we can get away with it now that we're calculating LED brightness based on an aggregate history. This checkin greatly decimates that value, but before, we were doing single- instruction sampling. We may have to adjust the decimation value, but even a bit of decimation should help a lot. check-in: 5940370e0c user: tangent tags: led-counters
10:42
Fixed a portability problem in the Makefile.in clean target that prevented it from running correctly on Raspbian, where they use dash as /bin/sh check-in: 511c920e73 user: tangent tags: trunk
09:59
Made the Execute, Pause, and Fetch LED bumping steps part of set_pidp8i_leds(), and calling that only once per CPU instruction. check-in: 5b0dbc1989 user: tangent tags: led-counters
08:52
I've convinced myself that the only place we need an atomic operation in the new "struct display" mechanism is in the pointer swap, so replaced the rest of the uses of __atomic*() with simple C code, and explained the reason it can be that way in extensive comments. check-in: af7a539f6a user: tangent tags: led-counters
08:18
ILS version now mostly works with the new LED "on" count mechanism. It's a little flickery, but it takes a *lot* less CPU than before! check-in: 8ac46a0ea8 user: tangent tags: led-counters
06:35
Merged GPIO init switchstatus race condition fix in from trunk check-in: 19f4225eef user: tangent tags: led-counters
06:28
Whitespace fix check-in: dc3dfe4e6d user: tangent tags: trunk
06:26
Fixed a race condition in the switchstatus[] setup sequence, where a slow-to-start blink_core() implementation wouldn't read in the switch values early enough, leaving the array set to all-zeroes, which means "all switches closed," which the simulator sees as including SING_INST + SING_STEP + STOP == shutdown! Also dropped one indent level in blink() by returning early from the function when the GPIO memory mapping doesn't happen instead of skipping the bulk of it by wrapping it in an if block. check-in: a36dc13209 user: tangent tags: trunk
05:02
The display no longer either flashes all-on or goes dark at startup and in STOP mode. check-in: c680f47cdb user: tangent tags: led-counters
04:59
Minor cleanups to the AUTHORS.md file check-in: be9028fdad user: tangent tags: trunk
03:24
Whitespace fix check-in: 5792f6806b user: tangent tags: led-counters
03:17
Wrapped the LED "on" count array in a struct to make the pointer arithmetic easier to read. It's still triple indirection, but indirection through a struct pointer can use the arrow operator, whereas a pointer to an array makes it unclear which level you're at at any given instant. check-in: dbd65e379b user: tangent tags: led-counters
02:33
Merged in trunk changes check-in: 2654e16a29 user: tangent tags: led-counters
02:32
Changed the "i" prefix from tools/version when not running a release version to use "id[$id]". The "i" blended into the lowercase checkin ID hex. check-in: 434a7d1357 user: tangent tags: trunk
02:30
Merged cscope feature into trunk check-in: 6147bb046f user: tangent tags: trunk
02:15
Added cscope detection, and calling it from "make tags" if available check-in: da1ca9afb9 user: tangent tags: led-counters
00:12
Neglected to mark a few of the bump_*() functions inline. check-in: 384720b888 user: tangent tags: led-counters
2017-01-28
12:39
First attempt at taking the simple bitfields used for communicating register values between the PDP-8 CPU instruction execution loop and the PiDP-8/I front panel GPIO thread and switching them to a 2D array of LED "on" counts, allowing us to accuractely calculate the brightness of the LED at that time. This code builds on macOS, but it has yet to be tested on the Pi, which is part of why this is being checked in on a branch. The other reason is that we're pretty sure it's going to take at least one more checkin to turn this into something we can ship. check-in: 66a2818a47 user: tangent tags: led-counters
11:51
Merged instruction type arithmetic optimization into trunk check-in: c784492bcb user: tangent tags: trunk
11:51
Duplicate line removal fix for [329266] Closed-Leaf check-in: 49c1c5057f user: tangent tags: inst-type-arithmetic-optimization
11:46
Whitespace tweaks check-in: dd2b5114a9 user: tangent tags: inst-type-arithmetic-optimization
11:44
Whitespace fix check-in: e685dd011b user: tangent tags: inst-type-arithmetic-optimization
11:40
Optimized the arithmetic for decoding the instruction type LEDs to turn on from the IR value. check-in: 329266d283 user: tangent tags: inst-type-arithmetic-optimization
10:15
Marked the Makefile as "precious" so that if you Ctrl-C out of a 'make' during which Makefile was re-generated from Makefile.in, GNU make won't remove Makefile as it normally does for outputs resulting from an interrupted make. check-in: 44dc191fbe user: tangent tags: trunk
10:13
Merged recent "set LEDs" code path cleanups. check-in: c635530705 user: tangent tags: trunk
10:08
The optimization to reduce the number of calls to set_pidp8i_leds() caused the Run light to remain on during STOP state. Closed-Leaf check-in: 95d2f8feda user: tangent tags: set-leds-cleanup
09:58
The NCOLS etc checkin didn't include the gpio-ils.c changes, since we're not building it here. check-in: 0d8c9fe67c user: tangent tags: set-leds-cleanup
09:53
Reworked the set_pidp8i_leds() calls so that there are now only two of them, one at init time outside the CPU dispatch loop, and once down at the very end before we fetch the next instruction. The manipulation of the pause, execute, and fetch LEDs now happens via separate dedicated functions, so we're not flashing the whole panel several times per PDP-8 instruction. check-in: c342062fc7 user: tangent tags: set-leds-cleanup
09:37
Moved NCOLS, NROWS, and NLEDROWS constants out of gpio-common.c.in into its header file so we don't need to export the corresponding integers. This has the nice side benefit that we can now use these values in places where C only allows constant expressions, getting rid of the recently-added malloc() for the temp copy of the LED values. check-in: aaad3f7b35 user: tangent tags: set-leds-cleanup
2017-01-26
02:09
Several adjustments to set_pidp8i_leds() calls. The main practical improvement is that we can now see execute state on the front panel. It was in that state too briefly before it got reset to fetch. check-in: 3c2086101e user: tangent tags: trunk
01:44
Removed the code that skips updating the global ledstatus[] values from the PDP-8 CPU core based on the human PoV limit. Because the GPIO thread runs asynchronously with it and has its own timing, these two high-jitter timing loops created a messy beat frequency on the front panel, which you could see in a tight KSF ; JMP .-1 loop, as OS/8 does when idle, waiting for a key. This mechanism came to us in the merger of the common parts of ILS and NLS, and ILS only needed it when it was modifying the LED brightness values values in the SIMH thread instead of in the GPIO thread as it does now. The only argument for continuing to do this — and for also doing it for NLS — is that it avoids a bunch of recalculation that the human couldn't see, but that is only true if the GPIO thread is able to stochastically sample the LED states so that even with the asynchronous jitter going on, a tight loop like the above eventually blurs together to a nice 50/50 mix of the two instructions' LED states, especially under the ILS. Ultimately, any attention paid to the human PoV limit has to be over in the GPIO thread. check-in: 61ce7d6852 user: tangent tags: trunk
01:08
Comment fix check-in: ec527293eb user: tangent tags: trunk
2017-01-25
23:34
Removed simh_breakpoints.doc mirror from web site. Not as helpful for our audience as I'd assumed. check-in: c41799802c user: tangent tags: trunk
13:57
More improvements to make distclean check-in: b8580cf355 user: tangent tags: trunk
13:50
make distclean now removes the recently-added Makefile.in outputs check-in: bf4f33e7b2 user: tangent tags: trunk
11:28
Added redirecting Makefiles to the examples, src, and src/PDP8 subdirectories so that those who like to work on source code from within those trees can "make" from there, too. These Makefiles purposely redirect only top level "build the software" type targets, leaving out "run the system" or "install the system" type targets, which must be run from the top level. These intermediate Makefiles also don't try to do anything special for individual targets. So, there is no way to rebuild, say, a single example from the examples subdirectory. This is not a recursive make system, where the top level delegates to the subdirectories, on purpose. (Google the problems with recursive make if you don't know why.) check-in: 2eabd33b3f user: tangent tags: trunk
2017-01-24
04:16
Decided I don't want to ship a copy of simh_magtape.doc after all. Too esoteric for my site's front page. check-in: 35f3b83731 user: tangent tags: trunk
04:02
Merged trunk changes for v20170123 into release branch check-in: 7bf9c608cf user: tangent tags: release, v20170123
03:57
Tagged release v20170123 check-in: 74a49556f8 user: tangent tags: trunk
03:49
tools/version now uses `i` as the Fossil checkin "ID" tag to distinguish from `v` for release version numbers. `r` is basically a throwback to my svn days, and was being used only because it's not a hex number. check-in: a6281ce72b user: tangent tags: trunk
03:23
Whitespace fix to previous check-in: 9630c41762 user: tangent tags: trunk
03:18
Dropped the [fp] tag from the GPIO configuration line since I've given up on the integer math approximation idea for the ILS feature. check-in: 37a7865535 user: tangent tags: trunk
02:18
Updated SIMH to latest version and modified the SIMH update script to copy a subset of the SIMH docs to doc/simh/*.doc and sync them up to tangentsoft.com/pidp8i as unversioned files. check-in: d8536d9169 user: tangent tags: trunk
2017-01-23
03:50
The ILS decay function is now asymmetric to try and better mimic the behavior or real incandescent lamps, which turn on nearly instantly but take a few seconds to fade out to zero brightness. check-in: 04842216c5 user: tangent tags: trunk
03:32
Flipped this branch back to integer math for others to play with, even though we've abandoned the idea. We're using somewhat different constants here based on experimentation done in the meantime. Closed-Leaf check-in: a9940bb04f user: tangent tags: int-math-ils
02:19
Dropped "version" from the config line. It's about to start wrapping, and it's pretty clear that what follows that tag is a version string. check-in: 49cd065c4e user: tangent tags: trunk
02:17
Merged int-math-ils branch back in even though the stated purpose of the branch was a failure, since the new code does at least move knowledge of brtval out of the pidp8i.c module and into gpio-ils.c, so that all ILS code is now in that one module. check-in: 5c46b0cc5e user: tangent tags: trunk
02:15
Returned brightness math to FP, as the integer approximation had only a few percent CPU improvement by top(1)'s measure, not enough to pay for the increased difficulty of understanding. Closed-Leaf check-in: 2015c958b0 user: tangent tags: int-math-ils
01:49
Experimental try for integer math approximation in the ILS feature. This also merges the brightness value calculation into gpio-ils.c and removes the ILS-specific call rate code in set_pidp8i_leds(), since I realized that the required update rate was simply to make the call rate equal the iteration rate of blink_core() over in the GPIO module! That is, we were trying to synchronize two functions in two threads, even though they had no reason to communicate. This change also effectively returns the ILS module to receiving ledstatus[] as its LED value input, rather than brtval. This should mean we can link pidp8i-test and Deeper Thought 2 against the ILS module, once we've proven out the feature. check-in: 87e9a944ef user: tangent tags: int-math-ils
00:03
set_pidp8i_leds() now flashes the new LED values over in a single memcpy() call instead of setting one row at a time over the course of the bulk of the function in case this makes the display a bit more consistent. This is my concession to not having a mutex guarding this inter-thread data. check-in: f66b463d99 user: tangent tags: trunk
2017-01-22
23:41
The new method of calculating the number of times set_pidp8i_leds() should skip out early wasn't quite right. Now it gives more or less the same effect as the version prior to the change. check-in: 149b149a57 user: tangent tags: trunk
22:22
tools/mmake now passes its args onto the child make(1) process check-in: ae4562fcf0 user: tangent tags: trunk
22:12
Updating our estimate of the proper skip count in set_pidp8i_leds() in order to give an LED value update rate of ~100 updates per second, roughly equal to the human PoV limit. The prior method used a hardcoded value which means on really fast Pis we're updating more often than we need to, and when the PDP-8 simulator is throttled down (such as for a blinkenlights demo) we were updating way too slowly. As proof of concept, the ac-mq-blinker example now runs at less than 1/10 the speed it used to, yet it looks vastly better than before. Closes [28d33e9046]. check-in: 1da4ee0590 user: tangent tags: trunk
19:47
tools/mkbootscript was attempting to sort the core addresses in its boot/*.script outputs, but it was using the default sort ordering, which in Perl happens to be string ordering, not numeric ordering as we were blindly assuming, and that gives odd results with some scripts. Fixed. check-in: 3c3643f325 user: tangent tags: trunk
19:41
The mechanism for generating *.lst, *.pt, and *.script files from examples/*.pal is now fully general, meaning that you can now drop any *.pal file into the examples directory and get all of those outputs with a "make" command. check-in: 28593391e9 user: tangent tags: trunk
19:28
The tools/version script now knows how to parse the version string from the release branch's checkin comment, as formatted by tools/mkrel. check-in: da1648c824 user: tangent tags: trunk
19:07
Small fix to the new LED driver module for the no-lamp-simulator case. Also simplified the way the selection made during configuration is built into the files generated from *.in. check-in: 358bc98bd1 user: tangent tags: trunk
18:39
Added messages to the configure script telling which way it configured the GPIO module. check-in: 4d94f6269c user: tangent tags: trunk
18:36
Renamed SERIALSETUP to PCB_SERIAL_MOD check-in: f7397a5796 user: tangent tags: trunk
18:33
Fixed several bugs in the new configuration message builder check-in: 8278e527a7 user: tangent tags: trunk
18:09
Updated the release process to track the move from the no-lamp-simulator branch method of selecting the build type to ./configure --no-lamp-simulator. check-in: f7cc1f3a93 user: tangent tags: trunk
17:53
The configure script no longer errors out when run on a single-core host if "brtval" is found in src/gpio.c. Instead, we simply behave as if --no-lamp-simulator was given. The only way to get the incandescent lamp simulator is to not give that configure option and to run it on a multi-core host. check-in: 2884daa90c user: tangent tags: trunk
17:34
The recent refactoring of the GPIO module allows us to replace the current no-lamp-simulator and nls-test branch system with a configure script option, --no-lamp-simulator. It simply selects whether gpio-nls.o or gpio-ils.o is linked into pidp8i-sim. With this change, we've added either an [ils] or [nls] tag to the configuration string emitted by the GPIO module. Closes [e06f8ae936]. check-in: f85aed2fc3 user: tangent tags: trunk
17:12
Restored the prior printfs() and such from the top of blink() as a new single-line version and configuration message modeled on Erlang's emulator info statement. check-in: 8f068cd978 user: tangent tags: trunk
17:09
Extracted the elements common to both gpio.c and gpio-nls.c as gpio-common.c and renamed what's left of gpio.c to gpio-ils.c. The gpio-common.c module does all the common elements, then calls into blink_core(), now implemented twice in gpio-[in]ls.c, only one of which is linked into any given program. check-in: 1769197e50 user: tangent tags: trunk
02:25
Merged the diffs between v20170116 and the tip-of-trunk into the no-lamp-simulator branch, changing some of it to fit with the intent of that branch, then checked it into this new nls-test branch because we're not yet ready to bag and tag the next release. This branch might not be temporary. We might need to do one of these partial merges prior to a release again later. Now we'll have a place to do it. Closed-Leaf check-in: 6257ba80fa user: tangent tags: nls-next, nls-test
01:53
Replaced the magic integers passed to set_pidp8i_leds() sTT parameter with an enum, and removed the explanatory comments on each call now that the call is self-explanatory. check-in: 34eeaeed23 user: tangent tags: trunk
2017-01-21
18:45
If INSTUSR is "root" during the configure step (say, because you've run it as "sudo ./configure") it will now error out rather than generate init scripts and such that we know are wrong. This can happen by accident, such as whenever you touch a *.in file that causes an autoreconfig; if done while sudo'd for some reason, you get this effect. This is fixing a real occurence, not a purely theoretical problem. check-in: 1f7c6b2d7b user: tangent tags: trunk
18:39
When you give ./configure --debug-mode, it skips the checks for the -f optimization flags to the compiler. check-in: 4b728a7da2 user: tangent tags: trunk
17:46
make now reconfigures and rebuilds when any of the files produced from *.in are removed. Previously, only a change to *.in would cause this. This checkin also does a better job of removing such files on "make clean", so that "make clean && mmake" does a complete rebuild without getting stuck, requiring a manual ./configure. check-in: 008c4881a6 user: tangent tags: trunk
15:52
Fixed a couple of problems in the way SING INST and CONT were handled. These are related because in the old way of doing things, these two switches had a kind of lock-step operation that tried to split instruction execution over two separate passes of the PDP-8 sim's CPU instruction decoding loop. Now these two switches are handled more or less the same way as all the others, in a single cycle of the instruction loop. With the prior scheme, while the processor was stopped with a HLT instruction, pressing CONT would basically jump 2 instructions forward, rather than continue to the instruction after the HLT, skipping it. This fix closes [f961906a5c]. While in there and reading the DEC documentation describing the proper operation of the switches, I found that we weren't handling SING_INST properly at all. When flipped with the processor in free-running mode, it is supposed to stop the processor just as if you'd pressed STOP. Now it does. (I could have checked this in separately, but the two fixes are in overlapping and interrelated sections of code, so it doesn't make sense to check in a purposely-written erroneous SING INST handler just to get a separate checkin comment.) check-in: 9a12773270 user: tangent tags: trunk
14:13
Un-microcoded the RAL HLT instruction in examples/bit-rotate.pal: it tickles a palbart bug, because these are group 1 and group 2 OPR instructions, respectively! Consequently, the SIMH PDP-8 assembler sees only the HLT and doesn't do the RAL. check-in: 193d34204c user: tangent tags: trunk
06:58
Clarity pass on the top-level README.md file. check-in: e2fd19eea1 user: tangent tags: trunk
06:18
The mkrel process now does a "fossil diff -w | less" just before the "fossil ci" command, giving the user a chance to see the diffs in what they just built, to be sure nothing surprising got merged. check-in: c2eaa6ca27 user: tangent tags: trunk
06:15
Removed src/gpio-nls.h in the no-lamp-simulator branch for the same reason we removed it from the trunk branch. Closed-Leaf check-in: 8c80abac2e user: tangent tags: nls-next
06:14
Removed src/gpio-nls.h: the differences between the two versions of the GPIO module are all in the *.c files. No point shipping two identical *.h files, especially given that no other *.c file has ever #included gpio-nls.h. check-in: a22a47a8fa user: tangent tags: trunk
06:03
Similar comment fix for src/gpio-nls.c as was just done on the no-lamp-simulator branch. check-in: 63858bf03c user: tangent tags: trunk
06:00
During the v20170116 release process, I just copied the no-lamp-simulator version of gpio.c over the top of gpio-nls.c, which is more or less fine, but it means the header comments still refer to gpio.c, not gpio-nls.c. Fixed the comment. check-in: 4969e1650f user: tangent tags: nls-next
05:56
The check for brtval in src/PDP8/pdp8_cpu.c.in became obsolete when we extracted the bulk of the front panel interaction code to the new pidp8i.c.in module. Rather than change the test to look in that new file, changed it to look in src/gpio.c, which is shorter and accomplishes the same goal. check-in: d2dd4232ce user: tangent tags: trunk
2017-01-19
19:17
Clarified code style rules check-in: a0cbc61e11 user: tangent tags: trunk
15:45
Assorted improvements to HACKERS.md check-in: b20d93bc02 user: tangent tags: trunk
15:19
Reindented src/PDP8/pidp8i.c.in to match new style guide in HACKERS.md. Bascially, function bodies were indented one level, except for closing braces which came back out one level. check-in: f52f8dda3c user: tangent tags: trunk
15:09
Added "Getting Developer Access" section to HACKERS.md check-in: f2e7f25699 user: tangent tags: trunk
15:07
Added Fossil installation info and tweaked the one-sentence Fossil description. check-in: b2f9adf4ce user: tangent tags: trunk
14:56
First version of HACKERS.md, a more thorough guide to contributing to the PiDP-8/I software project than the brief hints given on the front page of the site. (wiki/Home). check-in: 34cac8687c user: tangent tags: trunk
2017-01-18
22:45
The CPU cleanup branch seems to be 100% functional again. Merged it into trunk. check-in: 768cc6393f user: tangent tags: trunk
14:47
Fixed another instance of the same order-of-operations bug. Closed-Leaf check-in: ca9943cc3d user: tangent tags: cpu-cleanup
14:43
Suppressing the call to the USB media mount routine if its caller fails to pick a sane device code. Shouldn't affect anything, but may prevent some future crasher. check-in: 3bb309e772 user: tangent tags: cpu-cleanup
14:40
The caller of the function to mount media image files from USB was ignoring the return value, so restructured the code so it doesn't return anything. check-in: deb5913951 user: tangent tags: cpu-cleanup
14:29
Fixed an order-of-operations problem in the optimized calculations for the DF and IF values from the switchstatus[1] register. check-in: d3ca851bd1 user: tangent tags: cpu-cleanup
13:53
The pidp8i.c.in file in the prior checkin was missing changes mistakenly made to the generated pidp8i.c file. Reapplied them to the source file. check-in: f261173b93 user: tangent tags: cpu-cleanup
13:28
Factored the vast bulk of the PiDP-8/I specific code out of PDP8/pdp8_cpu.c into a set of several new functions defined in a new PDP8/pidp8i.c module. Along the way, reworked the code style to match the rest of SIMH. Very little is functionally different, and the differences are intended to only be spot improvements not needing a separate checkin comment. Examples: a) some of the bit twiddling math was overly complex, so reduced several 3-ish line calculations to one-liners; b) appended strerror(errno) to some error message strings; c) reorganized the switch testing code a bit to reduce the number of times certain tests and calculations are made. This change also greatly reduces the number of PiDP-8/I specific globals. All but one of the app-wide globals that used to be defined in pdp8_cpu.c.in are now scoped to the pidp8i.c module, and all but one of those are statics scoped to a single function in that module. Because this refactoring moves the @BOOTDIR@ usage from pdp8_cpu.c to the new pidp8i module, the SIMH module is back to being a static C file, while pdp8i.c is generated from pidp8i.c.in. Also added a whole bunch more comments, and moved some prior comments into bug tickets. Checking this in as a branch because it is so extensive that I might have broken something. It hasn't been tested yet because I did the work on my fast desktop PC, not on the Pi, there being no point since the changes are so wide-reaching that it didn't even start building again until just before this checkin. Now it's time to do that testing. check-in: 642a7201a0 user: tangent tags: cpu-cleanup
05:14
Reworked some of the bosi steps after the recent change to where the usermod step happens. These changes should have been part of that. check-in: 2a4574d15f user: tangent tags: trunk
2017-01-17
05:00
Small fix to previous check-in: 6888919960 user: tangent tags: trunk
04:58
The usermod command in bosi's reset routine only worked correctly on the first pass, since the user was still called "pi". If run again on a later pass where that user is now called pipd8i, it now only does the password change. check-in: 34d25dce5b user: tangent tags: trunk
04:50
The bosi script now calls tools/mmake instead of hard-coding a "make -jN" command. check-in: fd8a2cb4ab user: tangent tags: trunk
04:48
Ported difference minimization between src/gpio* modules from the no-lamp-simulator branch where the only difference between these files is a comment to the trunk branch where the differences are more substantial, but where the needless diffs should still be removed. check-in: ec5fd1c92c user: tangent tags: trunk
04:43
Removed Ian Schofield credits from the top of the files that the incandescent lamp simulator patch modifies here in the no-lamp-simulator branch, since that code is not present here. check-in: 207070a1e1 user: tangent tags: nls-next
03:42
Auto-detecting the OS SD card dev name in the bosi script instead of hardcoding it to /dev/rdisk10. check-in: 74e29589ed user: tangent tags: trunk
02:59
Put off the usermod command in the bosi script from the "init" step to the "reset" step so the user doesn't have to enter the long "edson" password during image builds. check-in: 8c87a6d3b4 user: tangent tags: trunk
02:19
Grammar fix check-in: f0f422eae7 user: tangent tags: trunk
01:55
Fixed "bash -e" -> "set -e" in mkrel script; not equivalent! check-in: bbdb2e69ef user: tangent tags: trunk
01:55
Merged release changes for v20170116 Closed-Leaf check-in: 5d8f63a52d user: tangent tags: no-lamp-simulator
01:51
Merged trunk changes for v20170116 into release branch check-in: 3f252c8a91 user: tangent tags: release, v20170116
01:51
Release v20170116 again: fix to the single-core + lamp simulator test in `auto.def` that only broke on the `no-lamp-simulator` branch, so had to fix it on trunk and string the changes back through the release process. check-in: a8e26c97f5 user: tangent tags: trunk
01:49
Merged release changes for v20170116 check-in: 5266fe3749 user: tangent tags: no-lamp-simulator
01:40
Merged trunk changes for v20170116 into release branch check-in: b831e1aa46 user: tangent tags: release
01:38
The mkrel script now runs "fossil update" prior to any merge steps in case the local ../release and ../no-lamp-simulator checkout trees aren't at the tips of their branches at mkrel time. check-in: 1ff16590d5 user: tangent tags: trunk
01:36
Tagged release v20170116 check-in: 01c815b3d6 user: tangent tags: trunk
01:10
Lowered the single-core throttle value from 1600k to 1332k per feedback from the mailing list, and outright refusing to build the trunk branch on a single-core Pi. Explained all this in the relevant README*.md files. check-in: b9c60a41ad user: tangent tags: trunk
00:45
The mkrel process now breaks out immediately after a merge that creates a conflict instead of waiting to fail in the build process due to hitting the <<<<<< characters, which give confusing error messages. check-in: 32be7a1d8a user: tangent tags: trunk
00:07
Updated the COPYING.md file with the results from the SIMH mailing list thread (http://mailman.trailing-edge.com/pipermail/simh/2017-January/016159.html) about TSS/8 and ETOS. check-in: 0dfac12323 user: tangent tags: trunk
2017-01-14
07:49
Moved the installation of the boot scripts from "make install" to "make mediainstall". We shouldn't overwrite the boot scripts for the same reason we shouldn't overwrite the binary media images. check-in: 54324622fc user: tangent tags: trunk
07:39
Added a sched_yield() call to the end of the main GPIO loop to clue the scheduler that we're done for that iteration. The fflush() call we have there already may suffice, but at the very least, this is explicit. check-in: dc48d6cd85 user: tangent tags: trunk
07:37
Lowered the scheduling priority of the GPIO thread from 98 (near the max of 99) to 4 (still well above the minimum of 1) since this seems to work just as well. This may simply be because no other processes on the Pi are using SCHED_FIFO. check-in: 3fd8bee1ba user: tangent tags: trunk
2017-01-13
08:38
Modified copyright year on the AC/MQ blinker program license per email from Robert Krten. check-in: 063e8b86ca user: tangent tags: trunk
2017-01-12
19:47
Obtained permission to distribute the AC/MQ blinker program under the SIMH license, so added that license to the top of examples/ac-mq-blinker.pal. Quoting the reply to my email asking for permission: "I, Robert Krten, the sole author of the program identified as the "AC/MQ blinker program" for the PDP-8/I, hereby agree to distribute the program under the SIMH license as found at https://tangentsoft.com/pidp8i/doc/trunk/SIMH-LICENSE.md" check-in: 58094e0cf4 user: tangent tags: trunk
06:43
Another URL fix in the new licensing material check-in: e0241770dd user: tangent tags: trunk
06:40
Added copyright messages to the Markdown files that reference SIMH-LICENSE.md so that it is clear who is granting the license. check-in: 160483044a user: tangent tags: trunk
06:37
Added license section to end of examples/README.md check-in: 7024cc51a2 user: tangent tags: trunk
06:35
Clarifications to the DEC hobbyist license claim in COPYING.md. check-in: 08b984e585 user: tangent tags: trunk
06:25
Small link fix for previous checkin check-in: f360190dd4 user: tangent tags: trunk
06:24
Many more software licenses chased down and added to the appropriate files. Where direct editing was not possible, created license files nearby, and pointed to them from a new COPYING.md file. check-in: fc7e5f2a91 user: tangent tags: trunk
2017-01-09
22:27
Added the new SIMH-style license grant to the header comment of the gpio*.c modules, and added Ian Schofield to the gpio.c module (only!) and to the pdp8_cpu.c.in module, per this private email reply to my licensing proposal: "This looks absolutely fine to me. Do add this license to the tarball if we all agree." check-in: 06829f12b1 user: tangent tags: trunk
22:09
SIMH doesn't support THROTTLE values below 1k (or maybe 10k) so changed the --throttle=human and =trace configure script options to use a different syntax which allows specifying speed in terms of instructions/ms. check-in: 26a6b02367 user: tangent tags: trunk
04:03
Lowercased the "SET [NO]THROTTLE" commands to match the style of the existing boot/*.script commands. SIMH doesn't care, but it's inconsistent. check-in: 0e15f11ea2 user: tangent tags: trunk
02:56
Added the license notice to src/scanswitch.c as well check-in: ffa1390cb8 user: tangent tags: trunk
2017-01-08
15:53
The *BSDs all understand sysctl hw.ncpu, so added tests for those to tools/corecount, so it'll return the correct value on them, too. check-in: 4be8a6510e user: tangent tags: trunk
15:36
We weren't cleaning up after a few of the recently-added *.in files in "make clean". Fixed. check-in: 8cd4016117 user: tangent tags: trunk
15:03
A prior checkin accidentally changed the way HLT instructions are handled. It was an attempt to fix bug [f961906a5c] which wasn't intended to be checked in; the fix doesn't work, so it's now back to the way the code worked yesterday, which is still broken. check-in: 6155a4b535 user: tangent tags: trunk
14:39
Adjusted the single-core SIMH throttle value down from 3.3 MIPS to 1.6 MIPS. The prior value gave about 50% CPU usage for all threads in pidp8i-sim on a Pi 3, so cut it in half for a Pi 1. Also had to change the notation from "3.3M" to "1600k" because SIMH refuses to handle fractional values; LAME. check-in: 0770a4a2ec user: tangent tags: trunk
14:26
All of the boot scripts except for those generated from assembly code now have a SIMH throttle value set based on either detected CPU cores at configuration time or the value of the new --throttle configure script value. Added README-throttle.md to describe the values allowed for this option, as they're pretty extensive. On a multi-core machine, the default is to have the prior behavior, which is no throttling: run flat-out, taking up a whole CPU core for pidp8i-sim's main thread, leaving the rest for the GPIO thread and whatever else the Pi does. On a single-core machine, the default is to set a value that should give something like 50% CPU usage to pidp8i-sim on the slowest Raspberry Pis we support, allowing enough CPU power left over for the incandescent lamp simulator thread. Consequently, removed README-single-core.md and the references to it. Closes [dfd864da90]. check-in: 48b84d4bd9 user: tangent tags: trunk
11:11
The mkrel process now attempts to do all the work automatically, with no user input. The prior release showed that the gap between releases is long enough that I can't remember what to write as release comments, and because the comment editor takes over the screen, I can't figure it out from the context of previously-executed commands, since the editor hides that. check-in: 58e0f138a0 user: tangent tags: trunk
11:05
Replaced the "make -j11" hard-coded values with a call to a new helper script, tools/mmake which calls another newly-added script (tools/corecount) to get the core count on this system and multiply it by 1.5 and pass it to make -j. It currently knows how to do this on Linux and Mac OS X. For all other systems, it returns 1, so it gives you make -j1, since the math truncates, rather than rounds. This is not just a nicety: "make -j11" can lock up a Pi in some cases. It appears to be worst when most of the files in the system have to be rebuilt. It's probably running the system out of RAM, and it isn't handling it gracefully. check-in: cffeb65eb8 user: tangent tags: trunk
10:53
Style improvments to the coverage of ./configure script options in README.md. check-in: e30b30d2ef user: tangent tags: trunk
10:31
Backed out part of [842fb3ef61] since now all of boot/*.script are generated in one way or another. Therefore, we no longer need to install @srcdir@/boot/*.script. (This doesn't revert the change, it effectively *inverts* the way this install step worked prior to that checkin: we used to install only from the srcdir, but now we install only from the builddir.) check-in: 71586b261d user: tangent tags: trunk
10:27
Added tools/mkbootscript, a Perl script that parses palbart listing files generated during the normal build process and turns them into SIMH boot scripts. This in turn means we can remove boot/1.script and boot/5.script, since they can now be generated from corresponding programs in examples/*.pal. Closes [87cb9ca2f0] check-in: d77e169826 user: tangent tags: trunk
10:21
Added examples/bit-rotate.pal, a very simple demo, which we'll be using as a test case shortly. check-in: 06b08e0c58 user: tangent tags: trunk
10:21
Added examples/asr33-rim-loader.pal, the Teletype Model 33 ASR version of examples/hs-rim-loader.pal, corresponding to what is currently checked in as boot/asr33-rim-loader.script. check-in: cd98f98dd1 user: tangent tags: trunk
09:53
Added examples/hs-rim-loader.pal, PAL assembly code for the high-speed RIM paper tape loader currently given in boot/1.script. It produces the same code, except that it starts 1 location earlier in core with a HLT instruction, which will become important later. check-in: 5b4b65874f user: tangent tags: trunk
08:42
More style improvements to examples/ac-mq-blinker.pal, plus some rework to the memory locations it uses to match boot/5.script. check-in: f7c67eb7f8 user: tangent tags: trunk
08:17
Comment improvement check-in: 8dd4e8e1d1 user: tangent tags: trunk
07:37
Small fix to prior comment change check-in: 595d5cc4f8 user: tangent tags: trunk
06:39
Minor code cleanups in examples/add.pal check-in: 6b8786042e user: tangent tags: trunk
06:30
When cloning the SIMH license agreement for the new authors, accidentally included "ROBERT M SUPNIK" in the no-warranty clause. Substituted generic "the authors" language. Also regularized the whitespace of the clause after that to match the rest. check-in: 81915a1c50 user: tangent tags: trunk
06:19
When building out-of-tree, only the boot/*.script files in the src tree would be installed. Now installing both those and the ones in the build tree generated from boot/*.script.in. This means that building in-tree causes the same files to be copied twice for each such generated script, but that's harmless. check-in: 842fb3ef61 user: tangent tags: trunk
05:53
Replaced several gotos with "continue" statements: the goto label was at the end of a while() loop, and all of the "goto skip" statements were up at that while loop's level, so there was no need to use goto here. check-in: 270d24975c user: tangent tags: trunk
05:31
Fixed a needless whitespace difference with respect to upstream SIMH code. check-in: 7085e873a6 user: tangent tags: trunk
05:19
Applied a patch from the mailing list: https://groups.google.com/d/msg/pidp-8/DzpKgmC7bck/4_3hr53yCwAJ This patch allows the simulator's internal EAE's step counter value to be displayed on the PiDP-8/I front panel. Without this patch, those LEDs remain dark, even when the simulator is doing work that should make them blink. This patch got lost for so long because it was supposed to go into the "next version" of Oscar Vermeulen's source base, but there was no such version. Since this happened well before my maintainership, it was lost until Paul R. Bernard pointed it out to me. check-in: ab402f9eaf user: tangent tags: trunk
03:31
Added a copy of the SIMH license agreement to the top of src/test.c, modified to refer to its author, Paul R. Bernard. The license grant was obtained via private email; in reply to the same message referenced in the prior checkin, PRB said, "I agree with your license changes." check-in: 17b7de432b user: tangent tags: trunk
03:27
Added a similar license to the existing SIMH one to the top of pdp8_cpu.c.in and scp.c.in, allowing the changes made by Oscar Vermeulen and Warren Young to be used on the same terms as SIMH itself. The license grant from Oscar Vermeulen was obtained via private email: WY: "To make things truly simple, I propose using the same license SIMH itself uses. I hereby agree to license my changes to the current software under the following license: [same text as committed here snipped]" And in reply: OV: "I agree - happy to keep my part under the original simh license." check-in: b536178bf2 user: tangent tags: trunk
2017-01-06
02:15
Merged trunk/release changes in check-in: b6a33b8ec3 user: tangent tags: no-lamp-simulator
02:13
Merged trunk ChangeLog.md improvements in. No functional change. check-in: 9d2d920209 user: tangent
02:13
Merged auto.def fix down from release branch into trunk. (Should have been committed on trunk in the first place. It wasn't due to doing it on a system that still used the old "release" tag, as opposed to the "release" branch.) check-in: 99b6a17f83 user: tangent tags: trunk
02:09
Jim Tcl lacks a "file attributes" feature, so calling out to chmod. That'll prevent building on Windows, but that isn't likely to work anyway, short of Cygwin, WSL, or similar. check-in: 585b15e55a user: tangent
00:26
"Trouble with grammar have I, yes!" -- Yoda check-in: f81e019087 user: tangent tags: trunk
00:22
Minor tweaks to the new ChangeLog.md entries check-in: 9d5cc2b126 user: tangent tags: trunk
00:16
Merged release branch changes in check-in: 995c080dc2 user: tangent tags: no-lamp-simulator
00:15
Merged v20170105 changes into release branch check-in: 9cde1575d1 user: tangent tags: release, v20170105
00:15
Release version v20170105 check-in: c44994abee user: tangent tags: trunk
00:14
Updated SIMH to upstream Git commit ID 0db0236bed using the new simh-update mechanism. (No manual adjustment was required, other than the whitespace fix committed a few hours ago.) check-in: cd1db2713d user: tangent tags: trunk
2017-01-05
23:55
Added "make simh-update" and "make simh-update-f" targets which run a new script, tools/simh-update [-f]. That script attempts to merge the latest upstream SIMH changes into our source tree by checking out both the last version we successfully merged and the current master tip and applying the diffs between our software and the old checkout version to the new software. Closes [c20a953737] check-in: 8f452f4205 user: tangent tags: trunk
22:43
src/scp.c.in is also allowed to have CRLF line endings check-in: 383f3f6bd1 user: tangent tags: trunk
22:42
The recent SIMH update missed a trailing space in one of the files, causing a needless diff, and preventing automatic merging. check-in: d84c630e8f user: tangent tags: trunk
19:23
The generated Makefile now passes the upstream SIMH git commit ID of the software we most recently merged into our distribution to the compiler so that it's built into the resulting pidp8i-sim program, so that it's displayed as part of the version string. This allows users of our software to report bugs upstream while referencing a version that is meaningful to the upstream project. check-in: 69b66e7294 user: tangent tags: trunk
2016-12-26
22:30
Added Tony Hill to the AUTHORS.md file, and credited him for the SIMH update. check-in: 8f2ec6aeec user: tangent tags: trunk
22:25
Added bit about `no-lamp-simulator` branch merge to the release process doc check-in: 6aa9caad1f user: tangent tags: trunk
22:24
Updated the release process document to reflect the latest changes to the way we handle the `release` branch, as opposed to the old `release` tag. check-in: b8588b9af5 user: tangent tags: trunk
22:19
Merged release changes in check-in: 6e66483574 user: tangent tags: no-lamp-simulator
22:04
Merged v20161226 as the latest release check-in: 0415aa0e8f user: tangent tags: release, v20161226
22:04
Release v20161226 check-in: 242018031d user: tangent tags: trunk
21:44
whitespace cleanup of oscar's mods to the simh code - just because check-in: 6a57d2c5cc user: tony tags: trunk
20:34
Linked the README.md file to the new "Major Differences" wiki article. check-in: 3058858d68 user: tangent tags: trunk
20:23
Merged simh-update branch into trunk check-in: 9025c14510 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