PiDP-8/I Software

Timeline
Log In

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

450 check-ins going from 7ce3553bf5f4bccd to e6215cb721c88b57

2017-09-08
05:02
Added cover scan of the green-yellow 1968 edition of DEC's "Small Computer Handbook" for the PDP-8/I. check-in: e6215cb721 user: tangent tags: trunk
2017-09-05
06:30
Added a sensible-default cd $prefix/share/media to etc/pidp8i-init.in just before the "start simulator under screen" call, so that SIMH's CWD will be somewhere useful, not taking the default used by the OS's init system, which may well be something entirely unhelpful like /. check-in: 46366581f0 user: tangent tags: trunk
2017-08-06
18:25
The bosi script has been generating SHA-1 160-bit sums in the MANIFEST.txt files. Calling shasum -a 256 now to give the claimed 256-bit SHA-2 sums instead. check-in: b0c16edcfe user: tangent tags: trunk
2017-08-02
23:11
Moved examples/*-rim-loader.pal to a new asm/ top-level directory, since they aren't really "examples" per se. check-in: 505e8f1a3c user: tangent tags: trunk
18:39
Added myself. check-in: de01588443 user: poetnerd tags: trunk
2017-07-30
05:42
Updated SIMH Users' Guide link from the old 3.9 doc to the one we host as an unversioned file. check-in: d807dd7a23 user: tangent tags: trunk
04:29
Added branch naming paragraph to HACKERS.md check-in: c92201cfe0 user: tangent tags: trunk
04:22
Clarified what "fossil update" on a tag checkout would do. check-in: 018e9f92b4 user: tangent tags: trunk
04:18
Rewrote the Fossil 2.1 discussion at the top of HACKERS.md for clarity. check-in: 2f43f08b35 user: tangent tags: trunk
03:13
Removed the "sudo" bit on the "make run" target. It's helpful on the Pi for ensuring that you get real-time priority when running a test build, but on all other host platforms, it isn't needed, so it adds an unnecessary password prompt and runs the simulator with more privs that it needs. On a Pi, say "sudo make run" instead. check-in: 9ebb6a6683 user: tangent tags: trunk
2017-07-16
14:33
Clarification to previous check-in: 47bf89622c user: tangent tags: trunk
14:32
Updated the ChangeLog comment for the 2015.12.15 release, which was still saying it remains the current stable version. check-in: db7fbd7fc9 user: tangent tags: trunk
2017-07-11
06:14
The configure script now checks whether -lrt is needed to use clock_gettime(). check-in: bc11dba4eb user: tangent tags: trunk
2017-07-10
19:59
Removed " IPS" from configure message reporting the chosen/set throttle value since the setting isn't always expressed in instructions per second. check-in: ee1f5fad62 user: tangent tags: trunk
2017-07-06
12:30
The bosi script now enables sshd to start on boot. We didn't have to do this before since Raspbian shipped with sshd enabled, but from November 2016 on, it's now disabled, so we have to turn it back on. check-in: ff580eaa9f user: tangent tags: trunk
2017-04-09
22:55
Updated Dylan McNamee's AUTHORS.md entry check-in: e01464a267 user: tangent tags: trunk
22:02
Merged Dylan McNamee's fixes for the alt-serial mode into trunk check-in: 8ed5b34d8b user: tangent tags: trunk
2017-04-04
13:10
Tagged release v20170404 check-in: 078e1d9324 user: tangent tags: trunk
13:08
Using `set throttle 50%` instead of trying to find an ideal IPS value for single-core hosts, and explained the reasoning behind this in README-throttle.md. check-in: 1d4b018441 user: tangent tags: trunk
11:24
"bosi prepare" now stops pidp8i-sim before starting work, so it doesn't slow the prepare process down. It will normally be running, since you do this step shortly after a reboot. check-in: 81b262dcf5 user: tangent tags: trunk
11:18
Removed the time(1) call on the "zero free space" part of "bosi prepare". Raspbian doesn't ship /bin/time (bad, bad!) and Bash's builtin version isn't available at that point, so the dd wasn't even happening! check-in: 2d11f4b37f user: tangent tags: trunk
11:13
Clarified the default throttle value on single-core Pi boards. check-in: c180d1af1a user: tangent tags: trunk
10:59
Tagged release v20170404 check-in: cc8cfe61df user: tangent tags: trunk
2017-04-03
08:50
Tagged release v20170403 check-in: 948f08c86f user: tangent tags: trunk
2017-04-02
17:12
. check-in: 62187af0b1 user: tangent tags: trunk
17:04
Updated HACKERS.md for the Fossil 2.1 situation check-in: f5fe83734d user: tangent tags: trunk
16:51
URL and whitespace fixes in HACKERS.md check-in: 567d1e4219 user: tangent tags: trunk
16:39
Changed --throttle=human from running 10 instructions and sleeping for a second to running one instruction and then sleeping for 100 ms. check-in: e000553005 user: tangent tags: trunk
16:36
Reworked README-throttle.md a bit to cover the automatic disabling of ILS when a slash is given (implicitly or explicitly) in --throttle. check-in: b559e016b2 user: tangent tags: trunk
2017-04-01
23:37
Fixed dual trunk caused by misapplying a "trunk" tag check-in: 76efa543af user: tangent tags: trunk
23:36
Fixed the palbart autodep generation output file name check-in: d15123bb7e user: tangent
20:11
Tagged release v20170401 check-in: 5c47394f19 user: tangent tags: trunk
20:03
Another SIMH update. check-in: 7b5d3468e0 user: tangent tags: trunk
19:46
Small tweak to previous check-in: f1a2300bb3 user: tangent tags: trunk
19:34
Replaced the installation of Fossil from the Raspbian package repository with a build-from-source process so we can switch to Fossil 2.1+. check-in: 32624ed9fe user: tangent tags: trunk
19:13
Added pidp8i-test -v handler, which just gives the version string and exits. check-in: a13e82e87d user: tangent tags: trunk
18:53
The BOSI process now tells the USB automounter that FAT sticks should be world read-write, rather than read-only by all but root, as is the default. Non-FAT sticks are left alone, since presumably their filesystem permissions will let non-root users do things to them. check-in: 03346009d5 user: tangent tags: trunk
18:38
Merged "turn off LEDs on pidp8i-test exit" branch into trunk. check-in: 2703988ccd user: tangent tags: trunk
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
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
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
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
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
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
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:26
Merged doc changes in from trunk Closed-Leaf check-in: 9deccc8da2 user: tangent tags: led-counters
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
2017-02-01
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
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: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
03:47
Fixed a problem with "make clean" check-in: 7a6a81338f user: tangent tags: trunk
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: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: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
2017-01-29
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: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
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
04:59
Minor cleanups to the AUTHORS.md file check-in: be9028fdad user: tangent tags: trunk
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
2017-01-28
11:51
Merged instruction type arithmetic optimization into trunk check-in: c784492bcb user: tangent tags: trunk
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
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
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
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
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
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: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
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
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
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: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: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: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
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: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: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
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
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-04
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
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
04:18
Added README-single-core.md, and referenced it from the Prerequisites section of the top-level README.md file. check-in: 781d9c2cba user: tangent tags: trunk
04:02
Clarity pass check-in: be2e8fa894 user: tangent tags: trunk
03:57
Noted that "make install" does everything the old install scripts did. check-in: 3193b776f6 user: tangent tags: trunk
03:54
Whitespace fix check-in: f8f8604fd1 user: tangent tags: trunk
03:53
In the top-level README.md file, noted that pidp8i-test will not run if the simulator is running. check-in: 268219655c user: tangent tags: trunk
03:50
Updated the top level README.md with the solution to a problem a user had building the software. check-in: 3030672baa user: tangent tags: trunk
2016-12-02
15:49
Fixed some Makefile syntax problems in the "make install" bit that removes the serial console stuff from /boot/cmdline.txt if it is present. check-in: 75f5bf32c1 user: tangent tags: trunk
15:42
Rewrote the "make install" commands to install necessary helper programs on Debian type systems. The previous method basically skipped these steps, so those installing this on a fresh SD card wouldn't get these programs installed for them. check-in: a35d6b1ec8 user: tangent tags: trunk
2016-12-01
15:20
Described all the new example programs in examples/README.md check-in: 5565b86dbb user: tangent tags: trunk
13:57
Project Euler Problem 1 is complete. I am the 617255th person to have solved this problem. Woo! check-in: e7f7715b20 user: tangent tags: trunk
12:44
Fixed another pair of hard-coded absolute /opt/pidp8/* paths. They weren't fixed earlier because the feature involved with this code is broken ([d9592e0e7570]), so normal testing did not find the problem. check-in: b9258abd16 user: tangent tags: trunk
06:27
Fix to the "make distclean" fix.... check-in: f85674696d user: tangent tags: trunk
06:22
The distclean target wasn't getting rid of boot/$n.script generated from $n.script.in by autosetup under Raspbian, but did on OS X. This is probably due to the bash vs dash /bin/sh difference, as that "rm" glob pattern uses a bit more advanced shell features. check-in: 9a0b71808c user: tangent tags: trunk
2016-11-30
20:36
Hyperlinked README-test.md to README.md, in case you're reading the latter via Fossil UI. check-in: f17e4c520b user: tangent tags: trunk
20:00
Added src/test.c's author to AUTHORS.md check-in: 0c06739141 user: tangent tags: trunk
19:59
Renamed bin/pidp8i-testswitch as pidp8-test. It also tests the LEDs, and there's no reason to make the long program name even longer. check-in: b038293b7e user: tangent tags: trunk
19:21
Merged the pidp8-test program from the mailing list as bin/pidp8i-test. It builds with the normal build process and installs as pidp8i-test in $prefix/bin. Its plain-text README is now README-test.md, formatted for display via Fossil UI, with some changes owing to its new position, but mostly unchanged. Source: https://groups.google.com/forum/#!topic/pidp-8/UmIaBv2L9Ts check-in: 05dbe80a7e user: tangent tags: trunk
08:40
Added DEC's "Unsigned Decimal Print Subroutine" (Digital-8-22-ASCII) as examples/routines/decprt.pal check-in: 26ea2ec097 user: tangent tags: trunk
08:39
The palbart build rule now includes -l to tell the assembler that it is allowed to generate inter-page links. check-in: 1d27f07c4a user: tangent tags: trunk
2016-11-29
15:14
Replaced autosetup/system.tcl with the one from upstream checkin 1899ec427 so the defaultprefix value set in auto.def shows in ./configure --help output. This replaces my local change to the previously hard-coded /usr/local string. check-in: 6c234d9cf4 user: tangent tags: trunk
14:50
Removed the redundant copy of ETOS under the TSS/8 media directory, too. I can't see any difference between these two from an OS/8 "DIR /A =3" or "VER" command within each ETOS instance, even though md5sum assures me that there is a difference. Closes [09c24666be] check-in: cc9e5a1392 user: tangent tags: trunk
13:35
Removed the OS/8 RK05 image under the TSS/8 directory. The only difference appears to be that the BASIC.WS file is a bit larger in the one normally used. (7 blocks rather than 5.) I'm going to assume that it's a feature we want. check-in: 81b807f0df user: tangent tags: trunk
13:29
Removed duplicate media entries under media/tss8 for non-TSS/8 OSes. This partially addresses [09c24666be] but there are nonexact duplicates that still have to be looked into. check-in: b1f849c7b6 user: tangent tags: trunk
2016-11-28
13:24
Assorted fixes to "make clean" target; re-tagged v20161128 check-in: bbbd662b1f user: tangent tags: trunk, v20161128
13:16
Squished warnings about "use parenthesis around assignment in if statement" in newer GCCs. These problems are in SimH proper, so we can't really fix them without creating needless diffs relative to SimH head, which will just complicate our eventual forward-port to SimH tip. check-in: 6cf87f044c user: tangent tags: trunk
13:14
Fixed a bug introduced in previous in the build-in-tree case. check-in: 53715a3de2 user: tangent tags: trunk
13:11
Assorted improvements for building the examples, particularly in the out-of-tree case. check-in: c5e65a4383 user: tangent tags: trunk
12:45
The recent changes to make some src/*.c files autosetup templates so we can substitute $prefix/* paths into them broke out-of-tree builds. Fixed. check-in: dd83548f6a user: tangent tags: trunk
12:41
Minor cleanups to Makefile.in. No functional change. check-in: 96c58ed962 user: tangent tags: trunk
12:31
Improved the make clean and distclean targets. (Recent developents weren't tracked here, so they left things behind.) check-in: 0ab8580cc5 user: tangent tags: trunk
12:04
Fixed a Tcl dialect problem in auto.def. (It works fine under the provided jimsh0, but fails under the "real" tclsh.) check-in: 4290a6b58c user: tangent tags: trunk
12:01
Fixed a remaining vestige of the old halt-and-jump flavor of the add.pal program in examples/README.md, and made a few other clarifications. check-in: 6316f5ecde user: tangent tags: trunk
11:41
Clarified the examples/README.md text explaining the problem with trying to run examples/add.pal under OS/8. check-in: 50d75d52d9 user: tangent tags: trunk
11:15
Released v2016.11.28, since these recent boot script finding fixes are too important to hold for the next. check-in: 3306636201 user: tangent tags: trunk
11:13
Replaced the two remaining uses of relative paths for finding boot scripts with absolute paths. Turns out that when running under from systemd, we can't count on the CWD to remain in $prefix/bin, so trying to restart into a different bootscript would fail. (Thus the recent change to make it not spam the console when this happens.) check-in: 308e7643d0 user: tangent tags: trunk
11:12
Fixed a place where we were building up a boot script path too-manually. autosetup already determined the proper value for us. check-in: 926e741794 user: tangent tags: trunk
11:04
Better error handling in the code that maps IF switches to boot script names. If the files weren't present at the expected location, it would spam the console as fast as possible. Now it just screams and dies. check-in: f08cae1d9d user: tangent tags: trunk
10:39
Added ./configure --debug-mode flag, for setting CFLAGS+=-O0 -g. Also including -O2 when this flag is not set, for a release build. check-in: e785375d85 user: tangent tags: trunk
10:26
Relaxed permissions on installed media and boot scripts. No point making them world-unreadable. check-in: 655ab53277 user: tangent tags: trunk
09:35
Updated USB stick label document, created PDF version so the dot matrix fon can be embedded, and added labels/README.md, now referred to from examples/README.md. check-in: 1d19ec8a17 user: tangent tags: trunk
08:48
Documented the method for loading the RIM-format examples/*.pt files from USB sticks, so that all three options listed at the top of the file have a full explanation below. check-in: c654e600ac user: tangent tags: trunk
08:47
Re-assembled examples/add.pt in RIM format. check-in: d4ddafefaf user: tangent tags: trunk
08:29
The palbart command for building the examples was generating *.pt in BIN format, but we don't want to depend on the BIN loader for such small programs. Made it emit RIM format files instead. check-in: 1da5a192e4 user: tangent tags: trunk
06:49
Typo fix check-in: 666dfa81a9 user: tangent tags: trunk
06:47
Fixed a couple of "PDP-8/I" references that should be "PiDP-8/I" check-in: 43ef1b33b5 user: tangent tags: trunk
06:43
Converted some hard tabs to spaces check-in: b280b43d67 user: tangent tags: trunk
06:40
Moved previous text a bit lower in the README.md for clarity and esthetics in the web-rendered version. check-in: 695309f535 user: tangent tags: trunk, v20161127
06:38
Added the "build essential" fix for "No working C compiler found" check-in: da70707573 user: tangent tags: trunk
06:28
Released v2016.11.27 check-in: 95de43f25c user: tangent tags: trunk
05:43
Header tweak check-in: 6c374cc6f9 user: tangent tags: trunk
05:29
Added a link check-in: 638f0605e8 user: tangent tags: trunk
05:27
Added a section to examples/README.md showing how to transcribe these example programs into an OS/8 session, then to edit, assemble, and run then within it, all without roaching OS/8. check-in: 83531ee345 user: tangent tags: trunk
03:26
Added links from examples/README.md to referenced files in the repo check-in: 050f70179a user: tangent tags: trunk
03:14
On systems without palbart, the previous checkin caused a build failure because of a strangeness in the way autosetup handles undefined values. Fixed. check-in: e66b7967af user: tangent tags: trunk
03:10
If palbart is found at configure time, the examples are added to the list of things to be built, so that any changes to examples/*.pal can now be automatically built, including renaming *.bin outputs to *.pt. check-in: 9aa3b48ea3 user: tangent tags: trunk
02:59
More examples/README.md improvements check-in: de0862ec06 user: tangent tags: trunk
02:37
More tweaks to the examples' README check-in: 35a792aa9a user: tangent tags: trunk
02:29
Simplified and clarified the "add" example check-in: d55acb82ff user: tangent tags: trunk
01:41
Updated binary-glob settings for media/*/*. (Missed these when moving imagefiles to media.) check-in: c23bee4ae1 user: tangent tags: trunk
01:40
More improvements to the `add` example and our explanation of it check-in: 8edf63a8f3 user: tangent tags: trunk
01:14
Updated the change log check-in: d6a59a3f3a user: tangent tags: trunk
01:11
Added a README.md file to the examples directory explaining their use, and included the add.lst file so users don't have to have a PAL-III assembler in order to get the octal dump of the program. check-in: 9bf2da570b user: tangent tags: trunk
00:29
Replaced the description of the new build system in ChangeLog.md with a reference to the new README.md file. check-in: efc3e42fee user: tangent tags: trunk
00:10
Added a simple PAL-III example program check-in: 414bf01d85 user: tangent tags: trunk
2016-11-27
09:24
Fixed a bug in the recent $prefix/share/boot changes to "make install" check-in: d2ae60a7be user: tangent tags: trunk
09:21
Moved bin/scanswitch into libexec/scanswitch, per FHS. (That is, it is a program that's normally used internally within the software, not something that should be in the user's PATH.) check-in: 3850bf3c78 user: tangent tags: trunk
09:12
Renamed bootscripts/ in the source tree to boot/ and installing its contents into $prefix/share/boot according to FHS. check-in: 6a4641388f user: tangent tags: trunk
09:05
Renamed imagefiles dir to media in the source tree, and installing its contents to $prefix/share/media to conform to the Filesystem Hierarchy Standard, the official way of doing things on Linux. check-in: 136f311902 user: tangent tags: trunk
08:40
. check-in: 5ca3498c8c user: tangent tags: trunk
08:40
Whitespace improvements to previous check-in: 041e883a4a user: tangent tags: trunk
08:34
Rewrote the readme.txt file as README.md, and wrote a longer version of the brief credits found in that file as AUTHORS.md. check-in: 455d4da843 user: tangent tags: trunk
07:32
Renamed all "pidp" references remaining related to the initscript and screen(1) to "pidp8i". Closes [5a50b2b21e] check-in: e8a260f907 user: tangent tags: trunk
07:10
The install make target now overwrites the OS and program media in $prefix/imagefiles only when os8.rk05 is missing at install time. You can force a reinstall with "make mediainstall". check-in: a1e313a8af user: tangent tags: trunk
02:51
Made "install" target depend on "all" check-in: 2d6ab60acf user: tangent tags: trunk
2016-11-26
23:03
Fixed some more "PiDP-8" -> "PiDP-8/I" references check-in: 605fe0aa51 user: tangent tags: trunk
22:48
Fixed autodependency include for new location of scanswitch.c check-in: e962572e34 user: tangent tags: trunk
22:44
Removed commented-out stuff from src/gpio.h and rearranged the header check-in: b3e2b1fb56 user: tangent tags: trunk
22:41
The differences in the near-duplicate copy of gpio.h have no effect, so moved scanswitch.c up to the top src level and removed its subdirectory. Closes [0c6553aaa36]. check-in: 2b3b157d60 user: tangent tags: trunk
16:43
The new build system now allows building out-of-tree check-in: ce17709249 user: tangent tags: trunk
16:23
More ChangeLog work check-in: 596b45e203 user: tangent tags: trunk
15:50
Fixed a portability problem in auto.def that prevented some of the recent changes from running on OS X. check-in: 5783b221d5 user: tangent tags: trunk
15:42
More work on the changelog check-in: 6565719ef8 user: tangent tags: trunk
15:26
Added ChangeLog.md check-in: b0fb73d366 user: tangent tags: trunk
14:50
Fixed the upstream bug in the init script where failure to run scanswitch would cause it to try and load 127.script. check-in: 667edea287 user: tangent tags: trunk
14:41
Added "/I" after "PiDP-8" references in the initscript check-in: 31ab49e486 user: tangent tags: trunk
14:39
Fixed a couple of bugs in the recently-reworked initscript check-in: 8ffac8526b user: tangent tags: trunk
14:34
Installing the script formerly known as pdp.sh as $prefix/bin/pidp8i. Between this and the recent chnage to the installer to put $prefix/bin into the non-root user's PATH, you can now type "pidp8i" to enter the simulator. check-in: d7e04ec845 user: tangent tags: trunk
14:25
Changed default installation prefix to /opt/pidp8i, partly to address [5a50b2b21e7a] but also so we don't conflict with upstream distro's use of /opt/pidp8. check-in: 95b1f3616b user: tangent tags: trunk
14:16
Merged the functional contents of install/*.sh into the make install target. check-in: 0b9be72eeb user: tangent tags: trunk
13:09
Renamed etc/rc.pidp8 to etc/pidp8i-init.in, into which template we substitute the absolute install directory name for much the same reason we just did it for the bootscripts. check-in: 65b1b8269a user: tangent tags: trunk
12:55
Each of the bootscripts that uses ../ paths to find other files in the system now use absolute paths based on the "prefix" value from autosetup, so that it doesn't matter what your CWD is when you start the simulator. check-in: 53537b0268 user: tangent tags: trunk
11:34
Added top-level "make install" target. Closes [b3521c15d6f] check-in: 669621ba0f user: tangent tags: trunk
10:27
Silenced the new "clean" targets check-in: 2cb32c646f user: tangent tags: trunk
10:08
Removed -lrt from LDFLAGS. It's only needed on old Linuxes, which we don't encounter on Raspberry Pi, and it impacts portability to non-Linux OSes. check-in: 10486f1b1a user: tangent tags: trunk
10:05
Replaced Linux-specific nanosecond-resolution sleep calls with portable alternative, with the best local option determined by autosetup. Closes [13d74235b70a]. check-in: a4aebcb04c user: tangent tags: trunk
09:45
Replaced the simple Makefile based build system with one based on autosetup, with the following advantages over the prior system: - autodependency generation - better "clean" behavior; added "distclean" target - the serial mod config is now separate from the source code, so mistakes like the one fixed in [a3bd0f7154] don't happen - object files are sequestered in an "obj" subdirectory - scanswitch build is now fully integrated into the main build system; no more recursive Makefiles Partially addresses [b3521c15d6], but there is more in that ticket that this checkin does not provide. check-in: caf26ab564 user: tangent tags: trunk
02:58
Commented the SERIALSETUP flag setting back out. (Shouldn't have checked it in like that; that's a local change only.) check-in: a3bd0f7154 user: tangent tags: trunk
02:33
Added comments explaining what each of the stock bootscripts does, as well as "echo" messages that send a short explanation of what is happening to the simulator console. Also redefined 7.script in terms of 0.script, so that one is not lead to believe that these two scripts are redundant. The new commenting is especially heavy in these two scripts, as it explains why we need two scripts to provide "one" (actually two!) functions. check-in: 90f8b7c9f9 user: tangent tags: trunk
01:37
Added a script for the ASR-33 and added comments to 1.script explaining why they differ, and the conditions required to use the new script instead of 1.script. check-in: 84a0e8d0d8 user: tangent tags: trunk
2016-11-24
08:53
Added a new SVG DECtape label document. Somewhat unfinished, but usable at this point. check-in: d990ace086 user: tangent tags: trunk
2016-11-23
21:22
Removed the obsolete SERIALSETUP comment from the top of gpio.c and moved the #include for gpio.h to the top. check-in: d7084b2f87 user: tangent tags: trunk
08:36
Added power input and power switch schematic check-in: 5bd9319683 user: tangent tags: trunk
06:27
Re-shot several of the "Warren's PiDP-8/I" pics check-in: 5b672f1dc4 user: tangent tags: trunk
2016-11-22
02:23
Allowing pics/*/*.jpg to be binary check-in: 48c70bf6d8 user: tangent tags: trunk
02:22
Added my PiDP-8/I pics check-in: 8387bd6d8d user: tangent tags: trunk
2016-11-21
12:17
Removed an unwanted +x bit check-in: 0bb1838f17 user: tangent tags: trunk
12:14
Added a top-level Makefile, so you don't have to cd down into src check-in: 93d49a25d1 user: tangent tags: trunk
10:54
Fixed a bug in 2.script, where a "../" was in the wrong place, preventing TSS-8 from loading correctly. check-in: 869d391320 user: tangent tags: trunk
10:39
Made ../bin/scanswitch a top-level dependency, so you don't have to remember to build it separately. The top-level initrc script doesn't behave sanely when that binary is missing. (Symptom: starting pidp8 either gives "0" as a result or you drop into the SimH monitor with a complaint about a missing "127" bootscript, since 127 == "failed to run scanswitch".) check-in: 11b31c536d user: tangent tags: trunk
09:55
Applied Ian Schofield's "Display update for the PiDP8" patch from the PiDP-8 Google Group. check-in: 3a85f08639 user: tangent tags: trunk
09:40
Creating ../bin if it doesn't already exist. Fossil doesn't store directories, and there's no point checking an empty file in just to create the bin dir. check-in: d0c31db7f9 user: tangent tags: trunk
09:37
Made serial mod setting easier to enable check-in: 7c16f39bc8 user: tangent tags: trunk
09:33
Upstream version 20151215, containing everything from the tarball except for backups and *.o. Also, all CRLF text files converted to LF. check-in: ec36ee3dab user: tangent tags: trunk, v20151215
09:11
initial empty check-in check-in: 7ce3553bf5 user: tangent tags: trunk