Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
149 check-ins using file HACKERS.md version 29d79c4cbd
2017-02-02
| ||
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: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 | |