PiDP-8/I Software

Timeline
Log In

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

50 descendants of 23f92ab553d56fe8

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