PiDP-8/I Software

Timeline
Log In

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

263 check-ins using file src/pidp8i/main.c.in version 68b00b19f5

2020-03-24
23:50
Add ".decode()" to all uses of self_child.{before,after}. Now everything builds under python3. Closed-Leaf check-in: 9b105fe0f5 user: poetnerd tags: os8-run-python3
2019-05-22
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
18:35
Added all of the files renamed in [1860880163] to *.in to the Makefile's INFILES variable, so we autoreconf when any of them get touched. check-in: c67bd86630 user: tangent tags: os8-run-python3
18:32
Changed xrange() call to range() in class simh to be compatible with Python 3. check-in: 6d23ecf72c user: tangent tags: os8-run-python3
18:25
The configure script now detects whether Python 2 or 3 is installed, and what its binary is called. If both are installed, it prefers Python 3. This then substitutes the value found into all scripts and module shebang lines that previously hardcoded "/usr/bin/env python". With this move, several files got renamed to *.in, as they previously had no other reason to be treated as Autosetup templates. check-in: 1860880163 user: tangent tags: os8-run-python3
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:33
Merged in trunk changes check-in: 19490adbd4 user: tangent tags: os8-run-python3
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
11:49
More print() fixes, this time for os8-cp. check-in: e05a907c3f user: tangent tags: os8-run-python3
11:38
Fixed a case where pexpect is giving us a byte string, which annoys Python's regex matcher. Explicitly converting it to an ASCII text string. It's basically a null operation, but it makes Python 3 happy. check-in: 560dc8061a user: tangent tags: os8-run-python3
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:33
Merged in the tiny trunk differences relative to the SIMH update accidentally checked in on this branch. Now this branch contains only the Python 2-ism fixes relative to trunk. check-in: 18d667556a user: tangent tags: os8-run-python3
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:39
Opening class simh log files in binary mode to avoid a problem introduced by an unbelievably screwy change in Python 3 vs 2: https://stackoverflow.com/a/5513856/142454 check-in: f921ba10f9 user: tangent tags: os8-run-python3
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
05:17
Typo fixes check-in: 92d5c4b19e user: tangent tags: trunk
05:14
Added note about lack of %ld in CC8 sprintf() check-in: e25e988ef8 user: tangent tags: trunk
05:08
Collapsed some introductory material in the CC8 manual together to flow better, and change all "I" either to "we" where blame-sharing seems advisable or to the names of particular people where credit direction is required. :) check-in: 6ff36e09c3 user: tangent tags: trunk
04:56
Moved a sentence down to make the CC8 doc flow better. check-in: f9acd37731 user: tangent tags: trunk
04:48
The documentation for the way fopen() in CC8's LIBC treats file name extensions was wrong. It may *still* be wrong, but I think it's *less* wrong, at least. check-in: daa54b854a user: tangent tags: trunk
04:38
Documented xinit() in the CC8 user manual. check-in: 7bde4d409d user: tangent tags: trunk
04:34
Added the "Pointers Wrap Around" section to the CC8 manual and referred to it from each function documentation where relevant rather than repeat the warning about pointer wrapping and 4096 word field sizes. check-in: bc9432c9fe user: tangent tags: trunk
04:09
Documented LIBC's strstr(), fixed a bug in its implementation discovered while comparing that implementation to our C reference, and clarified the whole "0-terminated word string" vs "NUL-terminated character string" thing. check-in: 3f02d1675d user: tangent tags: trunk
03:09
Documented revcpy(), strcpy() and strcat() in CC8's LIBC. check-in: fe8674b377 user: tangent tags: trunk
02:36
Clarified matters related to the stock CC8 include files libc.h and init.h in the manual. check-in: 8a7bc70515 user: tangent tags: trunk
02:25
The cc8-tu56.os8 script was not copying CCR.BI to DSK:, as earlier CC8 systems did. This invalidates all of the CC8-based test exemplars yet again. Sigh. check-in: 904e54195b user: tangent tags: trunk
01:58
Moved the inline assembly and calling convention section of cc8-manual.doc down to be near the Memory Model section, where it better belongs. Lots of improvements to the text after the move. check-in: f1e351cfb8 user: tangent tags: trunk
00:50
Added proper documentation for printf() and friends to cc8-manual.md. check-in: 6988e82dd0 user: tangent tags: trunk
2019-02-09
22:47
Documented memset() and memcpy() in CC8 LIBC. check-in: 0663863c87 user: tangent tags: trunk
21:10
Several more LIBC functions documented check-in: 3441874c6e user: tangent tags: trunk
18:53
URL fix check-in: 25556d8455 user: tangent tags: trunk
18:52
Explained why libc.h and libc.c are where they are in the source tree. check-in: c8f9757d87 user: tangent tags: trunk
18:30
Ian came up with a better optimization in the cupper vs while(toupper) loop so updated the related discussion in cc8-manual.md. check-in: 9ad642c82f user: tangent tags: trunk
18:17
Extracted the section on core memory layout from the middle of the discussion of the compilers to its own section and expanded on it with info about stack/global layout from a private email exchange with Ian. check-in: c24e79e916 user: tangent tags: trunk
17:52
Changed gets() in CC8 LIBC to return the passed pointer on success, as the Standard requires. Updated the docs to match. check-in: 479851471f user: tangent tags: trunk
16:14
Minor improvements to the new cupper() docs. check-in: cd7773a818 user: tangent tags: trunk
16:05
Rewrote the cupper() documentation in light of greater understanding of the code and some experiments. check-in: 52bdf1c613 user: tangent tags: trunk
14:57
Documented dispxy() in CC8 LIBC check-in: 5ca29ae1f2 user: tangent tags: trunk
2019-02-04
21:01
More minor text edits check-in: 46336e321a user: tangent tags: trunk
20:51
Fixed a few spelling errors in COPYING.md check-in: baf0b81b9f user: tangent tags: trunk
19:04
More work on the CC8 manual, mainly to cupper() and dispxy() check-in: 8e0263270e user: tangent tags: trunk
17:09
Major update to the CC8 manual. Improvements in many areas, but it's mostly focused on LIBC areas. check-in: d4e8a88805 user: tangent tags: trunk
2019-02-02
05:15
Assorted small improvements to the CC8 manual, mainly in response to the recent CC8-related ticket changes. check-in: 5474df892f user: tangent tags: trunk
05:12
Changed emphasis from the mailing list to the project forum in HACKERS.md. check-in: cf44ed935a user: tangent tags: trunk
04:44
More work on Ticket Processes. check-in: 6b135b2b1c user: tangent tags: trunk
04:34
Addeed Ticket Processes section to HACKERS.md check-in: 9e3f86d083 user: tangent tags: trunk
04:23
Drafty first draft of explanation of TD8E versus TC08, and V3D versus V3F. I expect this content, once understood by another, will be determined to be more appropriately put somewhere else. check-in: 002cb8eadc user: poetnerd tags: trunk
2019-01-31
21:59
Finished the first pass on the CC8 LIBC docs in cc8-manual.md. This adds *some* documentation for every function, without any intention that it be complete at this point. Some points previously made elsewhere within the document (mainly in the lists of limitatios) are moved into this new section. Also expanded the section on inline assembly and the CC8 calling convention, since figuring out as much of LIBC as I have revealed much to me as I went. check-in: 19339280aa user: tangent tags: trunk
16:21
Small improvements to the doc/cc8-manual.md intro material. check-in: acb19cdcd8 user: tangent tags: trunk
16:05
Renamed media/os8/patches/TECO-31.20.10M-5.05.patch8 to TECO-31.20.10M-v5.05.patch8 to match related patch files. check-in: fe41407d03 user: tangent tags: trunk
16:04
macOS curled some quotes in the new Markdown within cc8-manual.md. Grrr. check-in: 0aedc87d84 user: tangent tags: trunk
15:39
Large improvements to the CC8 manual: rewrote the history section, mentioned Bill Cattey's Small-C 85 update, added links, reorganized it to gather related sections better, and added the first small bits towards documentation of the standard library. check-in: f15c1fd1e5 user: tangent tags: trunk
14:16
Moved src/cc8/README.md to doc/cc8-manual.md. The other two CC8 README.md files remain behind, since they're small and need to be in-place. This top-level CC8 README is about to grow, hopefully to become a proper manual. check-in: 4cd53251ce user: tangent tags: trunk
05:39
I ran 50 tests through test-os8-run both on Mac and Pi. All seems well. Merging in Ian's cc8/cross updates. TODO: Update status of open bugs addressed by this update. check-in: 96176af114 user: poetnerd tags: trunk
04:21
Merge in current trunk. Test runs seem successful. Closed-Leaf check-in: ba538e6db4 user: poetnerd tags: smc85-cc8
2019-01-30
20:30
Another cc8/cross update from Ian Schofield. Addresses bug a4123bb743, making the cross compiler at last allow typed function declarations. cc8 now builds silently with -Wall. Supporting struct in the pdp-8 target had a storage management bug that is now fixed. The void type is now added to cc8. The resulting native C compiler for OS/8 is unchanged -- bit for bit identical, because that code does not use any of the enhancements to the cc8 cross compiler. check-in: dc687b9f08 user: poetnerd tags: smc85-cc8
05:13
Typo fixes check-in: 29330cbb14 user: tangent tags: trunk
03:12
Updated RPi Fossil binary to 2.7 check-in: ee9f707dd5 user: tangent tags: trunk
03:02
Markdown rendering fix in latest ChangeLog check-in: dd1dbf12f0 user: tangent tags: trunk
03:01
Updated the ChangeLog with the work done since December 10. check-in: e7486b378c user: tangent tags: trunk
02:52
Documented that --disable-os8-init now leaves INIT.TX and INIT.CM out of the disk image. It used to generated them but then not set the message to be displayed, arguing that you should be able to re-enable it later without regenerating the OS/8 media. check-in: 44b6675c0a user: tangent tags: trunk
02:22
Greatly simplified the log sanitizer regexes for the SIMH ATTACH commands in test-os8-run. This invalidates the whole test corpus. check-in: d2e9ed2424 user: tangent tags: trunk
00:22
The test-os8-run log sanitizer now suppresses the "Ctrl-F" message emitted by the latest SIMH console code, just merged in. Also cleaned up the formatting of the existing code in the log sanitizer. check-in: 18edbfc5a0 user: tangent tags: trunk
2019-01-29
22:03
Polishing pass on the ChangeLog.md file. check-in: 18d6b64b65 user: tangent tags: trunk
21:12
Added a link to the ChangeLog.md file from the release process doc. check-in: dabf2cb05b user: tangent tags: trunk
02:56
Updated SIMH to latest upstream check-in: f8dba703c8 user: tangent tags: trunk
02:43
Removed an empty line from SCP not present in upstream; same reason. check-in: 179af86b65 user: tangent tags: trunk
02:41
Moved check for argv[0] == pidp8i-sim down within SCP, partly because we were doing it before that was sanity-checked, but also because where it is right now causes a merge conflict on simh-update. check-in: 4ad492579e user: tangent tags: trunk
01:09
URL fix check-in: 05b9a8699c user: tangent tags: trunk
2019-01-13
15:17
Update of native OS/8 C compiler from Ian Schofield which include: Add string storage area in Field 4. Improvements to CC.SV to read file line by line, and to include a bit more preprocessor functionality: Add simple #define directive. (Warning! Quoted text is not ignored!) Ignores formfeed character. check-in: d72ed26926 user: poetnerd tags: smc85-cc8
2019-01-07
04:53
Branch turned off debugging in media/os8/scripts/cc8-tu56.os8. check-in: 2822a3aa53 user: poetnerd tags: trunk
04:45
Turn off debugging in cc8-tu56.os8 script. check-in: b087822359 user: poetnerd tags: smc85-cc8
04:40
Fix for ab0e67f1a5 merge in from smc85-cc8. Some sort of state dependent on the location of LIBC.RL was affecting the contents of the Native OS/8 C Compiler .SV files. So we carefully control where LIBC.RL will live before we use it. Tested by running test-os8-run with 200 randomly selected configs on both a Mac and on a Pi 3. check-in: dc82234d41 user: poetnerd tags: trunk
2019-01-06
20:55
Add building of cc8.tu56 to test-os8-run check-in: 90551a9abb user: poetnerd tags: smc85-cc8
20:53
Fix typo in comment. check-in: 065cf7ae2b user: poetnerd tags: smc85-cc8
2019-01-05
15:04
I think this fixes ab0e67f1a5. Some sort of state dependent on the location of LIBC.RL was affecting the contents of the Native OS/8 C Compiler .SV files. So we carefully control where LIBC.RL will live before we use it. check-in: bfc8be2109 user: poetnerd tags: smc85-cc8
15:02
Make cc8.tu56 dependent on the script that makes it. check-in: bd1a37f561 user: poetnerd tags: smc85-cc8
00:27
Redo build of cc8.tu56 with make and an os8 script. Let's see if another platform will render THIS dterministically. If not, then it's probably the SABR environment. check-in: 4a6b076744 user: poetnerd tags: smc85-cc8
2019-01-04
15:06
Merge in latest trunk. check-in: cc92f84b3e user: poetnerd tags: smc85-cc8
03:32
I mis-labeled the subprocess.call Exception. check-in: a062d7a937 user: poetnerd tags: trunk
02:29
New cc8.tu56, and complete refresh of tool chain to make it. What was in trunk would not build for a variety of reasons. This checkin fixes bugs: a3f875cd62 and c1719672d4. I was hoping it would fix ab0e67f1a5 (cc8-tu56-update nondeterministic) but it does not. check-in: 1f65fa2717 user: poetnerd tags: trunk
01:58
Clean up .pt files left behind in obj directory by os8_send_file. check-in: 2eeb7b7433 user: poetnerd tags: smc85-cc8
01:22
New cc8.tu56 made with updated cross compiler, cc8-to-os8 and cc8-tu56-update. check-in: 8ee2f6e46f user: poetnerd tags: smc85-cc8
2019-01-03
04:43
Merged in updates from trunk. check-in: 0dd42ebd59 user: poetnerd tags: smc85-cc8
04:42
Import code from lib/os8scripts.py to create a scratch copy of the system packs. This too may help with making cc8-tu56-update more deterministic, as reported in bug ab0e67f1a5. check-in: 976a9d275a user: poetnerd tags: smc85-cc8
04:38
Specify examples and libs in global at beginning of program. Use list of examples instead of a directory listing of them. Cut out the deletion of basic.c example we don't want. check-in: 7a99f02922 user: poetnerd tags: smc85-cc8
04:33
Minimal update to get this tool working, once one has a working cc8 cross compiler. Adds detection of failed sub process. Uses new name for system packs. check-in: 6b76f3e6d2 user: poetnerd tags: smc85-cc8
04:22
Fixed breakage that caused this tool to output nothing. check-in: 5273de10e2 user: poetnerd tags: smc85-cc8
04:21
Need to define NOASLD. Otherwise cross exits with status 1 and breaks cc8-tu56-update. check-in: b3e27d0d6f user: poetnerd tags: smc85-cc8
04:11
Updated behavior of --disable-os8-init to match broader expectations: No longer installs init.cm and init.tx if disabled. Affects the 4 tu56 images also built. Note that @OS8_OPTS@ was not being used to build the 4 tu56 images until now. I expected that it was, but never passed them in. This closes bug 9c8f0a8de5. check-in: 8c7d9ced2a user: poetnerd tags: trunk
2019-01-01
21:07
Checkin 44fac25071 broke bin/cc8-to-os8. That change back on 2018-01-20 was supposed to simply quit adding 'int' to declaration lines. Instead it caused the tool to quit producing any output at all. Here's a pull-up from my smc-85-cc8 branch where I fix the tool to generate the expected output: Suppress #include, but do nothing else. check-in: 6a0f8ef8bf user: poetnerd tags: trunk
2018-12-30
16:51
New code base for cc8/cross: SmallC-85. SmallC-85 is a revived and updated port of SmallC that is much cleaner. This version compiles on the Mac using clang silently without warnings, and runs well enough to generate .sb files that are functionally the same as what was generated on the non-portable cross. Carefully uses today's trunk as baseline. check-in: 385a16c7cc user: poetnerd tags: smc85-cc8
2018-12-28
12:57
Fixed [b33f80acd8]: the Ctrl-E exit to the SIMH command prompt causes our new SIGINT handler to be called, which was not only turning off the LEDs but also shutting down the GPIO thread. That means that on sim re-entry, we'd refuse to turn the LEDs back on because the GPIO thread is no longer running. The fix is to turn LEDs off conditional only on whether the PiDP-8/I extensions are enabled, but to stop the GPIO thread only if we're going through the exit(3) path on handling SIGINT. check-in: 85596d132e user: tangent tags: trunk
12:17
Fixed some pointless style differences between a mirrored pair of functions. No functional change. check-in: 1fdc270f88 user: tangent tags: trunk
11:42
"make tags" was showing the call to ctags but not cscope, so that if it's available, you got the impression that cscope wasn't found here. check-in: 71eb12e111 user: tangent tags: trunk
2018-12-21
04:51
Intrusive cosmetic changes. This removes all the references to mkos8 as the way packs are built. The only remaining mention of mkos8 is to give its place in history. check-in: b4006a6ae9 user: poetnerd tags: trunk
2018-12-20
08:36
Better "Filtered" message on startup from test-os8-run in the face of -e, -s, and -c combinations. check-in: b8588065c5 user: tangent tags: trunk
2018-12-14
12:14
Some cosmetic improvements to the LED GPIO start/stop sequences. No functional change. check-in: e399b67ef5 user: tangent tags: trunk
12:12
Fixed some unclear paren nesting. check-in: 093ba368d9 user: tangent tags: trunk
2018-12-13
23:57
Fixed a crash on simulator stop when turning off the LEDs if the LEDs were already turned off via another path. check-in: 1c0f9bd301 user: tangent tags: trunk
23:50
Removed the new SIGTERM handler: it doesn't work well, and our recent changes to "pidp8i stop" make it unnecessary. check-in: 490a0b214b user: tangent tags: trunk
2018-12-12
14:08
Added autosetup tests for sighandler_t and sig_t, with fallbacks for the former based on what we find. Without this, the new signal handling added to allow graceful "pidp8i stop" behavior only works on Linux. This change allows it to work on macOS, at least. check-in: df26be88ac user: tangent tags: trunk
13:58
Fixed a number of problems with the way "pidp8i stop" was handled which resulted in an unclean simulator shutdown. The front panel LEDs now reliably get turned off each time, and the simulator's main thread is shut down gracefully. check-in: a773f0c174 user: tangent tags: trunk
05:02
Reverted [c237120a73]: didn't see the "cd" command before the call to bin/os8-cp, which means we either need a "../../../" prefix or the "@builddir@/" prefix we had before. check-in: 02ab10b9a6 user: tangent tags: trunk
04:54
Checking for error return from a read(2) call in d8tape to squish a complaint from GCC on Ubuntu 18.04. check-in: a6aa94eee4 user: tangent tags: trunk
04:49
Specifying "Python 2" in the configure script messages: Ubuntu ships Python 3 by default, so when we claim "Python isn't installed" because Python *2* isn't available, it was jarring. check-in: d8244b866f user: tangent tags: trunk
02:51
Removed the "@builddir@/" prefix on the call to os8-cp in Makefile.in: relative paths work even in out-of-tree builds, and this comes from os8-cp.in, so it's definitely in the build tree. check-in: c237120a73 user: tangent tags: trunk
02:50
Fixed some drift in the INFILES definition in Makefile.in check-in: 670a6a98a0 user: tangent tags: trunk
02:40
Raised the timeout on initial SIMH startup again, from 5 to 10 seconds. We still occasionally get pexpect timeouts on busy systems. Also, we've now seen it on a single-core FreeBSD VM while the host is busy running test-os8-run and such. check-in: 76ff6246c9 user: tangent tags: trunk
02:36
Changed all the Python script shebang lines to use /usr/bin/env so they work on systems where Python is not in /usr/bin, such as FreeBSD, where it's in /usr/local/bin due to its being a non-core package. check-in: 91c645ba93 user: tangent tags: trunk
02:25
Changed use of "type -p" to "which" in tools/mmake for portability to FreeBSD, whose /bin/sh doesn't understand that. It's in Bash and probably in ksh93, but we don't want to require that on FreeBSD. check-in: 72a6435832 user: tangent tags: trunk
02:21
tools/mmake now tries harder to find the bin dir for the corecount call. This is needed on systems where $0 isn't set to an absolute path when a program is called via the PATH, like FreeBSD. check-in: 1124a3e512 user: tangent tags: trunk
02:14
tools/mmake now runs "gmake" if found in the PATH instead of "make". This is required on FreeBSD since our Makefile.in isn't BSD make compatible. On macOS, /usr/bin/make is an older version of GNU make, so if gmake is available, it must've been installed separately, so we can assume the user wants us to use the newer version. check-in: 8146518605 user: tangent tags: trunk
02:02
Merged perl-existence-check branch into trunk check-in: 4e7e8e9c36 user: tangent tags: trunk
02:01
Tcl quoting hell fix with previous Closed-Leaf check-in: 313e2e8cad user: tangent tags: perl-existence-check
02:00
The Perl test wasn't using the right command flags. (Copy-pasta from the Python test.) check-in: a5e8b82a58 user: tangent tags: perl-existence-check
01:58
Moved the Perl test up in auto.def: tools/version is called before the prior location, which we thought was a good place to put it since it's just before the Python test. check-in: b0fb14bedb user: tangent tags: perl-existence-check
01:57
The configure script now checks for Perl in the path. It's required by tools/version, tools/mkbootscript, and tools/test-os8-run. check-in: de63545335 user: tangent tags: perl-existence-check
01:43
The configure script now tells how to get "pip" on Debian type systems. check-in: d3c0d7536f user: tangent tags: trunk
01:42
Made corecount more portable. check-in: 5bbf26d6ef user: tangent tags: trunk
2018-12-10
14:52
. check-in: 07987e8529 user: tangent tags: trunk
14:45
If the pidp8i script doesn't detect the PiDP-8/I front panel via scanswitch, it falls back to our new pdp8 alias to suppress the GPIO thread. You can thus install the PiDP-8/I software on a systemd based Linux distro and say things like `pidp8i start` and get our new HLT handling, skip the complaints about no GPIO, etc. check-in: 8848227626 user: tangent tags: trunk
13:35
Merged simh-update branch check-in: bb3903976f user: tangent tags: trunk
12:58
Updated SIMH section of ChangeLog for this branch Closed-Leaf check-in: b96e790649 user: tangent tags: simh-update
12:23
Updated copyrights in header comments for pdp8_cpu.c and scp.c. check-in: cf272a6d1e user: tangent tags: simh-update
12:09
Merged in the upstream changes to scp.c check-in: 5b80a93d7b user: tangent tags: simh-update
11:56
Added new sim_card module from upstream SIMH check-in: 1656b5ff6e user: tangent tags: simh-update
11:47
Updated checkin ID and datestamp for current SIMH check-in: f28a9f5bd1 user: tangent tags: simh-update
11:41
Initial pass at merging upstream SIMH version 86294db3 check-in: d9988b0985 user: tangent tags: simh-update
11:22
Updated ChangeLog with today's work so far check-in: 22043c7e5c user: tangent tags: trunk
10:48
Typo fix check-in: 0514b6a5e4 user: tangent tags: trunk
10:26
The optimized PRINTS routine requires that AC point at the word *before* the string you want it to print, so we were printing "ELLO, WORLD!" The prior bug with mkbootscript masked this. check-in: 59b81c7034 user: tangent tags: trunk
10:23
Set 8th bit on the ASCIIZ strings in pep001.pal, in case it's used with a terminal that cares about this, such as an ASR-33. check-in: 397c6d8901 user: tangent tags: trunk
10:21
The pep001.pal program could hang in the TSF loop on writing the initial "ANSWER: " leader if the terminal device isn't prepared to receive characters. Added a "TLS" to send a null character to kick things off. This eats up the one remaining word left in PAGE 1! check-in: 15e91ae82b user: tangent tags: trunk
10:19
Fixed a bug in tools/mkbootscript that caused it to write a SIMH "dep" command for only the first word in an assembly file data table, currently used in our examples for ASCII terminal output strings. This caused our "HELLO, WORLD!" demo program to do nothing useful, and for the "ANSWER: " leader from pep001.pal to be truncated to "A". check-in: 2702b89257 user: tangent tags: trunk
08:30
If you run the simulator via the new "pdp8" name, we revert the change to the behavior of the HLT instruction: it drops you to the sim> command line instead of halting the CPU in expectation that the user will then poke around with the CPU state or hit CONT via the front panel. check-in: 2b00fa32cd user: tangent tags: trunk
08:24
Set 8th bit on ASCIIZ characters in the PDP-8 assembly "HELLO, WORLD!" demo program: some terminal configurations may require it. check-in: 174d0dc11e user: tangent tags: trunk
07:55
Comment clarity tweak check-in: e74a7c5ba7 user: tangent tags: trunk
2018-12-08
20:38
The PRINTS routine in examples/hello.pal was not Rick Murphy's optimized version that we're shipping in examples/routines/prints.pal. Updated it. Also fixed the header comment so that the resulting boot script doesn't have a dangling clause in its startup message. check-in: a4075c7cd0 user: tangent tags: trunk
18:20
Updated the references to "mkos8" in doc/class-simh.md. There are still two references there for historical reasons, but the bulk of the text now refers to os8-run instead. check-in: bcf566411e user: tangent tags: trunk
18:07
Rethought the policy on overwriting binary media: although it made sense to allow the new RK05 disk file names to merge with the old, this step also overwrites the boot scripts when that happens, and those may have user changes as well. Therefore, the new policy is that if *any* IF=0 default disk image is found, past or present, we skip mediainstall. You have to choose to run it by hand in that case, or follow the manual merge steps from README.md. check-in: 685d583d5a user: tangent tags: trunk
17:53
Changed a bunch of "os8v3d*.rk05" references to their equivalent and current names. check-in: c2fc076dcc user: tangent tags: trunk
17:51
Changed "make install" so that it skips "make mediainstall" based on the existence of v3d.rk05 rather than local.tu56 so that we merge our new media with v20171222, as that release was able to merge its os8v3d-* with the os8.rk05 of prior releases. This does mean the prior release's local.tu56 and pristine source tapes can get overwritten, but those weren't supposed to be changed by the user anyway. We don't wan't people doing "make install" and not understanding why their "new" system behaves just like the old one. check-in: 384bf04b34 user: tangent tags: trunk
16:22
Changing boot scripts via IF + SING_STEP now detaches all devices, shuts down the GPIO thread, and re-launches the simulator with the new script rather than just call "do SCRIPTNAME" in order to get a fresh simulator configuration, free of conflicts. The case that prompted the need for this is switching between boot scripts that assume the tape controller is TC08 to one that assumes TD8E, or vice versa. The only other way we could solve this is to write "detach" commands at the top of every boot script to undo everything done by every other possible boot script. Closes [81d528e3]. check-in: 82cc1aebca user: tangent tags: trunk