Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 check-ins occurring around 573aba2f6a1b9dc6.
2019-02-21
| ||
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 | |