Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
171 check-ins using file bin/txt2os8 version 15d06aa392
2020-01-27
| ||
18:41 | Clarified that SCREEN_MANAGER=none is for interactive use only in the README.md file, and made a test for this high up in the pidp8i script. check-in: bf005a02cd user: tangent tags: screen-mgr-none-dtach | |
18:37 | Moved the dtach socket from /tmp to $prefix/run. systemd does strange things with /tmp, and systemd likes "run" for files like this. check-in: d80f67fef7 user: tangent tags: screen-mgr-none-dtach | |
17:45 | Allow SCREEN_MANAGER=none mode to work under systemd: don't redirect commands through systemctl if isatty. check-in: 31a8e26aa0 user: tangent tags: screen-mgr-none-dtach | |
17:33 | Fixed a whitespace bug in the method dtach mode uses to extract the PID for passing to systemd, if present. check-in: 021f889a86 user: tangent tags: screen-mgr-none-dtach | |
17:32 | Removed -E mode from the dtach call in the pidp8i script: we *want* to be able to detach from the terminal. This should not interfere with terminal escapes from the simulator since dtach should be scanning for this only from the terminal *input* side. If someone comes up with a reason that SIMH or the simulated software needs Ctrl-\ for its own purposes, we can change the detach character to something else. check-in: e13467f10a user: tangent tags: screen-mgr-none-dtach | |
17:27 | Installing a default etc/pidp8i.rc file if it doesn't already exist so users will have an example to work from. check-in: b9f771a73b user: tangent tags: screen-mgr-none-dtach | |
17:26 | Changed -A mode in the dtach command in bin/pidp8i in SCREEN_MANAGER=dtach mode to -n: when running under systemd, there is no controlling terminal, so there is nothing to detach *from*. tmux and screen handle this automatically, but dtach has to be told. check-in: a7e811e6bf user: tangent tags: screen-mgr-none-dtach | |
2020-01-26
| ||
21:48 | Whitespace fix check-in: e7411b636d user: tangent tags: screen-mgr-none-dtach | |
21:47 | Markdown fix check-in: 936d63bd1c user: tangent tags: screen-mgr-none-dtach | |
21:46 | Improved explanation of new SCREEN_MANAGER=dtach option. check-in: 02377ee417 user: tangent tags: screen-mgr-none-dtach | |
21:34 | URL fix check-in: 07a0439868 user: tangent tags: screen-mgr-none-dtach | |
21:33 | Tweaked a potentially confusing message output from "pidp8i stop". check-in: d044732095 user: tangent tags: screen-mgr-none-dtach | |
21:32 | Added the SCREEN_MANAGER=dtach option check-in: dd5ad30192 user: tangent tags: screen-mgr-none-dtach | |
20:53 | Added the SCREEN_MANAGER=none feature, being an alternative to "make run" for running the simulator hard-attached to the local terminal while still making use of the media in the install tree, rather than the pristine pre-install versions. check-in: b6e58203de user: tangent tags: screen-mgr-none-dtach | |
2020-01-14
| ||
15:26 | Fixed an incorrect line break in os8-run.md check-in: 059aac0685 user: tangent tags: trunk | |
2019-10-21
| ||
04:34 | Fixed some heading levels in the top-level README.md file check-in: a8298c604e user: tangent tags: trunk | |
2019-10-05
| ||
11:27 | Merged pidp8i-tmux down to trunk check-in: be3a3d9bd0 user: tangent tags: trunk | |
11:17 | Merged usb-floppy down to trunk check-in: 348a62931c user: tangent tags: trunk | |
2019-10-04
| ||
18:53 | Move README.md runtime configuration section below compile configuration section. Closed-Leaf check-in: 3d0d5dc385 user: ryan tags: pidp8i-tmux | |
18:12 | Added option to allow the pidp8i screen session to be managed by tmux(1) instead of screen(1). This introduces a new optional sourcable runtime configuration script, pidp8i.rc. check-in: 3df1c859f7 user: ryan tags: pidp8i-tmux | |
16:38 | Added udev rules to allow mounting media from disks on USB floppy drives. Closed-Leaf check-in: b33153775e user: ryan tags: usb-floppy | |
2019-09-22
| ||
08:48 | Added "bsdmake" to the list of "make" flavors checked for by tools/mmake. The PiDP-8/I build system won't build with BSD make, but these scripts may be used in other projects, and BSD make does understand the -j option. check-in: eec38b61e1 user: tangent tags: trunk | |
08:46 | Quoted an argument to "test -z": if the arg is empty, it must be quoted to give an empty argument rather than just disappear in the shell processing. check-in: 8eab979d44 user: tangent tags: trunk | |
2019-09-10
| ||
22:51 | Explained why tab size 4 with spaces is important in the C style guide. check-in: 530ae2d758 user: tangent tags: trunk | |
21:47 | Added forward link to info on starting OpenSSH on a Pi within the top-level README.md file. check-in: 579e02166b user: tangent tags: trunk | |
21:45 | Removed a few stale references to Zip file source tree downloads in the top-level README.md: we removed those links some time ago after getting a complaint about such files missing +x perms on things like the configure script. check-in: b3d05a02f0 user: tangent tags: trunk | |
21:43 | Added some forward references within the top-level readme, for those reading it online. check-in: c5b1607ded user: tangent tags: trunk | |
2019-09-03
| ||
00:01 | Added prism.js, shortly to be used by the skin for syntax highlighting in repo code displays. check-in: 27d9da9dbe user: tangent tags: trunk | |
2019-08-18
| ||
00:57 | Tightened up the Fossil vs Git stuff in HACKERS.md, added a bit more Fossil help, added some links to external help, and reorganized the top level sections to flow better. check-in: ce1fca0017 user: tangent tags: trunk | |
2019-08-17
| ||
23:15 | Merged the use of libbcm_host from trunk with Oscar's new GPIO pull up/down setup code to get the best of both worlds. This requires a version of libbcm_host that was only just released: https://github.com/raspberrypi/firmware/issues/1161 check-in: 1eee471981 user: tangent tags: pi4-gpio-clean | |
2019-08-16
| ||
00:50 | Changed all references to "FOCAL 69" to "FOCAL,1969", and linked to the new "[Running FOCAL,1969]" wiki article which explains why this naming difference matters. check-in: d10da9f386 user: tangent tags: trunk | |
2019-08-15
| ||
22:49 | Updated the docs talking about Fossil 2.x binaries now that Buster is out, shipping Fossil 2.9. check-in: 062d059f8a user: tangent tags: trunk | |
00:22 | Added support for Pi 4 GPIO, based on code the Raspberry Pi Foundation published: https://github.com/RPi-Distro/raspi-gpio/commit/80fa7d04eafb3ea34fc6f2d32de5f1873b5fb369 This check-in is based on a version of gpio-common.c.in posted to the PiDP-8 Google Group by Oscar Vermeulen, which is why we're giving him credit for this check-in, even though I (tangent) have done quite a lot of changes to that code, mainly to match the existing code style. This is a branch because it conflicts with the current tip-of-trunk and because it's not yet tested on a Pi 4. It is unknown whether this branch will end up overriding the method we're using on trunk for Pi 0-3 or if we will instead wait for the Foundation to publish a new libbcm_host that obviates some of what this check-in does. Closed-Leaf check-in: bd10d4dde2 user: vermeulen.oscar tags: pi4-gpio-hack | |
2019-08-14
| ||
23:43 | Create new branch named "pi4-gpio-hack" check-in: 9a444fb597 user: tangent tags: pi4-gpio-hack | |
2019-08-13
| ||
04:58 | Clarified the tarball unpacking command in the top-level README.md. check-in: 74ae8b2240 user: tangent tags: trunk | |
2019-08-11
| ||
03:37 | Assorted improvements to the top-level README.md file. check-in: c3f1846968 user: tangent tags: trunk | |
2019-08-09
| ||
10:57 | Added link to "Fossil Versus Git" article from our HACKERS.md, near where we are making similar (but less detailed) arguments. check-in: 1be7a95d8e user: tangent tags: trunk | |
09:02 | Updated Autosetup. This is mainly an update to Jim Tcl 78 check-in: bc107cc50c user: tangent tags: trunk | |
00:39 | Removed +x bit on files that don't need to be executable check-in: 453bb7afc7 user: tangent tags: trunk | |
2019-08-08
| ||
08:40 | Fixed a documentation bug (./configure --lowercase=none is actually =pass) and did a clarity pass on the surrounding text while in there. check-in: 87616c6220 user: tangent tags: trunk | |
2019-08-03
| ||
23:36 | Small fixes to previous for the non-Pi case. check-in: b40c2f5f83 user: tangent tags: trunk | |
23:31 | Calling bcm_host_get_peripheral_address() in libbcm_host.so from libraspberrypi-dev instead of the hard-coded version we had before, which was apparently copied from old versions of the Pi developer docs. Now following the current advice: https://www.raspberrypi.org/documentation/hardware/raspberrypi/peripheral_addresses.md Doing this in the hopes that it fixes the compatibility problem with the Pi 4, but if it doesn't, this is probably the correct thing anyway. Tested with a Pi 3B+, so checking it in straight on trunk. check-in: 55cfea5027 user: tangent tags: trunk | |
2019-07-21
| ||
10:13 | Simplified the logic in tools/mmake for detecting whether GNU make is called as "gmake" or as just "make". check-in: fc2a0c1c8f user: tangent tags: trunk | |
2019-05-22
| ||
19:19 | Removed the handler for "freeze display on STOP" to match Ian Schofield's original "LED dithering" ILS-lite patch for the Pi Zero. Leaf check-in: 7d1cd49fe2 user: tangent tags: pi-zero-ils | |
11:58 | Untested application of Ian Schofield's LED dithering patch, which replaces the NLS mode with a different PWM-based incandescent lamp simulator scheme than either his original ILS or my "new ILS," intended to give much the same effect while using less host CPU power, so that it can run on a Pi Zero. This checkin is very different from the patch as posted on the mailing list, but I *think* it implements the same core algorithm. It's untested because while I have a PiDP-8/I front panel and a Pi Zero W here, I don't want to tear my PiDP-8/I apart to put the two together. That's and many other reasons are why this is on a branch. check-in: de6d1f5a43 user: tangent tags: pi-zero-ils | |
11:03 | Removed an obsolete FIXME comment check-in: 0d1ada3484 user: tangent tags: trunk | |
11:01 | Added a delay value in the STOP mode code path to avoid pointlessly burning host-side CPU cycles while waiting for the user to hit CONT or START on the front panel. Suggested by Ian Schofield. check-in: 46b8e18352 user: tangent tags: trunk | |
2019-05-18
| ||
20:31 | Added link to Balena Etcher from doc/OS-images.md check-in: 78e77bf3f0 user: tangent tags: trunk | |
20:30 | Another clarity pass on doc/OS-images.md check-in: 824c33fa11 user: tangent tags: trunk | |
20:29 | Assorted tweaks to doc/OS-images.md check-in: b20ee14442 user: tangent tags: trunk | |
2019-05-17
| ||
11:25 | Clarified the "motivation" at the top of doc/os8-run.md check-in: ecff080a2b user: tangent tags: trunk | |
2019-05-15
| ||
18:35 | Grammar fix check-in: 0a67aee2f9 user: tangent tags: trunk | |
18:34 | More --enable-savestate doc improvements check-in: 59efb347f7 user: tangent tags: trunk | |
18:29 | Clarity tweak to the --enable-savestate doc check-in: 8a91c99445 user: tangent tags: trunk | |
2019-05-11
| ||
21:49 | Another systemd workaround for WSL check-in: 91ff28ae9d user: tangent tags: trunk | |
20:19 | Fixes to bin/pidp8i for systems that either have no systemd or where (as on WSL) it's broken. In these cases, the script approximates a SysV init script. check-in: 279555ae38 user: tangent tags: trunk | |
20:18 | Fix for Cygwin "which" in bin/pidp8i: unlike typical implementations, it gripes on stderr when it can't find a match in the PATH. Sending stderr to /dev/null. check-in: 15389943a9 user: tangent tags: trunk | |
16:25 | Updated the discussion of systemd in the top-level README.md file: it was written in terms of the pre-release trunk implementation. We should have made similar changes shortly before release, but overlooked it. check-in: 1f0cad3572 user: tangent tags: trunk | |
15:33 | URL update check-in: 89e22f5975 user: tangent tags: trunk | |
15:17 | Assorted small updates to doc/class-simh.md check-in: b4b89f2f1e user: tangent tags: trunk | |
13:03 | Added TECO Pi macro creation credit to bin/teco-pi-demo. check-in: 57ccbf54aa user: tangent tags: trunk | |
2019-04-26
| ||
16:19 | Updated to latest Autosetup master: my @include and @define features were merged upstream, and it improves syntax error detection for @if. check-in: fb4e965288 user: tangent tags: trunk | |
2019-04-25
| ||
13:02 | Added the Orientation section to the top-level README.md file and simplified the Prerequisites section following it. check-in: 8f7a8e5e59 user: tangent tags: trunk | |
10:34 | Math error fix in ChangeLog.md check-in: 5bd81437e7 user: tangent tags: trunk | |
10:29 | Added -y to an apt-get command in tools/bosi check-in: 04cce6c025 user: tangent tags: trunk | |
09:46 | Merged trunk changes for v20190425 into release branch check-in: 2e08e8ff1a user: tangent tags: release, v20190425 | |
09:40 | Small fix to tools/mkrel. check-in: 07a540166c user: tangent tags: trunk | |
09:40 | Released v20190425 check-in: 1999bfb59b user: tangent tags: trunk | |
09:26 | Expanded glob in previous to cover v3d.rk05 as well. check-in: 93796e07f6 user: tangent tags: trunk | |
09:25 | Updated tools/publish-os8 for the new OS/8 RK05 media names. check-in: 3d717c6324 user: tangent tags: trunk | |
08:56 | Changed the systemd service from "Type=oneshot" to "notify" allowing us to use systemd-notify to tell it when the service has successfully started and communicate the screen(1) PID to it. This greatly improves the reliably of systemctl commands on the background service. This solves some of the problems that lead to ticket [ce9ea9c96]. check-in: f9a56691d8 user: tangent tags: trunk | |
2019-04-24
| ||
11:12 | Adjusted the "make release" process so that the version tag ends up on the release branch, not on trunk, so that "fossil up vYYYYmmDD ; fossil up" results in the user staying on the release branch. If vYYYYmmDD is not the current release, it will switch them to the current release. check-in: 27340aeebd user: tangent tags: trunk | |
2019-04-22
| ||
16:17 | Set Fossil's "pull only" setting on the opened Fossil repo in tools/bosi so users can make local checkins without getting warnings about lacking permission to push. check-in: dcb3d283aa user: tangent tags: trunk | |
03:16 | On "make install" the *.script files have their savestate directories changed to $prefix/share/save, rather than depend on %HOME% in that condition. check-in: 5846d941cb user: tangent tags: trunk | |
00:14 | Reworked the PiDP-8/I custom SIGINT handler in terms of SIGTERM now that SIMH handles that properly. check-in: f4e7086472 user: tangent tags: trunk | |
00:04 | Extracted common elements of most boot/*.script files to boot/common.script.in and applied final changes that allow SIGTERM to work as we expect. Closes [ce9ea9c96]. check-in: dc8791be53 user: tangent tags: trunk | |
2019-04-19
| ||
08:45 | Updated SIMH again to get distinct SIGTERM handling. (Prior versions treated it the same as SIGINT, which is wrong.) check-in: 61903edc63 user: tangent tags: trunk | |
2019-04-18
| ||
12:32 | The new "pidp8i stop" implementation failed on a real PiDP-8/I because scanswitch fails when the simulator's running. Switched to a different method for detecting which simulator executable is running. check-in: 10339e6b1a user: tangent tags: trunk | |
11:33 | Rewrote "pidp8i stop" to send a SIGINT, wait 2 seconds, then SIGKILL to make use of the new savestate mechanism and hopefully close ticket [ce9ea9c96a]. (Checking it in to try on an actual PiDP-8/I next.) If savestate mode is disabled, we skip the first two steps and go straight to SIGKILL: this could lose data, but until SIMH gets proper SIGTERM support, this is the best we can do. check-in: 98a0b0305a user: tangent tags: trunk | |
11:29 | Fixed a few bugs in the new savestate.script: the ON ERROR handler doesn't help, and Ctrl-E CONT would cause a reboot. check-in: 780af010e3 user: tangent tags: trunk | |
10:12 | Removed a pointless "ECHO" from the new boot/savestate.script file. check-in: 4810c085f8 user: tangent tags: trunk | |
10:09 | Added the --enable-savestate configuration option, conditionally making use of SIMH's SAVE/RESTORE feature and the new Autosetup @include/@define feature to provide parameterized core/register/device state saving and restoration on simulator restarts. check-in: 555b5e5f8d user: tangent tags: trunk | |
10:07 | Added @include and @define features to Autosetup's template file processor. This is being pushed upstream as the template-include branch, but we're checking it in here rather than wait for our PR to be accepted because a) we don't want to wait; and b) it might be rejected, and our subsequent checkin requires this feature to work as it currently does. check-in: 3ea0b1ea99 user: tangent tags: trunk | |
07:25 | Updated SIMH again: we need the recent fix to ON ERROR handling. check-in: e5ae989411 user: tangent tags: trunk | |
06:17 | Fixed something checked into previous: we added $0 to a "chmod -x $(stuff)" line so there was always something to chmod -x if the subshell returned nothing to avoid a complaint from chmod about getting no args, but $0 should always have +x. Changed it to auto.def, something that should never be +x. check-in: 7e0d206df8 user: tangent tags: trunk | |
06:15 | Updated Autosetup to tip-of-master (post 0.6.9) in preparation for adding a new feature to it. This changes the syntax for @if expressions, so this checkin includes updates to the two affected boot/*.script files. check-in: 190c00fe14 user: tangent tags: trunk | |
2019-04-16
| ||
11:51 | "make run" now uses scanswitch to detect lack of GPIO, so it runs the simulator as "pdp8" not "pidp8i-sim" when there is no PiDP-8/I panel. check-in: cd3145ad2d user: tangent tags: trunk | |
08:24 | scanswitch was returning -1 on no GPIO, which is 255 on macOS at least, which means the test for "no GPIO" in bin/pid8pi wouldn't get hit properly. Returning 127 as that script expects rather than change the script, since the script has established a kind of contract. check-in: 07be964914 user: tangent tags: trunk | |
2019-04-15
| ||
07:25 | Updated SIMH to latest upstream. No functional change relative to prior source base as far as I can tell from the commit history since the last update. check-in: fc1b9bc0e9 user: tangent tags: trunk | |
06:33 | Replaced use of dict.iteritems() with items() check-in: 394ecc357c user: tangent tags: os8-run-python3 | |
06:27 | First steps to getting os8-run working with Python 3: this is all of the print() calls. (print() is a function in Python 3, not a keyword as in prior versions, so it requires parens around its arguments, always.) This is the start of a new branch because this won't be the only thing needed to get these programs working under Python 3. This is needed on my macOS box because Anaconda Distribution installs Python 3 as "python", which is arguably wrong, but hopefully we can get os8-run and its helper libraries into a state where they run on both versions so this won't matter any more. This checkin *also* accidentally includes a SIMH update, because I was in the middle of the SIMH update and got distracted by fixing the Python 2-isms and accidentally checked the SIMH changes in as well. The SIMH update should have been on trunk only. I'll fix that on this branch a bit down the line. check-in: 05bd569e5e user: tangent tags: os8-run-python3 | |
05:40 | Updated bosi script to point at the Fossil 2.8 binary for RPi check-in: 5e51328bc2 user: tangent tags: trunk | |
2019-04-04
| ||
04:09 | Cleanup of all-tu56.os8 to perhaps head off some other race condition. There was a v3f td128 that blew out because of a mounted dt device -- a heisenbug, not reproducible. I've carefully limited the attachment of the dt device, and explicitly detached it now. check-in: 993ffbdfd3 user: poetnerd tags: trunk | |
2019-03-24
| ||
07:15 | Another simh.os8_send_cmd() header comment rewrite. check-in: f02a71584b user: tangent tags: trunk | |
06:52 | Fixed a couple of locations where the prompt string passed to simh.os8_send_cmd() wasn't being escaped correctly, potentially leading to a breakage in the caller's state machine. check-in: e8a6d0e354 user: tangent tags: trunk | |
06:47 | Increased the default timeout to simh.os8_send_cmd() from 30 to 60 seconds in response to a report from a Raspberry Pi A+ user that the media build process can time out when building with the slow TD8E device. check-in: 614c94da4c user: tangent tags: trunk | |
06:46 | Rewrote the simh.os8_send_cmd() function comment for clarity and completeness. check-in: 0043a185db user: tangent tags: trunk | |
05:47 | Added explicit license grant to HACKERS.md check-in: 5ba94a47d1 user: tangent tags: trunk | |
2019-03-21
| ||
00:09 | Add error detection for LINE TOO LONG IN FILE to simh.py. Fixes bug f937eb1e32. check-in: 69f9981b49 user: poetnerd tags: trunk | |
2019-03-19
| ||
05:29 | Added a section on CR+LF handling to the CC8 manual. check-in: c8664e03e3 user: tangent tags: trunk | |
05:20 | Several small improvements to the CC8 manual check-in: 3cf04448ad user: tangent tags: trunk | |
04:29 | Added documentation for putc() and fputc() in doc/cc8-manual.md. check-in: 5a0c639bfe user: tangent tags: trunk | |
2019-03-17
| ||
04:57 | Clarity fix check-in: ffce738e78 user: tangent tags: trunk | |
04:55 | Merged the cc8-octal-output branch down to trunk. check-in: 96ed492d9f user: tangent tags: trunk | |
04:51 | Merged in trunk improvements Closed-Leaf check-in: 9492282084 user: tangent tags: cc8-octal-output | |
04:41 | Updated ChangeLog for upcoming release to March, February having passed. check-in: 617783a44d user: tangent tags: trunk | |
04:40 | Updated the README.md copyright year to 2019 check-in: 9959db70c3 user: tangent tags: trunk | |
2019-03-11
| ||
00:56 | Checkin [a96f0c5f20] missed a location where the old, incorrect "MQO" operator definition in the OS/8 CC8's code generator wasn't changed to the corrected mnemonic, MQA. Bug reported by Ian Schofield. check-in: 9074f0ba54 user: tangent tags: trunk | |
2019-03-02
| ||
17:13 | Added a named anchor to a document check-in: 97ee3f6977 user: tangent tags: trunk | |
2019-02-22
| ||
11:40 | Fleshed out the discussion of malloc() in the CC8 manual, turning it into a new sub-section, "Fun Trivia: The History of malloc()". check-in: cb743198fd user: tangent tags: cc8-octal-output | |
11:12 | Found malloc() in UNIX V7, so added that info to the CC8 manual's poin on "no malloc() in CC8". check-in: 4b64cfdc4c user: tangent tags: cc8-octal-output | |
2019-02-21
| ||
12:34 | Updated ChangeLog check-in: a6371d4cad user: tangent tags: cc8-octal-output | |
11:55 | Many improvements to the CC8 user manual. Basically, I began re-reading it from the top, improving it along the way with my new understanding of CC8. check-in: 0316450b57 user: tangent tags: cc8-octal-output | |
09:08 | Rewrote the history section at the top of the CC8 manual to give a better arc. check-in: 694c027652 user: tangent tags: cc8-octal-output | |
08:55 | Updated the CC8 user manual to cover the new octal output default. check-in: 84f718936e user: tangent tags: cc8-octal-output | |
08:12 | Squished the bug that prevents this branch from generating code that runs properly: I overlooked the #defines in libc.h which are treated by the compiler as text, not as C integers, so that integer indices emitted in the generated SABR code for calling into LIBC were in decimal but were then interpreted by SABR as octal. If this gave syntactically correct code, it would call the wrong function for every function past index 7. The fact that we never saw it generate syntactically incorrect code merely reflects the fact that we didn't happen to call any functions that used decimal indexes that have no corresponding octal interpretation, a possibility only 1/5 of the time. (e.g. 29) check-in: d5ab8f91d9 user: tangent tags: cc8-octal-output | |
2019-02-20
| ||
12:21 | Merged the CC8 ABSYM and doc changes from trunk into this branch to reduce pointless differences. check-in: f8a2346503 user: tangent tags: cc8-octal-output | |
12:13 | Comment improvement check-in: 4693b7fe41 user: tangent tags: trunk | |
12:10 | Reverted the changes to the ABSYM declarations in init.h, header.sb, and libc.c, and documented the reason why the declarations in these files do not all match, and why they cannot be packed up into the top of any zero page involving LOADER.SV. check-in: 4dfc549077 user: tangent tags: trunk | |
2019-02-19
| ||
11:30 | Ian smacked me with a clue-bat: there are *several* zero pages, and their usages do not conflict! Fixed several bits in the CC8 user manual that resulting from this confusion. (This also explains why the discrepancies between INIT and LIBC's globals don't matter: they're in different fields!) check-in: 3ae7245274 user: tangent tags: trunk | |
10:44 | First pass at making CC8 emit octal in SABR output only, and to convert the decimal constants in the static SABR code within header.sb, libc.c, and init.h to octal. This also gets rid of all the DECIM directives, since SABR defaults to OCTAL mode. This is on a branch because the result doesn't yet run correctly, and I'm out of time trying to figure out why. check-in: ce071e8713 user: tangent tags: cc8-octal-output | |
09:33 | Found yet a *third* copy of the CC8 ABSYM table! These fixups allow the cross-compiler to produce code that links to LIBC properly. That then highlit some differences in the INIT code between header.sb and init.h, the latter of which has both more code and more globals. Mainly fixing this involves packing the new globals up tight against those that init.h shares in common with header.sb and libc.c, but also a change to the docs to reduce the space available to the [f]printf() buffer yet again. check-in: 778e8ff4ec user: tangent tags: trunk | |
08:48 | Fixed indents in CC8 init.h and header.sb: I've been fighting with these hard tabs all night, and I'm sick of it. They're space indents now, per HACKERS.md. check-in: e289bdbe25 user: tangent tags: trunk | |
08:32 | Merged cc8-libc-zp-reorg branch down to trunk. It appears to be stabilized now. check-in: b0097f70c6 user: tangent tags: trunk | |
08:01 | Merged VC8E OPDEF stuff up from trunk to reduce unnecessary diffs Closed-Leaf check-in: 2d4b00518f user: tangent tags: cc8-libc-zp-reorg | |
07:58 | Merged VC8E OPDEF feature for CC8 LIBC down from the cc8-libc-zp-reorg fix, where it's out-of-place. check-in: 23f886388e user: tangent tags: trunk | |
07:04 | Fixed a CPAGE directive in libc.c that could potentially lead to the LIBC entry point call table being split across pages. check-in: 64f9c6e820 user: tangent tags: cc8-libc-zp-reorg | |
03:55 | Checkin [228e1c8b3a] added a comment ending in an exclamation point to HEADER.SB, which is perfectly legal in SABR, but it breaks a hidden contract between the CC0 and CC2 stages of the native compiler, wherein a '!' character terminates the preamble part of the CASM.TX output! This caused un-assemblable SABR output, because everything after that in HEADER.SB got chopped off. (Actually, it was probably treated as the start of the first inline assembly block.) check-in: ae9dda1ecb user: tangent tags: cc8-libc-zp-reorg | |
03:31 | Decided to move the LIBC globals previously moved into 10002 thru 10007 to the end of the field 1 zero page, so we can dedicate these 8 locations for user code. Otherwise, user code has no zero page locations they can safely use, which seems rather grabby of us. check-in: ca6257496b user: tangent tags: cc8-libc-zp-reorg | |
03:13 | Cherrypicked [52aa88863c] onto trunk, primarily to ensure that those with recent trunk checkouts don't get unexpectedly sent to branch cc8-cleanups. This change is harmless to have in both places. check-in: 0c7432da84 user: tangent tags: trunk | |
02:50 | Checkin [1ea9133a37] is incomplete: the CC8 native compiler's HEADER.SB file contains a duplicate of the ABSYM declarations in libc.c, shared between the two CC8 compilers; they need to match! It's not clear to me the consequences of these two not matching, since our tests didn't fail earlier, but there's also no good reason for these to differ. Added comments to reduce the chance of these two pieces of code drifting apart again. check-in: 228e1c8b3a user: tangent tags: cc8-libc-zp-reorg | |
02:39 | Added OPDEFs for DILX, DILY, and DIXY instructions to VC8E, shortly to be used within CC8's dispxy() LIBC routine. check-in: 281ab90846 user: tangent tags: cc8-libc-zp-reorg | |
02:06 | Comment fix check-in: 52aa88863c user: tangent tags: cc8-libc-zp-reorg | |
01:31 | Grammar fix check-in: b2f266258f user: tangent tags: cc8-libc-zp-reorg | |
01:23 | Moved [f]printf() buffer down into the otherwise sparsely used zero page, and rearranged the constants previously declared there to make better use of the space available. This then opens another half-page of space for the stack. Updated docs to cover all of this. EDIT: This is the start of a new branch because this checkin breaks some things, and some of the subsequent checkins destabilize CC8. I'm moving it to a branch until all that's fixed. check-in: 1ea9133a37 user: tangent tags: cc8-libc-zp-reorg | |
2019-02-13
| ||
19:13 | Moved the "Strings are of Words, Not of Bytes or Characters" section of the CC8 user manual up within the document to be after the "Character Set" section, where it fits better. (This wasn't really possible back when the latter section was part of the stdio section.) check-in: 7f8d8bcff5 user: tangent tags: trunk | |
19:12 | Added more detail about file I/O limitations to the LIBC user documentation section of the CC8 manual. (What used to be the "stdio" section is now broken up into several sections at the same level.) check-in: 23f92ab553 user: tangent tags: trunk | |
18:52 | Rewrote the "Inline Assembly in the Native CC8 Compiler" section in the CC8 user manual after learning more about its behavior and limitations. check-in: 573aba2f6a user: tangent tags: trunk | |
06:13 | Documented the new ./configure --boot-tape-* options, and updated some of the other configuration option docs in README.md. check-in: f5a05c7790 user: tangent tags: trunk | |
05:27 | Passing --disable-cc8-cross now effectively sets --disable-os8-cc8. That wasn't necessary before, since we were distributing a pre-built version of the native CC8, but now that we're building it from source, we need the cross-compiler to produce cc8.tu56. check-in: ff7ab04cc3 user: tangent tags: trunk | |
2019-02-12
| ||
06:13 | Updated ChangeLog.md to cover new CC8 work check-in: 1992d9b147 user: tangent tags: trunk | |
05:53 | Moved the "TC08 vs TD8E" and "V3D vs V3F" text from the ChangeLog.md file to the wiki, and referenced it from the ChangeLog. check-in: 01e0bc0d69 user: tangent tags: trunk | |
05:15 | Clarified the tail end of the concrete memory map example in the CC8 user manual. check-in: 3f8a6d035d user: tangent tags: trunk | |
05:13 | Fixed a field/page confusion check-in: 4037a35485 user: tangent tags: trunk | |
05:11 | Added a missing LOADER prompt in previous check-in: 7e3988ba1e user: tangent tags: trunk | |
05:11 | Fixed up a confusing use of LOADER/G in the new Memory Model stuff in the CC8 user manual. check-in: 0b061209fc user: tangent tags: trunk | |
05:03 | Decided to put the "1" back at the beginning of the addresses for the UDF ranges in the CC8 manual: it's a pretty good bet that the UDF will remain field 1 despite LOADER jiggery-pokery. check-in: d166926273 user: tangent tags: trunk | |
04:51 | Changed all of the bare CRs in the output from the final stage of the OS/8 CC8 (CC2.SV) to CRLFs. This solves a problem where PIP couldn't read the input file correctly, preventing us from using os8-cp in ASCII mode to copy the CC.SB file out to examine it in a civilized text editor. check-in: 529c0ee697 user: tangent tags: trunk | |
04:46 | Changed all uses of fprintf() in src/cc8/os8/p8.c that don't use printf() format specifiers to fputs() instead, saving 200 core memory locations due to the lower amount of stack manipulation required to call a straight function with a single parameter. check-in: 0b3919909f user: tangent tags: trunk | |
04:08 | Major improvements to the Memory Model section of the CC8 user manual following more RTFMing and experimentation. check-in: 8a9fab096f user: tangent tags: trunk | |
03:05 | Much more detail in the Memory Model section of the CC8 manual after spending some time RTFMing and trying to figure out how CC8 and the stack it's built atop (FORTRAN II, SABR, LOADER) lay things out in memory. check-in: e5dc02cc2d user: tangent tags: trunk | |
01:23 | Documented the breakdown of Field 1 usage by CC8 check-in: f289a33de1 user: tangent tags: trunk | |
01:03 | src/cc8/os8/header.sb was using size-4 hard tabs to emulate size-8 hard tabs, causing ugly output when you TYPE CC.SB or HEADER.SB on the OS/8 side. Changed these to size-8 hard tabs. Also added a Vim modeline to the top of the file to ensure that Vim (at least) will preserve our intent here. check-in: e7dd3c2c38 user: tangent tags: trunk | |
01:01 | Added a paragraph explaining the existence of TADI and such in CC8 output. check-in: 571e4b9d7f user: tangent tags: trunk | |
2019-02-11
| ||
09:13 | Fixed a bug introduced by [c20811f34c] affecting uses of printf "%d": the implementation wasn't passing "10" as the new radix parameter. It wasn't caught because CC8, being a K&R dialect, doesn't need or support function prototypes. check-in: a230f38ad3 user: tangent tags: trunk | |
08:06 | Clarifications to poetnerd's recent additions to the CC8 manual check-in: 970e63c338 user: tangent tags: trunk | |
05:41 | A few minor updates: Native compiler needs 20K; Added mention of the current state of the pre processor, I.E. it does have some support in both compilers, including #asm. check-in: b76c7b756c user: poetnerd tags: trunk | |
05:15 | Improved the section on Optimization in the CC8 manual check-in: fbb5c3e12f user: tangent tags: trunk | |
05:06 | Typo fix check-in: 35b5b4b6f0 user: tangent tags: trunk | |
05:05 | Added "Predefined OPDEFs" section to the inline assembly section of the CC8 manual, documenting the op-codes CC8 predefines in SABR output. check-in: 4a52fc8c15 user: tangent tags: trunk | |
04:30 | Fixed some nonstandard OPDEFs in the SABR code generated by CC8: its "MQA" is normally called "ACL", and its nonstandard "MQO" opcode is what's normally called "MQA". check-in: a96f0c5f20 user: tangent tags: trunk | |
04:18 | sprintf() now returns -1 when it hits an unknown format specifier, as cppreference says it should. This is actually smaller than the prior code, which incorrectly returned the number of characters written so far and then failed to terminate the output string. cppreference doesn't say we should terminate the output string in this condition, but the error return is enough to clue the user in that they shouldn't use the output string. check-in: 7e5e3a226d user: tangent tags: trunk | |
04:16 | Added note about "no heap/malloc" to the CC8 manual check-in: 47f3716a0e user: tangent tags: trunk | |
03:49 | Comment typo fix check-in: 433b6f5813 user: tangent tags: trunk | |
03:40 | Added %X support to CC8's sprintf(), now that %x means "lowercase hex." check-in: 99491648cd user: tangent tags: trunk | |
03:31 | The CC8 LIBC's itoa() function now has a radix parameter, like the function of the same name common in Windows and DOS C compiler standard libraries. This also effectively exposes the previously internal itoab() function, itoa() basically acting as a wrapper for it for bases other than 10 and for positive values in base 10. That is, the only difference between the two is for negative values in base 10. check-in: c20811f34c user: tangent tags: trunk | |
2019-02-10
| ||
06:01 | Grammar and clarity pass on the CC8 user manual check-in: 650ad501b1 user: tangent tags: trunk | |
05:47 | Merged the content of the "Known Bugs in the OS/8 CC8 Compiler" section of the CC8 manual down into the new LIBC reference. check-in: 6edb45e03f user: tangent tags: trunk | |
05:39 | Markdown formatting fix check-in: ec6d43e1ec user: tangent tags: trunk | |
05:38 | URL fix check-in: 681a96c67d user: tangent tags: trunk | |
05:37 | Rewrote much of "The Native OS/8 Compiler" intro material in the CC8 manual to reflect the new os8-run world, free of a pre-built cc8.tu56 image. Also removed cc8-tu56-update, referred to by that section, since it's now replaced by media/os8/scripts/cc8-tu56.os8. check-in: b58ecf4ec5 user: tangent tags: trunk | |