PiDP-8/I Software

Timeline
Log In

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

1573 check-ins using file examples/hello.pal version cac4ff0e00

2018-12-30
10:20
Cherrypicked contents of checkin [8ef9b5fae0] accidentally made against trunk to the tip of branch smallc-85. This restores extern.h. Superseded by branch smc85-cc8. Closed-Leaf check-in: b2c0174786 user: poetnerd tags: smallc-85
10:11
Healed double-tipped smallc-85 branch: the first had no useful content, so the branch containing all the actual work basically merges into the stub. check-in: 6d2b6dec56 user: tangent tags: smallc-85
2018-12-29
05:37
Snapshot: Fix for globals: We needed to quit allocating storage for functions. Debugging fetch of globals. They seem swapped with locals somehow. check-in: 50ae87a7e9 user: poetnerd tags: smallc-85
2018-12-28
05:15
Looks like it's working! Deltas: GBLS and GLOBAL POOL output values are different, and I think that's because they used to be wrong. TODO: get n8.c and p8.c to compile on the Pi without errors for testing purposes! check-in: bd0ffae19c user: poetnerd tags: smallc-85
01:43
Take the version of cross/os8 I should have started with. Fix the problem with multiplying pointers by two when INTSIZE actually is 1. check-in: 220c52acab user: poetnerd tags: smallc-85
00:03
Roll back noise from libc.c. Add in SmallC-85 unlicense. check-in: 56c3cac87a user: poetnerd tags: smallc-85
2018-12-27
06:20
Fiddled with glint <- needs to be a char. Needed old target's print_decimal. check-in: 5b76366b51 user: poetnerd tags: smallc-85
2018-12-24
16:55
Snapshot: More stuff is working. TODO: get the numeric values to work correctly. Further fix to global symbol table output. Add the license file now canon upstream in SmallC-85. LATER: Merge the updates from trunk that predate the cc8-64-bit branch. (I should havve ported trunk, not the branch, but oh well...) check-in: a27c7fa2a1 user: poetnerd tags: smallc-85
06:18
Snapshot of refresh of cc8 cross compiler with smallc-85. This saves a copy of my work which merges enough of the old pdp8 targeting and the new cc8 platform to get through a build of src/cc8/os8/libc.c. The output code isn't quite correct yet, but it gets all the way through with mostly cosmetic errors, instead of crashing with illegal access or seg fault. check-in: 058d944b24 user: poetnerd tags: smallc-85
06:08
Create new branch named "smallc-85" check-in: ab1ea77b1a user: poetnerd tags: smallc-85
2018-12-08
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
16:00
The installation tree is now entirely owned by @INSTUSR@.@INSTGRP@. We still had a mix of root.root in there, due to the way the tree was being created, resulting in oddities like the normal user could write to the installed OS/8 media but couldn't remove them from disk. check-in: b08f63333c user: tangent tags: trunk
15:45
Adjusted the ChangeLog.md entry on boot tapes to reflect the fact that all four are always built: you aren't selecting one to build, you're choosing which one gets used for IF=3. check-in: c7d1f02b34 user: tangent tags: trunk
15:35
Cosmetic tweak for recent Makefile.in change check-in: 675d87a243 user: tangent tags: trunk
13:46
test-os8-run uses a custom bin/* set, so it was still hard-coded to get bin/pidp8i-bin, not bin/pdp8 as class simh now expects when we pass True for the skip_gpio ctor flag. check-in: 8193ea0be2 user: tangent tags: trunk
13:40
The test-os8-run Makefile target now runs the program first in -g mode then in -e mode only if that returns without error. When you say "make test-os8-run", you almost certainly don't want to begin re-testing all of the existing exemplars without having a complete test corpus first. If you want to test on an incomplete corpus, you can run in -e mode manually. check-in: 0cf1c0e9bb user: tangent tags: trunk
12:39
When a program passes True for the formerly-named "ignore GPIO lock failure" flag to class simh, it now runs bin/pdp8 instead of bin/pidp8i-sim which disables the GPIO thread per [daa86ad9b6]. Consequently, the simh ctor no longer checks for the "Failed to lock GPIO" error from the simulator, and it checks for the SIMH startup banner intead of the PiDP-8/I GPIO thread startup banner, which may now never appear. Finally, this checkin modifies the interface of simh.try_wait to be more of a simple wrapper around simh._child.expect with exception handling built in; this is deemed safe, since class simh is the only known user of this public API. This fixes bug [b876ef8c]. check-in: d7b5cbd7cb user: tangent tags: trunk
11:37
Removed the target added on the os8-v3f-extensions branch for media/os8/3finit.tx, which is built from a *.in file, because we'd previously choked this down to a single file, media/os8/init.tx in order to force a parallel build to go single-threaded at this point, since the configure script can't be sanely run more than once in parallel. The clue we needed to fix this is that on touching any *.in file and doing an mmake is that you'd get the "Fossil doesn't work here" complaint from auto.def because it's trying to lock the repo DB twice in parallel; one fails, the other succeeds, so it looks like there is no problem and the complaint is apropos of nothing. It's actually flagging a real problem! check-in: 19b31029e5 user: tangent tags: trunk
11:32
The pidp8i-sim Makefile target also creates a hard link to bin/pdp8 now, so we can use it from class simh, especially via os8-run. check-in: a3afe42e70 user: tangent tags: trunk
11:09
If the simulator is not called as "pidp8i-sim", we now disable the GPIO thread: it doesn't get started, we don't feed it with data, and we don't pull any data it is expected to provide. Additionally, the Makefile now creates a @prefix@/bin/pdp8 hard link to make the simulator fall back to a state nearly identical to the upstream SIMH version by triggering this new feature. This is in partial support of ticket [b876ef8c25]. check-in: daa86ad9b6 user: tangent tags: trunk
10:27
Small cosmetic fixes in Makefile.in check-in: 94d64e2c34 user: tangent tags: trunk
09:58
Found and fixed the cause of the obj/os8-run.log overwrite during test-os8-run, avoiding the need for the concatenation dance previously done to avoid the problem. check-in: 22dc5521d8 user: tangent tags: trunk
2018-12-07
20:59
. check-in: 7a239c4f65 user: tangent tags: trunk
20:56
. check-in: 75d5e505a6 user: tangent tags: trunk
20:51
Typo fix in previous check-in: a5a8f4d322 user: tangent tags: trunk
20:50
Reformatted the list of test-os8-run virtues to be clearer and also to work around a Fossil Markdown formatting bug. check-in: 2cc21c1c78 user: tangent tags: trunk
20:42
Expanded on the os8-run section of the new ChangeLog entry check-in: 4920eed742 user: tangent tags: trunk
20:10
Increased class simh's on-startup timeout from 3 to 5 seconds to try and avoid pexpect timeout errors when the system is busy, as can happen when the cores are oversubscribed doing test-os8-run passes and then a background process starts. (And on top of that, there's probably an I/O stall in there somewhere, like an SSD TRIM or cache flush.) check-in: 41b3353407 user: tangent tags: trunk
13:06
First pass at ChangeLog.md and AUTHORS.md updates for the upcoming release. check-in: 4beae4e135 user: tangent tags: trunk
2018-12-06
23:51
Merge os8-v3f-extensions branch to trunk. This replaces the old mkos8 builder with a generic scripting facility, os8-run. It also puts some historical sources "os8-v3f" under source control to build an update from OS/8 v3d. The ultimate aim of the v3f work is to re-generate the lost OS/8 Combined Kit which includes device drivers from the "OS/8 Device Extensions Kit" as well as integration of pieces that were formerly add-ons. The "Combined Kit" work is now possible. check-in: b7bc669fdc user: poetnerd tags: trunk
04:46
Added a timeout parameter to simh.os8_send_cmd() with a default that lets the current os8-run scripts run without timing out when running especially long commands such as the CCL.BI assembly step on an old Raspberry Pi model B+. (We'd been declaring success while running on much faster platforms, which have correspondingly shorter maximum run times for these commands.) Closed-Leaf check-in: 9e2383ad18 user: tangent tags: os8-v3f-extensions
2018-12-03
22:32
Passing debug flag from os8-run down into class simh. check-in: 66cca79b3c user: tangent tags: os8-v3f-extensions
18:18
Avoiding the ^C was mis-nested, and only active when debugging was enabled. Fixed now. check-in: 7577fa194d user: poetnerd tags: os8-v3f-extensions
16:17
Check in the CORRECT change to conditionalize on debug. check-in: 58762d8480 user: poetnerd tags: os8-v3f-extensions
16:17
Fix debug noise. It was not properly conditional on self.debug. check-in: cacac3bb8a user: poetnerd tags: os8-v3f-extensions
10:26
It is now possible to give a hash prefix of as few as 6 characters when identifying a particular test by hash to test-os8-run. check-in: 0cea4c1f35 user: tangent tags: os8-v3f-extensions
10:16
Added inc::Module::Install to cpanfile: my Pi B needed it. check-in: 46248e133a user: tangent tags: os8-v3f-extensions
09:52
It is now possible to pass hashes of prior generated tests to test-os8-run to re-test just those named tests. This is an alternative to -e when you want to re-test just some subset of the tests without looking the test up manually and re-running the test by hand. check-in: a1f53d7064 user: tangent tags: os8-v3f-extensions
09:25
Extracted generate_tests() in test-os8-run. check-in: 684f72e682 user: tangent tags: os8-v3f-extensions
09:12
Further cleanup of main() in test-os8-run. check-in: 17b868fbe2 user: tangent tags: os8-v3f-extensions
09:09
Added --version and --help handling to tools/test-os8-run. check-in: 06d8af86f4 user: tangent tags: os8-v3f-extensions
06:26
Refinements to sanitizing: 1. Cleans up -temp-<gensym>.foo temporaries for scratch media. 2. Cleans up -<pid>.pt_temp paper tape temporaries. 3. Cleans out backspace sequences that pexpect seems gratuitiously to enter which screw up the other sanitizers. These are nasty regexps. Special thanks to regex101.com without which these nasty regexps could not have been prototyped. check-in: e34afedcba user: poetnerd tags: os8-v3f-extensions
03:57
Additional debugging of race condition in running BUILD in v3d-dist-rk05.os8: 1. Slight cleanup of debugging messages in os8script.py:build_subcomm. 2. Teach test-os8-run to preserve make.log as {last,fail}m.log. 3. Add logic in os8script.py:build_subcomm to NOT send ^C after successful BOOT command, because we are already at command level, and it creates a race condition in the expect command loop. TODO: 1. Sanitize log output to ignore temp file names for scratch images. 2. Cleaner handling of make.log saves. check-in: b7fdc79a38 user: poetnerd tags: os8-v3f-extensions
2018-12-02
22:15
Take steps to preserve the os8-run.log file from the first time through os8-run making v3d-dist.rk05. For reasons I do not understand, the two runs of os8-run create new log files rather than appending the second run to the first file. check-in: 60386aa52a user: poetnerd tags: os8-v3f-extensions
21:08
Draft of tool to unpack os8 packs that test-os8-run says are different. Attempt to fix v3d-dist-rk05.os8 script to allow test-os8-run to sanitize the init.txt. check-in: 268d30c309 user: poetnerd tags: os8-v3f-extensions
2018-12-01
03:51
Added a "-c" option to test-os8-run to allow graceful limit to the count of tests created. check-in: 75497225c9 user: poetnerd tags: os8-v3f-extensions
2018-11-30
03:34
Add to sub sanitize_log to clean up paths from 2 new cases: 1. abbreviating "attach" as "att". 2. Output echos what is attached. check-in: e7f460e1e3 user: poetnerd tags: os8-v3f-extensions
2018-11-25
03:42
The less intrusive "os8_resume" has proven unreliable with 8 parallel makes going on for test-os8-run. The symptom is that we go to resume OS/8, but instead of provoking a dot prompt from OS/8, we seem to send ^C to SIMH before it ever resumes OS/8 operation. So now we call the restart_command instead of the resume_command inside os8script.py. This seems to operate reliably. check-in: 98ad1fc68b user: poetnerd tags: os8-v3f-extensions
2018-11-24
21:18
Added "--prefix ." to call to ../../../configure in test-os8-run. This should eliminate a whole class of race conditions, because now it will build the run packs in tmp/<pid> subdirs instead of the usual top level. check-in: 865bf2ccdc user: poetnerd tags: os8-v3f-extensions
2018-11-21
04:23
Addresses bugID 9c8f0a8de5 Puts conditional around SET SYS INIT in the v3d-dist-rk05.os8 script. Need to come to consensus on whether or not this is the right fix, and if the same change should be made to all-tu56.os8 before we can officially close that bug. check-in: b9956a79f0 user: poetnerd tags: os8-v3f-extensions
2018-11-19
05:04
fix for vtedit enablement. A line from mkos8 was pasted in on creation time and not found in testing until now. check-in: 5feccfdf3a user: poetnerd tags: os8-v3f-extensions
2018-11-18
04:52
The autosetup check for lz4 in the path was failing either way: when the tool is available, it was running it in a way that caused it to return a nonzero status code, failing the check. check-in: 70d23bbd7d user: tangent tags: os8-v3f-extensions
04:47
Renamed test-mkos8 to test-os8-run, since mkos8 is now replaced with os8-run. Also renamed all of the references to it. check-in: 0211633f80 user: tangent tags: os8-v3f-extensions
04:39
The top-level Makefile now disables the test-mkos8 target when tools/test-mkos8 can't run due to missing prereqs. check-in: 79a16d5ab5 user: tangent tags: os8-v3f-extensions
2018-11-17
15:55
Added lz4 prereq to the test-mkos8 autosetup tests check-in: c46ae7cc93 user: tangent tags: os8-v3f-extensions
15:33
Added an autosetup test for perl-in-path and whether that Perl can compile tools/test-mkos8. If so, we report success, and if not, we tell the user how to fix it with our new cpanfile. check-in: cc6666ce27 user: tangent tags: os8-v3f-extensions
08:59
test-mkos8 is now working with os8-run to successfully create the v3d.rk05 image for comparison checking. Open Questions: 1. Is further refinement needed for the log sanitizizing? 2: Is comparing the binary of the disk image the best test? check-in: 5e4633e246 user: poetnerd tags: os8-v3f-extensions
02:06
Found the problem with running ../../configure in test-mkos8: Needed to add back the line to auto.defs that creates the lib subdir that hosts the options file: if {![file exists "lib/pidp8i"]} { file mkdir "lib/pidp8i" } check-in: 408edf8633 user: poetnerd tags: os8-v3f-extensions
00:21
Snapshot: Trying to get test-mkos8 working. ../../../configure from the test/tmp/<pid> directory blows out with: Error: couldn't open "lib/pidp8i/os8opts.py": no such file or directory check-in: d2986ecfba user: poetnerd tags: os8-v3f-extensions
2018-11-16
22:05
Building without patches was disabled in Check-in [a2454ca487]. However the option was still present in auto.def until now. check-in: 38482c106b user: poetnerd tags: os8-v3f-extensions
2018-11-15
06:35
A little format cleaning up. check-in: 6389b2a713 user: poetnerd tags: os8-v3f-extensions
06:29
Adding documentation of os8-cp command. check-in: b88e188406 user: poetnerd tags: os8-v3f-extensions
2018-11-05
19:24
I misunderstood how to do mediainstall, and what I had was not installing all of what we made. Fixed now. check-in: d6f48ac376 user: poetnerd tags: os8-v3f-extensions
01:00
Fixes to uniquify resources that might be used in parallel make. Also cosmetics: changed "scratch" name to have "-temp-" in it to make it easier to find and delete if make blows out. Since I was touching the use of the system disk in all-tu56.os8, I cleaned out some dead code and updated as comment. check-in: b2a6c5d89e user: poetnerd tags: os8-v3f-extensions
2018-11-02
03:22
all-tu56.os8 was copying in DTCOPY.SV and DTFRMT.SV insgtead of TDCOPY.SV and TDFRMT.SV when building for td8e. check-in: 32377aac5c user: poetnerd tags: os8-v3f-extensions
03:19
scratch option os8-run mount command now creates a unique temp file. Now parallel makes will not step on each other. check-in: 2f3f1ca884 user: poetnerd tags: os8-v3f-extensions
01:25
Fixed bug in all-tu56.os8: The old code to clean up the system rk05 that was commented out was lacking an "end enabled never", and so it caused the rest of the file to be ignored. This messed up all td12k creations. check-in: 8e309b3872 user: poetnerd tags: os8-v3f-extensions
01:23
Added more debugging output. Line count stack was wrongly managed because Python pop semantics are the opposite of what I thought. So I was removing the first in, not the last in item from there. check-in: 85804b2ac3 user: poetnerd tags: os8-v3f-extensions
2018-10-29
03:30
Moved v3f-build.rk05 to the obj directory. Along the way taught os8-cp to do path expansion on names in dirs.py just like os8-run does. This enabled a simplificaiton and cleanup of Makefile.in because the actions file in .../src/os8/v3f/actions.txt simply says that the destination lives in $obj. Also needed to update dirs.py.in to know about obj, as it knows about bin. check-in: bb42538cf0 user: poetnerd tags: os8-v3f-extensions
01:13
Corrected dependencies in light of clearer understanding. mmake now seems to work for me with no redundant builds. check-in: db3b20634b user: poetnerd tags: os8-v3f-extensions
00:40
Merged in v3f-parallel-make-fix. It behaves the same for me as previous versions, but no sense in forking. check-in: f3b2941356 user: poetnerd tags: os8-v3f-extensions
00:01
DAMN! Forgot to add the new init file. Sorry! check-in: 78191ab4cd user: poetnerd tags: os8-v3f-extensions
2018-10-28
08:24
Added (and in one case, reordered) some dependencies in the new os8-run based media build system so that all callers to os8-run from the Makefile now declare which media they require to exist before the script will run. Without this change, parallel makes are likely to fail because make is given the freedom to run targets before the things they're dependent upon exist. This is a branch rather than on the os8-v3f-extensions branch directly because I can't test it here against the tip of that branch due to a missing file. Also, it should be checked by Bill Cattey before being merged into that branch. Closed-Leaf check-in: 5a84eb18d9 user: tangent tags: v3f-parallel-make-fix
2018-10-27
04:27
Added init.cf and init.tx to the 4 bootable tu56 images. I *think* I understood how to do the dependencies right for the v3finit.tx.in creation. check-in: b17efa3579 user: poetnerd tags: os8-v3f-extensions
2018-10-21
21:04
Found another typoed dependency that should have pointed at v3d.rk05, but instead pointed at nothing. check-in: c01b3a17db user: poetnerd tags: os8-v3f-extensions
20:32
Here's why it's always good to do the occasional fossil clean -n: I see I FORGOT to add the LCSYS.BI and UCSYS.BI files to the tree. Can't do the builds I've got running without them. check-in: 30b1f33839 user: poetnerd tags: os8-v3f-extensions
20:21
Enables all the lowercase option for v3d and v3f tapes and in the 3.script and run-v3f.script scripts. TODO: Enable lowercase for BASIC in v3f. That script isn't qualified, and there's a backlog of patches and validation on BASIC that are needed. check-in: db857bdac1 user: poetnerd tags: os8-v3f-extensions
19:58
Get BATCH working under v3f. This was HARD! Had to chase down source, and the diddling of one magic constant that SHOULD NOT BE as volatile as it was. check-in: aad0aa239c user: poetnerd tags: os8-v3f-extensions
03:49
Put FORTRAN II and BASIC on the 4 bootable tu56 images unless overridden by "--disable fortran-ii" and/or "--disable basic" check-in: d5d8b023f9 user: poetnerd tags: os8-v3f-extensions
2018-10-20
18:54
Additional debugging output, and a correction to the build_subcomm state machine during the BUILD command run within BUILD.SV. There was some duplicate code, and I think I may have spazzed and never properly exited the BUILD command state machine. check-in: 497f79dad6 user: poetnerd tags: os8-v3f-extensions
18:00
Add missing dependency on the v3d.rk05 boot image to the making of v3f. check-in: b17e1072b9 user: poetnerd tags: os8-v3f-extensions
17:47
Further refinement of make run-v3f: Sets dependency independently of what was specified as the default IF=3 OS/8 version. check-in: 464fcf21de user: poetnerd tags: os8-v3f-extensions
03:49
The new run-v3f target was depending on one of the two possible TU56 tape images that could be in boot/3.script after configure runs, meaning the dependencies were correct for only one of the two possible cases. This target is now dependent on the same autosetup variable used to create 3.script from 3.script.in, so we're sure to build the correct tape image before starting the simulator. check-in: 8b39a5cb89 user: tangent tags: os8-v3f-extensions
03:01
Correct dependency: We need to depend on $(OS8_BOOT_DISK) because that is what we will be running, not the renamed bin disk that had no patches. check-in: b247b928cf user: poetnerd tags: os8-v3f-extensions
2018-10-18
09:55
Merged in trunk fixes check-in: ad9d51ebae user: tangent tags: os8-v3f-extensions
09:52
The pidp8i-test program now debounces the switches in scan-switch mode. Without this change, if the contacts bounce rapidly enough for the scanning loop to detect, a builder could be lead to believe their properly-working PiDP-8/I has a problem. check-in: 9dfb8bdafd user: tangent tags: trunk
09:49
Made the size of the global switchstatus array explicit, so we can do sizeof sanity checks on it in programs. check-in: e9ec92de08 user: tangent tags: trunk
09:48
The recent addition of NetBSD support to tools/corecount accidentally included a change to the shebang line necessary for NetBSD but incorrect for Linux, which this project primarily targets. Changed it back to /bin/bash, lest we take a new dependency on ksh everywhere. check-in: 8065f647a8 user: tangent tags: trunk
08:39
Whitespace fix check-in: 2607fa1a71 user: tangent tags: trunk
2018-10-17
15:34
Removed media/os8/os8.tu56 and the references to it now that 3.script uses the new os8-run-built tape images. check-in: d34787b405 user: tangent tags: os8-v3f-extensions
15:25
Merged a few of the differences between the new boot/run-v3f.script.in file and the preexisting run/3.script.in file into the latter. check-in: 47c6ab8349 user: tangent tags: os8-v3f-extensions
15:11
Added "run-v3f" Makefile target, its "runf" alias, and the boot/run-v3f.script.in file those targets use. check-in: 06aef989e3 user: tangent tags: os8-v3f-extensions
2018-10-16
00:18
The copy in of the v3f source files to the buld rk05 image was too quiet for too long. I enabled -v on the os8cp call for better status reporting. check-in: 39d8b6137a user: poetnerd tags: os8-v3f-extensions
00:07
Remove superfluous dependency: v3d tapes don't care about v3f stuff. check-in: dadf27bae9 user: poetnerd tags: os8-v3f-extensions
2018-10-15
23:56
Add dependencies on the sources in .../src/os8/v3f. Now if we touch one we will rebuild the V3F bits and pieces. check-in: ab959da8be user: poetnerd tags: os8-v3f-extensions
23:55
Fix 30 year old bug: Build V7A should report its PROPER version. check-in: f691c6840c user: poetnerd tags: os8-v3f-extensions
2018-10-13
22:56
Two new config options that control what kind of .tu56 image gets booted with the IF=3 option: --boot-tape-config={tc08 | td12k} with default of tc08 --boot-tape-version={v3d | v3f} with default of v3d. check-in: 4ed46aa217 user: poetnerd tags: os8-v3f-extensions
2018-10-12
02:44
Pulled up trunk deltas into my branch. Everything tests out fine. check-in: 2ba40f1138 user: poetnerd tags: os8-v3f-extensions
2018-10-05
23:22
Updated with more of what's in this directory. check-in: cde2b80fc0 user: poetnerd tags: os8-v3f-extensions
23:12
Quick and dirty description of the scripts in this directory. check-in: 97cf611b8c user: poetnerd tags: os8-v3f-extensions
2018-10-04
06:06
Something I should have done long ago: If we're going to re-configure sys, then we should use a scratch copy. all-tu56.os8 now does that for the td12k builds. It doesn't need to do that for the tc08 builds so it doesn't bother. Also changed the filename of the scratch to use "-copy" in the name instead of "_copy" aligning with filename conventions. check-in: f67db97d71 user: poetnerd tags: os8-v3f-extensions
05:40
Fixed some noise. simh.py was printing stuff by default. Added a verbose internal variable to the simh object and updated os8-run and os8-cp.in to set that variable to True when they get the verbose option. check-in: fe46cf1a76 user: poetnerd tags: os8-v3f-extensions
05:23
FIXED problem where make kept re-making v3d-src.rk05: Misuse of os8-run mount command's option "preserve". The NEW version got a new name with a version number and the old version was kept. Make kept finding the original version. The CORRECT option to use is "new" not "preserve". check-in: 48bf62dd63 user: poetnerd tags: os8-v3f-extensions
04:41
all-tu56.os8 now copies in appropriate DECtape utilities: TD8E configs get: TDCOPY.SV, TDFRMT.SV TC08 configs get: DTCOPY.SV, DTFRMT.SV check-in: 4ee3a65c2a user: poetnerd tags: os8-v3f-extensions
04:30
Enabled builds of all 4 tu56 images: v3d-tc08.tu56, v3d-td12k.tu56, v3f-tc08.tu56, v3f-td12k.tu56. Amended all-tu56.os8 and v3d-dist-rk05.os8 to put the following td8e drivers into the SYS:BUILD.SV image: TD8ESY.BN (12k system handler), ROMMSY.BN (rom system handler), TD8EA.BN. Left out were the B, C, and D TD8E non-system handlers. (I was paranoid about space.) Extensive comments in the scripts throughout on the various tradeoffs and dependencies. check-in: 0e4030caec user: poetnerd tags: os8-v3f-extensions
04:13
That's what I get for assuming instead of testing. :-( This one PROPERLY specifies the copyin for ABSLDR.SV and is tested. check-in: 16dc21707a user: poetnerd tags: os8-v3f-extensions
03:40
v3f BUILD installs ABSLDR, but v3d config does not. Need to copy it in. check-in: 221d5d7ff0 user: poetnerd tags: os8-v3f-extensions
2018-10-02
05:46
Snapshot: Mostly working "all-tu56.os8" script that builds v3d or v3f on tc08 or td12k or tdrom system. TODO: More testing. Make the V3D rk05 BUILD.SV already contain the TD8E drivers. Decide on an INIT file. check-in: 857984d41b user: poetnerd tags: os8-v3f-extensions
04:33
Bug fixes to basic_line_parse. I'm using a LOT of conditionals now, and apparently there were several bugs that I missed: 1. basic_line parse was not using the stripped version of line. 2. The options stack pop was taking the the wrong member of the stack so it was a first in last out, instead of the intended first in first out stack. 3. The test for comments was on the pre-stripped line so that comments could not be indented with whitespace. check-in: bfccd73f14 user: poetnerd tags: os8-v3f-extensions
2018-09-30
23:15
Added version and directory expansions into the print command. Includes print-test.os8 to test them. check-in: f14e1e8973 user: poetnerd tags: os8-v3f-extensions
20:33
The \s test for whitespace in tools/corecount wasn't working on NetBSD 6 for some reason, so changed it to the POSIX [[:space:]] character class. This should be effective on many more systems. check-in: b5e424045e user: tangent tags: trunk
03:35
Got the build of os8-v3f for TD8E DECtape working again. Root cause: I still don't understand the BUILD command loop well enough, and I wrote it! I added a couple more special cases so now everything, including the TD8E build works. Clearer code will come when the pexpect loop is turned right way round. Couple things: Building the v3f tu56 images for BOTH TC08 and TD8E are now enabled by default. WARNING: If the TD8E build blows out it leaves the v3d.rk05 system pack with td8e devices enabled instead of tc08. The new script, v3d-reset-tc08.os8 fixes this. QUESTION: Do we make this situation more bullet proof by: Creating a copy of v3d.rk05 when we build for TD8E? or Building Unconditional cleanup code into os8-run for on-error, do such and such to clean up? Actually, I could probably modify the v3d-dist-rk05.os8 script to put both the TD8EA and TC08 drivers in the image of BUILD.SV, if there is room. Maybe I'll just do that. check-in: b24aa7b9d7 user: poetnerd tags: os8-v3f-extensions
01:30
Add dependency on patches. Note that this depends on ALL .patch8 file regardless of whether or not we actually use them. A finer grained dependency could be done in the future. check-in: b9ceacad42 user: poetnerd tags: os8-v3f-extensions
01:28
Add two more files to make clean action: lib/pidp8i/dirs.py lib/pidp8i/ips.py check-in: 8a974ca3b9 user: poetnerd tags: os8-v3f-extensions
01:24
Further cleanup of Makefile.in: Further purging of "mkos8" methods and concepts: 1. MKOS8_OPTS->OS8_OPTS 2. Where mkos8 became os8-run rename files, directories, scripts and dependencies appropriately. 3. Eliminate 'mkos8' install dir and ctags. 4. Scripts named MKOS8_* now have names more related to their current function under os8-run, and may have been further changed to reflect our v3d/v3f naming and simplification. 5. make clean eliminated the mkos8 directory. 6. make targets for use by test-mkos8 updated with new names, but really needs to be redone now that patching is unconditional. check-in: d6f23aaeda user: poetnerd tags: os8-v3f-extensions
01:04
Testing revealed: missing line in auto.def, and I forgot to tell Fossil that I'd shifted os8-cp to os8-cp.in. THIS should work. check-in: aef6b627f0 user: poetnerd tags: os8-v3f-extensions
2018-09-29
23:48
Having gotten bit by os8-cp having a hard-coded default boot disk, I decided to use auto.def and parameterize it on @OS8_BOOT_DISK@ check-in: de864ed5b5 user: poetnerd tags: os8-v3f-extensions
21:06
Make patching unconditional. Amend apperopriate documents to no longer talk about a --disable-os8-patches option. Make the text file that names the patches conform to current filename conventions. check-in: a2454ca487 user: poetnerd tags: os8-v3f-extensions
20:41
Adopted new filename conventions: .mkos8 -> .os8 underscores to dashes test scripts end in -test instead of beginning with it Shortened names. Fixed up dependencies, including broken one on newly renamed v3f-*.tu56. check-in: 55e34d0b34 user: poetnerd tags: os8-v3f-extensions
18:02
I had not done rigorous enough testing. Here is better test case, corrected code, and elimination of the old fancier test code. check-in: aa9df2a6e8 user: poetnerd tags: os8-v3f-extensions
17:33
Simplified version test. Warren justified "just test for version X or above" by showing allowing richer matches just made it easy for people to leaving incompatibilities in place. Changed name of the tester script to replace underscore with dash, say "version" first, and most importantly to adopt a new convertion: ".mkos8" scripts become ".os8". check-in: 1fcde938d6 user: poetnerd tags: os8-v3f-extensions
01:58
Change os8-run mount option "preserve" to delimit the version number with a dash instead of an underscore. check-in: 4f3c5b4d6e user: poetnerd tags: os8-v3f-extensions
01:32
checkin cd80254374 was incomplete: auto.def created lib/mkos8 to host generated python files that are now kept in lib/pidp8, so we delete that line. Makefile.in still had the old MKOS8 python file list so 'make install' was doing the wrong thing. TODO Review MKOS8_INFILES and decide if more files, such as os8script.py should be there. check-in: 14a799a875 user: poetnerd tags: os8-v3f-extensions
2018-09-15
05:44
Merged ma-mb-pause-fixes branch following verification of fix [6b7d74dc34e] by poetnerd. check-in: b159bee47f user: tangent tags: trunk
05:41
Merged ma-mb-pause-fixes branch following verification of fix [6b7d74dc34e] by poetnerd. Closed-Leaf check-in: 6984de366a user: tangent tags: ma-mb-pause-fixes
2018-09-09
19:00
Ian Schofield sent a second patch via private email claiming to have solved the MA/MB value problems in pause mode. This checkin is loosely based on that patch. It needs testing: thus the branch. check-in: 78642e72ce user: tangent tags: ma-mb-pause-fixes
2018-08-30
01:04
Fixed a bug in the handling of the OSR instruction which can cause L to be set if the next GPIO pin up from those used by the SR lines happens to be set when you issue that instruction. This one goes back to v20151215! check-in: ffb387c4eb user: tangent tags: trunk
2018-08-12
06:16
Added email alert signup and such info to HACKERS.md check-in: 7ab70d985c user: tangent tags: trunk
01:09
Added Fossil forum stuff to HACKERS.md check-in: dc433058ce user: tangent tags: trunk
2018-08-07
10:46
Fixed a broken link in doc/os8-run.md. check-in: 16c2b6f88a user: tangent tags: os8-v3f-extensions
2018-07-30
03:49
Removed a redundant command in "make mediainstall" for the *.mkos8 scripts. check-in: 3850186b5d user: tangent tags: os8-v3f-extensions
2018-07-29
21:13
Version detection code implemented. test_version.mkos8 updated. It seems to work for the cases I could think of. check-in: 43311b0e87 user: poetnerd tags: os8-v3f-extensions
20:11
Added a print command. This, together with exit will be useful when version actions are enabled. check-in: ba11dee8b4 user: poetnerd tags: os8-v3f-extensions
19:56
Add "exit" command that interfaces to python sys.exit() procedure. Enables immediate script termination and optional signaling of status, and also optional print of a string. check-in: 17fb06b45f user: poetnerd tags: os8-v3f-extensions
19:54
Test script as we work through implementing version conditionals. check-in: aec3815e47 user: poetnerd tags: os8-v3f-extensions
2018-07-28
12:54
Reduced the "Applying patch..." output to a single line to reduce verbosity in normal builds. check-in: 220dc69120 user: tangent tags: os8-v3f-extensions
2018-07-27
02:15
I had habituated a misunderstanding of python regular expression syntax. Consequently I kept using '?' when I needed to use '*'. Particularly in allowing whitespace. This change corrects those regular expressions. check-in: cde469f6f9 user: poetnerd tags: os8-v3f-extensions
2018-07-25
01:58
Silenced verbosity by default (again). When I went to the simpler parser, I forgot that I'd enabled VERBOSE by default. This should quiet things down. check-in: 7c305890df user: poetnerd tags: os8-v3f-extensions
2018-07-24
19:55
Merged trunk changes in, in preparation for merging this branch down to trunk. check-in: 834dd5121b user: tangent tags: os8-v3f-extensions
19:19
Renamed $mkos8_opts and obj/mkos8.opts in auto.def to $os8_opts and obj/os8.opts, respectively. check-in: cd80254374 user: tangent tags: os8-v3f-extensions
19:11
Moved the mkos8.opts Python module to pidp8i/os8opts. That left the mkos8 namespace empty, so I removed that. Also removed the old_parse_args() function in os8-run while in there: dead code. check-in: 91c681d0dd user: tangent tags: os8-v3f-extensions
2018-07-23
03:34
Remove the bespoke --enable-<foo> and --disable-<foo> arguments. Use the generic --enable and --disable arguments. Note that the usage message still informs about all known enable/disable args created in lib/mkos8/opts.py by auto.defs. However the usage message is clearer now and the arg parsing is simpler now. Note we delete the use of the fancy python argparse library. Nice as it was, we don't need it. The clearer usage message is also in the os8-run.md doc. check-in: 0f1c58479b user: poetnerd tags: os8-v3f-extensions
03:14
Bug fix: Enable/Disable args for fortran should have dash, not underscore in their names to work properly. check-in: e24681d721 user: poetnerd tags: os8-v3f-extensions
03:12
Bug fix: If we build with config option --os8-minimal, we won't build the os8v3d-patched.rk05 image. We only build os8-v3f from that image. --os8-minimal therefore should not attempt to build os8-v3f. check-in: e14bed0e60 user: poetnerd tags: os8-v3f-extensions
02:59
Bug-fix: When we use config option --os8-minimal the system image os8v3d-patched.rk05 does not exist. Creating the source packs does not require a patched system anyway, so we use os8v3d-bin.rk05. check-in: afabf0c0e7 user: poetnerd tags: os8-v3f-extensions
02:57
Bug fix: rename of os8_pip_into to os8_pip_to wasn't propagated to this program that used the routine. check-in: 623cab985e user: poetnerd tags: os8-v3f-extensions
2018-07-22
22:22
Improve pal8 command: 1. Allow whitespace between arguments. 2. Fix a bug that caused the (apparently untested) 3 arg form not to work at all. 3. Clarify in the documentation the rationale for the command, and warn of its possible removal. TODO: Possibly expand the command to pass in arguments. check-in: c67efce19c user: poetnerd tags: os8-v3f-extensions
20:34
Forgot to update the TODO to remove the order to implement restart. It's now implemented. check-in: 1a7abaa401 user: poetnerd tags: os8-v3f-extensions
20:16
Added restart command and test_restart.mkos8 to test it. Note that test_restart.mkos8 assumes existence of test_copy.tu56 that is made by test_copy.mkos8, and system_v3f_tc08.tu56 made by os8-v3f-tape.mkos8. check-in: a86f9935a6 user: poetnerd tags: os8-v3f-extensions
19:31
Removal of multi-word commands from os8-run #6: convert copy_to and copy_from to cpto and cpfrom respectively. This completes the project to eliminate multi-word commands from os8-run. check-in: 547a96be48 user: poetnerd tags: os8-v3f-extensions
19:06
Added more clarification around case sensitivity throughout. (Also pruned a note about multi-word mount options that is no longer relevant.) check-in: d4c9e2f654 user: poetnerd tags: os8-v3f-extensions
2018-07-21
04:16
Improved documentation of mount/umount: 1. Explain the rationale for using the POSIX commands. 2. Clarify how the "new" and "preserve" options behave DIFFERENTLY with regards to file preservation. 3. Add an example of use of the "new" option. 4. Update the mount examples to use the $foo path expansions. check-in: f30b93a62d user: poetnerd tags: os8-v3f-extensions
03:19
Minor cleanups: 1. The more correct term for how we build is "from distribution media" rather than "source media" because we don't build from source, and because "distribution media" is the correct term used for our baseline truth. 2. Cleaned up broken formatting in the pal8 section's bulleted list, and in the begin/end keyword table. 3. Added a comma in the boot section cuz it called out for one. :-) check-in: 6f606611aa user: poetnerd tags: os8-v3f-extensions
03:15
Renamed copy_into and pip_into to copy_to and pip_to respectively. This is because I decided that copy "to/from" made more intuitive sense than copy "into/from". check-in: 08108fae33 user: poetnerd tags: os8-v3f-extensions
2018-06-29
04:58
More James L-W serial mod GPIO fixes by Dylan McNamee. check-in: 6f67aed364 user: tangent tags: trunk
04:54
Changed GPIO pin mappings for the James L-W serial mod. Also diagnosed by Dylan McNamee. check-in: 538529c44e user: tangent tags: trunk
04:51
The James L-W serial mod GPIO setup had two lines swapped relative to the original patch. Fix diagnosed by Dylan McNamee on the mailing list: https://groups.google.com/d/msg/pidp-8/tYGYJCSwV-Q/sJmESoAPBgAJ check-in: 59b1d29fcc user: tangent tags: trunk
2018-06-17
19:33
The configure script now errors out if you try to pass both --serial-mod and --alt-serial mod. Documented it. check-in: cfe91ae914 user: tangent tags: trunk
2018-06-10
02:04
Cosmetic change: Shorten comment about os8 errors because it is now more generally used. check-in: cdce8dcc87 user: poetnerd tags: os8-v3f-extensions
2018-06-07
04:07
Fix formatting mistake check-in: 75954717a3 user: poetnerd tags: os8-v3f-extensions
04:05
Removal of multi-word commands from os8-run #5: "read-only" becomes either "ro" or "readonly". check-in: 41ec8eeaef user: poetnerd tags: os8-v3f-extensions
03:55
Removal of multi-word commands from os8-run #4: "must-exist" becomes "required." Lots of scripts touched but it was worth it, I think. check-in: fb4201a2c5 user: poetnerd tags: os8-v3f-extensions
03:42
Removal of multi-word commands from os8-run #3: "copy_scratch" becomes "scratch". The meaning is probably clear enough without "copy". check-in: 6a2f3bb5fc user: poetnerd tags: os8-v3f-extensions
03:28
Removal of multi-word commands from os8-run #2: "not-disabled" becomes "default". Not only does this make the parser cleaner and simpler, the description of what is being done becomes simpler. This is a GOOD change. check-in: 762a5798db user: poetnerd tags: os8-v3f-extensions
03:03
Eliminating multi-word hyphenated commands from os8-run #1: "no-overwrite" becomes "preserve". check-in: ac83408912 user: poetnerd tags: os8-v3f-extensions
2018-06-02
18:55
Tiny cleanup: Changed variable "MKOS8" to "OS8RUN". Removed mkos8 program because it has been subsumed by os8-run. Further cleanups of the simh.py and os8script.py libraries will not be backwards compatible with the use made by mkos8. check-in: 61529b46b6 user: poetnerd tags: os8-v3f-extensions
2018-05-28
22:55
Taught Makefile.in how to 'make bin/system_v3f_tc08.tu56' Although the v3f stuff is built by default, this tape is not. TODO: 1. Test 'make system_v3f_td12k.tu5' 2. Create auto.defs options for this. check-in: 1858920a4a user: poetnerd tags: os8-v3f-extensions
22:27
Use a variable for the OS/8 Scripts directory. check-in: 63ed426836 user: poetnerd tags: os8-v3f-extensions
22:23
Now assemble the v3f sources. check-in: 321e9254cc user: poetnerd tags: os8-v3f-extensions
22:05
Added code to Makefile.in to create the os8 v3f build rk05 image. TODO: Figure out how to make the image in an object directory instead of the src directory. Problem is with os8-cp and the manifest file actions.txt assuming current working directory. check-in: 0e628cd6fc user: poetnerd tags: os8-v3f-extensions
20:58
Two short test scripts for testing the copy and patch commands. Note that they have not been converted to the new script location and use of directory expansion. Nevertheless they might be useful to someone. check-in: b118d2fbe5 user: poetnerd tags: os8-v3f-extensions
20:49
Clean up mess made on first attempt to move scripts to new home. Includes a bug fix to Makefile.in where I missed a backslash, and a bug fix to simh.py which would blow out if your branch has upper case characters in it. check-in: 303cb7f12b user: poetnerd tags: os8-v3f-extensions
2018-05-25
02:49
Snapshot: Minimum Makefile.in changes needed to replace execution of mkos8 with execution of os8-run. TODO: 1. Put in the dependencies on the new python modules. 2. rip out mkos8. 3. Confirm this all works for someone else. 4. CLEANUPS. check-in: c610c24d5d user: poetnerd tags: os8-v3f-extensions
01:47
The done command was a mistake and now is gone. I realized it was a mistake when, we executed it in an included script, the scratch files were removed. Rather than creating a per-script scratch list, I moved the final cleanup to the main os8-run code and deleted the done command. check-in: 8b66b4f06b user: poetnerd tags: os8-v3f-extensions
00:36
In cutting over to using os8-run I realized I needed a mount option that lets the script create a new empty image file and saves a pre-existing version. The "new" option to mount is now implemented. check-in: 26c846c5ce user: poetnerd tags: os8-v3f-extensions
2018-05-22
23:36
Claimed case insensitivity in os8-run commands in os8-run.md. TODO: verify. check-in: 887345ef35 user: tangent tags: os8-v3f-extensions
23:32
Moved the paragraph about the fatal error handling policy up from the discussion of "include" in os8-run.md up to the "Conventions" section, then added a link back down into the command reference. check-in: 2c68a31006 user: tangent tags: os8-v3f-extensions
23:30
More assorted improvements to os8-run.md check-in: 22b3649806 user: tangent tags: os8-v3f-extensions
23:08
Expanded the discussion of Pexpect in os8-run.md check-in: 046602545d user: tangent tags: os8-v3f-extensions
22:58
More improvements to the "History and Motivation" section of os8-run.md. check-in: 6f0c5473ca user: tangent tags: os8-v3f-extensions
22:40
Fixed a bit of lysdexia, and removed a thousands separator comma: this document may be read by non-USian readers. check-in: f27a09ad1c user: tangent tags: os8-v3f-extensions
22:37
Expanded the new "History and Motivation" section of the os8-run.md file. check-in: 8382aec59c user: tangent tags: os8-v3f-extensions
22:27
Added "Motivation and History" section to the top of doc/os8-run.md, and did some other minor improvements to the rest of the document. check-in: ec8ff7753c user: tangent tags: os8-v3f-extensions
22:23
Style pass on src/os8/v3f/README.md check-in: c36863cfe0 user: tangent tags: os8-v3f-extensions
2018-05-21
02:31
Teach call_pal8 to detect failure of PAL-8 to start. TODO: Re-do ALL the calls to os8_send_cmd to shift from looking for a command prompt before beginning a command and then maybe testing the command result (which is currently implemented with os8_send_cmd (prompt_string, command) ) to: Running a command and then testing the result. Yes, this means that pretty much the entirety of the command execution and result testing has been implemented in the wrong order. check-in: 6ce374d437 user: poetnerd tags: os8-v3f-extensions
02:26
Teach copy_from and copy_into how to recognize when PIP failed to start. Tweak err_test.mkos8 to test that this is working. check-in: fc92e8017b user: poetnerd tags: os8-v3f-extensions
02:20
Document how the POSIX path expansions are supposed to work. check-in: e2cdb32a96 user: poetnerd tags: os8-v3f-extensions
2018-05-18
05:01
Added path expansion to copy_into and copy_from. Fixed two related bugs: 1. path expand needed to use os.path.join to deal with how dirs.py ends some dirs with a slash, and some not. 2. copy_into and copy_from needed to check to see if the system was booted. (I'd forgotten this requirement, didn't boot the dectape, and could not understand why things were failing.) TODO: Add catching of "PIP.SV NOT FOUND" in copy_into and copy_from. check-in: e927586fb2 user: poetnerd tags: os8-v3f-extensions
2018-05-16
13:28
Simplified [05371feb7c], replacing the redundant map of module variable names to their values with a call to getattr() on the module and variable name in the single place that used this new facility. check-in: 2475d3ad2c user: tangent tags: os8-v3f-extensions
05:00
Added directory expansion for Anchor directores found in dirs.py.in. This necessitated offering them up in an associative array, as well as directly in dirs.<varname>. TODO: Document this. Add $home. Update .mkos8 files to use these. check-in: 05371feb7c user: poetnerd tags: os8-v3f-extensions
2018-04-29
03:58
Ok. Bed time. I'm making stupid mistakes. THIS TIME I fixed the example. check-in: a0393dd43d user: poetnerd tags: os8-v3f-extensions
03:55
Fixed example to use cdprog instead of absldr. (I thought I'd fixed this one, but it was another example I fixed.) check-in: c317b8d4b2 user: poetnerd tags: os8-v3f-extensions
03:31
Apparently I never tested the pal8 command when I objectified it. Now it's fixed and working. The scripts that used "fotp" and "absldr" are now tested working. check-in: 04acd3fc64 user: poetnerd tags: os8-v3f-extensions
03:13
Rename "os8_cd" to "cdprog". Change all occurrances of "fotp" and "absldr" to use "cdprog". TODO: Test. check-in: b2f05b95df user: poetnerd tags: os8-v3f-extensions
00:44
Work around a problem with markup: bullet list before a code block formatted both incorrectly. Moving the bullet list after seems to work better. check-in: f552138be1 user: poetnerd tags: os8-v3f-extensions
2018-04-27
04:32
Snapshot: Switching begin absldr and fotp over to os8_cd. Code is there and updated doc with examples is in place. TODO: Update uses of the old "begin fotp" and "begin absldr" constructs to use "begin os8_cd" and then rip out the fotp and absldr sub commands. check-in: fc88854a6a user: poetnerd tags: os8-v3f-extensions
2018-04-22
04:06
Moved Execution Context section up, and renamed "Enablement" Context to "Conditional Execution." check-in: 653f29de12 user: poetnerd tags: os8-v3f-extensions
04:00
Add first illustrative example. check-in: dd46ecb99d user: poetnerd tags: os8-v3f-extensions
03:42
Clearer overview of mount options. check-in: 4feae418ed user: poetnerd tags: os8-v3f-extensions
03:13
mount command options can have either dash or underscore as separator. check-in: f62671242c user: poetnerd tags: os8-v3f-extensions
2018-04-15
19:37
Teeny bit of format cleanup. check-in: 1a21d6840b user: poetnerd tags: os8-v3f-extensions
19:33
All commands have basic documentation. Next Steps: Review and clean up basic documentation, then add in examples. check-in: 6b0600b73e user: poetnerd tags: os8-v3f-extensions
2018-04-14
23:47
More content for commands. Added mention of as yet, unimplemented restart command. Commands still lacking basic documentation: begin/end, enable/disable, patch, configure. check-in: e5bb205204 user: poetnerd tags: os8-v3f-extensions
03:53
Additional prose. Some reformatting, and re-casting of sentences for greater clarity. check-in: dd808ad53c user: poetnerd tags: os8-v3f-extensions
2018-04-13
04:42
Properly cross links command sections. TODO: 1. Finish basic command descriptions with usage. 2. EXAMPLES EXAMPLES EXAMPLES check-in: d6d55f8ecd user: poetnerd tags: os8-v3f-extensions
04:02
And another try. check-in: 51ea54ab4c user: poetnerd tags: os8-v3f-extensions
03:13
Try a different way. check-in: 0ae10037ae user: poetnerd tags: os8-v3f-extensions
03:06
Test out toc linking. check-in: d63dc72d3e user: poetnerd tags: os8-v3f-extensions
2018-04-11
06:08
Added PiDP Keyswitch state diagram and schematic SVG. check-in: abb86b9d77 user: tangent tags: trunk
2018-04-10
01:56
Updated SIMH again. No particular reason, just syncing. check-in: ff2f918885 user: tangent tags: trunk
2018-04-09
16:08
The pidp8i script now uppercases its first argument in case it's being run via an all-caps terminal. check-in: 0389ea3108 user: tangent tags: trunk
01:31
one more bit of format tweaking. check-in: 16680d5958 user: poetnerd tags: os8-v3f-extensions
01:29
Fix up a few niggly typos and formats I don't like. check-in: 8ebf033bf7 user: poetnerd tags: os8-v3f-extensions
01:19
Added a -vv (very verbose) flag that includes the SIMH expect output in the runtime output. I find that having the separate log file actually works better most of the time. check-in: e7224c448e user: poetnerd tags: os8-v3f-extensions
01:06
Updated os8-run.md to reflect this weekend's work to make the script runner easier to use. check-in: 5d9fddd5a0 user: poetnerd tags: os8-v3f-extensions
00:44
The script commands that require the OS/8 context now all check to see we have booted, and if necessary call resume_command to resume OS/8. Use of the resume command in scripts is optional. It's commented out in the two scripts being checked in now. check-in: c0c452a0e6 user: poetnerd tags: os8-v3f-extensions
2018-04-08
18:56
Validated bin and patch mkos8 files. Also found a couple places where line number reports were not being made. check-in: 1d249425e6 user: poetnerd tags: os8-v3f-extensions
18:41
Apparently when I got os8v3d-bin.mkos8 working, I broke the tco8.mkos8 script. That script is for creating an os8-v3f dectape, so I renamed it and got it working again. TODO: Get os8v3d-bin.mkos8 validated. When I added resume, I turned off the simh command. So any scripts that used that construct are broken. check-in: a7c2b63adf user: poetnerd tags: os8-v3f-extensions
16:37
Electric python mode in Emacs sometimes sucks. Checking in WORKING silence of options report. check-in: 29c0bdf35d user: poetnerd tags: os8-v3f-extensions
16:19
Silence superfluous print of enabled/disabled options. check-in: 30fa646feb user: poetnerd tags: os8-v3f-extensions
16:12
Functionally complete "Give script line number in verbose and error output." TODO: 1. Test include files to make sure stack works. 2. Add line number output to the patch runner routines. check-in: 3c8123c3df user: poetnerd tags: os8-v3f-extensions
06:59
Snapshot: Added line number management so that all errors give the line number of the script file. (We keep a stack of line numbers corresponding to the nesting of included files.) Almost done, but it's hours past bed time! check-in: 9b8e035e77 user: poetnerd tags: os8-v3f-extensions
05:44
Previous commit was an error. I thought I'd completed the commit and then I addeed a bunch of code on an unrelated issue. THIS commit adds the boot checking AND NOTHING ELSE. check-in: 4c351aa5b2 user: poetnerd tags: os8-v3f-extensions
05:28
boot command checks to see if the device to be booted has something attached. If not, the script dies. Commands that run in an OS/8 context check the state of "booted" and if we have not been booted, the script dies. check-in: e9baca9803 user: poetnerd tags: os8-v3f-extensions
01:59
Added return status of "success", "fail", or "die" to all script commands. fail doesn't do much now. This is really about the die status. Also return values from routines called in simh.py are inconsistently set (rarely at all). And the return values are currently never tested. check-in: ccf3cc63e3 user: poetnerd tags: os8-v3f-extensions
01:41
Use :os8_send_ctrl to send ^C. Slightly cleaner. check-in: 5d248e2f70 user: poetnerd tags: os8-v3f-extensions
2018-04-07
23:41
I thought I tested this way of implementing resume, but apparently not. This fixes the new resume to work the way the previous check-in should have worked. check-in: 24125be341 user: poetnerd tags: os8-v3f-extensions
22:51
Further exploration of what it means to resume OS/8. Comments in simh.py explain the problem: We need to provoke a prompt to re-synchronize with python expect after resuming the stuff that was running under SIMH. There is now a resume command that does the minimum, but it's not as minimal as I would like: It sends ^C, which forces a return to the keyboard monitor if you happen to use it in the following situation: Start an OS/8 program. Escape to SIMH Resume. The ^C will kill the OS/8 program and send you back to the keyboard monitor. This is less disruptive than go 7600, but still not ideal. Just sending newline, or multiple newlines, or erase character or kill line to the OS/8 keyboard monitor after issuing the continue command in SIMH does not work to give you a command prompt. The next revision, I think will touch many routines to do the following: Create a sense of when to abort the whole script. Allow the script runner to keep track of OS/8 context and either blow out when you try to issue an OS/8 command before having booted an image, or to resume OS/8 for you when you use simh commands. check-in: b1e7201347 user: poetnerd tags: os8-v3f-extensions
2018-04-06
17:27
Merged SIMH updates in, primarily to get a fix to serial console handling, fixing upstream issue #545. check-in: ff2a299614 user: tangent tags: trunk
2018-04-05
05:43
Snapshot. More text added. check-in: f632a07d03 user: poetnerd tags: os8-v3f-extensions
04:52
More attempts to improve formatting. check-in: 635b4d4896 user: poetnerd tags: os8-v3f-extensions
04:37
Attempt to fix table formatting. check-in: 77d79a6b13 user: poetnerd tags: os8-v3f-extensions
03:26
Update with more text. check-in: 60d99f2f04 user: poetnerd tags: os8-v3f-extensions
2018-04-02
04:52
Fix a few eggergious typos. check-in: 96a25e81a3 user: poetnerd tags: os8-v3f-extensions
04:44
Fuller first draft. Snapshot. Still more prose to add, but it's bed time. check-in: 083fcc5efe user: poetnerd tags: os8-v3f-extensions
00:34
Markdown tweaks check-in: 9501dab8d9 user: tangent tags: os8-v3f-extensions
00:27
dont/wont/cant fixes in comments. NFC. check-in: ca02351d1a user: tangent tags: os8-v3f-extensions
00:25
URL fixes check-in: 01adc7e518 user: tangent tags: os8-v3f-extensions
2018-04-01
23:22
Tweaks to the Autosetup discussion in HACKERS.md check-in: f83a90486c user: tangent tags: trunk
23:18
Attempt to fix formatting problems. check-in: 64143f0747 user: poetnerd tags: os8-v3f-extensions
23:15
Added more info about branching and special branches to the HACKERS.md file. check-in: 78b5fdda99 user: tangent tags: trunk
23:12
Document os8-run command and its scripting language. check-in: 76627f0f9b user: poetnerd tags: os8-v3f-extensions
22:49
More HACKERS.md tweaks check-in: 98a2522ffd user: tangent tags: trunk
22:33
Refine two different options parsing strategies: In current strategy, be clearer on the effect of --enable and --disable args. In an alternate strategy, --enable-foo and --disable-foo become two word arguments. This can be done without changing the actions of auto.def, but DOES require changes to how configure would parse command line arguments. check-in: 1dc45457c5 user: poetnerd tags: os8-v3f-extensions
22:32
Several minor improvements to HACKERS.md check-in: 3c19d18b26 user: tangent tags: trunk
03:58
Fixed argument parsing in mkos8 that I broke when I was experimenting with and evolving the ideas of how to pass in new options. Now instead of -o --option, mkos8 responds to --enable and --disable To set open ended enablement and disablement options that are not defined elsewhere. check-in: 025010d6f3 user: poetnerd tags: os8-v3f-extensions
00:01
os8-run now does patching and with os8v3d-patch.mkos8 reproduces full functionality of mkos8 patch. Additional command, "copy" added to take the os8v3d-bin.rk05 image and copy it into a new file os8-v3d-patched.rk05. The latter file is then mounted and patched, just like mkos8 does it. check-in: 3f562abc9c user: poetnerd tags: os8-v3f-extensions
2018-03-31
23:43
Changed action on verbose flag. Now simh output goes to the log file UNLESS verbose is set. The script file list and options don't show UNLESS verbose is set. However each script run is displayed even if verbose is not set. check-in: 3dc1945a77 user: poetnerd tags: os8-v3f-extensions
23:31
Cosmetic: Clean up formatting of code in run_command. Add documentation of current commands. check-in: 2ae5294065 user: poetnerd tags: os8-v3f-extensions
23:26
Bugfix: when error actually occurs we get a type clash. Need to convert the error object returned to a string. check-in: 3bfccb1c6e user: poetnerd tags: os8-v3f-extensions
23:23
Bugfix: pal8 command was using "s" instead of "self". check-in: cdcf9f000c user: poetnerd tags: os8-v3f-extensions
2018-03-28
22:46
Back out upstream SIMH change 3f7f926 in an attempt to fix a regression in "SET CONSOLE SERIAL". Closed-Leaf check-in: 667bc75355 user: tangent tags: simh-3f7f926-backout
2018-03-27
23:17
Small clarity tweak to the HACKERS.md section "Submitting Patches." check-in: 615fcb1f25 user: tangent tags: trunk
2018-03-26
04:35
New option to mount, "copy_scratch" that creates a writeable scratch copy of what is to be mounted, which gets deleted when done. This results in a version of os8v3d-bin.mkos8 that completely subsumes all the functionality of mkos8 bin. Next up: Patches, and Default directory path. check-in: 1ae5d8a262 user: poetnerd tags: os8-v3f-extensions
2018-03-24
03:55
The script runner now has the "Set INIT message" functionality: 1. We don't create INIT.CM with the editor. Instead we copy it in just as we do with INIT.TX. 2. os8script.py now has script interfaces to the simh.py routines: copy_into -> os8_pip_into copy_from -> os8_pip_from 3. os8v3d-bin.mkos8 is updated. Booting the resulting rk05 image DOES run the INIT.CM script properly. TODO: 1. Figure out an interface in the script runner for the functionality of: "create a bootable dectape copy from the read-only distribution tape." 2. Implement the believed-to-be-straightforward exercise of enabling patches. 3. Figure out an interface/convention for the root of relative paths when the script runner runs. (dirs.os8mi equivalent) 4. Come to closure on the design for package management/options. check-in: cd285d1672 user: poetnerd tags: os8-v3f-extensions
03:39
Bugfix: os8_pip_from was parsing the os8 name with "index" when it needed to be "find". (Index returns a value error, and find returns -1 if substring not found. I'd transposed them.) check-in: 0ebe98bd1c user: poetnerd tags: os8-v3f-extensions
03:08
Bug fix: We never before tested calling os8_pip_from and os8_pip_into with a null option argument. The code didn't actually work because we were treating option later as a string. Now if the arg is not present, or None we set it to the empty string. check-in: 8bbca41e87 user: poetnerd tags: os8-v3f-extensions
2018-03-21
10:33
Defining SIM_GIT_COMMIT_TIME when building the simulator to match a recent upstream SIMH change, which allows the "SHOW VERSION" command to include a commit timestamp. check-in: 901695a423 user: tangent tags: trunk
10:00
Merged in upstream SIMH changes. No functional change noted for PDP-8, but Mark Pizzolato wants us to track a recent change to "SHOW VERSION", which we'll do in a subsequent commit. check-in: 5d0ee5fb5b user: tangent tags: trunk
2018-03-20
20:58
Checkin [b3e6e42a77] caused the simulator to crash on exit on non-Pi platforms since no PiDP-8/I panel is present, causing the graceful shutdown to fail. This is harmless most of the time, since the simulator is dying anyway, but it was causing pexpect to choke during the mkos8 process when run on non-Pi platforms. check-in: 4891e80bbc user: tangent tags: trunk
04:05
The reorganization of the src directory so that no *.c is at the top level of src broke "Incandescent Thought". We now look for deeper.c in src/misc, not src. check-in: c465ea6fbb user: tangent tags: trunk
2018-03-17
23:06
Release process tweak for the Fossil binary step, now that we're no longer building Fossil from source in BOSI any more. check-in: 374be56f82 user: tangent tags: trunk
21:32
The simulator now turns off all front panel LEDs before exiting so that a "pidp8i stop" or "Ctrl-E, q" doesn't leave the last CPU state burning brightly on the front panel. Closes [700328105]. check-in: b3e6e42a77 user: tangent tags: trunk
21:15
Changed the signaling and timing of "pidp8i stop" to be more reliable about quickly stopping, so we don't need to escalate to a kill -9. The escalation still exists in case the simulator is recalcitrant, but an upcoming change will require a graceful shutdown. check-in: 084fafb781 user: tangent tags: trunk
2018-03-13
10:32
Backed out Ian Schofield's attempt to fix the MB display, [5597b069b2]. Going on the principle of charity here, I assume that change isn't entirely wrong, but it has the side effect of breaking MB display while in "stopped" state, where people are expecting to see the result of EXAM switch presses here, a documented behavior of the PDP-8/I. See p.93 in the 1967 edition of the Small Computer Handbook and page RIM-3 (PDF page 35) in the PDP-8 System User's Guide from 1969. These two bracket the introduction of the PDP-8/I. check-in: 1fcd751a5f user: tangent tags: trunk
2018-03-12
02:28
Script reproduces all but INIT.TX and INIT.CM from mkos8 bin. PONDERING: Currently doing "simh go 7600" and "simh det". Should I instead introduce "resume" for "go 7600" and re-introduce unmount? check-in: 2d3a227ab7 user: poetnerd tags: os8-v3f-extensions
2018-03-11
23:24
Silence one bit of debug noise no longer needed. check-in: 040fff8714 user: poetnerd tags: os8-v3f-extensions
12:27
Merged trunk changes in Closed-Leaf check-in: bc32a70eed user: tangent tags: ac-mb-fixes
02:53
Snapshot: Nearly complete script to reproduce mkos8 bin in a script. Untested. TODO: 1. Test 2. Add INIT.CM stuff. 3. Add SQISH commands. check-in: 692d7edef3 user: poetnerd tags: os8-v3f-extensions
02:51
Changes to build_subcomm: Detects all errors (but may not do anything about them just yet.) Now handles "WRITE ZERO DIRECT?" dialog. Builds a basic bootable tc08 dectape. Adds err_test.mkos8 to step through error handling. Found LOTS of places where handling would hang the script. I fixed those. TODO: Reproduce mkos8 bin in a script. check-in: 6abb3c86c2 user: poetnerd tags: os8-v3f-extensions
2018-03-10
06:04
Recast the script command set to more closely align with how options were set in mkos8: Instead of "option" we have "enabled" and "not-disabled". Instead of "configure option" we have "enable". Instead of "unset_option" we have "disable". The command line "-o" and "--option" are now "--enable" and "--disable". os8-run makes a stab at using lib/mkos8/opt.py. I'm still not sure how this really should be done. check-in: a02f051f37 user: poetnerd tags: os8-v3f-extensions
2018-03-09
05:00
SNAPSHOT: Beginnings of a script to build os8v3d-bin.rk05 Discovered that more work is needed in os8script.py to handle the dialog with the BUILD BOOT command: "WRITE ZERO DIRECT." Also the architecture for re-imagining copyins needs to be conceived. check-in: bec1348033 user: poetnerd tags: os8-v3f-extensions
04:40
Script that duplicates the work done by "mkos8 src": bin/os8-run os8-v3d-src.mkos8 check-in: 150bd42598 user: poetnerd tags: os8-v3f-extensions
04:04
Pulled the run script functionality into its own separate command called os8-run. Tested with the latest tc08.mkos8 check-in: 5094f41fa8 user: poetnerd tags: os8-v3f-extensions
04:03
Apparently I never actually tested unset_option. Now It's working. tc08.mkos8 sets tc08 by default and unsets it if you specify td12k or tdrom on the command line. check-in: 02b01c97eb user: poetnerd tags: os8-v3f-extensions
2018-03-08
04:42
Since we want to turn off options, we need to guarantee that options appear in the options_set only once. This required flattening the options list that comes from argparse. How to do that? stackoverflow is your friend... check-in: 55dc609201 user: poetnerd tags: os8-v3f-extensions
2018-03-07
04:36
tc08.mkos8 now understand td8e as a common option to td12k and tdrom. Since we don't have a ROM config, we can't test tdrom, but the build of td12k with the common td8e stuff works. Still TODO: Further re-arrangement of mkos8 functionality. check-in: 50d5c66e31 user: poetnerd tags: os8-v3f-extensions
04:26
Configure command tested in the tc08.mkos8 script. New set_foo_config interface replaces old change_from_to interfaces in simh. os8script and testing in mkos8 use them. check-in: c14d2e72ee user: poetnerd tags: os8-v3f-extensions
03:50
Successful run of mkos8 head -o tc08 and mkos8 head -o td12k with the code for OS/8 scripting pulled out of mkos8 and put into lib/os8script.py Also a style pass was run on the names of things. Additional os8script methods have been added: configure_command which is an interface to the simh change commands and which allows on-the-fly setting of options. unset_option_command that allows unsetting of an option. I want the configure command so I can get rid of the "simh" command. I don't want to allow full scripting of simh. But I might be wrong here. I want to ability to set options inside scripts because the tdrom config is a variation on td12k, and I can set a common sub-option for the common bits now. TODO: test mkos8 system with the new library. TODO: Change the "change_" interface because we are repeating the describe code. We should "set" options rather than "change from x to y". The change interface requires fetching status twice, first to figure out what to do, and second, when calling the do_routines, to recheck inputs. TODO: Rename some "do_" methods in simh.py not to have the "do_" check-in: 0d3e4cce6c user: poetnerd tags: os8-v3f-extensions
2018-03-06
06:09
Beginnings of spinning out the script runner stuff into its own class: os8script which contains a simh and the global state like the options list for running the os8 scripts. SNAPSHOT! DO NOT USE! check-in: 3e7d1ab258 user: poetnerd tags: os8-v3f-extensions
2018-03-04
03:14
Added some comments to bin/teco-pi-demo explaining why we cannot make better use of class simh's new context switching abilities. check-in: f56e9b2e7d user: tangent tags: os8-v3f-extensions
03:13
Added a few more SIMH context switching cases in class simh check-in: 952d7b233e user: tangent tags: os8-v3f-extensions
03:11
Cleaner interface to show command: Do the split into a line array centrally. Make the show tape parsing orthogonal to rx and tti. check-in: 4b84f2a2ac user: poetnerd tags: os8-v3f-extensions
02:35
If you call simh.os8_send_ctrl('e'), the object now marks itself as "in SIMH context". This supports legacy uses of the class where transitions had to be done manually. check-in: c507e7ba49 user: tangent tags: os8-v3f-extensions
02:30
In two places, class simh was sending the same command to SIMH then calling parse_show_tti() on the result. Moved the command call into that function and renamed it get_tti(). check-in: fb6100a681 user: tangent tags: os8-v3f-extensions
02:11
Comment and whitespace improvements to lib/simh.py check-in: 712ce17691 user: tangent tags: os8-v3f-extensions
01:40
Simplified the check for SIMH commands that transition from SIMH context back to simulation context: it was listing all of the possibilities exhaustively, except only in lowercase. Neither is required: we can list only the first letter in uppercase, then slice the first letter off of the command and uppercase it before searching this list. This is both faster and more reliable. Also moved the related constants from per-instance to per-class. check-in: b54ebf922c user: tangent tags: os8-v3f-extensions
2018-03-03
23:33
Added a describe_dev_config routine, and tried out cleaner approach to parsing _child.after. TODO: Update the existing code to use the cleaner approach. The testing routine tests everything now. check-in: 79b7a7bd9d user: poetnerd tags: os8-v3f-extensions
20:43
Change between KSR and 7b implemented and tested. check-in: b6403b276e user: poetnerd tags: os8-v3f-extensions
20:12
Corrected comment on parse_show_rx_dev check-in: b9e53704f7 user: poetnerd tags: os8-v3f-extensions
20:00
Silence one bit of verbosity -- the rx detaches. check-in: 8f8cb98765 user: poetnerd tags: os8-v3f-extensions
19:59
Change for rx01/rx02 is done. TODO: ksr/7bit change. Also: Ponder if this stuff is being too verbose. check-in: 0e4f9c3777 user: poetnerd tags: os8-v3f-extensions
18:42
do_tape_change is fully fleshed out. mkos8 testing is the driver to test it. TODO: Repeat for RX01/RX02 and ksr/7bit check-in: 692b0368ee user: poetnerd tags: os8-v3f-extensions
06:22
Snapshot: Beginnings of routines to change configs in simh Swapping td/dt DECtape devices; rx01/rx02 devices; ksr/7bit console. Currently just inventories what's attached to dt/td devices. TODO: Finish the swapping code: Detach what's attached and send the config change. Then fill in the stubs for RX and console device work. check-in: d2167af791 user: poetnerd tags: os8-v3f-extensions
04:27
Cleaned up external use of simh_context. The housekeeping boiled down to three locations: 1. Initialize to simh. 2. back_to_cmd sets simh. 3. The clever part: in send_cmd, look to see if the command being executed enters the OS, and if so set context "os8". TODO: RE-test os8-cp and all legacy mkos8 commands to make sure I didn't break anything. Then remove the context commands. The rule now is: Returning to simh leaves you in the simh context until you issue a boot, continue, or go command. check-in: 7b0047d2cc user: poetnerd tags: os8-v3f-extensions
2018-03-02
05:22
Ok, this is a bit gross. tc08.mkos8 now understands the td12k option, but it was a pain to get there. I had to create a simh command because we needed to disable dt and enable td. This also runs BUILD on os8v3d-patched.rk05 to switch from TC08 to TD8E drivers. It is very gross, but it does clean up after itself. (If it makes it all the way through.) This exploration has let me to believe that we might very well want to craft this as python code to, "Switch SIMH from DT to TD" and "Switch SIMH from RX01 to RX02". It is a mess of abstraction barrier violations to try and do it cleanly. So what we have now is a proof of concept. An icky one. check-in: 966fb1026b user: poetnerd tags: os8-v3f-extensions
02:53
Yup I had broken absldr. (Forgot to delete legacy code.) Fixed now and tested. check-in: 5998f944de user: poetnerd tags: os8-v3f-extensions
2018-03-01
19:36
Improved approach to option handling. No longer requires custom logic in every sub-command. Also consolidates parsing of comments into a common module. TODO: Test creating a TD12K system with TC08 turned off. TODO: Re-test v3f to make sure I didn't break the absldr sub-command. check-in: e67f63046a user: poetnerd tags: os8-v3f-extensions
06:30
Taught mkos8 a new run command: Options. Now, before the mkos8 command arg, you can have options, for example "tc08". In the script file you enclose options in begin option foo end foo If the command line argument specifies -o foo, the lines are used. If not, they are ignored. Optional blocks can appear in commands with their own command processors, and can be nested. In this way a single command file can be used with variations on the same theme depending on which option is enabled. check-in: 10848363e5 user: poetnerd tags: os8-v3f-extensions
2018-02-27
04:35
Deleting the last of the OS/8 v3f files from their old home. check-in: cf3f0afe80 user: poetnerd tags: os8-v3f-extensions
04:33
Bringing the updated versions in to their new home: Amendments to os8-v3f sources to get them to build properly, and to clean up newlines as documented in README.md. check-in: e7f3f5c8a9 user: poetnerd tags: os8-v3f-extensions
04:27
Re-checking in original versions in new home. check-in: 70422a41be user: poetnerd tags: os8-v3f-extensions
04:21
This file should never have been checked in. It was a built artifact, not baseline truth source. check-in: ed42b06197 user: poetnerd tags: os8-v3f-extensions
04:20
First step of moving os8-v3f to a os8/v3f. Move everything with no history. check-in: 3295f96998 user: poetnerd tags: os8-v3f-extensions
2018-02-26
04:28
Added include functionality and split out the FOTP copy into a separate file so that it can be common to multiple system head creations scripts. check-in: f6c639f923 user: poetnerd tags: os8-v3f-extensions
04:22
Updated in anticipation of support for TD12K and TDROM DECtape configurations. check-in: 8a4f9efde2 user: poetnerd tags: os8-v3f-extensions
04:19
mkos8 head command now uses the tc08.mkos8 command instead of the in-line code. mkos8 system now uses the v3f-control.mkos8 file to redo the work of the v3f command. Added pal8 and absldr command parsing to script parser. TODO: add file inclusion to script parser. add patching to script parser. try out other system bulld scripts. check-in: aa81f5802a user: poetnerd tags: os8-v3f-extensions
2018-02-25
01:48
Ditto in tools/bosi check-in: 44e7fdb32b user: tangent tags: trunk
01:47
Switched another systemctl command in the pidp8i-test manual. check-in: a125ef3ebc user: tangent tags: trunk
01:45
The top-level README.md file now gives "systemctl --user" commands only in one place, purely for documentation value. In all other places, we now use the new "pidp8i $verb" commands. check-in: 4692d6051c user: tangent tags: trunk
2018-02-24
23:48
Clarity fixes to the new "doc" discussion in the HACKERS.md file's directory structure section. check-in: 5a93928903 user: tangent tags: trunk
23:45
Documented an exception to the "etc" rule in the HACKERS.md directory layout section. check-in: 76739686ac user: tangent tags: trunk
23:21
Fixed a logic bug in the "make mediainstall" skip test, and added a message when we skip the step to make it clear which path was taken. check-in: 36b7e06e65 user: tangent tags: trunk
22:41
The test intended to skip re-installation of all the SIMH binary media and the SIMH boot scripts on a system where that has already been installed was checking for the existence of os8.rk05, which will only exist on a system that had 2017.04.04 or earlier installed on it. A system that was fresh-installed from 2017.12.22 wouldn't have this file, so the *next* installation (say, to check out the trunk version) was overwriting local media and script files. This is not going to affect people who used only release versions unless they manually did "make install" again for some strange reason. The more likely way this hits is for someone who first installed 2017.12.22 and then later checked out an unreleased version and installed it over the top of their release version. check-in: 43161ac30b user: tangent tags: trunk
22:33
Clarifications to the directory scheme section of HACKERS.md. check-in: 088bcc323f user: tangent tags: trunk
04:50
Finally bit the bullet and added a _context to simh object so we now EXPLICITLY keep track of what command context we are in, and we can now explicitly know, "You have to do s.back_to_cmd so you're back in the simh context and can issue those commands." This is needed to get the rewritten mkos8 working. This version of the rewritten mkos8 uses tc08.mkos8 to successfully redo all the things that were in the "head" command to create a bootable tc08 DECtape. TODO: 1. Change head to do run_system on that file. 2. Add code to enable v3f-control.mkos8 to reproduce what the "v3f" command does. 3. Do the same thing with bin, patch, src. Open issue: How do we want to re-express all the optional build stuff? I think the cleanest way is to have os8-v3d-patched.mkos8.in check-in: e0b7feccad user: poetnerd tags: os8-v3f-extensions
2018-02-23
06:17
SNAPSHOT: Beginnings of yet another mkos8 rewrite. This one creates a "system" command that reads in a control file and parses it into call outs to OS/8 in simh. It is half done. When there is a complete first draft, then we go back and see what can be pruned. Still being considered: How much parsing and filtering should we do for lines being passed into OS/8? check-in: c3d90b5b86 user: poetnerd tags: os8-v3f-extensions
2018-02-22
17:31
Clarified in README.md that the goo.gl link points to a release tarball URL. Pointed the user to the "bleeding edge" links on the home page if they want the tip of trunk instead. check-in: 363c3a4164 user: tangent tags: trunk
15:30
Added the --disable-usb-automount option to the configure script. check-in: 519af7fb16 user: tangent tags: trunk
13:58
Changed the way the systemd user unit file is installed so that it starts on boot. (It was referencing a target that doesn't exist in the user unit namespace, only in the system-level namespace.) check-in: 9df981f85d user: tangent tags: trunk
13:57
The change to bin/pidp8i to make it a systemctl command shortener broke the install verb. check-in: 210dd32e7f user: tangent tags: trunk
13:34
Moved most of the material on the systemd service from the "Major Differences" wiki document into the top-level README.md file's section on the same topic. check-in: 7bdf00a1e0 user: tangent tags: trunk
13:19
Documented the new "pidp8i $VERB" interactive command shortener. check-in: 5f3a0f3399 user: tangent tags: trunk
13:16
The pidp8i command now recognizes when it's being run interactively with arguments and passes them on to systemctl, acting as a command shortener. check-in: 62d01a3ac6 user: tangent tags: trunk
12:38
Clarity pass on the new systemd section at the end of README.md. check-in: e505816ebe user: tangent tags: trunk
12:24
Changed several documentation references to "sudo systemctl VERB pip8pi" commands to work with the new user-level service. check-in: f64def86c2 user: tangent tags: trunk
12:19
Swapped etc/pidp8i-init.in (a SysV init script) out for etc/pidp8i.service.in (a systemd user unit), moving much of what was in the init script into bin/pidp8i.in. Implements [fc237d3f08]; see that ticket for the rationale. check-in: 4a5ef7682b user: tangent tags: trunk
2018-02-21
03:31
Additional all-important comment: In SIMH, make sure you do, "set rx rx28" if you are going to use rx02 and "set rx rx8e" if you are going to use rx01. rx8e is currently the default. check-in: 77f7c141e7 user: poetnerd tags: os8-v3f-extensions
03:16
mkos8 v3f now builds the device drivers. mkos8 head now fleshes out the build with the all-important RX02 driver from v3f. The code has extensive comments on how we would build different configurations including 12K and ROM TD8E systems. TODO: Design an architecture for picking though these system creation options. check-in: a53265ed60 user: poetnerd tags: os8-v3f-extensions
2018-02-20
03:28
New command in mkos8 is live and working: head -- takes what we've built in "v3f" and creates a bootable DECtape image. Utilizes the OS/8 v3d device driver dectape image, and runs os8v3d-patched.rk05 as the bootable system. check-in: 48f84ed990 user: poetnerd tags: os8-v3f-extensions
02:04
Fixed problem with squish. os8_squish puts in the colon for us, so when I called it with "RKB1:" it called SQUISH on "RKB1::" check-in: 32c3b1e1ae user: poetnerd tags: os8-v3f-extensions
2018-02-19
18:07
Another attempt at cleanup. check-in: 448527acfc user: poetnerd tags: os8-v3f-extensions
18:04
Corrections to README.md: Fixed formatting of included file. Added license. check-in: 8a49cdd555 user: poetnerd tags: os8-v3f-extensions
17:56
Amendments to os8-v3f sources to get them to build properly, and to clean up newlines as documented in README.md. TODO: Find out why mkos8 complains of bad device on the SQUISH. check-in: ab0e49c8c5 user: poetnerd tags: os8-v3f-extensions
17:47
Re-creation of OS/8 Device Extensions work from a ground truth of sources discovered as "OS/8 V3F" Checking in the v3f baseline sources and an initial version of changes to mkos8 to perform the build and integrate. Ultimately, mkos8 will know how to build the sources and create a distribution DECtape based on them. check-in: 95f361a076 user: poetnerd tags: os8-v3f-extensions
16:34
Create new branch named "os8-v3f-extensions" check-in: 24ef7c118d user: poetnerd tags: os8-v3f-extensions
04:02
Improved defaults: Added a default system image if none is specified on the command line: The os8v3d-patch.rk05 file in bin booted on rk0. Tested binary transfers from OS/8. They work as expected: /B in PIP pads the ptp device with lots of null leader/trailer. Specifically, 192 bytes are added at the beginning; Any ^Z at the end of the original .BN format file is removed. Any NULL padding in the OS/8 filesystem after the end of file is removed. Leader-trailer of 0200 and the 000 is added at the end. It will be interesting to see what kind of transformations are done on transfers into OS/8. Will the ^Z be added to .BN format? Will a sacrificial character on paper tape input be needed? /I returns the binary bits verbatim. The default transfer mode has been changed from /B to /I. Closed-Leaf check-in: 347a9e009b user: poetnerd tags: os8-cp
2018-02-18
19:14
Moved a single-use string member variable in class simh inline. It needn't be externally-visible. check-in: df07d34aed user: tangent tags: os8-cp
18:46
Merged in trunk improvements check-in: 29dfc620d5 user: tangent tags: os8-cp
17:37
Added more clarification of when ASCII transforms are lossless. (If newlines are well formed.) check-in: 1b6da290c4 user: poetnerd tags: os8-cp
03:10
Typo, grammar, and clarity tweaks to previous check-in: 7689d22a2c user: tangent tags: trunk
03:08
Assorted improvements to the "Single-Core Default" section of README-throttle.md. check-in: 938079c032 user: tangent tags: trunk
01:52
The publish-fossil script now includes the Fossil version in the file name, and it strips the binary before adding it to the repository. check-in: a3ac8e8862 user: tangent tags: trunk
01:02
Clarified the new terse usage message a bit check-in: 4ee6f0b097 user: tangent tags: os8-cp
00:56
Fixed some whitespace problems in os8-cp check-in: 0ef3beebb6 user: tangent tags: os8-cp
2018-02-17
05:14
Error reporting and recovery fixes: Eliminated some debugging print statements that should have been removed before. Cleaned up error mesages print from pip routines. Took care to delete the empty file created by SIMH ptp device when the OS/8 file is not found by os8_pip_from. check-in: 026f859acb user: poetnerd tags: os8-cp
04:52
Rendered nomenclature consistent in documentation and implementation: copy is now: "within" for on OS/8, "into" for POSIX into OS/8, and and "from" for going from OS/8 to POSIX. Renamed the routines in simh and changed error strings to match the nomenclature. check-in: ecb8cee214 user: poetnerd tags: os8-cp
04:03
Revised usage message. Improved accuracy. Split into TERSE and VERBOSE chunks. check-in: e02f74e842 user: poetnerd tags: os8-cp
2018-02-11
22:06
Moved simh._os8_errors up within the file to be next to the other constants and member variables, and improved its associated comments. check-in: 70168fc002 user: tangent tags: os8-cp
21:45
ptp2text needs to filter out rubouts that PIP /A adds after control chars such as tab. os8-cp bug fix: File parser for OS/8 wild card DIR output didn't quote the dot. os8-cp: Added VERBOSE option, and provision for a QUIET option. Some things that were always printed are only on VERBOSE and DEBUG options. QUIET mode doesn't have anything bound to it yet. simh.py: Error detection updated a bit, and adding tracking of which error messages have been verified. check-in: c162a5d01a user: poetnerd tags: os8-cp
21:37
Whitespace and comment improvements to os8-cp. check-in: a87d0769aa user: tangent tags: os8-cp
21:23
Refinement of previous DRY violation fix, reducing the key data structure to a single dict. Checked this in separately to make the sense of the transformation clear. check-in: 5be87b7a14 user: tangent tags: os8-cp
21:15
Fixed a DRY violation in the PIP option constants defined at the top of os8-cp. Changes now need to involve just two parallel lists of strings, whereas before you had to change one string and three parallel dictionaries. check-in: 29525bae74 user: tangent tags: os8-cp
20:54
Comment and whitespace improvements check-in: dd47da7502 user: tangent tags: os8-cp
20:27
Reordered the "import" statements in os8-cp, dropping one duplicate and one no-longer-needed import. The first group of import statements should never be extended, per its comment. check-in: 5688a5d6c8 user: tangent tags: os8-cp
2018-02-10
18:21
Framework for error recovery in place, and basic errors tested. Errors we would hit were inventoried. A table of error matches and a flag as to whether the error was fatal or not (if not we need to exit the program back to OS/8 monitor.) os8_fetch_pip and os8_send_pip have been updated to deal with fatal and not fatal errors. File not found (non-fatal) and Directory I/O error (fatal) have been tested. TODO: Investigate teaching os8-cp's use of DIR command about errors. Still not done: Testing of binary modes. check-in: d7a0d338b7 user: poetnerd tags: os8-cp
03:31
Fixed minor bug that prevented --action-file from working. Enabled copy mode, but forgot to test it. :-) check-in: 6a49e73a85 user: poetnerd tags: os8-cp
01:38
Copy from OS/8 basically works, both single file and wild card case. TODO: copy "on" OS/8 to OS/8. Testing testing testing! check-in: efd88b5a2e user: poetnerd tags: os8-cp
2018-02-09
14:20
Updated SIMH. check-in: 0a9a46d2c3 user: tangent tags: trunk
05:31
Snapshot. Basic copy to OS/8 working. TODO: Copy from OS/8. Wild carding of copy from. Implementing of copy on in FOTP. Testing. Sacrificial byte at end of binaries. check-in: cd0f6e7fdb user: poetnerd tags: os8-cp
02:23
att and det commands tested and working with fixes in this checkin. Time to start working on the file transfer stuff. check-in: 4cc7df0ce3 user: poetnerd tags: os8-cp
2018-02-07
05:17
Snapshot: NOT WORKING! Code drafted to do att and det commands in simh. copy actions designed but not implemented. NOTHING TESTED. (Also moved some constants to the globals section of the file.) check-in: 0522ee40e2 user: poetnerd tags: os8-cp
04:18
Used python dict idiom to shorten parse of mode options code. check-in: 796dadce18 user: poetnerd tags: os8-cp
2018-02-06
07:01
Had to turn parse_args back into a subroutine, because the new parse_action_file overrode the action_plan being created. Pulled back in some of the old main because I'll reuse that code when I implement the copying. Shifted some of the globals from the middle of the file to the section labeled for globals. BTW: The override by --action-file is because parse_args did two passes: 1. read names and glob them. 2. turn globbed names into actions. The action file is all actions. We override because that way I don't have to write code to figure out how to do a partial second pass of what's already been parsed from the command line when we hit the --action-file argument. Icky, but... check-in: f3702ec3c4 user: poetnerd tags: os8-cp
05:09
Merged trunk improvements check-in: cfe9f76381 user: tangent tags: os8-cp
04:54
Renamed os8-cp --tc to --dt, properly reflecting the SIMH device name. I see why it was called --tc, but it was incorrect to map it to SIMH device name "TC" (no such thing) and it's confusing to those of us who know the SIMH device names. Better to just remain consistent throughout. check-in: 7b2a875a1b user: tangent tags: os8-cp
04:52
Many improvements to the os8-cp USAGE message, especially in the area of media image options. check-in: be30dc52a4 user: tangent tags: os8-cp
04:24
Removed some functions now unused since the command line parser redesign. check-in: 0d55a92b7e user: tangent tags: os8-cp
04:23
Moved most of the program comments explaining the behavior of os8-cp into the USAGE message. check-in: 4e116e66c2 user: tangent tags: os8-cp
03:17
Replaced main() in os8-cp — which was almost completely commented-out from its prior form — with parse_args(), since all that was left of main() was a call to that function. check-in: 9cc31248aa user: tangent tags: os8-cp
02:58
Minor tweaks to previous check-in: 174829cb05 user: tangent tags: trunk
02:56
Better explanation of the reason for the change to SIMH throttle stabilization and a better link to the GitHub issue thread explaining the backstory. check-in: f32224cc98 user: tangent tags: trunk
02:40
Added paragraph to the "Throttle Stabilization" section of README-throttle.md warning about upgrading an existing boot script setup. check-in: 73bb7661e3 user: tangent tags: trunk
02:35
Switched tools/bosi from the macOS rmtrash command to trash, which behaves better on multi-volume systems. check-in: 93ad7eeaf5 user: tangent tags: trunk
02:34
Added named anchors to README-throttle.md section heads check-in: e336b70fc4 user: tangent tags: trunk
2018-02-04
05:02
Renamed os8-pipio to be os8-cp Designed the new parser. Snapshot with Complete first draft of new parser. It only took 300 lines of code to do it. check-in: 96412d7943 user: poetnerd tags: os8-cp
2018-01-30
09:46
Added examples/fpptst.ft to demonstrate the generation of FPP12 instructions in OS/8 FORTRAN IV assembly (RALF) output even though the FPP feature of SIMH's PDP-8 simulator is not enabled by default in the PiDP-8/I stock simulator init scripts. check-in: bc13bb069b user: tangent tags: trunk
2018-01-29
09:36
Merged SIMH upstream again, this time finally fixing upstream issue #508, which I'm now going to close. check-in: 3278b60481 user: tangent tags: trunk
03:43
General command line utility to read from and write to OS/8 media using PIP. Currently supports .tu56 and .rk05. TODO: 1. Investigate adding a sacrificial extra character for file send to OS/8 in binary modes. 2. Detection of OS/8 Device full. 3. Support for copyin and copyout of the system area with PIP /Y check-in: 5d7366cdd5 user: poetnerd tags: os8-cp
03:37
Adds two functions: os8_send_pip and os8_fetch_pip More general interface for both storage into and retrieval from OS/8 media. Used by a new program bin/os8-pipio check-in: 7285ef619d user: poetnerd tags: os8-cp
2018-01-28
06:40
Added a "make run-tss8" variant of boot/2.script, a TSS/8 parallel for "make run". check-in: 745033b32e user: tangent tags: trunk
2018-01-26
09:14
Clarified the MACREL v2 patches situation in doc/os8-patching.md: it was written pre-v2017.12.22 release in future tense. check-in: 5a179291c7 user: tangent tags: trunk
09:13
More of the same check-in: c7e13b21cc user: tangent tags: trunk
09:12
Whitespace fixes check-in: 7b35928a10 user: tangent tags: trunk
00:57
Assorted minor tweaks to doc/os8-patching.md check-in: c55128b3e1 user: tangent tags: trunk
00:52
Minor tweaks to doc/class-simh.md check-in: 1068ad74ea user: tangent tags: trunk
2018-01-25
21:03
Merged in an upstream SIMH improvement to the throttle stabilization code which avoids recalibrating the throttle timers on re-entering the simulation either due to Ctrl-E/cont at the terminal keyboard or CONT/START on the PiDP-8/I front panel. It simply continues using the values it determined before the simulation was stopped; it will still recalibrate itself periodically, it just doesn't start over from zero. check-in: cac1e79178 user: tangent tags: trunk
20:59
Clarifications to the new section on throttle stabilization in README-throttle.md. check-in: 22398c8ac6 user: tangent tags: trunk
2018-01-22
12:58
Overriding the default SIMH throttle settle time in the boot/*.script files, and documented what we know about all this in README-throttle.md. check-in: d08dd32180 user: tangent tags: trunk
11:40
Merged SIMH updates into trunk check-in: 2281fbe3f1 user: tangent tags: trunk
11:39
Updated SIMH to upstream checkin ID 52aebb23. No PDP-8 specific changes, but it appears to have fixed the keyboard delay problem. Closed-Leaf check-in: 1cd9da6804 user: tangent tags: simh-update
11:27
Restored upstream SIMH commit ID b2b18de in preparation for doing a simh-update run. Mark Pizzolato claims that the upstream master branch has this bug fixed, and we don't want this backout appearing in our diffs relative to upstream. check-in: ad6e607aa0 user: tangent tags: simh-update
11:13
Declaring the argument types of ire0() in examples/pep001-ire0.c to fix complaints from the new CC8. check-in: c70e7a7cb4 user: tangent tags: trunk
11:10
Updated fib.c with a version from Ian that runs until overflow, which builds under both versions of CC8. check-in: ff9311ab5f user: tangent tags: trunk
11:01
Documented a few more CC8 restrictions in its README.md. (Previously checked in accidentally on the ac-mb-fixes branch.) check-in: 8f3a66e383 user: tangent tags: trunk
2018-01-20
17:27
Added "int" return type declarations for all CC8 example programs, and removed the int type insertion in bin/cc8-to-os8. check-in: 44fac25071 user: tangent tags: trunk
17:27
Applied patch sent by Ian Schofield via private email to fix the "int foo()" difference between the CC8 cross- and OS/8 compilers. check-in: 8a25ff0dad user: tangent tags: trunk
2018-01-12
10:52
Assorted improvements to examples/README.md check-in: 8ff7ff0955 user: tangent tags: trunk
10:27
Grammar tweak check-in: 1ce056054e user: tangent tags: trunk
10:26
The BASIC section of examples/README.md now refers the user to the new "Getting Text In" wiki article, both simply and by hinting at some of the methods it documents. check-in: c0463566f9 user: tangent tags: trunk
10:12
Linked to the newer PEP001.* wiki articles from the examples' README.md. check-in: a9069d1472 user: tangent tags: trunk
00:54
Backed out checkin [5597b069b2] for testing purposes, and for building a better version of that checkin. check-in: 38c1b17bab user: tangent tags: ac-mb-fixes
2018-01-08
08:19
The "pidp8i stop" change now fails on multi-core Pis. Trying a combined version. check-in: 27f585bd1b user: tangent tags: trunk
2018-01-05
03:51
Better output from "systemctl status pidp8i". check-in: bcc06879ec user: tangent tags: trunk
03:50
Changed the "screenu -S pidp8i -X quit" command in the do_stop() action for the pidp8i init script to "pkill -f pidp8i-sim". Quitting the screen(1) session does that and *only* that, leaving pidp8i-sim still running, at least on Raspbian Stretch; whereas killing off the simulator *does* abandon the screen(1) session. check-in: 474594821b user: tangent tags: trunk
03:04
Fixed a problem in "make install" which caused libexec/scanswitch to be installed in $prefix/bin. check-in: 8ae952de3d user: tangent tags: trunk
2017-12-29
16:43
Clarified ticket level meanings. check-in: 1796d00a9b user: tangent tags: trunk
2017-12-27
03:52
Passing -std=c99 when building src/misc/*.c to avoid a complaint from some compilers about our use of variable declaration in the for loop initializer section. Then fixed the resulting compiler complaints when building on Raspbian Stretch. check-in: 6963b686c5 user: tangent tags: trunk
2017-12-24
19:54
Fixed a #include problem related to the new src subdirectory layout. It wasn't caught until now because it only affects ILS builds, and I've been testing off-Pi until now. check-in: 9a33c3f4b9 user: tangent tags: trunk
19:52
Updated SIMH to upstream commit 8494112ee4. Nothing of consequence has changed upstream as far as we are concerned, but I needed to test that tools/simh-update continues to function with the new src subdirectory layout. check-in: 0bd7f65cb0 user: tangent tags: trunk
19:49
Added src/SIMH/Makefile.in, which should have been included with the prior checkin. check-in: 62f98ec9c2 user: tangent tags: trunk
19:48
Moved SIMH source files into src/SIMH, leaving no actual source files in the top level of `src`. Saying `ls src` therefore now gets you a listing of the programs built from source code, with the exception of src/misc and src/asm, which contain single-module programs, which therefore do not deserve their own subdirectories yet. check-in: 44f74bca46 user: tangent tags: trunk
19:16
Moved all remaining non-SIMH *.c files from src into src/misc. check-in: a6c903715f user: tangent tags: trunk
19:10
Moved the PiDP-8/I specific C files that get built into pidp8i-sim into src/pidp8i. (This is the first in a series of src subdirectory cleanups.) check-in: 0fd5a04dc0 user: tangent tags: trunk
2017-12-23
22:00
Removed several references to usbmount, which we no longer use. They were all basically harmless, just causing extra pointless work for both the human and the computer. check-in: af6ea767d7 user: tangent tags: trunk
21:53
Updated a "v201712xx" reference to the actual release version, v20171222. check-in: a83b8a64f4 user: tangent tags: trunk
03:55
Merged doc fix in check-in: 3e64e6c138 user: tangent tags: release, v20171222
03:55
Prior update to doc/OS-images.md made for confusing grammar in the paragraph following the removed paragraph. Fixed. Retagged release v20171222. check-in: 4c2353525a user: tangent tags: trunk
03:29
Merged dependency fix in from trunk check-in: 32e794a04b user: tangent tags: release
03:29
Removed lib/pidp8i/__init__.py and ips.py as dependencies of the RK05 disk images so that they don't rebuild just because you ran teco-pi-demo -b. That doesn't affect *how* the RK05s are built, just *how fast* they are built, which is already a fait accompli by the time this question comes up. check-in: 6c77f5fa80 user: tangent tags: trunk
02:41
Merged in trunk doc fixes check-in: 2f43ced016 user: tangent tags: release
02:37
Added rootfs auto-expand item to ChangeLog. Retagged release v20171222. check-in: 882e7a13fb user: tangent tags: trunk
02:18
Updated doc/OS-images.md for new Stretch based binary OS images. check-in: c2affd79bb user: tangent tags: trunk
02:15
jessie -> stretch in zipfile naming check-in: 963fe39482 user: tangent tags: trunk
02:03
Relaxed a check in "bosi image" which was causing it to fail to find the Linux / (root) partition on the Raspbian SD card. Added better error checking in case something like this happens in the future. check-in: 8ecb5aec91 user: tangent tags: trunk
01:32
The sshd service was renamed to ssh in Stretch. Updated tools/bosi to cope. check-in: 3c4bea5aea user: tangent tags: trunk
01:29
Added a delay before the reboot and poweroff steps in bosi so user can read and evaluate the final messages. check-in: 3de5856fc4 user: tangent tags: trunk
01:26
Running "teco-pi-demo -b" in the "bosi build" step, partly so we test out the simulator before rebooting and partly so we update the benchmark value for that type of system. check-in: fd6977825c user: tangent tags: trunk
01:22
Merged trunk fixes in. Still release v2017.12.22. check-in: ca472c3816 user: tangent tags: release
01:22
The change made long ago to allow scanswitch to control the /etc/init.d/pidp8i script causes it to fail if the PiDP-8/I panel isn't actually present. Checking for the exit code 127 case explicitly now and falling back to 0.script in that case. check-in: 2c7e1c265d user: tangent tags: trunk
00:45
Small fixes to ChangeLog check-in: acfb6e1a87 user: tangent tags: trunk
00:27
Merged trunk changes for v20171222 into release branch check-in: 7f42574bca user: tangent tags: release
00:25
Tagged release v20171222 check-in: 8ba49fee33 user: tangent tags: trunk
2017-12-22
22:09
Modified the newly-created simh.os8_zero_core method to skip the top page of field 2, since it is reported that the OS/8 TD8E driver lives here. We don't use that driver in our current OS/8 disk distribution, but someone may later add that driver to their local clone of our software distribution then try running cc8-tu56-update (or some future script which also calls this new method) and be annoyed when their disk driver is MIA upon re-entering OS/8. check-in: 4b7c450799 user: tangent tags: trunk
22:08
Extracted the core zeroing code chunks from cc8-tu56-update into methods of class simh. They may prove broadly useful. check-in: f79b1587bc user: tangent tags: trunk
2017-12-21
12:29
Updated ChangeLog check-in: 99c1dcabef user: tangent tags: trunk
11:38
Replaced our reliance on the usbmount package — which only works out of the box on Raspbian Jessie and older — with a shell script based on https://serverfault.com/a/767079 which incidentally gives us the freedome to improve on it. check-in: d136804bf1 user: tangent tags: trunk
10:08
Whitespace improvements to bldcc8.bi. It changes the order of files on the output tape for some reason, so cc8.tu56 is updated yet again. check-in: 2036c8a7b0 user: tangent tags: trunk
09:55
Assorted improvements to the main CC8 manual. check-in: 5545137c62 user: tangent tags: trunk
09:49
Renamed CC.BI to CCR.BI. OS/8 isn't terribly smart about figuring out which "CC.*" you meant when you say "EXE CC", so we need a prefix that doesn't conflict with CC8 output files. The new name means "Compile C and Run." It is definitely not a classic rock pun. Definitely. check-in: 20d1ed131d user: tangent tags: trunk
09:14
Assorted improvements in src/cc8/examples/README.md to track recent developments in CC8 land. check-in: c598b55169 user: tangent tags: trunk
08:42
Added bldcc8.bi and cc.c to the list of files we delete from the working RK05 disk from cc8-tu56-update, since they're also temporaries. Also reworked the way we're handling the Python lists to avoid problems with OS/8 command line length limits. check-in: 5d10912237 user: tangent tags: trunk
07:56
Reworked the newly-deterministic cc8.tu56 creation in terms of Python lists so the code is easier to expand and the file lists are easier to read. Also improved the comments. Removed a pointless and possibly dangerous "DEL *.C" command which we no longer need now that we've given up on using wildcards in the COPY commands. There still remains some source of mischief because cc8.tu56 changed again purely by building it on a different platform. check-in: 32e4c2a446 user: tangent tags: trunk
06:59
Comment improvements check-in: e8175ab22c user: tangent tags: trunk
03:00
Fix for [ab0e67]: In addition to unmounting the dt image explicitly, one needs to clean out any files from previous runs of the script. The OS/8 copy actions send output in the order found on the input disk. The Linker resolves library items in the order the input files are found on disk. So we must remove anything from a previous run of the program, and SQUISH SYS: and DSK: so that successive runs of the script will cause input and output files to ALWAYS show up in the same order on the disk. When this is done cc8.tu56 DOES come up bit identical. This checkin is for the good script and the resulting good (canonical) cc8.tu56. check-in: 6f59c23708 user: poetnerd tags: trunk
2017-12-20
20:20
Removed redundant line from the old ASCII to modern ASCII translation table in the U/W FOCAL manual supplement. check-in: 0c908434d4 user: tangent tags: trunk
20:13
Removed the warning about LF-only example/*.fc inputs to "make" in the U/W FOCAL manual supplement: txt2ptp now fixes this. check-in: f53b42b748 user: tangent tags: trunk
04:56
I am concerned that one needs to explicitly detatch dectapes before quitting the simulator. I have added that to cc8-tu56-update. I am pushing out the cc8.tu56 I built with this version. It corrects a corrupt LIBC.RL that was in the previous version. Alas, this version of cc8-tu56-update STILL does not create bit-identical tape images on successive runs. check-in: 599e310e0e user: poetnerd tags: trunk
2017-12-19
14:43
Merged in trunk improvements. Closing leaf: found a better way. Closed-Leaf check-in: 315af225b0 user: tangent tags: udevd-systemd-fix
14:34
bosi init now kills off all processes for user 'pi' before usermodding it. Jessie didn't need this, but under Stretch, you have the "systemd --user" process and one other even after exec'ing yourself a pure root shell. check-in: 5b53879bca user: tangent tags: trunk
13:28
Replaced "build Fossil from source" stuff in bosi init with a wget call for the unversioned binary build previously published to the project site by tools/publish-fossil. check-in: 53f593579b user: tangent tags: trunk
09:38
Rebuilt cc8.tu56. Prior one caused ERROR 0004. check-in: 2e5d30a5b3 user: tangent tags: trunk
09:19
Merged the branch backing out a change made upstream to SIMH back in August which screws up the fixed-rate simulator throttling. Hopefully we'll get a better fix later, but we've given upstream 3 days to fix this and we haven't even gotten a reply yet. check-in: 44bacd76c8 user: tangent tags: trunk
09:16
Jonathan Trites found a use of '\*' in a call to simh.os8_send_cmd() which we missed when fixing these escaping issues a while back. It's probably insignificant since it follows a short command, but it is at least sloppy, so it's worth fixing. check-in: f9cc818c8c user: tangent tags: trunk
2017-12-18
07:07
Applied a fix to the systemd udevd unit which is supposed to allow usbmount to work under Raspbian Stretch according to usbmount GitHub issue #2. It's not working here on my PiDP-8/I, but it's a mongrel upgraded from Jessie. Checking it in on this branch so I can try it on a fresh Stretch install. check-in: e4e5ef7f65 user: tangent tags: udevd-systemd-fix
2017-12-16
18:09
Merged Steve Bennett's improved unified mkos8 + configure OS/8 option handling code, plus some assorted other improvements along for the ride. check-in: a4e1ad749f user: tangent tags: trunk
18:06
Fixed several misunderstandings in this new option handling scheme, and tweaked a bit of it besides. Closed-Leaf check-in: d5e40c708f user: tangent tags: os8-option-share-msteveb
17:17
Simplified some of the string building code in the auto.def OS/8 option handling. check-in: 1c7cd74c22 user: tangent tags: os8-option-share-msteveb
16:59
steveb supplied the final key to allow this to work on "real" Tcl, as opposed to Jim Tcl. check-in: 76f7967fb2 user: tangent tags: os8-option-share-msteveb
10:51
Steve Bennett's improved method for setting OS/8 options for both the configure script and mkos8 from a single definition. This version doesn't work on "real" tclsh, only jimsh0. check-in: d37216a49f user: tangent tags: os8-option-share-msteveb
10:40
Removed unnecessary executable bits on autosetup/* check-in: 07aba8a68f user: tangent tags: os8-option-share-msteveb
09:59
Workaround for a bug in Fossil's Markdown processor check-in: 01676fb3eb user: tangent tags: trunk
09:58
Quoting fix to previous check-in: cf3537aa4c user: tangent tags: trunk
09:56
Merged the new paragraph on prompt character escaping with a similar one previously existing. check-in: b10e9fbb40 user: tangent tags: trunk
09:51
Clarified the '\\.' explanation in class-simh.md check-in: 97c5799ff3 user: tangent tags: trunk
09:50
Completed a missing thought in the recent checkin to class-simh.md. check-in: c44f5488e0 user: tangent tags: trunk
09:48
Small fix to previous check-in: c1f7f705ae user: tangent tags: trunk
09:46
Several improvements to doc/class-simh.md check-in: 599ba5fcab user: tangent tags: trunk
09:35
More tweaks to README-throttle.md check-in: 9535f9c26d user: tangent tags: trunk
09:23
Assorted tweaks to the single-core section of README-throttle.md. check-in: d6fcae8f40 user: tangent tags: trunk
08:58
Backed out upstream commit b2b18de0ec, which breaks fixed-rate throttling. Whether we merge this into trunk or close the branch depends on how upstream reacts to our report, issue #508: https://github.com/simh/simh/issues/508 Closed-Leaf check-in: 701ebdc2f1 user: tangent tags: simh-timer-fix
08:52
Grammar fix check-in: 18f7db0050 user: tangent tags: trunk
08:47
Assorted improvements to the OS/8 *.rk05 disk image description in the top-level README.md file. check-in: bf7cc454a2 user: tangent tags: trunk
07:36
Changed how the configure script sets the default value for --prefix to avoid a complaint from autosetup about use of an obsolete interface. check-in: a7ef26e838 user: tangent tags: trunk
07:08
Rebuilt cc8.tu56 with all the recent changes in place. check-in: 2c8a3dec51 user: tangent tags: trunk
06:56
cc8-tu56-update now zeroes most of core before running the compile-and-SAVE BATCH file. It was hoped that this would fix the nondeterminism of the script, but that doesn't seem to be the case. check-in: d73c5b76db user: tangent tags: trunk
06:41
Another *.s -> *.sb change in cc8-tu56-update. check-in: 27b3a7392f user: tangent tags: trunk
06:38
Better description of the CC8 example programs in the CC8 docs. check-in: 442d9cff50 user: tangent tags: trunk
06:26
cc8-tu56-update no longer copies basic.c to the tape image: the OS/8 compiler isn't currently able to compile it. check-in: 20a61bf4e6 user: tangent tags: trunk
06:25
The CC8 cross-compiler now writes out *.sb instead of *.s to match the OS/8 file naming convention for SABR output, and to avoid the confusing use of *.s for some POSIX assembly languages. It was using *.s simply because it could replace *.c on the input file name with a single character replacement. If the input file name is exactly at the file name buffer's limit (20 bytes, including the trailing null), we still write out *.s rather that mess with resizing buffers or reserving one byte, complicating all the other uses of that buffer size. check-in: 857b3fafc0 user: tangent tags: trunk
2017-12-13
03:50
. check-in: e7e3ff56fd user: tangent tags: trunk
03:32
Updated autosetup to upstream Git commit b5a0e85d8 check-in: 7a12e8386e user: tangent tags: trunk
03:21
Steve Bennett's idea for redesigning our mkos8/auto.def option sharing mechanism so that it doesn't require modifications to autosetup. Checkin it in on a branch because although it works, it's more complex and has other nonideal properties as compared to our previous solution. check-in: 4239a89d8a user: tangent tags: os8-option-share-msteveb
02:28
Updated SIMH to current upstream version. The only substantial change from our perpsective is working around a change they made to scp.h which redefines all of ctype.h, then changes their names, forcing any program that indirectly included scp.h to also link to scp.o! Broke that tie by carefully reworking our #includes to avoid bringing scp.h into programs like pidp8i-test which do not link to the rest of SIMH. check-in: 0b8fb3f7d8 user: tangent tags: trunk
02:08
Updated SIMH to upstream commit 27f9fc3c3e7. Closed-Leaf check-in: 324c415192 user: tangent tags: simh-update
01:33
Portability fix to previous check-in: fbc93a455d user: tangent tags: simh-update
01:32
Bash syntax for testing PDF file size difference in SIMH documentation *.doc -> *.pdf process wasn't working as expected. Rewrote it in terms of stat(1). check-in: 749cce9c50 user: tangent tags: simh-update
01:05
The simh-update script was assuming that you had a local copy of all the unversioned SIMH documentation PDFs, or at least that it could "touch" those file names to force a delta. Now it exports a copy out of "fossil uv" instead. check-in: d37019060a user: tangent tags: simh-update
2017-12-12
03:25
Utility to create a .tu56 or a .rk05 image from a bunch of ASCII files (as in creating a source disk or tape.) Command line options select --tu56, --rk05a or --rk05b. The last argument is used to name a .list file that inventories input, and the image file. Example: txt2os8 --tu56 mytape creates mytape.tu56 with files found in manifest mytape.list check-in: 854a2cd68a user: poetnerd tags: trunk
2017-12-11
20:42
Clarified doc/ vs wiki in HACKERS.md#dirs check-in: 01e314c884 user: tangent tags: trunk
20:33
Documented the new docs/graphics directory check-in: 1a5196b4db user: tangent tags: trunk
20:30
Moved the content of `pics` to `doc/graphics`. check-in: ab96eeead6 user: tangent tags: trunk
20:27
Clarified boot and media in HACKERS.md#dirs. check-in: 38f059ed8a user: tangent tags: trunk
20:17
Clarified the purpose of src in HACKERS.md. check-in: 6569a6d42b user: tangent tags: trunk
20:10
. check-in: 4a1b3915a8 user: tangent tags: trunk
20:08
Moved asm subdir under src check-in: e2d139c73d user: tangent tags: trunk
20:01
More HACKERS.md tweaks. check-in: e1d09a8bb8 user: tangent tags: trunk
19:58
More directory structure tweaks in HACKERS.md check-in: 2037cfde2b user: tangent tags: trunk
19:52
Workaround to previous for a weakness in the Fossil Markdown formatter check-in: 3f4dffd255 user: tangent tags: trunk
19:50
Added "Directory Structure" section to HACKERS.md. check-in: 0339f85860 user: tangent tags: trunk
19:23
Moved RELEASE-PROCESS.md into doc subdir check-in: d9038ed803 user: tangent tags: trunk
2017-12-10
22:35
Assorted improvements to tools/cc8-tu56-update and consequently to cc8.tu56. check-in: 48456100ae user: tangent tags: trunk
22:00
Missed copying CC.BI to cc8.tu56. check-in: 371ee6c828 user: tangent tags: trunk
21:56
Added cc.bi batch file to simplify building programs. check-in: b3b308339b user: tangent tags: trunk
21:45
Assorted improvements and clarifications to the bugs, limitations, and features sections of the CC8 README. check-in: 8357aedccb user: tangent tags: trunk
21:29
Clarified the lack of preprocessor in the CC8 README.md check-in: 92aeacf0b1 user: tangent tags: trunk
21:21
Renamed CC0.SV to CC.SV and replaced references to it being a stub for the preprocessor, now calling it the compiler driver. If a preprocessor is ever written, the driver will call it before calling CC1. check-in: 38f376dfad user: tangent tags: trunk
21:07
Updated cc8.tu56 yet again. Something about [fad54ed921] fixed the problems I've been having with CC0 since int [2f2103d555]. check-in: 539ff193cb user: tangent tags: trunk
20:50
Suppressed blank lines at the top of the output file in bin/cc8-to-os8. check-in: fad54ed921 user: tangent tags: trunk
18:23
Updated cc8.tu56 with new cc8-tu56-update output. (Removed *.h, filtered *.c.) check-in: 96873c9024 user: tangent tags: trunk
18:20
Updated tools/cc8-tu56-update to use bin/cc8-to-os8 and remove the unused include/*.h. check-in: baf4c330df user: tangent tags: trunk
17:49
Reworked most of the *.c examples to be in the style required by the CC8 cross-compiler, then added the bin/cc8-to-os8 filter which converts them to the format expected by the OS/8 version of CC8. check-in: 2f2103d555 user: tangent tags: trunk
16:45
Added named anchors to the CC8 README check-in: a8b06325a0 user: tangent tags: trunk
16:23
Comment improvement check-in: 4006b82589 user: tangent tags: trunk
12:44
Comment tweak check-in: e0e43e1d89 user: tangent tags: trunk
10:45
Rebuilt cc8.tu56 with INIT.PA -> INIT.H check-in: 5bf8e22e0c user: tangent tags: trunk
10:44
Renamed init.pa to init.h. I just realized that this is a C header file dominated by a single block of inline assembly, which makes it irrelevant to the file naming whether it contains PAL8 compatible assembly language source code or SABR-only code. It's a header file, thus *.h. check-in: 5879d6f72b user: tangent tags: trunk
2017-12-09
14:44
Swapped FORTRAN IV and II links in the ChangeLog so they match the order of the sections in the article. check-in: 87c02d6089 user: tangent tags: trunk
14:43
Added links to sub-sections of PEP001.FT article from the FORTRAN II and FORTRAN IV links in the ChangeLog check-in: 8fa9956c93 user: tangent tags: trunk
14:40
URL fixes in recent ChangeLog.md checkin check-in: 54997226dc user: tangent tags: trunk
14:37
Grammar tweak check-in: 390640a233 user: tangent tags: trunk
14:36
More improvements to the RK05 bits of the top-level README check-in: b39ff2fbcb user: tangent tags: trunk
14:28
Rearrangements and tweaks in the top-level README check-in: d03ed87391 user: tangent tags: trunk
14:21
Reworked the HACKERS.md instructions for getting Fossil 2.x for a Pi to use our new unversioned binary. check-in: 2da3b6888b user: tangent tags: trunk
14:18
Added tools/publish-fossil so we can distribute a pre-built version of Fossil 2.x for the Pi. check-in: 460e5f5f8e user: tangent tags: trunk
13:44
Removed "sudo apt install fossil" instruction from HACKERS.md. That conflicts with the current requirment to install from source. It'll come back when Debian finally starts shipping Fossil 2.x. check-in: 28b35afe29 user: tangent tags: trunk
13:13
Updated the ChangeLog check-in: c96cc580b3 user: tangent tags: trunk
12:15
Added pep001-ire0.c, the "First Try" program in the PEP001.C wiki article. check-in: 16eb83a9e8 user: tangent tags: trunk
12:14
Added "int" return type to main() in pep001.c: the compiler currently requires it, but it won't warn or error if it isn't present, it'll just fail to do the right thing. Also renamed it to pep001-mod.c after the modulus operator it uses, since we're going to save the other version here next under a different pep001*.c name. check-in: f4a633c567 user: tangent tags: trunk
12:12
Assorted improvements to the CC8 README check-in: 0760dcee6b user: tangent tags: trunk
01:25
Rebuilt cc8.tu56 in case the buffer overrun in txt2ptp affected its content. check-in: 2a11db3ffe user: tangent tags: trunk
2017-12-08
23:38
Double size of obuf. Worst case of "need one more output buffer character space to accomodate adding \r before \n" check-in: 18fb7d3bb4 user: poetnerd tags: trunk
20:21
. check-in: 20e18746ab user: tangent tags: trunk
18:18
Updated cc8.tu56 to contain latest n8.c changes. check-in: bbd9fc92a6 user: tangent tags: trunk
17:26
Updated src/cc8/os8/n8.c with Ian's latest fixes. check-in: 0e01e6b563 user: tangent tags: trunk
2017-12-07
20:32
. check-in: c901777e25 user: tangent tags: trunk
20:24
. check-in: 1b3ae6c27b user: tangent tags: trunk
18:15
Added FORTRAN II and FORTRAN IV versions of PEP001, correpsonding to the versions described in the current version of the PEP001.FT wiki article. check-in: 1dde81a5e4 user: tangent tags: trunk
18:14
Updated pep001.c to the current version given in the wiki article check-in: 28e2ce8371 user: tangent tags: trunk
2017-12-06
19:01
Assorted improvements to the description for the "./configure --prefix" option. check-in: 71f21fddc8 user: tangent tags: trunk
18:52
Added a brief "Running the Software" section to the top-level README to cover the PATH modification issue. check-in: e8e6290de2 user: tangent tags: trunk
18:46
Clarified the bits about "make reconfig" in the top-level README check-in: 9769d8929d user: tangent tags: trunk
15:27
Initial implementation of pep001.fc check-in: 804af8e141 user: tangent tags: trunk
13:41
Improved description of the DECUS submission in the U/W FOCAL manual supplement's References section. check-in: ac7600237c user: tangent tags: trunk
13:37
Raised a few heading levels in the supplement check-in: 1b63be1563 user: tangent tags: trunk
13:37
Reworked the U/W FOCAL manual supplement's rationale section somewhat. check-in: c41bab7c4a user: tangent tags: trunk
13:17
Fixed a few more OCR errors in uwfocal-manual.md check-in: 182ac763c4 user: tangent tags: trunk
00:20
Merged usb-scan-depth-increase experimental feature branch into trunk. check-in: ea7ee05b55 user: tangent tags: trunk
2017-12-05
22:55
Imerged in trunk fix to avoid needless RK05 rebuilds Closed-Leaf check-in: fa23d2380e user: tangent tags: usb-scan-depth-increase
22:54
No longer rebuilding bin/*.rk05 just because the simulator got rebuilt. (Moved $(SIM) to the other side of the | in the rule to make it an exists-only dependency.) check-in: fd495f8920 user: tangent tags: trunk
18:17
Broadened the /media/usb[0-7]/FILE.EXT scheme used by the SING_STEP + DF feature so that it works for /media/DIR/FILE.EXT, where DIR is any directory under /media. The intent is that this work for systems that use something other than usbmount but which also automount USB at the top level of /media, the standard location on Linux. This is untested, but it should work where Raspbian Desktop's USB automounting scheme overrides usbmount and other similar schemes. check-in: 82abd3a7bc user: tangent tags: usb-scan-depth-increase
13:53
. check-in: 79f607a22e user: tangent tags: trunk
13:07
Reworked pep001.c in terms of the new modulus operator support. (The only reason I checked in the previous ire0() based versions is because they're used to tell the story in the PEP001.C wiki article I'm composing, and I'd like to be able to pull those versions back out of source control again later.) check-in: 199a0dff7e user: tangent tags: trunk
12:53
Simplified pep001.c a bit more. check-in: daf2ff9090 user: tangent tags: trunk
12:32
More whitespace fixes to CC8 check-in: 04712bea7d user: tangent tags: trunk
12:30
Whitespace fix check-in: 31fc8dd267 user: tangent tags: trunk
12:10
Reworked examples/pep001.c in terms of a new subroutine, ire0(). check-in: 3458e3e939 user: tangent tags: trunk
11:48
Removed an unnecessary #include from pep001.c check-in: b218a6484c user: tangent tags: trunk
11:47
Small fixes to examples/pep001.c check-in: 70613e5eeb user: tangent tags: trunk
10:32
Extracted the manual COMP and LOADER steps in tools/cc8-tu56-update out as an OS/8 batch script (bldcc8.bi) which we send along with all the other static text files. This eliminates the possibility of any differences in the back-and-forth between cc8-tu56-update, pexpect, and SIMH from causing differences in the resulting cc8.tu56 file, which we're also checkin in at this time. check-in: ab58d17e25 user: tangent tags: trunk
09:17
Typo fix check-in: 42bc4c6bd5 user: tangent tags: trunk
09:15
Applied GPLv3 license to CC8, per private email from Ian Schofield on 2017.07.15 and 16. check-in: f4827a481f user: tangent tags: trunk
09:12
Assorted improvements to the ChangeLog check-in: 19b733c33d user: tangent tags: trunk
08:53
Removed src/cc8/os8/os8.sb: apparently unused. check-in: 0f784fb71d user: tangent tags: trunk
08:52
Removed another reference to the now-removed boot/cc8.script file. check-in: 6e0be06dc9 user: tangent tags: trunk
08:20
Added a hyphen in "Small-C" to one of the uses in the CC8 README check-in: 59741762d2 user: tangent tags: trunk
2017-12-04
13:09
Reworked the "build PS.CC" example in src/cc8/README.md to use CC0 instead of CC1. I find it considerably easier. check-in: 1d737f0325 user: tangent tags: trunk
13:06
Removed cc8.rk05 and its boot script now that os8v3d-*.rk05 is a functional superset of it. check-in: 882b8a05b7 user: tangent tags: trunk
12:52
bosi prepare now sets up auto-expanding root filesystem check-in: 666c3dbe59 user: tangent tags: trunk
11:43
Moved the "zero core memory" step up a bit within cc8-tu56-update: it was between the mag tape and disk pack attachment commands to SIMH, and there's no good reason to split those two. Since it's easier to do it before attaching media than to slide it in between the attachments and the boot command, I've done it that way. check-in: 0a87f19eed user: tangent tags: trunk
11:34
Updated cc8.tu56 after the zero-core fix. check-in: bd1d639081 user: tangent tags: trunk
11:32
cc8-tu56-update now zeroes core before beginning work. Since it uses the OS/8 SAVE command, it really needs known prior core contents before we do the SAVE, else the output is nondeterministic. check-in: 5b75dd49a0 user: tangent tags: trunk
08:52
Re-generated cc8.tu56 after previous updates check-in: 1fe3644a71 user: tangent tags: trunk
08:51
Fixed escaping of a * prompt in a regex string sent to os8_send_cmd(). check-in: 9c59dd5a2d user: tangent tags: trunk
08:36
Quadrupled the size of the files that test-os8-send-file transfers to try and tickle bugs. No dice, at least on my iMac. check-in: 2cb6f721a5 user: tangent tags: trunk
08:31
Merged comment fix in check-in: 3ae5eaf9e7 user: tangent tags: trunk
08:30
Removed a few stray lines accidentally checked in with previous Closed-Leaf check-in: d7ef389fa9 user: tangent tags: comment-fix
08:30
Comment improvement check-in: 76e4d3a852 user: tangent tags: comment-fix
08:18
Now that test-os8-send-file is transferring a single file reliably, reworked its main() to try a loop of 1000 send/get cycles. check-in: d192d2bcc0 user: tangent tags: trunk
08:01
Removed ASCII 127 from the set of characters we send via tools/test-os8-send-file: it's clearly being interpreted, causing needless differences in the test output. check-in: 94811a17f0 user: tangent tags: trunk
07:54
Removed double quotes from "attach ptp FILENAME" command sent by simh.os8_send_file(). SIMH doesn't let you quote a file name; implicit in that is that we're dependent on Python's temp file naming scheme not to give us a string with spaces or other problematic characters. check-in: a78fadf377 user: tangent tags: trunk
07:09
Jim Tcl compatibility fix in recent auto.def changes. check-in: 7ad143c18b user: tangent tags: trunk
2017-11-30
16:16
Merged "make clean" improvements in from trunk Closed-Leaf check-in: 93a3d15c0a user: tangent tags: cc8-64-bit
16:16
Added several things to "make clean". check-in: cc50ffe3d1 user: tangent tags: trunk
16:01
First steps toward making the cc8 cross-compiler run correctly on 64-bit systems where sizeof(int) != sizeof(char*). See ticket [a3f875cd] for details. check-in: d75851a10e user: tangent tags: cc8-64-bit
15:23
Assorted fixes to allow the cc8 cross-compiler to build in Xcode: added "return 0" to functions without an explicit return value which don't end in a return statement in all code paths; renamed kill() to kill_line() to avoid conflicting with the POSIX syscall; and removed link(), which also conflicts with POSIX syscall set, but isn't actually used here. Also fixed line ending styles and re-removed the getchar() at the end of main(). check-in: 27e81d863c user: tangent tags: trunk
2017-11-28
14:16
Added simh.os8_get_file() and tools/test-os8-send-file to test it and its inverse, simh.os8_send_file(). It isn't working yet, but it won't interfere with anything, and someone else may be able to finish it. check-in: 71ddf33004 user: tangent tags: trunk
2017-11-27
19:41
A few typo fixes in previous check-in: c9b341cd23 user: tangent tags: trunk
19:36
Reworked the "Government Health Warning" section of the CC8 README to split the limitations apart from the list of known-working features. Also spread the recently added "Nov 2018" (sic) stuff through the document rather than just have it tacked onto the end. check-in: be43971b09 user: tangent tags: trunk
17:07
Healed Ian Schofield's inadvertent trunk fork. check-in: 41b8fa50af user: tangent tags: trunk
17:06
Added "fossil sync" fix for anonymous clones in the "Fossil Developer Access" section of HACKERS.md. Also promoted some inline URLs from http to https. check-in: 42548b4bd2 user: tangent tags: trunk
16:51
Extended the "skips" mechanism used in the "mkos8 patch" facility so that we can skip the FUTIL V7 patches when MACREL is being installed, since we know they will fail. Technically speaking, this change is not absolutely necessary since mkos8 was already smart enough to cope with the failure of the patch to apply, but we don't want end users complaining about "failed patches", not realizing that they are not expected to apply correctly when you do not give --disable-os8-macrel. check-in: faec308ed2 user: tangent tags: trunk
16:38
Update of include file names. check-in: f12365e05c user: isysxp tags: trunk
16:04
This update contains a correction for the expression parser and the addition of 2 operators ...% and ~. In addition, the spacing issue has been resolved to a degree. This is very difficult to test. Overall, the native compiler is for a bit of fun. If you want to run a serious c programme, try the hosted compiler (cc8) as this will compile the (native) compiler and library. check-in: 05b40e1d4c user: isysxp tags: trunk
13:33
Updated ChangeLog.md. check-in: a87371e238 user: tangent tags: trunk
13:15
Merged in trunk changes; closing branch as it has been superceded by Ian checking the fixes (plus more) in later down the trunk. Closed-Leaf check-in: 17057db60f user: tangent tags: cc8-fixes
12:52
We were not resetting the simulator's Pause state at the end of every IOT state, so that the ILS sampling scheme would tend to over-count the number of instructions that had the Pause LED lit. Problem noticed by Ian Schofield, fix by me. check-in: adf01e8579 user: tangent tags: trunk
12:46
No longer passing the PDP-8 simulator's MB register to set_pidp8i_leds() from within the CPU instruction dispatch loop. According to Ian Schofield, the simulator's IR register actually contains what should display in the MB lights at these call points. Since we were already passing that register, we just dropped the parameter we no longer use, and use IR instead. Closes [973271ae36]. check-in: 5597b069b2 user: tangent tags: trunk
12:36
. check-in: 7e616f5dd5 user: tangent tags: trunk
12:24
Noted that we're distributing MACREL v2 now in a few of the docs. check-in: 0ce8bda688 user: tangent tags: trunk
12:18
Folded the non-duplicate parts of the "OS8 System Packs" wiki article into the top-level README.md file so we can remove the unversioned wiki article in favor of this versioned file. check-in: 5361575d8e user: tangent tags: trunk
11:27
Merged configure/mkos8 argument parsing DRY fixes. Closes [f5d5cf50c4] and [68dae7cc88]. check-in: ed0480e0be user: tangent tags: trunk
11:13
Makefile.in fixes for out-of-tree build-and-install. Some of it is for the new lib/mkos8/opts.py but it also affects the rest of lib/mkos8. Closed-Leaf check-in: b497ea1d85 user: tangent tags: mkos8-option-dry-fix
09:29
The configure script now makes the lib/mkos8 directory before writing opts.py there in case we're building out-of-tree, in which case the directory won't already exist. ($srcdir/lib/mkos8 does exist.) check-in: 40b486cd05 user: tangent tags: mkos8-option-dry-fix
09:16
Rather than duplicate all of the option definitions and help texts between auto.def and lib/mkos8/argparser.py, we now generate lib/mkos8/opts.py from auto.def based on the options() values at the top of auto.def which mkos8's argument parser reads and uses to define most of its command line options, making a near-parallel of most of the configure script's --*-os8-*. This is on a branch because there are quite a few subtleties in all of this which means this feature needs more testing to be sure it is complete and doesn't break anything. So far, this change is a delta loss of 132 lines, a good sign that it's worth the complexity of doing things this way. Provisionally closes [f5d5cf50c4] and [68dae7cc88]. check-in: 9dcaed3c64 user: tangent tags: mkos8-option-dry-fix
07:21
"make clean" no longer removes Makefiles generated from Makefile.ins. You now have to say "make distclean" to nuke those, along with all the other files that bring us back closer to a "fossil clean" state. check-in: 70dcfbc33d user: tangent tags: trunk
07:12
Replaced hard-coded -DHAVE_DLOPEN=so CFLAGS option with one based on SH_SOEXT variable exported by autosetup, which allows SIMH to dynamically link to optional libraries such as libreadline on platforms that use a different dlopen(2) file name extension. Tested as not changing anything on Raspbian and as allowing command completion in SCP on macOS. Theoretically, it should allow use of DLLs on Windows, but this has not been tested; it probably only does so under Cygwin. check-in: 161b1c1b6b user: tangent tags: trunk
05:43
Minor corrections of typos and formatting problems to docs amended in previous update. check-in: bc636c64e7 user: poetnerd tags: trunk
05:18
After much testing I provide this new integration of MACREL: v2. Additionally I have updated os-patching.md to reflect current reality, and spun two sections from that doc into their own docs that cover macrel and the OS/8 V3D Device Extensions kit. MACREL v2 contains an update version of FUTIL that matches MACREL. That drove hand-integration of FUTIL patch 32.13.1M to get it working again under batch. The test program, RESORC, from the OS/8 V3D Device Extensions kit runs just fine when installed on SYS: but not anywhere else. I wailed on this problem for a while but could not find root cause. That version if RESORC is NOT installed. I'm just trying to understand what it is about that epoch of building that behaves in that unexpected way. check-in: c0e2d1ce56 user: poetnerd tags: trunk
04:46
Regularized os8-* option help texts in auto.def and fixed tenses in verbs so they match the sense of the option's *inverse*, since that is how the help text is used in ./configure --help output. check-in: 09f9503302 user: tangent tags: trunk
04:39
Hand integrated patch 41.5.1 M which is a source change to OVRDRV.MA. check-in: a0c3e3490f user: poetnerd tags: trunk
2017-11-25
20:22
Implementing rename. check-in: 6f9077faef user: poetnerd tags: trunk
20:20
FUTIL V8A hangs under batch, and so it breaks our auto-build process as soon as we copy it in. I have hand-applied patch 35.13.1M which fixes the problem and upgrades FUTIL to v8B. I have documented work in README.TX, and I'm going to rename this image al-5642c-ba, a version never shipped, but embodying a critical fix. check-in: 86934ed2b1 user: poetnerd tags: trunk
17:20
Adding a hand-tooled MACREL v2 DECtape image. Contains FUTIL.SV version 8a that should replace v7D to match new Core Control Block format used by the new MACREL. When FUTIL is replaced, we need to re-test and probably disable patch FUTIL-31.21.2M. check-in: 1d6f691bbc user: poetnerd tags: trunk
2017-11-23
00:16
Reworked simh.os8_send_file() so that it gets EOF from txt2ptp rather than inserting it into the simulator's stdin itself. check-in: 816c827edb user: tangent tags: trunk
00:15
Another "PIP input from paper tape" documentation fix tracking the addition of Ctrl-Z at EOF in txt2ptp. check-in: 0c2b3b2035 user: tangent tags: trunk
00:02
Added a missing "hit Escape" in another PIP example check-in: e3054b879f user: tangent tags: trunk
00:01
Changed a recommendation of Ctrl-C to leave PIP to Escape. check-in: 4cd111528d user: tangent tags: trunk
2017-11-21
04:41
Further documentation around the patch FRTS-51.3.3-O. It might be OK. Or it might be yet another "only works with the Devices Extension Kit" patch. check-in: c68ec2b288 user: poetnerd tags: trunk
03:30
When making an ASCII paper tape, if the input file does not already end with ^Z, add it before emitting the leader/trailer. check-in: 6c4272cbbc user: poetnerd tags: trunk
02:02
Pushed mkos8 componentization to next release; didn't get to it this weekened, and won't have time this next weekend. check-in: 6f4c6ebd39 user: tangent tags: trunk
2017-11-18
15:01
Assorted improvements to src/cc8/examples/README.md check-in: 644ac70416 user: tangent tags: trunk
14:30
cc8.tu56 properly updated; last one was with a stale n8.s. check-in: 2dc1d0c256 user: tangent tags: cc8-fixes
13:53
Rebuilt cc8.tu56 using new n8.c. check-in: 9130135a29 user: tangent tags: cc8-fixes
12:11
Another fix to n8.c from Ian Schofield, received via email on November 16. check-in: fa81a46c5c user: tangent tags: cc8-fixes
2017-11-16
20:16
Thought up a workaround for the lack of toupper() and || in CC8 in the calc.c example. Also added a bunch of comments explaining why it is written the way it is. check-in: 784f8842cd user: tangent tags: trunk
20:01
Removed the test for lowercase 'y' in the reworked CC8 example calc.c: CC8 doesn't yet understand the C || operator. None of my other attempts to work around this work, either. (cupper, restructuring as nested if/elseif/else tests, etc.) check-in: 156b2b69e9 user: tangent tags: trunk
19:51
Removed a pointless "return 0" in pep001.c check-in: 1657a72a20 user: tangent tags: trunk
19:06
Merged in trunk fix for SAVE SYS BUILD check-in: e29f5b239d user: tangent tags: cc8-fixes
17:38
The "SAVE SYS BUILD" did the wrong thing. It carefully saved the updated setup on SYS which had been changed to the RK05, and then, moments later, overwrote it with the original from the DECTAPE. So we do "SAVE DTA0 BUILD" to put our revised setup where it will then be copied along with everything else to the RK05 SYS. check-in: 40a3f17c58 user: poetnerd tags: trunk
07:59
First attempt at pep001.c. It builds and runs correctly under Clang, but it fails under CC8. check-in: 176f2cabcd user: tangent tags: trunk
07:32
Merged trunk improvements in check-in: 663aa632ee user: tangent tags: cc8-fixes
07:31
Reordered the commands in cc8-tu56-update to collect all of the "send file" calls together. There is some kind of timing sensitivity in all of this which caused the previous method to truncate some of the files or even leave them empty. check-in: 308b654b57 user: tangent tags: trunk
06:42
All of the users of class simh which were using "expect" regexes like '\.' to wait for an OS/8 prompt had to be changed to '\\.' because the string is double-interpreted, first by Python in a string formatting construct (printf(), kinda) and then again in a regex construct, so that without the doubled backslash it was just looking for ., meaning any character in RE-speak. Did the same for '\*' because that was reducing to *, meaning "zero or more of the previous", and without a "previous", it matched anything. This doesn't seem to fix anything; I found it trying to fix something else, which I hope to check in soon. check-in: f8d7dc89bf user: tangent tags: trunk
04:58
Updated cc8.tu56 for new n8.c check-in: ddcbe1b779 user: tangent tags: cc8-fixes
04:34
New n8.c from Ian Schofield, received via private email. We're stashing it here, expecting him to check in the same thing on the trunk later, at which point this branch will either merge or be closed. check-in: 48c808fd86 user: tangent tags: cc8-fixes
04:31
Backed out Ian Schofield's improvements to src/cc8/os8/n8.c accidentally checked in as part of [d2f66e76b9]. Will check it back in on a branch, since we're waiting for Ian to check it in himself, both to ensure credit is given where due and so that he can describe what the change actually does in his own words. check-in: 51ecbfa05d user: tangent tags: trunk
03:25
Documented the LF -> CR+LF handling in the header comment of ptp2txt.c and made other minor improvements to it. check-in: 0487e8ce1e user: tangent tags: trunk
2017-11-15
17:29
Added Fetch LED item to the ChangeLog check-in: 69ae00927e user: tangent tags: trunk
17:25
Turning off Fetch LED when in STOP or single-step state as we had been doing with Execute prior to this. Investigation of the PDP-8/I maintenance manual by Bill Cattey shows this to be correct. Closes [347ae454039]. check-in: 9ff851e459 user: tangent tags: trunk
16:41
Clarified comment about the meaning of the optional "set remote telnet 3141" SIMH setup command in teco-pi-demo. check-in: 4ab764f2cf user: tangent tags: trunk
16:35
Gave up on trying to fix the %lld/%zu issue in d8tape/main.c portably. Just going with the one that builds without warnings on the supported version of Raspbian, then turning off the warning so it doesn't appear on platforms that really want the other form. We're not seriously going to be stressing the local integer size anyway; the compiler is just being pedantic here. check-in: cd094984d4 user: tangent tags: trunk
04:00
Subtle nomenclature changes to comments. Totally cosmetic, but slightly more accurate. check-in: ecb612b614 user: poetnerd tags: trunk
2017-11-14
18:24
More ChangeLog.md updates check-in: f14a91f551 user: tangent tags: trunk
18:13
Assorted improvements to the new lowercase I/O section of the ChangeLog check-in: b46a2c515c user: tangent tags: trunk
17:52
Another attempt at fixing the printf() complaint in d8tape/main.c. This one should be more portable than the last. check-in: 750c63b0a1 user: tangent tags: trunk
09:34
cc8-tu56-update tells class simh it's okay to run without front panel control. check-in: 9b34e6443c user: tangent tags: trunk
09:13
Fixed a crash in one of mkos8's exception handlers. check-in: b6acd6291c user: tangent tags: trunk
09:12
"mkos8 patch" no longer tries to apply patches to FORTRAN II and FORTRAN IV files if the corresponding --disable-os8-fortran-* options were given to the configure script. check-in: f4d3cf118a user: tangent tags: trunk
08:54
Reworked the CC[0-2].SV copy command in cc8-tu56-update so that it skips CCL.SV, thus avoiding the hole in the resulting DECtape image. check-in: d2f66e76b9 user: tangent tags: trunk
08:36
Rewrote the code in mkos8 emitting DEL foo.SV commands as part of --disable-fortran-ii processing so that only one command goes to the simulator, which runs faster and logs nicer. check-in: ff1e1c0545 user: tangent tags: trunk
08:27
Small Python style tweak check-in: 0db3c5fc38 user: tangent tags: trunk
08:13
Giving --disable-os8-fortran-ii now leaves out LOADER, LIBSET, and SABR. Because the OS/8 version of CC8 depends on LOADER and SABR, it also implicitly sets --disable-os8-cc8. check-in: 648ea9921c user: tangent tags: trunk
07:11
Running cc8-tu56-update on a Pi 3 gives a different result than running it on a macOS box using the *.s files produced on the Pi 3. Not sure why, but of the two, the result on the Pi 3 is more trustworthy, so using that one. check-in: 7d73c6e8e5 user: tangent tags: trunk
06:54
Removed the getchar() call near the end of main() in the cc8 cross-compiler. It blocks cc8-tu56-update, and we don't want to add a "send CR" bit to the script just to placate it. check-in: 96b6cef0c3 user: tangent tags: trunk
06:50
Fixed COPY commands near the end of cc8-tu56-update: they weren't grabbing everything we thought they should. Also removed CCL.SV, inadvertently copied to the tape by the CC?.SV pattern. check-in: 0eaba4e478 user: tangent tags: trunk
06:33
Initial version of tools/cc8-tu56-update complete, which updates media/os8/subsys/cc8.tu56 from the contents of src/cc8. The latter is now much smaller than before, since we no longer include the intermediate files: all *.SB and most *.RL. The only exception is LIBC.RL, which the linking step needs when building end-user programs. check-in: 4e67bbdfaf user: tangent tags: trunk
06:30
Rewrote src/cc8/examples/calc.c for clarity. It could be better, but it doesn't build and run properly as-is, so I've stopped here, waiting for improvements to the C compiler. check-in: 832db28e22 user: tangent tags: trunk
06:29
Fixed a bug in src/cc8/examples/fib.c which caused junk output check-in: 18ebdc34e4 user: tangent tags: trunk
06:28
Several small tweaks to src/cc8/examples/README.md check-in: c6ea800ac1 user: tangent tags: trunk
06:26
URL fix in previous check-in: 0981e043d7 user: tangent tags: trunk
06:25
Many improvements to the new src/cc8/examples/README.md file. check-in: d454056d80 user: tangent tags: trunk
06:24
Reverted the LF -> CRLF change in media/os8/init.tx.in, since autosetup just reverts it when creating init.tx. Instead, modified txt2ptp to turn LF input into CRLF output. I chose this instead of running a "dos2unix" type program on the files from simh.os8_send_file() because there is no standard for the name of such a program. Since our txt2ptp filter has to be involved anyway, we might as well give it the job. check-in: 6653eac20e user: tangent tags: trunk
06:06
Reworked the stock init.tx.in file to use lowercase, now that it's allowed, and to have DOS line endings now that it's being copied in as-is, rather than filtered through mkos8, which implicitly converts the line ending style. check-in: 93f3beed61 user: tangent tags: trunk
06:01
Rewrote simh.os8_send_file in terms of txt2ptp and SIMH paper tape attachment and read-in. It's faster, it works with much larger files, and it doesn't fold lowercase input. check-in: 69766295e7 user: tangent tags: trunk
04:35
The top-level "run" target no longer depends on the build RK05 media because we need to be able to use it to run whatever's built, even if it's technically out of date. The thing we're working on now modifies the RK05 disk images, and we need to then be able to say "make run" to examine what it did without having the work overwritten. check-in: b4e684c40a user: tangent tags: trunk
03:49
Moved another part of the "send file to OS/8" process from mkos8 to simh.os8_send_file(). check-in: 12dd946f7a user: tangent tags: trunk
02:14
Collected the CC8 example and test programs into src/cc8/examples and wrote a more extensive README.md for them based on the old src/cc8/examples/README.md file. check-in: 9cf664a25e user: tangent tags: trunk
01:44
Added another libc.h symlink check-in: c787c0ca0a user: tangent tags: trunk
00:17
Factored the "send INIT.TX" step of mkos8 out as simh.os8_send_file() so we can reuse it in another script. check-in: b14acea3cd user: tangent tags: trunk
2017-11-13
23:28
Fixed some code in the #include handling of CC8 which relied on undefined behavior. The replacement is actually simpler than the original, because the function using UB reduces to a no-op except on CP/M, which of course we don't care about. check-in: c548671ea0 user: tangent tags: trunk
23:18
Added a redirect-to-top[ Makefile.in to src/cc8/os8, since you have to be cd'd into that directory to build the OS/8 compiler, so you want to be able to say "make" from there. check-in: a388b49124 user: tangent tags: trunk
23:12
Added libc.h symlink to src/cc8/os8 directory pointing at ../include/libc.h since CC8 assumes a flat filesystem. check-in: 5fe720a649 user: tangent tags: trunk
2017-11-12
07:40
Small refinements to test-mkos8 check-in: ce3acfd9bd user: tangent tags: trunk
07:22
Added output reporting to test-mkos8. check-in: 3243380301 user: tangent tags: trunk
06:18
Briefer output from test-mkos8. check-in: 97d4065304 user: tangent tags: trunk
04:43
The method we were using for comparing lz4-compressed RK05 disk images in test-mkos8 only works if lz4 on the generating system and the test system give the same output for the same input, but this appears not to be the case between macOS 10.12 and Raspbian Stretch, likely due to improvements in the compression algorithm or compression defaults between the two versions in use. Therefore, instead of doing a binary comparison of the rklz files, we now decompress the rklz files and compare those outputs using a new tools/cmplz script which test-mkos8 calls. check-in: 8d51be13c7 user: tangent tags: trunk
04:13
Still more test-mkos8 sanitize_log() RE fixes check-in: 5b9d507ff0 user: tangent tags: trunk
04:06
More tweaks to regexes in test-mkos8 check-in: 33a1b89e49 user: tangent tags: trunk
03:34
Fixed regexes in sanitize_log() in test-mkos8 and rewrote them as commented Extended REs. check-in: 42c31eadd0 user: tangent tags: trunk
01:41
Improvements to sanitize_log() in test-mkos8. check-in: aa6e92da63 user: tangent tags: trunk
01:22
Small adjustments to new test-mkos8 color output. check-in: f2bd9d0a7a user: tangent tags: trunk
01:14
Colorized the test-mkos8 pass/fail result line so it's easier to see. check-in: 0ab8609fa6 user: tangent tags: trunk
00:35
Merged trecent changes from test-mkos8-pinned into trunk. check-in: 5160d2a336 user: tangent tags: trunk
00:26
mkos8 was reading init.tx from dirs.os8mi, which is in the source tree, not the build tree, so the recent change to test-mkos8 to write a neutral init.tx file was not doing anything useful. This removes the reason for this branch, so I'm closing it now. Closed-Leaf check-in: 5111887856 user: tangent tags: test-mkos8-pinned
00:20
Assorted minor fixes to test-mkos8 check-in: 6377e01ab5 user: tangent tags: test-mkos8-pinned
2017-11-11
23:59
test-mkos8 now overwrites init.tx with a neutral replacement so that tests made on one machine can be compared to those performed on another. check-in: 68de63f2c8 user: tangent tags: test-mkos8-pinned
06:21
Merged in trunk changes. The original reason for this branch just disappeared, to be replaced by a new one: the test results can only be compared between two identical checkins because of the INIT.TX file, but that just means we now need to use this branch to pin a particular version in place. Thus, we might as well bring the recent trunk changes in and start again. With test-mkos8 -es, we don't need to regenerate the entire test corpus to learn useful things. check-in: 111c244601 user: tangent tags: test-mkos8-pinned
05:55
test-mkos8 saves the mismatched rklz file if the test doesn't pass check-in: 2147ab88c0 user: tangent tags: test-mkos8-pinned
05:07
Renamed test-mkos8 -s option to -1 and implemented -e and -s, which together allow Monte Carlo testing on a subset of the test corpus. This is on a branch because the current test corpus was generated before the change to 3-column DIRECT output in generated OS/8 disk images, which changes the disk contents and log contents. Thus, we need to do this development on a branch stemming from the last checkin before that change and any possible later ones, until we're ready to regenerate the test corpus. check-in: 47217f7552 user: tangent tags: test-mkos8-pinned
04:20
Fixed a bug in the way teco-pi-demo was starting the simulator introduced along with the recent "ignore GPIO lock failure" stuff for mkos8. check-in: c0788fcd5c user: tangent tags: trunk
04:05
Made second parameter to class simh's ctor optional, as the comments claim, so that teco-pi-demo will run again. check-in: 846340d3d1 user: tangent tags: trunk
02:30
The new "throw exception on GPIO failure" feature added to prevent teco-pi-demo from colliding with other simulator users broke mkos8 under the collision case. (Not otherwise.) It is now possible to tell class simh whether this condition is considered fatal or not. check-in: 7e16fe3b23 user: tangent tags: trunk
02:17
Added a #include to src/d8tape/d8tape.h to placate the GCC on Raspbian Stretch. check-in: 17be5b5dd8 user: tangent tags: trunk
02:16
Integrated Robert Krten's d8tape host-side disassembler. It is the version distributed [here][1] with the following changes: 1. A trivial warning-squishing change 2. Using our own build system instead of the given `Makefile`. This also means no automatic version number bumping. 3. The `LICENSE` file is replaced with `src/d8tape/LICENSE.md`, containing the salient content of a private email message from Robert Krten granting more liberal use of the program than in the original license. [1]: http://dustyoldcomputers.com/pdp-common/reference/host/ check-in: 24d387ee4e user: tangent tags: trunk
01:25
Added "SET TTY COL 3" to mkos8 to give 3-column DIRECT listings, like the old os8.rk05 did. This checkin will cause a binary change to all RK05 bin disks created by mkos8; thus the new tag on checkin [fe441b85b]. check-in: 676330e2d9 user: tangent tags: trunk
00:58
The icky "sleep" call in teco-pi-demo wasn't long enough to always fix the SIMH "cont" problem. Doubled it; we'll see if that fixes it in all cases. check-in: 95df7e245b user: tangent tags: trunk
00:44
Class simh now throws an exception when the GPIO is locked at simulator start time. If this happens, teco-pi-demo exits with an error and mkos8 just grouses a bit; the difference being, teco-pi-demo really needs the display and mkos8 really doesn't. Applying tag "test-mkos8-mark" to this release because a change a bit down the timeline breaks all of the test-mkos8 outputs so far, so we need to be able to return to this checkin symbolically until we're done using that test corpus. check-in: fe441b85b4 user: tangent tags: trunk
2017-11-01
06:46
Including a comparison to our guess at the average IPS rate for a PDP-8/I in the teco-pi-demo -b output. check-in: 4c68402d93 user: tangent tags: trunk
05:58
Updated hardcoded RPi B+ constant in the pidp8i.ips module based on actual test results. check-in: ab68fa4e64 user: tangent tags: trunk
05:04
ChangeLog updates check-in: 9ec0b6f43f user: tangent tags: trunk
04:53
Replaced the broken calculation for simh._kbd_delay with a new one based on the new pidp8i.ips module, potentially modified by teco-pi-demo -b. The previous version had a Python bug in it that caused no delay at all to be applied between OS/8 keystrokes, which probably means it would only work reliably on sufficiently fast host machines. This one doesn't change the per-test build time all that much, but it will add increasing amounts of keyboard delays on slow hosts, as is appropriate. check-in: 2211503b72 user: tangent tags: trunk
04:51
More refinement to the INFILES and OUTFILES stuff in Makefile.in check-in: fe265b4e07 user: tangent tags: trunk
03:50
Better solution to the problem of parallel make after touching *.in causing parallel reconfigures, one copy for each file in INFILES. check-in: 27766013ab user: tangent tags: trunk
03:04
Added error diagnostics around making the rk05 copy to be patched. check-in: 2f669b050f user: poetnerd tags: trunk
02:48
Fixed an error in Python namespacing introduced in [b80f275e25] check-in: 73fd0da382 user: tangent tags: trunk
02:45
Python's File.write() apparently doesn't include a newline, though print() does. Grrrr. check-in: 40f1d966f5 user: tangent tags: trunk
02:43
Comment improvement check-in: e2ece94c5d user: tangent tags: trunk
02:41
Improved clarity of benchmarking results from teco-pi-demo -b and that of the underlying constants in the new pidp8i.ips module. check-in: 8b7f53c352 user: tangent tags: trunk
02:37
Add error detection around the creation of the bootable OS/8 DECtape image. Sometimes the creation fails and blows something else out unexpectedly. check-in: 892c109447 user: poetnerd tags: trunk
02:26
Added teco-pi-demo -b mode, which runs the demo for 10 seconds, then gets the IPS value from SIMH and appends it to a new Python module — pidp8i.ips — which initally gives a hardcoded value for a Pi 1, with the update giving the speed of the current hardware. check-in: 7a35b0cb16 user: tangent tags: trunk
02:14
A short document providing help with our FORTRAN IV stuff. check-in: a4a06ba896 user: poetnerd tags: trunk
02:00
Subsetted the INFILES list in Makefile.in to segregate the set that requires a mkos8 re-call from those that merely cause a reconfigure and build. As the INFILES list grew, more and more files irrelevant to mkos8 were included, increasing the chances of a pointless mkos8 build. check-in: c0987c9ee3 user: tangent tags: trunk
2017-10-31
15:23
Updated TODO section in ChangeLog.md check-in: 1e64c48994 user: tangent tags: trunk
14:20
test-mkos8 now builds and keeps os8v3d-patched.rk05 when not configuring with --disable-os8-patches. Previously, it was building and keeping the -bin disk regardless of this configuration option. check-in: e1a78b7930 user: tangent tags: trunk
04:22
mkos8 contains in-line code to replace FORLIB.RL with the patched one on local.tu56. os8-patching.md documents this new state of affairs. check-in: 1fbbf7a508 user: poetnerd tags: trunk
03:19
Added the 3 FORTRAN IV Source DECtapes. They came from Dave Gesswein's Archive, pdp8.net under misc_dectapes. The sources I've built seem reasonable. The DECtape part numbers match those for OS/8 V3D FORTRAN IV from the DEC Software Catalog. TODO: Write up what we have for FORTRAN IV in a doc file. check-in: a8ba68ef88 user: poetnerd tags: trunk
03:14
Updated Fortran IV install: Move the tapes to the subsys directory. Tape #2 is not needed. It contains the source files for the FORLIB.RL run time library. TODO: Add in the source DECtape images to the repository. check-in: 16d14955b5 user: poetnerd tags: trunk
03:12
Added files necessary for mkos8 to integrate patch FORLIB-51.10.1M.patch8. As per instructions in that patch, a new DLOG.RA has been made with one source line change. DLOG.RA was assembled with RALF into DLOG.RL. LIBRA was used to make an updated FORLIB.RL DLOG.RA and FORLIB.RL are on local.tu56. DLOG.RA in the patch directory is a redundant copy of that file. TODO: Add logic in mkos8 under patches to replace FORLIB.RL with the updated one if BOTH with-os8-fortran-iv AND with-os8-patches are set. check-in: 87aa1be986 user: poetnerd tags: trunk
02:34
Discovered a typo in the patch, AND that some OCR mistakes had been missed. Both are fixed now. TODO: Codify this patch into something mkos8 can work with. check-in: 69ce06acaf user: poetnerd tags: trunk
2017-10-28
21:52
Uncommented the OS/8 SQUISH commands at the end of the make_patch function in mkos8. check-in: 887632c998 user: tangent tags: trunk
13:57
Added "*Can* You Release Yet?" section to the release process doc check-in: b7b312b222 user: tangent tags: trunk
2017-10-27
09:17
With the final (?) bugs squished in the parallel version of test-mkos8, merging it into trunk. check-in: 4fc0e64aff user: tangent tags: trunk
09:16
Fixed a path bug that caused test-mkos8 to write finished test results to the wrong directory. That in turn caused subsequent runs to re-do tests already completed because the results weren't where it expected to find them. Closed-Leaf check-in: b513069b4c user: tangent tags: parallel-test-mkos8
09:15
Added test-mkos8 -v flag, enabling several new messages that explain what it's about to do. check-in: dad526a6ff user: tangent tags: parallel-test-mkos8
08:54
Fixed the last few problems preventing test-mkos8 from running multiple builds in parallel. check-in: db37af582e user: tangent tags: parallel-test-mkos8
08:47
Though we hacked tools/version to make it print a dummy version string when running under tools/test-mkos8, it didn't exit afterward, so it continued to run the code that was causing the problem we added the workaround to avoid! check-in: 3213505810 user: tangent tags: parallel-test-mkos8
08:41
The bootable-*.tu56 copy of the OS/8 boot tape created by mkos8 to avoid modifying input media is now being created in dirs.os8mo instead of os8mi, since the latter is shared among the children of test-mkos8, which means that when one of them deletes their temporary copy of this file, the copy used by all of them gets deleted. The file, being volatile, must go into each child's build directory. check-in: 0e8e159cf5 user: tangent tags: parallel-test-mkos8
08:08
Merged in trunk changes check-in: ded363caa7 user: tangent tags: parallel-test-mkos8
07:52
Added doc/class-simh.md. check-in: 69ad1727f5 user: tangent tags: trunk
06:31
Updated TODO list in ChangeLog.md check-in: ccc510261c user: tangent tags: trunk
06:28
Added tools/diffstat-since-release, a wrapper around "fossil diff" and "diffstat" which presents a bar graph displaying how the current version differs from the tip of the release branch. It doesn't show stats for files that don't exist on the release branch, only for files in common between the two, due to the limitations of the diff format. check-in: f4025603f4 user: tangent tags: trunk
06:26
A few *.pa files under cc8 were left behind when we moved that directory under src. Reunited them with their worried siblings. check-in: 397defb48b user: tangent tags: trunk
06:17
Merged two near-duplicate ChangeLog.md entries check-in: 538f5c1453 user: tangent tags: trunk
06:12
More ChangeLog.md tweaks check-in: 372b920c51 user: tangent tags: trunk
06:07
Updated ChangeLog.md check-in: 5315b0d947 user: tangent tags: trunk
05:46
The generated 0.script and run.script files now reference the -bin or -patched disk depending on whether --disable-os8-patches was given to the configure script. check-in: 8e59a04d7c user: tangent tags: trunk
05:20
Merged in trunk changes check-in: 16f6e36f5c user: tangent tags: parallel-test-mkos8
05:16
Extended module search path for teco-pi-demo the same way we did some time back for mkos8 so that when building out-of-tree, it doesn't go looking for autosetup-written files like lib/pipd8i/dirs.py under @srcdir@. check-in: fdc0fa387c user: tangent tags: trunk
05:14
Reworked the dirs.py module so that dirs.media now points to the "media" directory only, not to "media/os8". Then added dirs.os8mi and dirs.os8mo for the mkos8 input and output directories, respectively, and adjusted mkos8 and teco-pi-demo accordingly. check-in: 6e102afa3a user: tangent tags: trunk
04:54
Using dirs.os8 instead of dirs.media in teco-pi-demo, and fixed the "make install" step that adjusts libs/pidp8i/dirs.py in the installation tree to allow this to work. check-in: aa66ed7ae9 user: tangent tags: trunk
04:41
teco-pi-demo now seeks out the os8v3d-bin.rk05 disk intelligently, using the one in bin when run from a development tree, else using the one in dirs.media if run from the install tree. check-in: 2f68149c21 user: tangent tags: trunk
04:33
Replaced most of the command output from "make install" with echo calls explaining what each step does. check-in: 37cd3f3b62 user: tangent tags: trunk
04:26
More adjustments to "make install", primarily getting teco-pi-demo installed by generalizing the steps we were previously taking for the bin/pidp8i script. check-in: c24e154589 user: tangent tags: trunk
04:16
Assorted fixes to "make install" for the out-of-tree build case. check-in: 2204c9f1d5 user: tangent tags: trunk
03:36
One of the steps in "make install" didn't get updated when moving the cc8 tree under src. check-in: 4b75bd0c36 user: tangent tags: trunk
03:15
One of the changes in [2d6184c3c9] moves "src" to the end of the directories processed by mkadrules at configure time, but mkadrules itself was writing another version of the "src" rule set to the beginning of adrules.mk for the out-of-tree case, which also needs to move to the end of the file for the same reason. check-in: a658bdb074 user: tangent tags: trunk
03:06
Removed -w flag for src/PDP8/*.c: turns out to be unnecessary on Clang 9.0.0 (macOS 10.12) and GCC 6.3.0 (Raspbian Stretch). If later testing shows a need for something like this, we should probably put back -Wno-foo flags instead on a case-by-case basis. Turning off all warnings was an overreach. check-in: b54c70e41b user: tangent tags: trunk
03:01
palbart now builds with -g or -O2, depending on the --debug configure script flag. check-in: 2bee0290e3 user: tangent tags: trunk
02:58
Reworked the CFLAGS option handling so that we don't use the CFLAGS made for pidp8i-sim, which are entirely inappropriate for the cc8 cross-compiler. check-in: 3731a81320 user: tangent tags: trunk
02:44
Moved cc8/* under src, as we recently did for palbart. check-in: 2d6184c3c9 user: tangent tags: trunk
02:18
Another tweak to the table of input and output files in examples/README.md check-in: d922cf60d8 user: tangent tags: trunk
02:16
Added *.script to the table of outputs from the palbart + mkbootscript process. check-in: 9c32f877ae user: tangent tags: trunk
02:07
Added Option 4 section to examples/README.md check-in: 0a5f2b6a45 user: tangent tags: trunk
02:01
Removed a stray sentence fragment from examples/README.md. check-in: bc5ccc898f user: tangent tags: trunk
02:00
Added "Because" column to the table in the "Option 2" section of examples/README.md, explaining why each SR setting is correct. check-in: be4bd24fa0 user: tangent tags: trunk
01:52
Minor fixes to the BASIC section of examples/README.md check-in: dd1af61f28 user: tangent tags: trunk
01:49
Merged in trunk changes check-in: 1d21cdd108 user: tangent tags: parallel-test-mkos8
01:35
Fixed a dangling link check-in: 0a62c635b9 user: tangent tags: trunk
01:07
Comment improvements check-in: fc5952a615 user: tangent tags: trunk
01:03
Moved palbart subdir under src and rewrote its Makefile.in rules to use the new mkadrules mechanism. check-in: 47600227b0 user: tangent tags: trunk
00:33
0.script now runs against the "-patched" disk image, not the "-bin" disk. check-in: 199f3e32cb user: tangent tags: trunk
00:26
Added simh-update and publish-os8 steps to the release process document. check-in: 89f6513e25 user: tangent tags: trunk
00:12
Changed all "<a name" tags to "<a id" in README.md: strictly speaking, the "name" attribute isn't legal any more in HTML5, though all browsers still understand it. We've taken to using "name" only for fragment aliases, with "id" being the primary identifier. check-in: 6571cc1290 user: tangent tags: trunk
00:02
Added tools/publish-os8, which publishes bin/os8v3d-*.rk05 as unversioned files, so that people not running the current PiDP-8/I software can download the RK05s generated by mkos8. check-in: 3542ea0c36 user: tangent tags: trunk
2017-10-26
23:53
mkos8 now writes *.rk05.save to bin, not to media/os8. check-in: d61163b731 user: tangent tags: trunk
2017-10-25
23:18
Merged in trunk changes check-in: 78467c8474 user: tangent tags: parallel-test-mkos8
20:03
A few more fixes to os8-patching.md check-in: f446947b4b user: tangent tags: trunk
20:00
Polishing pass on doc/os8-patching.md check-in: 0aeaa09d3b user: tangent tags: trunk
19:37
Re-running "mkos8 bin patch" on "make" when the patch_list.txt file changes. (And only when "patch" is given to mkos8!) check-in: f7344dc4f1 user: tangent tags: trunk
18:53
URL fix check-in: ca07fe47e7 user: tangent tags: trunk
18:53
More README.md improvements check-in: 44a8cafb81 user: tangent tags: trunk
2017-10-24
13:55
Still more README.md tweaks check-in: 720dd754b7 user: tangent tags: trunk
13:50
More README.md clarifications. check-in: c74aab947b user: tangent tags: trunk
13:46
Clarity tweak to previous check-in: e8544cca8f user: tangent tags: trunk
13:43
More work to the Prerequisites check-in: b81857e17a user: tangent tags: trunk
13:40
Assorted improvements to the Prerequisites section of the top-level README.md file. check-in: aeab136fea user: tangent tags: trunk
13:09
Added .agignore (for ag v1) and symlinks to .ignore (for ag v2) to make ag skip large binary files that cannot possibly contain greppable information. check-in: 18a9cc5a8b user: tangent tags: trunk
12:30
Fixed "Squeeze" -> "Stretch". Debian Squeeze was 6.0, from 2011. :) check-in: 5dadc45e3a user: tangent tags: trunk
2017-10-23
15:46
Reworked the --enable-os8-vtedit description in the top-level README.md file. check-in: b0a6241a36 user: tangent tags: trunk
15:20
A bit more detail in the new "Unpacking" section of README.md. check-in: a14b453c03 user: tangent tags: trunk
15:16
Fixed an ambiguous Markdown named link in README.md. check-in: 1dddd5a673 user: tangent tags: trunk
15:15
Added two more options to the new "Transferring" section of README.md. check-in: a3d60d598e user: tangent tags: trunk
15:10
Added "Getting the Software onto Your Pi" and "If You Need More Help" sections to the top of the top-level README.md file. check-in: 79f7b127a9 user: tangent tags: trunk
14:35
Recharacterized the "upstream release" as the "old stable distribution" in the top-level README file. check-in: de86c711db user: tangent tags: trunk
04:37
I thought I checked these changes in already. Sigh. This puts all the patches, even the ones not to apply in the list with appropriate summary annotations. check-in: 8d5c4ee2e2 user: poetnerd tags: trunk
03:52
Added a commented-out "set remote telnet=3141" SIMH command to teco-pi-demo so that those wanting to fiddle with the simulator while the demo runs can do so without reading the SIMH manual. Whether they'll read the code and avoid bugging me about it is an open question. check-in: 86214e8626 user: tangent tags: trunk
03:50
Increased the number of digits to calculate in teco-pi-demo to the maximum value that doesn't crash TECO8, determined by experiment. This ensures that the demo runs as long as possible, so users don't have to keep restarting it. With the prior value, that would have happened after about 2-3/4 years, not unreasonable for a PiDP-8/I running purely as an objet d'art. check-in: 2d4085c0b4 user: tangent tags: trunk
01:05
Put args.debug stuff back into mkos8, reverting part of [9663cf4b750]. Not sure why it was failing on Bill's machine, but it works here. check-in: 81f6f42e86 user: tangent tags: trunk
00:51
Checkin [96fb10bbd3] was supposed to fix an accidental lowercasing... which actually happened in that checkin! Apparently it happened during the editing session, since the checkin did not completely revert the problem. check-in: b5ab11471d user: tangent tags: trunk
2017-10-22
23:08
Adding OVDRV patch for completeness. Updating patching.md with a few tweaks. mkos8: Make OS/8 command parse error a fatal error. Temporary change: The args.debug stuff didn't work for me. Kluding it out. check-in: 9663cf4b75 user: poetnerd tags: trunk
20:49
Discovered that PAL8-21.22.4M analogously to ABSLDR-21.29.1M, is actually against the OS/8 V3D Extensions version, and BREAKS PAL8's ability to generate listing output. That problem is now documented and the patch is disabled. check-in: 3e3e10993f user: poetnerd tags: trunk
14:31
Niggly typos and cleanups. check-in: 7a86dc37fb user: poetnerd tags: trunk
04:35
Complete first draft with formatting. check-in: a6abb8204e user: poetnerd tags: trunk
03:22
Snapshot. More formatting improvements. (Halfway done, I think.) check-in: 8e7cc0f0ab user: poetnerd tags: trunk
03:02
Added the new pidp8i-test keyboard controls to doc/pidp8i-test.md. check-in: 44794b7b5f user: tangent tags: trunk
03:00
The code in pidp8i-test which was supposed to allow for uppercase R or X keystrokes to behave the same as r or x didn't work. Apparently this section of code got lowercased somehow. check-in: 96fb10bbd3 user: tangent tags: trunk
2017-10-21
23:20
improved formatting. check-in: 042195c724 user: poetnerd tags: trunk
22:42
First draft of documentation on OS/8 Patching. check-in: ac1f73e6cc user: poetnerd tags: trunk
2017-10-20
18:53
There was a typo: ".GET SYS TECO" was ". GET SYS TECO" The patch failed to load TECO into core, but happend to have TECO in core from the previous patch run. I guess I should make "failed OS/8 command parse" a fatal error. check-in: f410b7a38a user: poetnerd tags: trunk
16:54
Added "patches" item to the ChangeLog. check-in: d26180a507 user: tangent tags: trunk
16:51
Documented --disable-os8-patches. check-in: b3af2847e7 user: tangent tags: trunk
16:23
Removed an unused function from mkos8, and did some whitespace and comment tweaks. check-in: 4a64ffe7ce user: tangent tags: trunk
16:01
Suppressed most of the ODT/FUTIL patch application debugging messages in mkos8 by default. Added a --debug flag to re-enable them. This is distinct from --verbose in that the latter swaps the SIMH logging from sending to a log file to sending to stdout, which in turn suppresses most other output from mkos8. We might want to rethink these two options, combining them somehow to avoid the new confusion. check-in: 66b56643e4 user: tangent tags: trunk
15:36
Added configure --os8-patches flag, default on. When set, calls "mkos8 bin patch" instead of just "bin". check-in: adaef3c96e user: tangent tags: trunk
15:06
Merged mkadrules branch into trunk: all the .c.o and .c.d rules are generated at configure time instead of being hand-maintained in Makefile.in. This also moves the CC8 *.[od] files to obj/cc8/cross, mirroring the source tree structure. This simply removes an idiosyncratic difference between the previously hand-maintiained rule sets, a natural outcome of generating them from a single template rule set. check-in: cdd09a6093 user: tangent tags: trunk
14:57
Reverted delegation of creation of the obj subtree dirs to mkadrules: better done by extending BUILDDIRS in Makefile.in. Closed-Leaf check-in: c2bc715e2c user: tangent tags: mkadrules
14:40
Deferred relacement of "SRCDIR" in mkadrules until the last moment in case we're building out-of-tree and $srcdir contains "src/" to avoid unintended string replacements. check-in: d74f2616c5 user: tangent tags: mkadrules
14:26
Fixed a command line sanity check in mkadrules for the out-of-tree build case. check-in: 72986ccf05 user: tangent tags: mkadrules
14:21
Minor improvements to the .o and .d generation and cleanup bits in Makefile.in. Not really related to the mkadrules mechanism, but I noticed the weaknesses while working with it. check-in: 4768cc8794 user: tangent tags: mkadrules
14:10
Reworked CC8_OBJS to work with new mkadrules obj subdirectory scheme. check-in: 1ba04c2424 user: tangent tags: mkadrules
14:08
Switched from mkdir() to make_path() in previous to allow obj/cc8/cross to be created. Like mkdir(1), Perl's mkdir() won't recurse. check-in: 18d508e685 user: tangent tags: mkadrules
13:57
Moved generation of obj/* subdirs to mkadrules from auto.def. check-in: 5325bc575b user: tangent tags: mkadrules
13:49
The repeated autodependency .c.o and .c.d Makefile rule sets are now generated as adrules.mk by tools/mkadrules, which will avoid the sort of regression fixed in [83b73930ec]. check-in: a818a27648 user: tangent tags: mkadrules
12:11
The changes in [a6c3123bff] to the obj/PDP8/*.o Makefile rules to allow out-of-tree builds caused dependency ordering problems on the Pi, though not on macOS for some reason. The prior fix did not change all obj/*.d type paths to obj/PDP8/*.d, which confused the autodep mechanism. Problem noticed by Phillip Porch on the mailing list, with a provisional patch, extended by me. check-in: 83b73930ec user: tangent tags: trunk
03:58
mkos8: Close patch files when done with them. (minor housekeeping oops) Rudimentary FUTIL support now supports the 4th PAL8 patch. Discovered the ABSLDR patch supplied is just wrong. It's for a version of ABSLDR we don't have and which exists on the OS/8 V3D Device Extensions kit, which is rare, and not yet visible in the archives I've scoured. TODO: 1. MACREL and LINK patches. 2. Decice what to do about the patches that require very different application: FORLIB 51-1-01M is a source patch that would require a batch script. Same with OVDRV 40.6.1M. LQP 21.49.1 runs BUILD in a batch script which is actually not possible unless you have the version of BUILD unique to the OS/8 V3D Device Extensions kit. check-in: 241d6b4a25 user: poetnerd tags: trunk
00:09
Clarified example commentary in the U/W FOCAL supplement check-in: 066aaa6b7c user: tangent tags: trunk
2017-10-19
21:25
44 Patches, all but one verified against source. The one un-verified one is for FRTS.SV, which is recommended. I just cant figure out how to build FRTS from source to verify it. mkos8 successfully applies them all. patch_list.txt names all patches, comments out non-recommended ones and says why. check-in: 1bec0d528f user: poetnerd tags: trunk
2017-10-18
20:41
Reverted Unix -> DOS line ending change for src/*.in: autosetup blindly assumes Unix line endings and emits mixed line endings when *.in has DOS line endings as it passes input CRs through on lines it doesn't touch and fails to include a CR on the lines it rewrites. The symptom is that you get a confusing compiler error in gpio-common.c. check-in: 860fd189d5 user: tangent tags: trunk
2017-10-15
23:46
Refined patcher. Successfully applies about 40 of the 56 patches. TODO: Verify the successful patches at source code level. Get the rest of the patches to apply. check-in: 7278e6aceb user: poetnerd tags: trunk
22:30
Backed out [1e62781bcd0]: it added a guard for a condition that apparently cannot fail, so it's useless at best and may be masking the real problem now at worst. check-in: f396fbb736 user: tangent tags: trunk
22:18
Whitespace tweaks in Makefile.in check-in: 26f03607d2 user: tangent tags: trunk
22:11
The dependency of bin/*-focal.pt on txt2ptp wasn't expressed clearly enough, so whether they got built or not depended purely on whether make(1) decided to build ptp2txt and hard link it to txt2ptp before attempting it. check-in: 7f25f66583 user: tangent tags: trunk
22:06
Suppressed the harmless warning about missing setcap on non-Linux hosts during "make install". check-in: b0790a69cb user: tangent tags: trunk
17:22
ODT Patches now check old value and abort the patch if the actual contents do not match the expected contents. There is detection of "dont care" old contents as well. Added ability to comment out lines in patch_list.txt manifest file. TODO: 1. Add in a bunch of patches and try them out. 2. Add in support for other patches than ODT. 3. Make patching conditional in auto.defs. check-in: a5d1d41858 user: poetnerd tags: trunk
16:53
Assorted fixes to parallel test-mkos8 check-in: 5797acc1f3 user: tangent tags: parallel-test-mkos8
16:32
Made the "get version string" mechanisms more durable in the face of multiple parallel instances, as now happens with parallel test-mkos8. check-in: c34a426eed user: tangent tags: parallel-test-mkos8
15:49
First pass at reworking mkos8-test to run $cores tests in parallel unless -s is given. Each test is built out-of-tree in test/tmp/$PID, so they don't interfere with each other. check-in: f5cad8d9f6 user: tangent tags: parallel-test-mkos8
15:24
Switched compression in test-mkos8 from lzma to lz4. check-in: 6addfa56e1 user: tangent tags: trunk
15:02
Got out-of-tree building again with mkos8. check-in: a6c3123bff user: tangent tags: trunk
14:49
Reworked the *.c -> *.obj Makefile rules a bit check-in: c7b2eced8d user: tangent tags: trunk
13:56
Variable name tweaks in tools/test-mkos8 check-in: 3d31039cbd user: tangent tags: trunk
13:41
Added -g and -n options to test-mkos8: generate test/* only and dry run, respectively. check-in: 303ad06d12 user: tangent tags: trunk
2017-10-14
11:18
Squished perlcritic --harsh complaints check-in: 6d893bfd57 user: tangent tags: trunk
11:17
Fixed or suppressed perlcritic --stern complaints about tools/test-mkos8. check-in: 4b0b26389b user: tangent tags: trunk
11:02
Added license comment to test-mkos8 check-in: ec02b84400 user: tangent tags: trunk
10:32
Forgot to check tools/test-mkos8 in. check-in: bf1158e040 user: tangent tags: trunk
10:29
First version of the combinatoric tester. Implements [87abba4c08]. check-in: def9c30e0f user: tangent tags: trunk
07:57
Applied the reverse fix to the previous checkin: when built for ILS and previously running with ILS suppressed, then switching from "ratio" throttle mode to an "IPS" throttle mode, re-enabling ILS. check-in: 141f201e85 user: tangent tags: trunk
07:48
Merged NLS forcing in SET THROTTLE M/N mode (ratio mode). Closes [7d7eadd391] check-in: 3f1588e495 user: tangent tags: trunk
07:47
The mechanism we were reusing to revert to NLS mode while built for ILS wasn't doing full-rate display updates. It didn't need to before because it was only used for STOP and single step/instruction mode. Now that we're also using it for SET THROTTLE=M/N (ratio mode) it differed substantially from "real" NLS mode prior to this fix. Closed-Leaf check-in: 1d600ecbe7 user: tangent tags: ratio-throttle-ils-disable
06:51
Accidentally made a fix in the *.in output file, checking in the buggy version. check-in: f219177758 user: tangent tags: ratio-throttle-ils-disable
06:48
First step toward disabling ILS when SET THROTTLE M/N is set. check-in: 70f50d2061 user: tangent tags: ratio-throttle-ils-disable
06:38
The line to remove a prior sullied bootable OS/8 TU56 tape image in make_bin() within mkos8 wasn't checking whether it exists first. Calling os.remove() on a file that doesn't exist throws an exception, killing the program. (Clearly we two haven't been running without this file always existing from a prior run for quite some time, or have been missing this failure!) check-in: 1e62781bcd user: tangent tags: trunk
05:47
Finished pass through UWFD. The supplement is therefore "done" for now. check-in: fcbd2f669a user: tangent tags: trunk
05:44
Added "FOCAL Statement Functions" section to the supplement. check-in: 2348b30f17 user: tangent tags: trunk
03:14
Basic patching with ODT works. First two Patches to EDIT.SV as requested in patches/patch_list.txt are applied correctly. TODO: Try more ODT patches. Implement support for "R EPIC" and "R FUTIL" check-in: f382a12204 user: poetnerd tags: trunk
02:39
The bin/*.pt generation build rule added for examples/*.fc conflicted with the preexisting ones for asm/*.pal and examples/*.pal, which also produce bin/*.pt. (Conflicted twice in fact: once at the make(1) level and again in the output when the basename is the same. Consider examples/pep001.{fc,pal}.) Addded -focal and -pal tags to the output *.pt file names to break the conflict. check-in: e9954d80c5 user: tangent tags: trunk
02:26
Added recently-created lib/{mkos8,pidp8i} dirs to INSTDIRS check-in: 3be8c3161e user: tangent tags: trunk
2017-10-13
20:21
Added TODO section to ChangeLog, lining out what remains to be done before release. check-in: 2ce4e9cac6 user: tangent tags: trunk
20:07
Assorted cleanups to the new "mkos8 patch" feature check-in: e8a468e8d6 user: tangent tags: trunk
19:51
More ChangeLog entry reorganization so it flows from point to point better. check-in: 6f501ff071 user: tangent tags: trunk
19:49
Moved the teco-pi-demo item down within the ChangeLog to be after the items describing the new OS/8 disk images. check-in: e2c09099b3 user: tangent tags: trunk
19:44
Updated ChangeLog.md again check-in: f017f24272 user: tangent tags: trunk
02:59
Four simple patch files for EDIT.SV, and a trial Manifest that names 2 of them. TODO: Verify these patches are sane. Verify that the patching will work safely. check-in: c4cb3a99bc user: poetnerd tags: trunk
02:58
Fix bug in handling of "all": The "all" action should not be one of the things acted upon. Now we have "allowed acts" and "do_all_acts" that just has src and bin. Begin work on the patch maker: A manifest file will list the patch files. For each patch file, parse it and act on it. Parsing the patch file is fun! Create a degenerate state machine to control what we do when we're in a command. ODT is currently parsed. TODO: Connect the parsed stuff to calls out into OS/8. check-in: 1798cb2765 user: poetnerd tags: trunk
2017-10-12
14:08
Worked around a Fossil Markdown processing limitation in the supplement. check-in: 4cc31ac3df user: tangent tags: trunk
14:04
Moved the ZVR discussion up within the supplement to the newer "Command Overloading" section. check-in: 83e59af3a1 user: tangent tags: trunk
13:45
Discovered a new Autosetup feature, write-if-changed. Rewrote the mkos8.opts mechanism for suppressing RK05 rebuild if the mkos8 options haven't changed in terms of it. Much shorter and clearer now. check-in: 26e5f1c5ee user: tangent tags: trunk
12:47
Minor style tweaks to new teco-pi-demo check-in: 892f0be86b user: tangent tags: trunk
12:38
Fixed a bug in mkos8 introduced by the "class simh" refactoring. check-in: cff76df975 user: tangent tags: trunk
12:34
Added bin/teco-pi-demo check-in: a31a4428ee user: tangent tags: trunk
12:21
Added lib to ctags list check-in: f5eed8086b user: tangent tags: trunk
12:12
Renamed a few variables check-in: c9a3ed7fcf user: tangent tags: trunk
12:11
Renamed sim.send() to simh.send_cmd() to be clearer about what it does and to bring it in line with send_os8_cmd(). check-in: 97f4e96d90 user: tangent tags: trunk
11:33
Raised new simh class to a single-module library as well. check-in: 6837a49441 user: tangent tags: trunk
11:26
Moved lib/mkos8/argparser/__init__.py to lib/mkos8/argparser.py. We don't need the extra directory layer: argparser isn't going to turn into a multi-module sub-library. check-in: 58babeb8b1 user: tangent tags: trunk
11:22
Moved the dirs.py module out of lib/mkos8 into a new lib/pidp8i directory, since it really isn't mkos8 specific. (A later checkin will include another program that also uses it.) check-in: d66f92ce95 user: tangent tags: trunk
11:09
Extracted class "simh" from mkos8 to collect all of the functions that call pexpect either to command SIMH or OS/8 *via* SIMH. Also threads that object instance through the mkos8 call chain instead of having everyone refer to a global, and cleans up the function naming to be a bit more self-consistent. check-in: 2af351187f user: tangent tags: trunk
10:06
Found documentation for FRA() check-in: ffeac8fad3 user: tangent tags: trunk
09:45
Added the "Command Overloading" section to the U/W FOCAL supplement. Added a top-level LIBRARY command section, as well as LIST and LOGICAL sections. Also moved the ZVR and FRA sections up to be just after these, as the group amounts to documentation of commands and functions not covered in The Manual. check-in: ad0e316bcd user: tangent tags: trunk
2017-10-11
21:11
Clarified the line ending issue in the new "The Paper Tape Reader" section of the supplement. check-in: 4d893bc859 user: tangent tags: trunk
01:06
Adjusted the header spacing on the new tratbl.fc example to line them up with the U/W FOCAL number formatting. check-in: 2fa0a6fae9 user: tangent tags: trunk
00:36
Fixed the needless rebuild of the bin media on init.tx update due to reconfigure, and reworked the dependencies to prevent dual RK05 bin disk rebuilds when you run make with -j. check-in: 5c69c4a384 user: tangent tags: trunk
00:14
Moved rationale from start of the supplement to the end, added an Introduction to the start, and added a References section. check-in: f24611b921 user: tangent tags: trunk
2017-10-10
23:36
Small tweaks to previous check-in: 0ed7d97637 user: tangent tags: trunk
23:28
Added a new section to the supplement, "The Paper Tape Reader", showing how to pull FOCAL programs in from simulated paper tape. Also created a mechanism similar to the examples/*.pal -> bin/*.pt, only for examples/*.fc by way of Bill's txt2ptp program. The new supplement section is written in terms of this mechanism, using a new example program, tratbl.fc. check-in: 964c647879 user: tangent tags: trunk
22:11
Better PS/8 FOCAL, 1971 doc link check-in: ccb8d4b1b2 user: tangent tags: trunk
13:59
Added links to other useful docs from the top of the U/W FOCAL manual supplement. check-in: 4b7ac1b089 user: tangent tags: trunk
13:45
Decided to just remove "The Hard Way" from the U/W FOCAL manual supplement. Should a good idea for using a text editor on a FOCAL ASCII text file come up, we can pull the text back from Fossil and work it back into the doc. check-in: 4842ad6f5a user: tangent tags: trunk
13:40
Small tweaks to the supplement check-in: def8113396 user: tangent tags: trunk
13:36
Deferred discussion of why PLOT doesn't work from the PUNCH section of the supplement to the Missing Hardware section. check-in: 5f1883fd59 user: tangent tags: trunk
13:29
Assorted improvements to the Rationale intro to the U/W FOCAL supplement. check-in: 9c4f011c44 user: tangent tags: trunk
13:22
Linking from U/W FOCAL supplement to the "Submitting Patches" sub-section of HACKERS.md rather than to the top of the document. check-in: 85c587d7e4 user: tangent tags: trunk
13:15
Factored "instdirs" target out of "install" so mediainstall can depend on it. Without this, you could type "make mediainstall install" and it would fail because the instdirs hadn't been built yet. This removes the need to care about the order of targets given. check-in: a631363b48 user: tangent tags: trunk
13:07
Corrected new ChangeLog item about the -src RK05: it's built from 10 tapes, not 7. check-in: cc1d46e7c3 user: tangent tags: trunk
03:34
Tiny nomenclature change: "DEC source tapes" would imply building from source. So the binary RK05 image was, in meticulous nomenclature built from, "DEC binary distribution DECtapes." Similarly "distribution DECtape(s)" was added further down the doc as appropriate. check-in: b2707f406f user: poetnerd tags: trunk
03:23
Updates to the in-progress current ChangeLog.md entry check-in: 426d031a83 user: tangent tags: trunk
03:10
Assorted tweaks to HACKERS.md check-in: fcf8e53b62 user: tangent tags: trunk
02:29
Small fix to --disable-os8-fortran-ii. (Was attempting to delete FORT.SV from DSK:, not SYS:.) check-in: 28c643da36 user: tangent tags: trunk
02:24
Calling SQUISH on SYS: and DSK: at the tail end of make_bin() in mkos8. check-in: b5ea0bca7f user: tangent tags: trunk
02:24
Added --disable-os8-fortran-ii configure option check-in: 1370066ffe user: tangent tags: trunk
02:04
Added --disable-os8-macrel configure option check-in: aaadf0d75c user: tangent tags: trunk
01:57
Added --disable-os8-fortran-iv configure option check-in: 9b93db676b user: tangent tags: trunk
01:55
Clarified documentation of --disable-os8-focal check-in: 6cbb6e2ede user: tangent tags: trunk
01:52
Fixed a dependency cycle that could cause "make" to loop indefinitely via the autoreconfigure mechanism: it would touch some dependency of Makefile which would reconfigure, which would touch the dependency, which... check-in: b42be341cc user: tangent tags: trunk
01:13
Reworked "make run" so that it runs OS/8 from bin, not the installation directory, so you don't have to "make install mediainstall run". check-in: 6d1cdc8426 user: tangent tags: trunk
01:03
Added --disable-os8-src configure script option. check-in: 94b7dcf49e user: tangent tags: trunk
00:36
Applied patch to autosetup from upstream issue #30 to prevent overwriting *.in outputs when the result wouldn't be different, thus forcing unnecessary rebuilds of the dependencies. Closes [9d55730778]. check-in: b218efa8cc user: tangent tags: trunk
00:27
Permission fix on CC8 stuff installed to $prefix/share/include check-in: 400025e312 user: tangent tags: trunk
00:19
Removed commented-out ADVENT initialization in mkos8 check-in: 0ef81bc574 user: tangent tags: trunk
2017-10-09
22:49
Forgot to install the adventure setup file, ADVENT.IN on advent.tu56. So it kept thinking it was uninitialized. With that file in place, the code to run the dialog is no longer needed. I commented it out of mkos8. TODO: Delete the dialog code. check-in: cb498b03ba user: poetnerd tags: trunk
22:34
Fixed teeny bug in cc8 cross compile install: Needed to add share/include to INSTDIRS in Makefile.in check-in: ac7cc70d71 user: poetnerd tags: trunk
18:40
Added --os8-minimal configure option check-in: 839aa48f08 user: tangent tags: trunk
17:47
Added --disable-cc8-cross configure option check-in: c33d5ece27 user: tangent tags: trunk
17:35
Merged cc8-merge branch into trunk. This is happening after the merge of clean-os8-packs since the latter resolves the question of how we're going to merge Ian Schofield's nice and clean OS/8 installation + C with our previous os8.rk05. This merge therefore just gets us an alternate OS/8 bootscript and disk image plus the host-side compiler. check-in: 4fa2e4fdc0 user: tangent tags: trunk
17:24
Fixed violations of the "DOS line endings" rule in src/*.in check-in: 20a02472af user: tangent tags: trunk
17:14
Documented --disable-os8-init and editing init.tx.in. check-in: ceb4d912a2 user: tangent tags: trunk
05:55
The two "Pasting Text in from a Terminal Emulator" sections of the supplement are now sub-sections of a single level 3 section. check-in: e3e1f90bfe user: tangent tags: trunk
05:48
Added fourth reason we need the U/W FOCAL Manual supplement: the version we ship isn't identical to the version described in *any* of the primary source documents! check-in: 186f1c5d44 user: tangent tags: trunk
05:39
Titled the upcoming release check-in: 39e66a40d7 user: tangent tags: trunk
05:36
Another ChangeLog tweak check-in: 74537be12b user: tangent tags: trunk
05:30
Minor tweaks to new v2017.10.xx ChangeLog check-in: 1530f3760f user: tangent tags: trunk
05:18
Updated some doc URLs to point to the trunk branch now that clean-os8-packs has been merged in. check-in: 01dff30411 user: tangent tags: trunk
05:17
Updated the ChangeLog to distill what's happened since v2017.04.04. We're not all that near a release point, but with the merging of clean-os8-packs into the trunk, it felt like a good time to summarize what's been happening these past few months. check-in: 854f35ecb6 user: tangent tags: trunk
03:19
mkos8 now runs Adventure after installing it to answer the configuration questions it asks on first run, since we know the answers and the user is more likely to be fine with our answers than they are able to answer differently *and* correctly on their own. check-in: 880632ab80 user: tangent tags: trunk
02:33
Improved the comment on the "SET SYS NO INIT" command sent during OS/8 BUILD in mkos8. check-in: d2c10add20 user: tangent tags: trunk
2017-10-08
19:00
Small tweaks to the new INIT.TX mechanism check-in: 0a2ab49554 user: tangent tags: trunk
18:53
Worked around a Jim Tcl limitation in init.tx build. check-in: 86710df348 user: tangent tags: trunk
18:46
Merged clean-os8-packs into trunk. check-in: faee651fc4 user: tangent tags: trunk
18:44
Replaced the "Hello, world!" init message with one based loosely on the "FIELD SERVICE PDP-8 DIAGNOSTIC SYSTEM" message, but showing information more likely to be useful to our end users. Closed-Leaf check-in: e95de3f1a6 user: tangent tags: clean-os8-packs
18:16
Sketched in the initial implementation of the --enable-os8-init feature, which creates INIT.TX and INIT.CM on the OS/8 bin disk just before finishing up. If the option is set, it calls SET SYS INIT to make it run on boot, but it always does get created, so the user can turn it on later without rebuilding their bin disk. This version just says "HELLO, WORLD!" We'll be doing something more substantial next. check-in: 3f8551641f user: tangent tags: clean-os8-packs
17:52
Added mkos8 to the set of files ctags -R looks at, since it won't normally find it, lacking known file extension. check-in: e165816404 user: tangent tags: clean-os8-packs
17:34
Whitespace and comment tweaks check-in: f3dceaeb79 user: tangent tags: clean-os8-packs
16:31
The creation of obj/mkos8.opts during the configure script run to force a rebuild of the OS/8 media *only* when those options have changed was failing in clean build trees because obj doesn't exist yet. For the most part, $(BUILDDIRS) in the Makefile handles this, but that hasn't run by this point, so we need to do this one early. check-in: 5dfc456436 user: tangent tags: clean-os8-packs
05:30
The "?01.00" error code in the reformatted refcard is just "?" on the original, so there is not in fact a discrepancy between the two error tables for this one. Fixed the refcard and removed the note about the discrepancy from the supplement. check-in: 3b74ad629d user: tangent tags: clean-os8-packs
2017-10-07
22:01
Small fix to transcript at the end of "The Hard Way" check-in: 1814197ca3 user: tangent tags: clean-os8-packs
21:40
Updated the discussion of the missing VIEW command in U/W FOCAL: we *could* support it, but it's apparently missing from the PAL source we built U/W FOCAL from. Feature request filed as [b8f5d84fc]. check-in: 534640eea8 user: tangent tags: clean-os8-packs
21:17
Added ZVR section to the supplement check-in: 9ec533f16d user: tangent tags: clean-os8-packs
21:11
Another *.FD fix to "The Hard Way" check-in: 75048a2bf8 user: tangent tags: clean-os8-packs
21:03
Added a new "The WRITE Command" method for saving program text out of U/W FOCAL as a plain ASCII text file, and relabeled the old way as "The Hard Way", now used only as a warning. :) check-in: 5e23affd4b user: tangent tags: clean-os8-packs
20:43
Assorted tweaks to Loading and Saving in the supplement check-in: a8a72951d0 user: tangent tags: clean-os8-packs
20:29
Added "Converting Programs from Other Versions of FOCAL" section to the supplement. check-in: 007115ea46 user: tangent tags: clean-os8-packs
20:22
Small tweaks to previous check-in: 7f60a6cd67 user: tangent tags: clean-os8-packs
20:17
Added list of advantages of U/W FOCAL over other FOCALs from the DECUS submission document to our supplement, and linked to it from the README.md section explaining why U/W FOCAL is the default version. check-in: 0404a184e8 user: tangent tags: clean-os8-packs
20:10
Added more info on what hardware support and corresponding software features are missing to the supplement. check-in: 51316b767f user: tangent tags: clean-os8-packs
19:16
First complete "comprehension" pass through the U/W FOCAL manual completed, and final problems fixed. (Yeah, right, "final.") check-in: 24da60990b user: tangent tags: clean-os8-packs
18:58
Added CARD?.DA references to the supplement check-in: 0ff6d3cd24 user: tangent tags: clean-os8-packs
18:48
Consolidated and expanded the new sections at the end of the supplement about missing hardware into a single section. check-in: 6a9c4be91f user: tangent tags: clean-os8-packs
18:39
Fixed another LOOK/LINK thing in the supplement check-in: 77065b8d02 user: tangent tags: clean-os8-packs
18:35
Discovered that PUNCH doesn't exist in our version of U/W FOCAL at all, so rewrote that section of the supplement and the references to it. Also rewrote the sections referencing LOOK and LINK for the same reason. check-in: d99883639e user: tangent tags: clean-os8-packs
18:27
Documented why we're giving *.FD in OPEN INPUT commands. check-in: 96c92dd0b3 user: tangent tags: clean-os8-packs
18:24
Changed the *.FC and *.TX extensions in the supplement's newly reorganized "Loading and Saving Programs" section to *.FD. *.FC is a binary FOCAL core image format, not suited for plain text. That's what *.FD is for. *.TX is also fair, but FOCAL defaults to FD, so we might as well go along with it. check-in: ea76f85801 user: tangent tags: clean-os8-packs
18:18
Reorganized all the program loading and saving material in the supplement as subsections of a top-level section, ordered them in increasing level of complexity (and probably decreasing usefulness!). Changed all the named anchors to an "ls-*" scheme: ls = loading and saving. check-in: cc21eef7b2 user: tangent tags: clean-os8-packs
17:50
Header tweaks check-in: ed9694428b user: tangent tags: clean-os8-packs
17:49
Added "Pasting Programs in from a Terminal Emulator, Part 2" section to the supplement. check-in: 78ea81fe65 user: tangent tags: clean-os8-packs
17:30
Added LIBRARY LOAD based method for loading and saving FOCAL to the supplement above the WRITE/EDIT/OPEN version, and made the prior one the "Alternative Method". check-in: 345f76e497 user: tangent tags: clean-os8-packs
17:05
Added a paragraph to the "Lowercase Input" section of the supplement noting that "o o" and similar commands do not work because U/W FOCAL is not case-insenstive in its command *arguments*. check-in: 0e41940834 user: tangent tags: clean-os8-packs
17:04
Added the "FRA Built-In Function" section to the supplement. check-in: a4b65e95e6 user: tangent tags: clean-os8-packs
17:03
Added the "PDP-12 Support" section to the supplement check-in: 3b2813f5c4 user: tangent tags: clean-os8-packs
17:03
Added the "Video Output" section to the supplement check-in: e4d01d0f59 user: tangent tags: clean-os8-packs
17:03
Added "Error Codes" section to the supplement, discussing the discrepancies between the error code tables in the manual and refcard. check-in: 57b2e6448a user: tangent tags: clean-os8-packs
16:20
More fixes to the U/W FOCAL manual check-in: 560ecb23b3 user: tangent tags: clean-os8-packs
14:42
Minor tweaks check-in: 86600fc404 user: tangent tags: clean-os8-packs
14:41
Typo fix check-in: 57450bf7aa user: tangent tags: clean-os8-packs
14:37
Reworked the new bit at the end of "Loading and Saving Programs" in the supplement to be even clearer. check-in: 5ba092d492 user: tangent tags: clean-os8-packs
14:14
Noted the CSS print attempts in the refcards intro check-in: 75a007e5e0 user: tangent tags: clean-os8-packs
14:09
The "copyright" paragraph in the refcards doc used to be at the end and thus said "above text", but that was not changed when moving it to the top of the document. Also, USA -> United States; it flows better. check-in: d20062edad user: tangent tags: clean-os8-packs
14:06
Added U/W FOCAL refcards link from the supplement. check-in: 86760085fc user: tangent tags: clean-os8-packs
00:02
Clarified and expanded upon the OPEN INPUT example. check-in: 020e3f3e77 user: poetnerd tags: clean-os8-packs
2017-10-06
12:51
Fixed up a few remnants of the brief CARD*.DA presence in the supplement check-in: 220c9a54da user: tangent tags: clean-os8-packs
11:33
Merged scanswitch serial mod fix in from trunk check-in: dce9086a45 user: tangent tags: clean-os8-packs
11:26
Removed a bunch of the init code from scanswitch.c: calling the new gpio-common module init functions instead. If nothing else, this allows scanswitch to work correctly for the serial mod cases for the first time! check-in: c5a2a1eb11 user: tangent tags: trunk
11:25
Moved more of the gpio-common module's internal init code out as public functions, and hid away some of those now only called from within the module. check-in: fc42d83843 user: tangent tags: trunk
11:01
Extracted init_pidp8i_gpio() from gpio_thread() startup so we can call it from programs that don't use the GPIO thread. check-in: 2a8b622469 user: tangent tags: trunk
09:41
A bit of messing with CSS and paragraph breaks in the new uwfocal-refcards.md file to get somewhat reasonable print output. Still not awesome, but better than it was. check-in: e365c158fb user: tangent tags: clean-os8-packs
09:13
Moved the CARD[1-4].DA material from uwfocal-manual-supp.md to a new uwfocal-refcards.md file to keep the copyrights clear, and to make printing easier. check-in: ad35229d5c user: tangent tags: clean-os8-packs
08:42
Fixed some grammar and Markdown errors in the CARD2.DA section. check-in: 4428cdf5d8 user: tangent tags: clean-os8-packs
08:38
Moved the Variables and FOCAL Statement Functions sections within the supplement down to where they appear in CARD2.DA, and explained where this section comes from. check-in: 08c0cc4ca8 user: tangent tags: clean-os8-packs
08:30
Clarified Bill's new "Loading and Saving Programs" WRITE-based ASCII file saving method in the U/W FOCAL supplement. Also moved some paragraphs that were up in this section down in the CARD2.DA section where they clearly belong, and explained the source of these CARD files in the License section. check-in: f315cb560c user: tangent tags: clean-os8-packs
05:30
Added in instructions on save/cleanup/restore of ASCII file in FOCAL. check-in: e4ead2df48 user: poetnerd tags: clean-os8-packs
04:47
Another snapshot. I added the character table, but perhaps did not need to. TODO: 1. Verify the formatting. 2. Paste in File save clues from OMSI Doc. check-in: 8cda328391 user: poetnerd tags: clean-os8-packs
03:07
Snapshot Adding more reference cards. check-in: d108c40448 user: poetnerd tags: clean-os8-packs
02:11
Snapshot. Better formatting. check-in: 9ecc8ccc67 user: poetnerd tags: clean-os8-packs
01:51
Snapshot. Check on my formatting for Error table. check-in: 5c55c2eaff user: poetnerd tags: clean-os8-packs
2017-10-05
20:32
Added DCP Disassembler to packs. Does this by default. I sort of don't like how you have to touch 3 files in 3 places to add stuff to the packs. check-in: a60baa0fb2 user: poetnerd tags: clean-os8-packs
20:05
Realized that the "&/" variable name U/W FOCAL mangles "foo" into cannot be the secret & variable because that isn't allowed by default. On further investigation, it appears to be some kind of value mangling, so fixed that discussion in the U/W FOCAL supplement. check-in: d2947f1527 user: tangent tags: clean-os8-packs
20:03
Converted install of Case conversion, chess and vtedit to file-based subset copyin from local.tu56. This structure is what would be used for the DCP16/DCP24 disassembler copyin. check-in: 7d045ed598 user: poetnerd tags: clean-os8-packs
19:55
Explained why U/W FOCAL gives an answer of "0" instead of an error from fsin(pi/2), and explained why this is a sensible answer given the historical context. check-in: a057be2ab4 user: tangent tags: clean-os8-packs
19:31
Typo fix check-in: 0fc6cbef6e user: tangent tags: clean-os8-packs
19:30
Fixed the prompt character in the previous checkin check-in: 015c2f6cbc user: tangent tags: clean-os8-packs
19:29
Added the Improvements sub-section to the "Default Output Format" section of the U/W FOCAL supplement. check-in: e12e3f1e57 user: tangent tags: clean-os8-packs
19:17
Now that we have a fully-functional version of FOCAL, updated several of the commands and outputs in the F??? sections to be actual terminal transcripts. Also added point 7 to the Formatter's Note explaining why this Markdown version of the manual doesn't show the inputs and outputs exactly the same way the original did. check-in: 3bdcd2ac8f user: tangent tags: clean-os8-packs
19:03
Added a "Default Output Format" section to the U/W FOCAL manual supplement to explain why some of the examples' outputs in the manual are not particularly nicely formatted. check-in: 00d620ff6c user: tangent tags: clean-os8-packs
18:09
Grammar tweak check-in: 23fdc81ed1 user: tangent tags: clean-os8-packs
18:08
Clarified the 3 points at the top of the U/W FOCAL manual supplement justifying its existence. The prior-numbered points 1 and 3 might have been read as the same point repeated, whereas now it's clear that we're making two distinct points. check-in: c823d49f60 user: tangent tags: clean-os8-packs
18:01
Using Unicode arrows in the "violating rule 2" transcript to make it clear that we don't expect the user to the type comment text into the terminal. check-in: 059a06d4f5 user: tangent tags: clean-os8-packs
17:59
Yet another tweak to the U/W FOCAL supplement's discussion of lowercase input. check-in: 20159fe6db user: tangent tags: clean-os8-packs
17:48
Typo fix check-in: 55436f0fa4 user: tangent tags: clean-os8-packs
17:47
Another tweak to the supplement's new lowercase input text check-in: 918c9c97a3 user: tangent tags: clean-os8-packs
17:46
Small tweak to previous check-in: 165a9dff9d user: tangent tags: clean-os8-packs
17:46
Reworked the lowercase input examples in the U/W FOCAL supplement to use the now-working PI constant. check-in: 15af913175 user: tangent tags: clean-os8-packs
17:41
Added fragment identifiers and named anchors to all of the headers in the U/W FOCAL manual supplement. check-in: a72ceb276a user: tangent tags: clean-os8-packs
17:37
Expanded the section on Lowercase Input in the U/W FOCAL manual supplement to cover some surpring new findings. Incidentally, it now serves as a "Hello, world!" tutorial. check-in: d241323118 user: tangent tags: clean-os8-packs
17:01
Better explanation of what ./configure --enable-os8-focal69 does in README.md. check-in: b72cc917cf user: tangent tags: clean-os8-packs
16:48
Reworked the configure script --*focal* options and their corresponding mkos8 options so that FOCAL 69 is disabled by default and U/W FOCAL remains enabled by default. Also added documentation for all of this to the main README.md file. check-in: 942424a30f user: tangent tags: clean-os8-packs
16:17
Added "Pasting Text in from a Terminal Emulator" section to the U/W FOCAL manual supplement. I could have put this in the Known Bugs section I just removed, but it belongs above the preexisting "Loading and Saving Programs" section, and it isn't a "bug" per se: the problem comes from the fact that U/W FOCAL is operating within the design limitations imposed by its development environment, which modern environments invalidate. The solution — if we ever do that — is therefore an enhancement to U/W FOCAL, not a bug fix. check-in: 9b0a771d74 user: tangent tags: clean-os8-packs
16:11
Removed Known Bugs section from the U/W FOCAL manual supplement: checin [d6a7c6fede] fixed the last known one. check-in: 2e8482e9fa user: tangent tags: clean-os8-packs
16:11
Added invitation to send patches to the U/W FOCAL manual supplement. This is a sideways way of preserving a named URL that would otherwise be removed in the next checkin. check-in: dd068e0950 user: tangent tags: clean-os8-packs
05:25
Removed an unreferenced named URL left by [ee437c54a9] in the U/W FOCAL manual supplement. check-in: 2dc8ce6aea user: poetnerd tags: clean-os8-packs
05:23
Since I fixed the PI bug, I deleted it from the table of known bugs. check-in: ee437c54a9 user: poetnerd tags: clean-os8-packs
05:04
Fixed FOCAL installs. They were installing way too much and overran the limits of the system directory. Only 1 file is installed for U/W FOCAL: SYS:UWF16K.SV. Only a few files are installed for FOCAL69 all into RKB0: FOCAL.BN,4WORD.BN,4KVT.BN,8KVT.BN,8KNOVT.BN Personally I favor telling people just fetch these from the focal69.tu56 DECtape image. Also tested new UWF16K.SV, and it properly initializes PI. check-in: 6456a6e06d user: poetnerd tags: clean-os8-packs
04:47
Replaced broken UWF16K.SV with one that works better. Root cause: I mis-specified the starting address when I did the SAVE action, and so UWF16K.SV was not properly initializing itself when run. check-in: d6a7c6fede user: poetnerd tags: clean-os8-packs
2017-10-04
14:25
Added Known Bugs section to the U/W FOCAL supplement. check-in: ca96147091 user: tangent tags: clean-os8-packs
09:08
Added "Trigonometric Identities" header to the U/W FOCAL Manual to separate that section visually from the preceding FTAN/FATN section check-in: 8d23660bf7 user: tangent tags: clean-os8-packs
09:05
More U/W FOCAL Manual improvements, mainly for style this time. check-in: 81dee12842 user: tangent tags: clean-os8-packs
09:02
Added "Switch Ordering" section to the U/W FOCAL Manual Supplement. check-in: 3a12df8223 user: tangent tags: clean-os8-packs
08:45
Added a section on lowercase input to the U/W FOCAL manual supplement. check-in: 51bf4b9a9d user: tangent tags: clean-os8-packs
08:09
Small tweaks to the U/W FOCAL manual supplement check-in: 88940d8a2f user: tangent tags: clean-os8-packs
07:51
Added "Starting U/W FOCAL" section to the U/W FOCAL manual supplement check-in: c0cd965249 user: tangent tags: clean-os8-packs
07:46
Added --disable-os8-focal, --disable-os8-focal69 and --disable-os8-uwfocal configure script options and corresponding mkos8 options and their implementations. check-in: be5885a806 user: tangent tags: clean-os8-packs
07:41
accidental checkin Closed-Leaf check-in: 69b3d8c9f2 user: tangent tags: bogus
07:14
Fixed the --help line for the configure script's --disable-os8-chess option: sense was backwards check-in: d04034d4aa user: tangent tags: clean-os8-packs
07:11
Renamed FOCAL TU56 images to conform to prevailing naming scheme check-in: aaf850b05d user: tangent tags: clean-os8-packs
2017-10-03
20:21
Whitespace fixes in the examples' README check-in: 753b55fad8 user: tangent tags: clean-os8-packs
20:21
More Markdown and grammar tweaks to the U/W FOCAL manual check-in: a3608589c5 user: tangent tags: clean-os8-packs
20:19
First cut at the new "U/W FOCAL Manual Supplement for the PiDP-8/I" document. check-in: a8975496f3 user: tangent tags: clean-os8-packs
2017-10-02
06:27
Removed media/os8/os8.rk05: obsolete for a month or so now on this branch. If it's still wanted for reference, it's still visible at the tip of trunk and on the release branch. After the eventual release, you can roll back to the v20170404 tag to get it. check-in: ce85b8f355 user: tangent tags: clean-os8-packs
06:11
Removed one of the Easter eggs in the U/W FOCAL manual: Fossil's Markdown renderer doesn't hide this one as other Markdown processors do. Waah. check-in: d2998f8b65 user: tangent tags: clean-os8-packs
06:10
More errors fixed in the U/W FOCAL manual check-in: 5d951709b2 user: tangent tags: clean-os8-packs
04:03
Several more U/W FOCAL manual fixes check-in: dee688ea4f user: tangent tags: clean-os8-packs
03:12
Markdown cleanup pass on doc/dcp_wu.md: hard tabs replaced with spaces, indent level fixes for numbered and bulleted lists, use of indents for literal code sections instead of <code> blocks, etc. Also did a few minor prose tweaks. check-in: 2be9e5a11b user: tangent tags: clean-os8-packs
02:18
Three DECtape images added for FOCAL Support. TODO: Tease out what kind of documentation we want to give on utilization, and decide what's going onto the packs. Recommendation: UWF16K.SV onto the packs. Everything else in docs. check-in: 1662ab9450 user: poetnerd tags: clean-os8-packs
02:11
Beginnings of adding DCP Disassembler to the packs. Put relevant files on local.tu56, and complete first draft of the DCP documentation. Similarly to the U/W FOCAL documentation, a markdown version of an existing document DCP.WU, has been created. check-in: 8acfc443ab user: poetnerd tags: clean-os8-packs
00:26
Diagnosed the "SIMH cont problem" in mkos8 and came up with a less traumatic way to re-enter OS/8 than rebooting the whole simulator without complicating the send/expect sequencing. check-in: bd610a4a17 user: tangent tags: clean-os8-packs
2017-10-01
23:49
Adds file_copyin data structure. All existing copyins get a new element that points to the file_copyin array or to None. cc8 install is now done using this method. This prepares for other copyins that are per file. Added extensive documentation of how copyins work. check-in: c14aa1561a user: poetnerd tags: clean-os8-packs
22:50
Added missing header comment check-in: ea77d77d6e user: tangent tags: clean-os8-packs
22:34
Technical merge with trunk. We already had this fix on this branch, but this checkin informs Fossil of that fact. check-in: 57e3187127 user: tangent tags: clean-os8-packs
22:31
Worked around a Jim Tcl limitation in auto.def check-in: 405ea7357f user: tangent tags: trunk
04:18
Fix a typo that caused only LCSYS.BI and LCBAS.BI to be installed. Now UCSYS.BI and UCBAS.BI will be installed. TODO: Change how this works so we can create a file-based copy-in data structure. check-in: 5f22db82fd user: poetnerd tags: clean-os8-packs
2017-09-30
21:42
Moved a bunch of the path handling from libexec/mkos8 into dirs.py. Along the way, made it possible to run mkos8 within the installation tree and have it update the installed RK05 images, not the ones in the development tree. check-in: 407cdb4014 user: tangent tags: clean-os8-packs
20:55
Added lib/mkos8/__init__.py to the "make install" file set. It should have been done when we did the dirs.py stuff. check-in: 15eb96d740 user: tangent tags: clean-os8-packs
20:48
The AUTHORS.md file still referred to tools/mkos8.in. Changed it to libexec/mkos8. check-in: bd022432a3 user: tangent tags: clean-os8-packs
20:41
Trunk changes merged in check-in: a38acc1f1f user: tangent tags: clean-os8-packs
20:34
Added Bill Cattey's ptp2txt.c to the tree, and added it to the build and installation steps, along with hard links to its txt2ptp alias. check-in: af9c5d6025 user: tangent tags: trunk
20:05
Minor cosmetic tweaks to the U/W FOCAL manual check-in: 3243002d8b user: tangent tags: clean-os8-packs
19:06
The configure script now removes the bin/os8v3d-bin.rk05 file when the set of mkos8 options changes from one run to the next. This completes the evolution started in the prior few checkins, where only substantial changes to input files or build options causes a rebild of the OS/8 media. check-in: 2d871919e4 user: tangent tags: clean-os8-packs
19:03
Put @ before new comments in Makefile.in to prevent them from echoing during the build. check-in: 7e263bdd1d user: tangent tags: clean-os8-packs
18:49
Moved the @abs_top_srcdir@ and @builddir@ stuff out of libexec/mkos8.in into lib/mkos8/dirs.py.in, which exists only to hold those directory definitions. Then reworked the make dependencies so that simply regenerating the lib/mkos8/dirs.py file no longer causes a rebuild of the OS/8 media, since by far the most likely reason for this is that auto.def or some other *.in file changed. Also removed the simulator as a make dependency of the OS/8 RK05 media, since we just need it to *exist*, not to be older than the media. Instead, we check for it before rebuilding the media, and we only do that when one of the input files for building the media change, which explicitly does not include dirs.py. There's one missing step in all of this which can cause us to miss a needed rebuild, but that will be taken care of next. check-in: 9b76afeacb user: tangent tags: clean-os8-packs
17:59
Comment fix check-in: ad33c84c4e user: tangent tags: clean-os8-packs
17:16
Reorganized the mkos8/argparser component stuff into a subdirectory structure so that we can import the whole subtree with an "import *" call, so that the upcoming modules don't all need to be named explicitly. check-in: 73cf71943e user: tangent tags: clean-os8-packs
14:54
Moved tools/mkos8.in to libexec and added it to "make install". It isn't easily usable from within the installation directory yet, but that is the plan. check-in: 47e196646c user: tangent tags: clean-os8-packs
14:20
Extracted lib/mkos8/argparser.py from main() in mkos8, an ArgumentParser subclass that simplifies its interface for the main script's purposes, primarily by hiding away the process of setting up the parser. EDIT: This step also creates the mechanism for pulling other pieces of mkos8 out as separate modules. I just happened to choose to make this the first such external component. check-in: c14164b6fd user: tangent tags: clean-os8-packs
2017-09-29
12:05
Added ASCII art "UWF" to top of U/W FOCAL manual. (Side-by-side instead of staggered vertically, since we don't need to fill the height of a letter sized page.) check-in: 2a46a2bc55 user: tangent tags: clean-os8-packs
11:23
Hard-wrapped long lines in U/W FOCAL manual and made a few other tweaks. check-in: 6163589352 user: tangent tags: clean-os8-packs
11:04
Moved formatter's note in U/W FOCAL manual from front to back, just before the copyright notices check-in: c6fb247e62 user: tangent tags: clean-os8-packs
06:51
Restored ToC (actually an "index of major topics") to the U/W FOCAL manual. Also fixed several of the named anchors to allow this to work. check-in: 88648a141b user: tangent tags: clean-os8-packs
06:04
Added ASCII table to Appendix I of the U/W FOCAL manual check-in: 9457eb33d4 user: tangent tags: clean-os8-packs
05:04
Fixed a few errors in the "Error Codes" section of the U/W FOCAL manual check-in: e3100a9be0 user: tangent tags: clean-os8-packs
2017-09-28
13:49
More U/W FOCAL manual tweaks check-in: fcfb537327 user: tangent tags: clean-os8-packs
13:48
Initial version of U/W FOCAL manual didn't have FDIN section formatted. check-in: 90043f499b user: tangent tags: clean-os8-packs
13:46
Fixed formatting problems highlit by seeing the U/W FOCAL manual in the Fossil Markdown viewer. check-in: fd3c285a3a user: tangent tags: clean-os8-packs
13:34
Added Markdown version of "U/W FOCAL Manual V4E, October 1978", being the OCR'd text from archive.org for the scanned PDF also on archive.org with errors fixed, style improved, and assorted paper -> computer screen reading tweaks, but no new material. This is the baseline from which we will create a separate PiDP-8/I FOCAL manual matching what we actually ship. There are a few known missing items before we call this "finished": the ToC and charmap sections need to be recreated. This is also likely to still have errors that need to be fixed. check-in: 21260043fb user: tangent tags: clean-os8-packs
2017-09-18
05:50
Expanded Tony Hill's AUTHORS.md entry check-in: 209e632cf9 user: tangent tags: trunk
05:41
Expanded my own entry, primarily to make clear what I did write, so as not to overclaim my contributions. check-in: a80d518798 user: tangent tags: trunk
05:40
Expanded Bill Cattey's AUTHORS.md entry to better reflect what he's been doing since he wrote that. check-in: b246817c77 user: tangent tags: trunk
05:28
Grammar and "flow" tweaks to AUTHORS.md, primarily for the web rendering. check-in: ee2ead6920 user: tangent tags: trunk
05:22
Converted the email addresses in AUTHORS.md to Markdown mailto links so the web-formatted version of this document formats nicely. Also updated Rick Murphy's entry. check-in: e3b19fd225 user: tangent tags: trunk
2017-09-16
04:43
The separate "bin" and "src" steps of mkos8 as run by make were causing the lone "bin" step's log file to be clobbered by the src step. When mkos8 is not running in -v mode, its log file is now named after the first legal action name given on the command line, giving obj/mkos8-bin.log and such. check-in: 69b961a3aa user: tangent tags: clean-os8-packs
02:34
When we changed DSK to RKB0, we broke cc8. To fix this while keeping mkos8.in as simple as possible we: 1. Change the destination of cc8.tu56 to RKB0. 2. Add commands to copy CC0.SV, CC1.SV, CC2.SV to SYS and delete them from RKB0. 3. Add a SQUISH of RKB0 to defragment the hole made by deleting the CC .SV files. Now the C Compiler works as documented in the Wiki. check-in: 2cc9ef9463 user: poetnerd tags: clean-os8-packs
2017-09-15
09:03
Merged mkos8 option naming consistency fix with respect to the configure script. check-in: 72bf7bb39a user: tangent tags: clean-os8-packs
09:02
The prior checkin missed the args.with_* and args.without_* tests. Fixed. Closed-Leaf check-in: d9be605fbb user: tangent tags: mkos8-en-dis-opt
08:59
Renamed mkos8 --with-* and --without-* optinons to --enable-* and --disable-*, respectively, to match the new restrictions on the corresponding configure script option naming. check-in: 6f385a6100 user: tangent tags: mkos8-en-dis-opt
08:43
Added apt suggestions to the help text emitted when the required Python modules are not found. check-in: 0f8bb89f56 user: tangent tags: clean-os8-packs
08:42
Added a check for Python module pkg_resources in configure, now needed by tools/mkos8 check-in: 64c8aec7e6 user: tangent tags: clean-os8-packs
08:00
Jim Tcl compatibility fix in auto.def check-in: 1472fa08b1 user: tangent tags: clean-os8-packs
07:39
Fixed a pexpect 3.x API compatibility problem in tools/mkos8 by checking the distribution's version number and doing things the old way if necessary. Currently tested only on pexpect v4.x, checking it in so we can go test on a machine with v3. check-in: 03d5f08098 user: tangent tags: clean-os8-packs
07:18
Fixed two problems with the bin/*.rk05 dependencies in the top level Makefile. First, *-src.rk05 wasn't dependent upon pidp8i-sim, so in a parallel make from a clean build tree, it could call "mkos8 src" before the simulator was built, causing a build error. Second, *-src.rk05 wasn't dependent upon *-bin.rk05, so if a parallel make chose to try and build the src RK05 first, mkos8 would internally attempt to build the bin RK05 ahead of that, during which time make could launch its own build of the bin RK05, causing a build failure as both instances of mkos8 fought over the bin RK05 image file. The strict dependency chain now defined in Makefile.in means the dependency rule between these two RK05s encoded in mkos8 is now only used when you call "mkos8 src" by hand while the bin RK05 is missing. check-in: 345cad495f user: tangent tags: clean-os8-packs
07:11
"make clean" now removes obj/mkos8.log check-in: 1879a87ed5 user: tangent tags: clean-os8-packs
07:09
"make clean" now removes bin/*rk05* check-in: b0d9bf39ba user: tangent tags: clean-os8-packs
07:07
Moved media/subsys underneath media/os8, since everything in here currently requires OS/8 in one way or another. Doing so simplifies the path name building code in tools/mkos8 considerably. It also swaps out an explanation in media/subsys/README.md for why it is outside the os8 tree for an explanation of why it's in a subdirectory of that tree, a distinct improvement. check-in: 2a4f4cec29 user: tangent tags: clean-os8-packs
2017-09-14
13:41
Comment typo fix check-in: a5ecc26447 user: tangent tags: clean-os8-packs
13:27
Added named anchors to the top-level README.md file so one can link to sections of the document. It's getting big! check-in: 2922837909 user: tangent tags: clean-os8-packs
13:19
Replaced the --disable-os8-lcmod configure script flag with --lowercase={auto,pass,upper} option which lets you control the OS/8 lowercase patches independently of the SIMH uppercase folding feature. Technically there are four possible alternatives, but two of them amount to the same thing (upper) so there are only three real choices. check-in: c941ce36b0 user: tangent tags: clean-os8-packs
12:21
The top-level Makefile now builds bin/os8v3d-src.rk05 given the fix in the prior checkin. check-in: 91078c04cc user: tangent tags: clean-os8-packs
12:16
make_src() in mkos8.in was not getting passed the parsed command line arguments, so that if it decided it needed to call make_bin(), the call would fail because it couldn't supply the needed args object. check-in: 82388c43de user: tangent tags: clean-os8-packs
2017-09-13
21:54
The install(1) commands during mediainstall were using -g @INSTGRP@ only. Added -o @INSTUSR@ so the files are not owned by root due to sudo. check-in: 54bbf978f6 user: tangent tags: clean-os8-packs
20:13
Includes batch job to patch OS/8 BASIC to cope with lower case. Two new files added to local.tu56: LCBAS.BI, UCBAS.BI they are similar to LCSYS.BI and UCSYS.BI but work on BASIC instead of the system area. mkos8.in now installs all 4 .BI batch scripts, and runs both LC batch scripts. check-in: d5c39d4421 user: poetnerd tags: clean-os8-packs
04:38
Merged autosetup update in from trunk. This also removes the --with-* and --without-* aliases for --enable-* and --disable-* options due to a conflict with the way earlier autosetups handled this, so upstream backed that feature out. In turn, I've simplified our README.md. Also now using the new @abs_top_srcdir@ feature in place of our local @ABS_TOP_SRCDIR@ hack. check-in: 9142064d76 user: tangent tags: clean-os8-packs
04:33
Added the tools/autosetup-update script for automatically updating our autosetup installation. check-in: 2d6dc7201d user: tangent tags: trunk
04:32
Updated autosetup to v0.6.7 plus the few changes made in the past week since that release. We need a change just made upstream in one of the branches, but this update really needs to be on the trunk. check-in: cf74ea6c79 user: tangent tags: trunk
2017-09-12
16:35
Removed unused function os8_send() from mkos8 script check-in: 7d497f001f user: tangent tags: clean-os8-packs
16:33
Moved the os8_kbd_delay() call down within os8_pmt_send() in mkos8 so that it happens inter-character, not just once at the start of the line of text being sent. check-in: 72de1c5535 user: tangent tags: clean-os8-packs
14:39
Merged greadlink replacement in from trunk, and doing the same for ABS_TOP_SRCDIR as we did on trunk for ABSPREFIX. check-in: a3b7b16ee5 user: tangent tags: clean-os8-packs
14:37
Replaced the use of GNU readlink with Tcl's "file normalize" function. check-in: b41a0c2f02 user: tangent tags: trunk
13:57
The "make mediainstall" target was implicitly picking up os8v3d-*.rk05 from the old output location, but now needs an explicit copy to install from bin/. check-in: 09f6d7db8d user: tangent tags: clean-os8-packs
13:51
Renamed tools/mk-os8-rk05s.in to tools/mkos8.in. The new name is much easier to type, and we don't need the name to be descriptive: we have the file's header comments and docs to explain what it does. check-in: 2e6b7338de user: tangent tags: clean-os8-packs
13:43
Added a call to "mk-os8-rk05s src" to the top-level Makefile from an "independency". There is a bug in the build script that prevents creation of bin/os8v3d-src.rk05, so it is temporarily disconnected from the dependency graph, but you can still say "make bin/os8v3d-src.rk05" to see the problem. (Some bug in the Expect sequence.) check-in: f435f0a472 user: tangent tags: clean-os8-packs
13:37
The mk-os8-rk05s script now generates *.rk05 in the bin dir, not in the media/os8 dir, since the latter contains input files; we should not be mixing inputs and outputs in the same directory. Also reworked things to allow building out-of-tree, which not coincidentally shows the value of not mixing inputs and outputs. check-in: e0173f079b user: tangent tags: clean-os8-packs
12:25
Merged in trunk changes check-in: f09a866510 user: tangent tags: clean-os8-packs
12:24
Small fix to allow tools/version to be run by Makefile when building out of tree. Also cleaned up the code a bit. check-in: c94cb7be8f user: tangent tags: trunk
11:42
Added "-os8" to all of the configure script option names that affect the flags sent to mk-os8-rk05s. This is not just bowing to Emerson's hobgoblin: it is a realization that some of these options were ambiguous in meaning outside the OS/8 RK05 build process. For example, did the old --without-cc8 option imply that the host-side CC8 compiler would also not be built? The "-os8" bit is stripped in the option names given to mk-os8-rk05s, since "OS/8" needn't be specified at that level. check-in: 8d104bd4c8 user: tangent tags: clean-os8-packs
11:15
Renamed --without-cc8 option to --without-os8-cc8, since it only applies to the OS/8 native CC8 compiler. When we this line of development eventually merges with the cc8-merge branch, we may want a --without-host-cc8 option or similar to make it not build the host-side CC8 compiler. The point is, they're separate things, and we have at least one use case where one is not desired while the other is: LCSYS.BI is a hindrance to some on the OS/8 side because they may be running programs that can't fold lowercase to uppercase and won't work without that folding. check-in: d5bd6bf808 user: tangent tags: clean-os8-packs
2017-09-11
18:06
Removed all send() delays in mk-os8-rk05s automatically inserted by pexpect. They aren't necessary. Only the OS/8 delays we've manually inserted are necessary. This takes OS/8 media build time down to about 9 seconds on my machine while still giving the same log transcript and binary media md5sum. check-in: 0453d18c2b user: tangent tags: clean-os8-packs
2017-09-10
12:09
Added "pip install pexpect" stuff to the "bosi init" step, so the "make install" step following it does not fail due to lack of pexpect in the mk-os8-rk05s step. check-in: 37735a593a user: tangent tags: clean-os8-packs
12:00
Increased the simulated terminal speed implied by the new os8_kbd_delay function in mk-os8-rk05s from the 110 bps of an ASR-33 to the 2400 bps of the more-nearly contemporaneous VT05. Since this does not actually save any build time on my machine — presumably because other I/O overheads swamp it, such as the simulated TU56 reading time — I also removed all the comments about the possibility of going even faster. We've squeezed all the juice out of this stone we can. check-in: 354fa7230b user: tangent tags: clean-os8-packs
11:42
Decreased the "sleep(0.5)" stuff in mk-os8-rk05s to a smaller constant (0.0909...) based on the data rate of an ASR-33 teletype which must be the worst-case value for keyboard input to OS/8. Testing shows this gives identical binary media to what the old constant produced. This is backed up by diffing the mk-os8-rk05s.log file produced by the two versions of this script, which differ semi-randomly in the instruction being executed by SIMH whenever it gets one of the Ctrl-E commands. This change saves about 12 seconds from a 55 second build on my machine relative to the old 2 cps behavior! check-in: 6b8ea89df4 user: tangent tags: clean-os8-packs
11:12
Captialization tweaks to mk-os8-rk05s script. check-in: b3dafeb3a1 user: tangent tags: clean-os8-packs
11:09
Missed a renaming in [68c02444fd]. check-in: 913d6316b2 user: tangent tags: clean-os8-packs
10:44
Updated the --with-* paragraph in media/subsys/README.md to reflect the prior checkin's file renamings. check-in: c60013759f user: tangent tags: clean-os8-packs
10:43
Renamed media/subsys/*.tu56 so that the file name matches the corresponding --with-* or --without-* option to the configure script. check-in: 68c02444fd user: tangent tags: clean-os8-packs
10:35
Fixed several logic inversions in the new --without-os8-lcmod option to the configure script and in the corresponding --without-lcmod option to the mk-os8-rk05s script. Also added a comment to the generated 0.script file explaining why the "set tti" option is set as it is, so the user doesn't have to RTFM to understand the option's obscure naming. check-in: c2a743654d user: tangent tags: clean-os8-packs
09:46
Improved the explanation for the --without-ba option's name. check-in: 73f33337b9 user: tangent tags: clean-os8-packs
09:39
Described all the new --with-* and --without-* options recently added to auto.def in the configure script option section of the top-level README.md file. check-in: fe765c0b5d user: tangent tags: clean-os8-packs
09:38
Apparently I can't alphabetize today... check-in: 36101b88b1 user: tangent tags: clean-os8-packs
09:36
Another alphabetization fix to auto.def check-in: 834534956a user: tangent tags: clean-os8-packs
09:16
Alphabetized the list of options in auto.def and changed tabs to spaces check-in: 326ea984c8 user: tangent tags: clean-os8-packs
08:42
Clarity pass on the media/subsys/README.md, and fixed one link check-in: 82e0f1059f user: tangent tags: clean-os8-packs
08:34
Initial version of media/subsys/README.md check-in: b51c36304b user: tangent tags: clean-os8-packs
08:08
Clarity pass on media/os8/README.md check-in: 288e5d2052 user: tangent tags: clean-os8-packs
07:51
Added description of local.tu56 to media/os8/README.md, and collected it together with the description of LICENSE.md as the new "Others" section. check-in: 2f3080c6e1 user: tangent tags: clean-os8-packs
07:44
Formatted the file name/content description lists in media/os8/README.md as a Markdown table so it formats nicely when viewed in Fossil UI. check-in: c2d4c92026 user: tangent tags: clean-os8-packs
2017-09-09
05:55
Correcting factual error: An rk05 pack has 2.5Meg, not 10 meg. check-in: 4771013619 user: poetnerd tags: clean-os8-packs
2017-09-08
21:17
Moved default device DSK from SYS to RKB0. I changed my mind about this setup after running out of space once too often by letting files get created on SYS by default. TODO: Retest the C compiler now that DSK is the other partition. We may move it. check-in: 32b685b6d1 user: poetnerd tags: clean-os8-packs
20:14
os8.rk05 had a version of LCSYS.BI that is incompatible with OS8/V3d. Indeed it does not work on this disk. Wherever it came from, it's wrong. New packs have the good, working, tested LCSYS.BI, as stored in local.tu56 check-in: 1e54026f8f user: poetnerd tags: clean-os8-packs
05:02
Added cover scan of the green-yellow 1968 edition of DEC's "Small Computer Handbook" for the PDP-8/I. check-in: e6215cb721 user: tangent tags: trunk
03:10
Renamed with-lowercase to with-lcmod. All the code that implements lcmod in auto.def, mk-os8-rk05s, 0.script is in place. The LCSYS.BI batch script runs, but is having no effect. TODO debug LCSYS.BI so that lcmod actually works. check-in: 73a45794f1 user: poetnerd tags: clean-os8-packs
01:49
Corrected typo in mk-os8-rk05s.in Checking in local.tu56 that contains locally developed files that are part of the system build process. check-in: 59b79564ee user: poetnerd tags: clean-os8-packs
01:34
This change implements --with-vtedit, --without-chess, and adds copyin of LCSYS.BI and UCSYS.BI scripts. check-in: da7d583f58 user: poetnerd tags: clean-os8-packs
00:58
mk-os-rk05s.in now has args for config pieces conditionalized on: --with-vtedit (Not yet written) to add the TECO VTEDIT stuff. --without-crt Does SET TTY SCOPE by default unless this option is set. --without-lowercase (Not yet written) Activates LCSYS.BI. (Will require conditionals in startup script.) --without-advent to disable installing ADVENT --without-chess (Not yet written) To disable default install of CHESS So advent is now part of the packs by default as is CRT mode. check-in: 72bf281ca1 user: poetnerd tags: clean-os8-packs
2017-09-07
06:56
pidp8i-sim is now a prerequisite for the OS/8 RK05 pack building process. Without this, building from a clean directory fails because the simulator doesn't exist early enough. check-in: 63233d74ba user: tangent tags: clean-os8-packs
04:28
Discovered that data files for YAHTZE and MONPLY were left out. Earlier test runs succeeded because the files were on RKB0 of booted packs, precisely where the basic programs are hard-coded to get them. New packs would fail to run these programs because the data files were never installed. Until now. check-in: 2251f49324 user: poetnerd tags: clean-os8-packs
03:12
We left out too much from system Dectape 2. Now we copy in Fortran II .RL files and .HL files. Also, as a safety measure we do "SET SYS NO INIT" before running BUILD. The default Dectape images have this state, but if we ever use this code to build with another image, we need to turn off INIT. check-in: 6aa7475e9e user: poetnerd tags: clean-os8-packs
2017-09-06
20:55
Refactored make_src. bin, src, and all seem to work. TODO: Review log output and disk contents and confirm all is well. Next up: Installing local hacks. Decision: one system rk05 with everything? Or a second one with just virginal OS8/8 v3d? check-in: 0201efadd6 user: poetnerd tags: clean-os8-packs
06:54
Snapshot: re-factoring mk-os8-rk05s to be table driven is half done. Also noticed that we overflowed the directory blocks. When we add kermit, and C we run out of directory space. So I've stopped copying in the device drivers. The ones that are resident in BUILD are probably sufficient. People who want to add them in can mount the driver tape. TODO: Write it up in the Wiki page. check-in: 9a36900e5f user: poetnerd tags: clean-os8-packs
00:37
Removed media/os8/os8v3d-*.rk05 now that we're able to recreate them at will. check-in: 421b3e2b24 user: tangent tags: clean-os8-packs
2017-09-05
11:49
Renamed a function for consistency with a paired function check-in: 96a313d8a0 user: tangent tags: clean-os8-packs
11:46
Added --without-* options to the configure script corresponding to the other *.tu56 files in the media/subsys directory, which pass similarly named options to the mk-os8-rk05s script. These all default to "off", meaning that these components are normally installed. (Technically, that's backwards: autosetup considers them boolean enabled by default options, which causes the --help message to document them as --disable-*, since that is the only form of option that causes a change in the default behavior of the configure script. You can say things like ./configure --with-cc8; it just doesn't do anything useful.) check-in: 5fcb62ab70 user: tangent tags: clean-os8-packs
11:09
Added the "./configure --with-music" option, which in turn causes the flag of the same name to be passed to the mk-os8-media script when called from the top-level Makefile. check-in: 23021c2cc5 user: tangent tags: clean-os8-packs
11:04
The mk-os8-rk05s script now runs as part of the normal build process as well as a prerequisite for the "install" and "run" targets. If any of the relevant TU56 tapes or the mk* script changes, the output is invalidated and gets rebuilt. check-in: 4d1a7ed591 user: tangent tags: clean-os8-packs
11:04
boot/0.script now boots from the new os8v3d.rk05, not the old os8.rk05. The new one is still not finished, but it will be by the time this branch is marged into the trunk, and it's convenient to be able to say "make run" to test our progress. check-in: 9df3792722 user: tangent tags: clean-os8-packs
10:31
Added --with-music option to tools/mk-os8-rk05s script. This checkin also changes pretty much every bit of code that referred to the media/os8 subdirectory, since we now need to refer also to media/subsys. Future --with and --without flags added to this script will not be so intrusive. check-in: 586526ddfe user: tangent tags: clean-os8-packs
09:39
The new mk-os8-rk05s -v flag now has an effect, causing SIMH and OS/8 output to go to the console instead of to a log file, which is now called obj/mk-os8-rk05s.log instead of log.txt at the top level. This option also suppresses most of the progress messages we added recently since the output from SIMH and/or OS/8 suffice in that case, and we don't want their outputs polluted by messages from the script in that case anyway. check-in: 66481ebd58 user: tangent tags: clean-os8-packs
09:20
Replaced the command line parser of mk-os8-rk05s with an ArgumentParser based one, which does better error checking and generates a nice usage message. It also parses an optional -v or --verbose flag, which we will do something with next. check-in: fe1d1e04f1 user: tangent tags: clean-os8-packs
08:46
Added many "print" calls to mk-os8/rk05s to show build progress. check-in: 5186973178 user: tangent tags: clean-os8-packs
08:27
Added a UTF-8 encoding hint comment to the top of tools/mk-os8-rk05s.in. Python doesn't assume UTF-8 on POSIX platforms as most other languages do, and it barfs on the non-ASCII © symbol in the new header comment without this. check-in: 235bdcc40b user: tangent tags: clean-os8-packs
08:18
Comment and whitespace improvements to mk-os8-rk05s. check-in: c5ec67be9e user: tangent tags: clean-os8-packs
08:04
Added header comment to mk-os8-rk05s, including SIMH License grant. EDIT: Received permission from William Cattey and Jonathan Trites via private email on/around 2017.09.05 to release their contributions under the SIMH license. I being the final author so far, that seals it. check-in: b63f870147 user: tangent tags: clean-os8-packs
07:59
Small tweaks to "global child" stuff in mk-os8-rk05s script check-in: 224872bb99 user: tangent tags: clean-os8-packs
07:43
Added a usage message to mk-os8-rk05s. check-in: 270d044eba user: tangent tags: clean-os8-packs
07:23
Further tweaks to the AUTHORS.md file check-in: 8db54aaaf9 user: tangent tags: clean-os8-packs
07:17
Added Jonathan Trites to the AUTHORS.md file. check-in: 27d02c6719 user: tangent tags: clean-os8-packs
07:14
Added checks for Python and pexpect to the configure process, as they are necessary to run tools/mk-os8-rk05s, which will shortly become a required part of the build sequence. It does not check for Python 2 vs Python 3, as it is not yet known to me (at least) whether this distinction matters. check-in: 4307eba025 user: tangent tags: clean-os8-packs
06:33
Simplified an unnecessary string concatenation in the generation of tools/mk-os8-rk05s. check-in: 178da96905 user: tangent tags: clean-os8-packs
06:31
Merged in "cd $prefix/share/media" fix for the pidp8i init script, which will shortly become helpful in the mk-os8-rk05s script. check-in: 90fe5ea7aa user: tangent tags: clean-os8-packs
06:30
Added a sensible-default cd $prefix/share/media to etc/pidp8i-init.in just before the "start simulator under screen" call, so that SIMH's CWD will be somewhere useful, not taking the default used by the OS's init system, which may well be something entirely unhelpful like /. check-in: 46366581f0 user: tangent tags: trunk
06:13
Merged in trunk improvements check-in: 0b7f31d043 user: tangent tags: clean-os8-packs
06:12
Made tools/mk-os8-rk05s.in executable. check-in: 050a77b879 user: tangent tags: clean-os8-packs
06:11
Typo fix in previous. check-in: 321f218fcb user: tangent tags: clean-os8-packs
06:07
Moved media/os8/make_os8_rk05s.py.in to tools/mk-os8-rk05s.in. The directory change is because it will become an automatically-run build tool, and it is not now nor will it become "media". The file name change is mainly a matter of matching existing style: dashes instead of underscores, no ".py" extension needed for one-file scripts, and historically "mk" instead of "make" on a Unix type platform. check-in: a1be47bd09 user: tangent tags: clean-os8-packs
04:53
This version of make_os8_rk05s.py.in seems to work. TODO: 1. More testing of the packs generated. 2. Check on how the system Dectape got modified. (It's probably fine.) 3. Remove the old os8v3d-bin.rk05 and os8v3d-src.rk05 images. 4. Expand the script to build a new os8.rk05 5. Dig in and find out why expect HANGS when we try to do: simh_send("cont") os8_send(anything) check-in: 5fe02ffa8f user: poetnerd tags: clean-os8-packs
02:46
First attempt at code to generate OS-8 src and bin RK05 packs from source Dectape images using a python script. Python script is hooked into auto.def to parameterize the location of the media files. check-in: 3f0511bb6d user: poetnerd tags: clean-os8-packs
2017-09-03
15:36
Updated to fix missing last character of ASCII files. check-in: 3428d2e4ca user: poetnerd tags: clean-os8-packs
2017-08-31
21:02
Corrected cosmetic problem in ROCKET.BA ROCKT1.BA TICTAC.BA and WAR.BA: last linefeed in the file was missing. Fixed the files and made a new version of the .tu56 image. check-in: e360448331 user: poetnerd tags: clean-os8-packs
2017-08-11
14:29
Removed CCBTCH.TM because it's a temporary file, unrelated to the C subsystem. check-in: 48ffb83d68 user: poetnerd tags: clean-os8-packs
00:49
Style pass on media/os8/README.md: wrapped long lines for 80 column displays; fixed capitalization of acronyms, brands, etc.; moved some long URLs to the bottom as Markdown references. check-in: 2d92dfad81 user: tangent tags: clean-os8-packs
2017-08-10
20:53
Music Subsystem. Contains source to MUSIC.PA, a program that takes .MU score files, and makes RFI noise on a physical pdp-8 to play it. Legend has it that some sites built a trivial interface that could be used instead of RFI noise. TODO: Investigate how this might run under SIMH or in the PiDP-8. See also the PiDP-8 discussion thread on this: https://groups.google.com/d/msg/pidp-8/Fo2RSfUsIwo/P14Kh5nPBwAJ check-in: d74e9f2454 user: poetnerd tags: clean-os8-packs
20:48
Dectape subsystem overlay of Kermit-12. Contains binaries from old os8.rk05 system packs. TODO: Integrate upstream Kermit-12 source and build from source into this image. check-in: 092914c957 user: poetnerd tags: clean-os8-packs
03:14
Creating directory for subsystems called "subsys" (to be easy and short to type.) First two inhabitants are: The newly cleaned up basic-games demos in basic-games.tu56 Ian Schofield's C compiler stuff unpicked from the cc8.rk05 packs. TODO: Create a mechanism to create cc-bin.tu56 from source here. (Involves scripts to do builds on OS/8 system and save new dectape data.) check-in: 4ec42ee1bf user: poetnerd tags: clean-os8-packs
2017-08-07
03:25
Updated to render more cleanly, and to give credit to van der Mark and Gesswein. check-in: acb186d7b2 user: poetnerd tags: clean-os8-packs
03:04
Added the Dectapes from vandermark.ch and the beginnings of a README.md file that says what everything is. TODO: Validate the README.md file, and add credit for vandermark.ch. check-in: 3381cd4769 user: poetnerd tags: clean-os8-packs
2017-08-06
18:25
The bosi script has been generating SHA-1 160-bit sums in the MANIFEST.txt files. Calling shasum -a 256 now to give the claimed 256-bit SHA-2 sums instead. check-in: b0c16edcfe user: tangent tags: trunk
2017-08-02
23:11
Moved examples/*-rim-loader.pal to a new asm/ top-level directory, since they aren't really "examples" per se. check-in: 505e8f1a3c user: tangent tags: trunk
18:39
Added myself. check-in: de01588443 user: poetnerd tags: trunk
2017-07-31
17:12
Adding an rk05 pack that contains complete OS/8 sources built from the OS/8 distribution tapes. MACREL and FIV source are NOT present. check-in: 0421f771e1 user: poetnerd tags: clean-os8-packs
01:53
New pristine os8v3d binary rk05 pack built from Dectape distribution. Use this to craft packs customized to different uses. check-in: 4fad196e10 user: poetnerd tags: clean-os8-packs
2017-07-30
05:43
Merged trunk changes in Closed-Leaf check-in: 5edf3ced9b user: tangent tags: cc8-merge
05:42
Updated SIMH Users' Guide link from the old 3.9 doc to the one we host as an unversioned file. check-in: d807dd7a23 user: tangent tags: trunk
04:29
Added branch naming paragraph to HACKERS.md check-in: c92201cfe0 user: tangent tags: trunk
04:22
Clarified what "fossil update" on a tag checkout would do. check-in: 018e9f92b4 user: tangent tags: trunk
04:18
Rewrote the Fossil 2.1 discussion at the top of HACKERS.md for clarity. check-in: 2f43f08b35 user: tangent tags: trunk
03:13
Removed the "sudo" bit on the "make run" target. It's helpful on the Pi for ensuring that you get real-time priority when running a test build, but on all other host platforms, it isn't needed, so it adds an unnecessary password prompt and runs the simulator with more privs that it needs. On a Pi, say "sudo make run" instead. check-in: 9ebb6a6683 user: tangent tags: trunk
2017-07-16
14:33
Merged ChangeLog.md entries in check-in: 7500e6a6f9 user: tangent tags: cc8-merge
14:33
Clarification to previous check-in: 47bf89622c user: tangent tags: trunk
14:32
Updated the ChangeLog comment for the 2015.12.15 release, which was still saying it remains the current stable version. check-in: db7fbd7fc9 user: tangent tags: trunk
01:45
Changed a bunch of "return;" lines in the CC8 cross-compiler to "return 0". It's using K&R function declarations, which means you get an implicit "int" return type, and Clang won't let you just "return" in this case. check-in: b74fa40bf2 user: tangent tags: cc8-merge
01:43
Changed the declaration of main's argv parameter for the cross-compiler from int* to char** to quiet Clang. This does mean the compiler can't be bootstrapped on OS/8 by CC8 from these sources, but according to Ian Schofield, that produces an unusably big assembly output already. Therefore, the only important compiler for this file is GCC or Clang. check-in: c5afc7544f user: tangent tags: cc8-merge
01:36
Added cc8/Makefile.in check-in: cdbe48dd2c user: tangent tags: cc8-merge
01:31
Yet another Fossil Markdown workaround check-in: d398e5cc9a user: tangent tags: cc8-merge
01:28
Another Fossil Markdown workaround check-in: 5e1c8572c1 user: tangent tags: cc8-merge
01:27
Fossil's markdown processor isn't handling some of the bold type changes we made in the RTF -> Markdown conversion. Reworked it to something it will accept. check-in: 2853cbdbe5 user: tangent tags: cc8-merge
01:26
Small tweaks to the CC8 top-level readme check-in: 5a6768982e user: tangent tags: cc8-merge
01:13
Merged in the 2017.07.08 distribution of Ian Schofield's Small-C based CC8 native and cross-compilers for the C programming language. This checkin differs in many ways from the upstream distribution so far, with more changes planned before merge into the trunk: * Converted the RTF and the Readme.txt files to Makrdown format. * Fixed some typos and grammar errors in those files flagged by LibreOffice Write. * Changed "PDP/8" to "PDP-8" and similar, to match DEC conventions. * Fixed some case inconsistencies: e.g. "N8.c", which is actually distributed as "n8.c". * Replaced the link to Vince Slyngstad's SVN checkout image to a link to the HTML page that describes it. * Moved the top-level RTF doc's Addendum up above the Conclusion as the new Preprocessor section. * Changed "hosted" to "cross" in the top-level doc, that being the more common term for this sort of C compiler, and because "hosted" has a different meaning in the C standard. * Renamed the SMC directory to "cross" for the same reason; also, this can't really be said to be a distribution of Small-C any more, with so many differences. * Qualified "native" with "OS/8" or "PDP-8", as seemed appropriate. The unqualified form could refer to the cross-compiler, since it is native to the SIMH host! * Renamed the "ccos8" subdirectory to just "os8", since this software is under a cc8 directory in the PiDP-8/I tree, with subdirectories for the CC8 cross-compiler (cc8/cross) and the CC8 OS/8 compiler (cc8/os8). * The top-level PiDP-8/I build system now builds the cross-compiler, so I removed all the other Makefiles and project files. * Moved the warning about using unix2dos into the top-level README.md, from cc8/smc/test/Readme.txt, where few would notice it. * Consolidated redundant copies of OS8.TM and libc.h into a cc8/include directory, with symlinks checked in for the benefit of the native OS/8 compiler, which would make use of relative paths annoying. (When checked out on a Windows box, the symlinks will give copies of the files, due to severe limitations in the NTFS symlink implementation.) I also renamed OS8.TM to init.pa, as this doesn't seem OS/8-specific, and it appears to be PAL assembly code, not a temporary file, that being the normal meaning of *.TM on OS/8. * Left out *.s, as they are generated files. (I did check in header.sb, as it appears hand-written.) * Renamed 7.script to boot/cc8.script and rk05.dsk to media/os8/cc8.rk05, and updated the references. * Removed the VC8 stuff from the boot script, since the current SIMH build does not include that, so it generates errors on start. check-in: 6cfe232a65 user: tangent tags: cc8-merge
2017-07-11
06:14
The configure script now checks whether -lrt is needed to use clock_gettime(). check-in: bc11dba4eb user: tangent tags: trunk
2017-07-10
19:59
Removed " IPS" from configure message reporting the chosen/set throttle value since the setting isn't always expressed in instructions per second. check-in: ee1f5fad62 user: tangent tags: trunk
2017-07-06
12:30
The bosi script now enables sshd to start on boot. We didn't have to do this before since Raspbian shipped with sshd enabled, but from November 2016 on, it's now disabled, so we have to turn it back on. check-in: ff580eaa9f user: tangent tags: trunk
2017-04-09
22:55
Updated Dylan McNamee's AUTHORS.md entry check-in: e01464a267 user: tangent tags: trunk
22:02
Merged Dylan McNamee's fixes for the alt-serial mode into trunk check-in: 8ed5b34d8b user: tangent tags: trunk
22:01
Comment and whitespace changes Closed-Leaf check-in: b326226453 user: tangent tags: alt-serial-fix
19:33
Reordered GPIO peripheral mapping in the James L-W alt-serial case. It needs to do the normal GPIO mapping before attempting the secondary one used by alt-serial, since only the primary mapping is checked. check-in: 25d6254e75 user: dylan.mcnamee tags: alt-serial-fix
2017-04-04
13:11
Merged trunk changes for v20170404 into release branch check-in: 01083a76e7 user: tangent tags: release, v20170404
13:10
Tagged release v20170404 check-in: 078e1d9324 user: tangent tags: trunk
13:08
Using `set throttle 50%` instead of trying to find an ideal IPS value for single-core hosts, and explained the reasoning behind this in README-throttle.md. check-in: 1d4b018441 user: tangent tags: trunk
11:24
"bosi prepare" now stops pidp8i-sim before starting work, so it doesn't slow the prepare process down. It will normally be running, since you do this step shortly after a reboot. check-in: 81b262dcf5 user: tangent tags: trunk
11:18
Removed the time(1) call on the "zero free space" part of "bosi prepare". Raspbian doesn't ship /bin/time (bad, bad!) and Bash's builtin version isn't available at that point, so the dd wasn't even happening! check-in: 2d11f4b37f user: tangent tags: trunk
11:13
Clarified the default throttle value on single-core Pi boards. check-in: c180d1af1a user: tangent tags: trunk
10:59
Merged trunk changes for v20170404 into release branch check-in: 47a06feed3 user: tangent tags: release
10:59
Tagged release v20170404 check-in: cc8cfe61df user: tangent tags: trunk
2017-04-03
08:53
Merged trunk changes for v20170403 into release branch check-in: 31ed8d5b96 user: tangent tags: release, v20170403
08:50
Tagged release v20170403 check-in: 948f08c86f user: tangent tags: trunk
2017-04-02
17:12
. check-in: 62187af0b1 user: tangent tags: trunk
17:04
Updated HACKERS.md for the Fossil 2.1 situation check-in: f5fe83734d user: tangent tags: trunk
16:51
URL and whitespace fixes in HACKERS.md check-in: 567d1e4219 user: tangent tags: trunk
16:39
Changed --throttle=human from running 10 instructions and sleeping for a second to running one instruction and then sleeping for 100 ms. check-in: e000553005 user: tangent tags: trunk
16:36
Reworked README-throttle.md a bit to cover the automatic disabling of ILS when a slash is given (implicitly or explicitly) in --throttle. check-in: b559e016b2 user: tangent tags: trunk
2017-04-01
23:39
Merged v20170401 back in after trunk fork fix check-in: a16d7c0eef user: tangent tags: release, v20170401
23:37
Fixed dual trunk caused by misapplying a "trunk" tag check-in: 76efa543af user: tangent tags: trunk
23:36
Fixed the palbart autodep generation output file name check-in: d15123bb7e user: tangent
23:25
Updated release branch to new v20170401 tag check-in: b1503bc948 user: tangent tags: release
23:19
Fixed a status code and quoting problem with the new Pi Zero detection code in auto.def, where it's deciding the default throttle value. check-in: b1711ead0a user: tangent
22:11
Using /dev/rdisk* for "bosi image" only in the dd steps now, not in the diskutil steps. check-in: f7159c3245 user: tangent
22:05
"bosi image" now uses /dev/rdisk* for speed check-in: f8e9405818 user: tangent
21:26
More Fossil install fixes in BOSI check-in: 01775ffa71 user: tangent
21:18
More BOSI fixes to recent changes check-in: b06bfde25a user: tangent
21:15
Small fix to previous check-in: f9d135e9e8 user: tangent
21:13
The usbmount config change in BOSI wasn't working because usbmount isn't installed by default on Raspbian; we were doing it as part of "make install". Copied that bit from Makefile.in. (Can't move it outright becasue we still need to do the right thing when the user is installing our software from source onto a fresh Raspbian system.) check-in: 762d53b7a4 user: tangent
21:09
Portability fix in the recent Fossil-from-source change to BOSI check-in: 81f6499523 user: tangent
20:57
Release process tweaks check-in: 7c65564687 user: tangent
20:36
Typo fix check-in: 6cf0ac32ad user: tangent
20:23
The colordiff part of mkrel was missing " | less " check-in: 72e15c5ecb user: tangent
20:22
Merged trunk changes for v20170401 into release branch check-in: cba0f3aa07 user: tangent tags: release
20:11
Tagged release v20170401 check-in: 5c47394f19 user: tangent tags: trunk
20:03
Another SIMH update. check-in: 7b5d3468e0 user: tangent tags: trunk
19:46
Small tweak to previous check-in: f1a2300bb3 user: tangent tags: trunk
19:34
Replaced the installation of Fossil from the Raspbian package repository with a build-from-source process so we can switch to Fossil 2.1+. check-in: 32624ed9fe user: tangent tags: trunk
19:13
Added pidp8i-test -v handler, which just gives the version string and exits. check-in: a13e82e87d user: tangent tags: trunk
18:53
The BOSI process now tells the USB automounter that FAT sticks should be world read-write, rather than read-only by all but root, as is the default. Non-FAT sticks are left alone, since presumably their filesystem permissions will let non-root users do things to them. check-in: 03346009d5 user: tangent tags: trunk
18:38
Merged "turn off LEDs on pidp8i-test exit" branch into trunk. check-in: 2703988ccd user: tangent tags: trunk
18:35
Simplified the turn_off_pidp8i_leds() implementation. Closed-Leaf check-in: 4d419abfdf user: tangent tags: turn-off-leds-on-exit
18:32
Assorted improvements to pidp8i-test shutdown handling. check-in: cb6c6de1f9 user: tangent tags: turn-off-leds-on-exit
18:22
pidp8i-test now de-initializes ncurses and turns off the front panel LEDs on Ctrl-C and normal exit. check-in: 10958ee1b3 user: tangent tags: turn-off-leds-on-exit
2017-03-31
10:50
Clarity tweak check-in: 1ab2a15d37 user: tangent tags: trunk
10:47
Typo fix check-in: 15190783f9 user: tangent tags: trunk
10:43
Merged the "overwriting the local simulator setup" stuff from the new --no-idle section of README.md in with similar information previously given later in the file into a new section that --no-idle now refers to. check-in: a943c3c122 user: tangent tags: trunk
09:58
Noted that re-configuring can fix make dependencies in the README.md file. check-in: 3126f10816 user: tangent tags: trunk
09:51
Added some "ILS" and "NLS" descriptors check-in: 59e6c3f231 user: tangent tags: trunk
09:50
Expanded the coverage of --no-idle somewhat check-in: 51c19b9240 user: tangent tags: trunk
09:44
Documented --no-idle in README.md check-in: e5ab9936a1 user: tangent tags: trunk
2017-03-30
12:39
Disabling PDP-8 CPU idling when ILS is enabled. This has always been the default for some boot/*.script files, but we need to enforce it when ILS is enabled because we need regular CPU instruction rates to make this work. Closes [c9eb5ac0144] Also added a new configure script flag, --no-idle, to allow NLS users to disable CPU idling too, if they like. The *.script files generated from *.pal are marked noidle, with no way to change it at present. CPU idling doesn't make much sense for these two (1.script and 5.script) anyway. check-in: f24edf21c1 user: tangent tags: trunk
12:15
Whitespace improvement check-in: 26c0054e0e user: tangent tags: trunk
11:46
The new PDF size change detector in the simh-update script would cause an error if the output PDF file didn't already exist. This doesn't happen here in practice at the moment, but it could happen later, either because of a "fossil clean", a new Fossil checkout, or because we've added a new DOC -> PDF conversion. check-in: d3e46c3944 user: tangent tags: trunk
11:43
Another SIMH update pass. Mostly more Coverity stuff. check-in: a351a7bfa1 user: tangent tags: trunk
11:39
The use of cmp(1) in tools/simh-update to detect PDF change wasn't doing the right thing, apparently because metadata is changing on each re-render. (e.g. timestamps, possibly GUIDs, etc.) Switched to a simple file size difference test, which should suffice for our purposes. Potentially a substantial change could slip through this way, but we'll eventually catch up if that ever does happen, since eventually some size difference will occur. check-in: 774a08c6aa user: tangent tags: trunk
11:22
Optimized the SIMH MS Word -> PDF doc conversion part of simh-update a bit: it now replaces the versions in the public unversioned file set only if the new files compare differently. check-in: f5978c5732 user: tangent tags: trunk
10:36
Changed tools/version to use 10 hex digits for the Fossil checkin ID part to match the Fossil timeline default length, to avoid confusion when telling people to match the value given here to the value on the timeline page. Not everyone will understand that 8 hex digits is more than enough to make a unique match in our small-ish repository. Also made the build depend on tools/version such that when that script file changes, it does a rebuild in case some future change like this occurs. It wasn't necessary this time because we also touched Makefile.in, but we might not always do so in the future. check-in: b68d4a68fc user: tangent tags: trunk
2017-03-26
03:43
The code matching USB-attached files to PDP-8 device name extensions wasn't checking that the extension is at the end of the file, so a file called a.pt.b would match the *.pt check. It also wasn't ignoring dotfiles, so not only would it waste a bunch of time looking at . and .., it would have mounted .foo.pt, which probably isn't what you want. Also added a bunch more debugging. check-in: fe9dec9077 user: tangent tags: trunk
03:24
Added an ifdef'd out debug message, and clarified the code a bit. No functional change. check-in: 2fa6ae6141 user: tangent tags: trunk
03:13
The file name extension generation code was chopping the extension off at one character, so that "PTP" would become *.P instead of *.PT. check-in: e7e697d41c user: tangent tags: trunk
03:00
Changed SING_STEP + DF=7 combination to mount *.rk on SIMH device RK1, the second RK05 drive. It was previously set for an RL01 drive attached to an RL8A disk controller for the PDP-8/a, which is about 8 years after the PDP-8/I, and the drives themselves are more commonly associated with PDP-11s besides. This is more period-correct, and more useful with OS/8 besides. check-in: 37e357d1c3 user: tangent tags: trunk
02:55
Tweaks to the new serial drive method strings emitted by autosetup, one of which avoids an 80 column terminal wrapping problem, and the other just a clarity tweak. check-in: e24705309e user: tangent tags: trunk
02:44
The SING_STEP + DF feature wasn't including the device type with the ATTACH command sent to SCP, which is apparently fine for paper tapes, but fails for at least RX01 floppy images. check-in: 9ac90dc409 user: tangent tags: trunk
02:25
Improved debugging output from the USB auto-attach (SING_STEP + DF) feature. check-in: 35015ee903 user: tangent tags: trunk
2017-03-24
10:42
Applied James L-W's alternative serial mod patch from the mailing list, as requested by Dylan McNamee. check-in: d1d2a2dd72 user: tangent tags: trunk
2017-03-20
02:27
More ChangeLog tweaks check-in: efee37ea76 user: tangent tags: trunk
02:25
Clarified kIPS vs MIPS in ChangeLog check-in: eb9967716e user: tangent tags: trunk
2017-03-19
08:56
Better description of the interlocked startup fix, and noted that it also affects Deeper Thought when integrated with our software via the Incandescent Thought process. check-in: c3940d0c81 user: tangent tags: trunk
08:52
Whitespace fix check-in: cac92bd242 user: tangent tags: trunk
08:05
Fixed [88fad950a3] check-in: f5c3de8341 user: tangent tags: trunk
08:05
Small fix to previous Closed-Leaf check-in: 55674b341d user: tangent tags: interlocked-gpio-start
08:01
Initial work towards fixing [88fad950a3] by adding an interlock between the new start_pidp8i_gpio_thread() wrapper and the early init stuff in gpio_thread(). Basically, instead of calling sleep(2) after creating the GPIO thread to give that thread time to start up, we play a little game with mutexes that will block the main thread if the GPIO thread isn't sufficiently initted by the time we're ready to return from our start_pidp8i_gpio_thread() call. Untested, since the work is being done on the desktop, and it only takes effect on the Pi. check-in: 1e40f7741f user: tangent tags: interlocked-gpio-start
07:35
Comment tweaks check-in: 9b11373499 user: tangent tags: trunk
07:27
Moved part of the GPIO init sequence from the top of gpio_thread() into the new start_pidp8i_gpio_thread(). (It should have been done earlier; we shouldn't have left it behind.) check-in: c0bc19013a user: tangent tags: trunk
07:08
Rearranged ChangeLog entries a bt check-in: 0ab9073dff user: tangent tags: trunk
07:06
Wrote up preliminary ChangeLog.md entries. Not yet ready to push a release, but a lot has happened since the prior release. check-in: 73f34c82d2 user: tangent tags: trunk
06:40
Disabled the DF32 device in all boot/*.script outputs, since we don't use it, and its default device name ("DF") is ambiguous with respect to a PDP-8 CPU register that's always present. check-in: 84a8e1d314 user: tangent tags: trunk
04:43
The attempt to do read-only I/O on the Raspberry Pi GPIO peripheral from the scanswitch program on the basis that we only need read-only access here falls down in reality because merely reading one of the GPIO pins fails with a segfault if you don't have the peripheral read-write mapped. This can only be classed as a bug in the GPIO peripheral driver, but we have to work with the software as we find it. check-in: 535a9561c2 user: tangent tags: trunk
04:22
The two GPIO thread start cases in pidp8i-sim and pidp8i-test weren't equivalent, so the prior checkin prevented the simulator from starting on non-Pi hosts. The difference is that pidp8i-test *must* map the GPIO periphieral into RAM to proceed, while pidp8i-sim would like to have it mapped, but it can fall back to stock SIMH behavior if it isn't present. Therefore, added a new flag to start_pidp8i_gpio_thread() to indicate whether the GPIO peripheral must map or not. Also made a similar distinction for map_peripheral(), which now understands non-exclusive mappings for use by libexec/scanswitch while another PiDP-8/I based program runs: there's no reason we can't get the switch values in this case, we just need to open the peripheral for read-only access, without locking it. Also fixed a bug introduced in [0bd33744ffb07b75]: the @VERSION@ string in the config line was accidentally replaced by its value at that time, doubtless due to hasty copy-pasting between gpio-common.c and gpio-common.c.in. check-in: d5722b7ca4 user: tangent tags: trunk
02:49
scanswitch must now link with -pthread on Linux since it linkes to gpio-common.o, which how includes the new GPIO thread start/stop routines, even though it doesn't call them. check-in: ee85a40171 user: tangent tags: trunk
02:42
Moved the start/stop GPIO thread code common to both the pidp8i-sim and pidp8i-test cases into a pair of helper routines in src/gpio-common.c.in now called by both. gpio_thread() is now module-scoped, since other modules now no longer need to know about it. check-in: 498ea766b0 user: tangent tags: trunk
01:45
The recent renaming of the top-level "os8test" target in the Makefile.in wasn't reflected into tools/simh-update.in, so the OS/8 test after a successful simh-update run wasn't running. check-in: 160dff50d7 user: tangent tags: trunk
01:43
Cleaned up GPIO thread starting and stopping code at the top of main() in src/scp.c: match local style, give less generic error message on thread start failure, and use variable names less likely to conflict with future upstream SIMH changes. check-in: b0534785eb user: tangent tags: trunk
01:34
Removed "Ian Schofield" from src/PDP8/pdp8_cpu.c license comment, since his brtval update patch has since been removed from this module. The closest rough equivalent to this is now in src/gpio-ils.c. check-in: 36f36410b9 user: tangent tags: trunk
01:30
Merged in PDP-8 DECtape fixes from SIMH upstream check-in: 7b8b53d287 user: tangent tags: trunk
01:27
Removed the negative enum value test in the prior checkins because it causes clang on macOS to complain that this can't happen. It's right, if everyone is playing ball, but since we have the assert test on unhandled cases, we don't need to squish the warning. We'll just catch it at run time via the assert() path rather than by an explicit test. check-in: 7f98b5a844 user: tangent tags: trunk
01:21
The prior checkin removed the last legitimate reason for src/scp.c to be generated by autosetup from scp.c.in: it needed the @BOOTSCRIPT@ value to build the "do $bootscript" commands. We now delegate that back to the pidp8i.c module which has a better reason to be generated from pidp8i.c.in by autosetup. check-in: ce2c9d0444 user: tangent tags: trunk
01:17
Moved all handling of awfulHackFlag into the pidp8i.c module and cleaned its handling up so that it is no longer "awful". It is now just a module global set during the brief window between when the switch handler sets it from within the PDP-8 CPU core and when SCP calls back into this module via a new pidp8i.h API that builds the command we want SCP to run for us as part of handling that front panel switch combo. For the most part, this is functionally identical to the previous implementation, except for being a lot cleaner. There are some messaging differences, and we now exhaustively handle all of the command value cases, however. check-in: 491698e049 user: tangent tags: trunk
2017-03-18
23:33
Reworked the "awful hack flag" handler in src/scp.c.in to a) eliminate the code duplication with respect to the upstream version; b) match the upstream style; c) clarify the code flow; d) add several comments and one diagnostic message. No functional change. check-in: 67498625df user: tangent tags: trunk
22:56
Rather than ifdef'ing out all the uses of the upstream sim_video module and not including it, we now build it without defining `SIM_VIDEO`, which basically turns it into a stub module that compiles quickly even on a Pi 1. We don't use it presently, but we may need it later for things like on-Pi Spacewar builds where the X-Y vector output uses the SIMH SDL video subsystem. The primary point of this change, however, is to let us remove unnecessary changes in the patch we make relative to the upstream SIMH code. check-in: a328b94dcb user: tangent tags: trunk
2017-03-13
03:51
Replaced a removal of a call to vid_close() from scp.c with an ifdef wrapper around it, to match the way we deal with the other dependencies on the sim_video module, which we don't currently use in this software distribution. check-in: c330ac3135 user: tangent tags: trunk
03:48
Merged more whitespace changes in from SIMH trunk. Mainly removal of unnecessary trailing whitespace. check-in: 5a1579564e user: tangent tags: trunk
03:17
Whitespace tweaks to reduce the size of the simh-update diff check-in: 735d9e645e user: tangent tags: trunk
03:11
Prior commit didn't include the new Git commit ID for SIMH check-in: 5fe3a7a664 user: tangent tags: trunk
03:04
Merged in upstream SIMH changes check-in: 626ce65da6 user: tangent tags: trunk
03:03
simh-update now logs the version numbers it is diffing in case it fails, since then the only way to find them short of going to github.com is to look in output.log, since they won't be substituted into Makefile.in yet. check-in: daf52cea65 user: tangent tags: trunk
02:37
Whitespace and comment tweaks to reduce unnecessary differences between our pdp8_cpu.c and the upstream version. check-in: 8e1127a7ab user: tangent tags: trunk
02:35
The simh-update script no longer tries to diff our Makefile.in against the upstraem Makefile. check-in: c5ea8b9bcb user: tangent tags: trunk
2017-02-28
06:24
The DEP switch handler wasn't ensuring that *pPC is limited to 12 bits, even though the LOAD_ADD handler did ensure it. Somehow, between these two points, PC is getting its high bits set, which causes us to deposit the SR into the wrong core memory location. This is probably just masking a bug elsewhere, but I lack the time to chase it down now. check-in: 9aa43b8c3e user: tangent tags: trunk
2017-02-13
15:36
Refinement of IB reset in START handler. Still doesn't do "return to OS/8 from ADVENT." check-in: ef27926333 user: tangent tags: trunk
15:26
More work on START handling. Still doesn't do the same thing "RUN 7600" does in the "restart OS/8 from ADVENT" test, but I need the checkin. check-in: 430c821114 user: tangent tags: trunk
14:33
Delegating much of our START handling to SIMH's cpu_reset() function, which does most of what our START handler did and more, leaving us to handle only a few other things. This should fix the "resume from ADVENT" problem. check-in: afdaf7a69b user: tangent tags: trunk
11:13
Reverted the substantive part of [6e3bab]: both versions of the code do the same thing, and the new one is just less effective. check-in: aa584d189b user: tangent tags: trunk
10:39
Further refinement of switch debugging code check-in: 75a0b4cd88 user: tangent tags: trunk
10:30
The method for loading PC from SR in L_ADD was bogus. Also improved and expanded the recently-added debugging in the flow control switch handler. check-in: 6edbabfa8a user: tangent tags: trunk
09:58
Somehow config line code to display [ils] when GPIO is built in ILS mode got lost. Restored it. check-in: 653a3ae4b1 user: tangent tags: trunk
09:28
Added debugging outputs for the CONT and START switch presses check-in: 510ceb6f50 user: tangent tags: trunk
2017-02-10
23:29
If Fossil was somehow not installed on the system or if the local checkout directory had become disassociated from its repo file, the @VERSION@ substitution into gpio-common.c would be the Fossil error, not the version string emitted by tools/version. We now catch this error and diagnose the cause in auto.def, then stop the process, so we don't produce an un-compilable C file. check-in: 0593692aec user: tangent tags: trunk
2017-02-07
07:16
Mark Pizzolato's re-jiggering of the PDP-8 CPU registers to allow the ones previously declared on the stack inside sim_instr() to be accessed via the front panel API. This branch also serves as a PiDP-8/I free version of the simulator (excepting the starting of gpio_thread() from the SCP) for comparison tests. Closed-Leaf check-in: 65b498c924 user: tangent tags: pidp8i-free-cpu
06:32
Also disabling the ILS when the user gives --throttle=$ratio check-in: a06c5c8216 user: tangent tags: trunk
06:25
Disabling ILS when you configure on a multi-core pi, but you use the --throttle=human or --throttle=trace syntaxes. check-in: 12cbcebd52 user: tangent tags: trunk
06:19
Pointing to new ILS wiki article from README.md check-in: 18835ebcdb user: tangent tags: trunk
2017-02-06
04:59
Bumped Pi Zero default throttle to 1.25 MIPS check-in: 7868817712 user: tangent tags: trunk
2017-02-05
23:20
Added the first direct support for the Pi Zero: reported as "pi0" in the configuration string, and increasing the throttle value to soak up the extra CPU speed over the Pi 1+ series. Also bumped the Pi 1+ throttle value from 666k to 850k, as related testing shows they'll do it without a whole lot of damage to the CPU idle time. check-in: f461ac3b3b user: tangent tags: trunk
20:36
Moved the top-level Makefile.in into PRECIOUS_INFILES so its Makefile output version doesn't get removed on Ctrl-C during a build. check-in: 938ba7222c user: tangent tags: trunk
20:33
Removed unnecessary @builddir@/ bits in Makefile.in, and fixed a few latent problems preventing building out-of-tree. check-in: e1ed74d733 user: tangent tags: trunk
20:16
Improved the way we determine the "pi type" tag in the configuration string. It no longer confuses several cases with "pi1+", and it can detect RPi Compute Modules. check-in: cb45538bbc user: tangent tags: trunk
04:26
Typo fix check-in: 23aeef1ced user: tangent tags: trunk
04:06
Thinko fixed in new MANIFEST.txt generation code check-in: f676159074 user: tangent tags: trunk
03:58
Assorted edits to README-throttle.md check-in: b8c55bb6b0 user: tangent tags: trunk
03:04
More selective "set -x" in bosi check-in: 4867cbfb0a user: tangent tags: trunk
03:03
Added several time(1) commands to bosi check-in: 3a91cbec62 user: tangent tags: trunk
02:48
Whitespace tweak check-in: d59d2cd37e user: tangent tags: trunk
01:55
Fixed usermod step in reorg of bosi check-in: 6a46ad4520 user: tangent tags: trunk
01:11
Merged trunk changes for v20170204 into release branch check-in: 81b7423840 user: tangent tags: release, v20170204
01:11
Tagged release v20170204 check-in: 441caf2063 user: tangent tags: trunk
01:09
The bosi step also renames the "pi" group to "pidp8i" now. check-in: 0648b11dfe user: tangent tags: trunk
01:02
Removed the "systemctl stop pidp8i" step from bosi. No longer needed with the newly reorganized bosi sequence. check-in: a09c461044 user: tangent tags: trunk
01:01
Whitespace fix check-in: 1ad5e76e5a user: tangent tags: trunk
00:51
The bosi process was doing the "rename pi to pidp8i" step after the software configure and build step, so that the user name "pi" was configured into the shipping init script and such. Split the usermod steps into two stages, rename user and set password, which now surrounds a new "build" step between "init" and "prepare". The latter is what remains of the old "reset" step. check-in: 2866116923 user: tangent tags: trunk
00:26
More bosi process simplifications check-in: 0197b1c58e user: tangent tags: trunk
00:18
The new "zero the SD card" step in "bosi image" naturally causes an end-of-device error, which was halting the image process, so it wouldn't move on to re-imaging the card. check-in: 3297ba9775 user: tangent tags: trunk
00:00
bosi now displays its usage message without the "set -x" noise at the top when you don't give any args. check-in: 090a2929c8 user: tangent tags: trunk
2017-02-04
23:58
Simplified generated MANIFEST.txt check-in: 2f3263a6e2 user: tangent tags: trunk
23:33
Now that we no longer need to report the block size for the user to copy between the "bosi shrink" and "image" steps, powering down the intermediate Pi we use to shrink the FS. check-in: b6304fb616 user: tangent tags: trunk
23:22
Another attempt at serializing the diff step during mkrel check-in: 57a4dd4d22 user: tangent tags: trunk
23:19
Merged trunk changes for v20170204 into release branch check-in: 1f9a88fb6b user: tangent tags: release
23:19
Tagged release v20170204 check-in: 0f9fa508ab user: tangent tags: trunk
22:36
Reworked the bosi process to no longer take a "blocks" value in the "image" step. Now that we're using 2G cards, we can just copy the slack space, too, and expect it to compact down nicely in the Zip step. This in turn let us get rid of the clumsy "image-nls" tag scheme, since we can just use the parameter space vacated by the vague "object" parameter. Since we've got a single-core Pi here to build images with, we don't need to pass --no-lamp-simulator to the "bosi init" step, either, the other user of the "object" parameter. This should fix the unbootable image problem we had with the last single-core OS image. check-in: e928902283 user: tangent tags: trunk
20:51
BSD portability fix to new sed command in "bosi image" step check-in: d02b80df29 user: tangent tags: trunk
20:39
Trailing slash fix in previous check-in: 0ec03e0b98 user: tangent tags: trunk
20:39
The new MANIFEST.txt file builder was using fully-qualified path names instead of the base image file name. check-in: 02536804ad user: tangent tags: trunk
20:27
More tweaks to bosi script check-in: 8e39bc558c user: tangent tags: trunk
20:23
The configure script now checks for curses.h and initscr() in libncurses. check-in: 8b50245fbe user: tangent tags: trunk
20:19
Not sure why, but the "poweroff" step in the "bosi reset" step was being done in the background, which seems to create a race condition that shows up on a Pi 1. Doing it synchronously now. check-in: 3d24b874b5 user: tangent tags: trunk
20:12
It is now possible to run "bosi reset" multiple times on a given system without restarting it. It runs to completion again. check-in: 18163cde0f user: tangent tags: trunk
20:09
The usermod step in bosi would fail when run on a cleanly-imaged SD card because the init step left the pidp8i service running. check-in: 8a51d50f79 user: tangent tags: trunk
19:56
Installing libncurses-dev in "bosi init" step, else the new test.c implementation won't build. check-in: 53a8d8bc62 user: tangent tags: trunk
19:16
greadlink fix in bosi script, affecting the "image" step check-in: 7107d33a45 user: tangent tags: trunk
18:31
mkrel wasn't pausing on the "diff check" step check-in: 95c2b9182f user: tangent tags: trunk
18:29
Merged trunk changes for v20170204 into release branch check-in: 75a0d35fc7 user: tangent tags: release
18:29
Tagged release v20170204 check-in: 9db2a1fb9c user: tangent tags: trunk
04:57
Updated the preliminary ChangeLog.md check-in: ee9931bbfb user: tangent tags: trunk
04:15
Fixed a return value type. No functional change. check-in: d1aff2925b user: tangent tags: trunk
04:13
The new ledstatus[] mechanism now works in ILS mode, tested with a slightly modified version of Deeper Thought 2. check-in: a2bd89be01 user: tangent tags: trunk
04:02
If src/deeper.c is found at configure time, it builds it against the selected GPIO module. Currently it only works when built as --no-lamp-simulator, and it requires some minor adjustments to deeper.c. check-in: e48070eaa5 user: tangent tags: trunk
03:29
Updated preliminary ChangeLog again check-in: 7e156bf4bc user: tangent tags: trunk
03:22
Reimplemented pics/schofield-brtval.c inside the R file of the same name in that directory, and holding the generated data inside the R session instead of expecting the C program's output to be written to a CSV file which we parse. Also fixed the decay constants: they were off by 10x, which threw off the length of the X axis, though the resulting data shape is the same. Also including the min and max data values in the data set. check-in: 46d6a65ece user: tangent tags: trunk
02:25
Merged test.c improvement into trunk. check-in: 4186424625 user: tangent tags: trunk
02:23
Redesigned test.c as a series of actions which can be stepped through forwards and backwards manually, resumed, and interrupted. Closed-Leaf check-in: d34eec5c0a user: tangent tags: test-ui
00:28
Small fix to previous check-in: faba0b8f12 user: tangent tags: test-ui
00:21
Restored the ledstatus[] method of directly modifying the LED states for the GPIO thread, used by test.c and others. It's implemented in terms of the new struct display mechanism on the back end, but it saves translating code. check-in: 26055a5a03 user: tangent tags: test-ui
2017-02-03
11:45
Reworked src/test.c to work with the new gpio-nls mechanism. check-in: 326a778233 user: tangent tags: trunk
11:15
Moved the indent(1) commands from the HACKERS.md file into a new script, tools/restyle. check-in: 27ab06f9c7 user: tangent tags: trunk
09:52
URL fix check-in: cd5773536c user: tangent tags: trunk
09:50
. check-in: 4a1c1bff1b user: tangent tags: trunk
09:45
Another pass at the preliminary changelog check-in: e2047330f5 user: tangent tags: trunk
09:34
Typo fix check-in: e46bcbaa43 user: tangent tags: trunk
09:31
Moved README-test.md to doc/pidp8i-test.md; same justification as previous checkins. check-in: 9d290f9b14 user: tangent tags: trunk
09:29
Moved README-OS-images.md to doc/OS-images.md for the same reason I moved the "naked Pi" article into the wiki. check-in: 4ab6f9268c user: tangent tags: trunk
09:23
Moved "naked Pi" README into the wiki. We shouldn't cheapen "README" that way; that file name should be for files everyone really should read. check-in: 603b154dc6 user: tangent tags: trunk
07:22
Added the R and C programs that generated the data behind schofield-brtval.svg, in the name of openness and replicability. check-in: c16dcde01b user: tangent tags: trunk
07:03
Ran Inkscape's "simplify" function on the data curves generated by R from the raw values output by our brtval.c program. The prior version of this graphic is technically more correct, in that there is an SVG node at each actual data point plotted, but the way SVG renderers draw this, the line isn't smooth, as it would be if we ran our data generator with more resolution. This approximation is therefore toward an ideal of correctness, not away from it. check-in: 27de285fd6 user: tangent tags: trunk
05:53
Added SVG showing Ian Schofield's ILS brightness curves check-in: ee2ce13632 user: tangent tags: trunk
03:50
Updated lamp simulator credit now that it's evolved check-in: 018660ad44 user: tangent tags: trunk
03:42
Comment clarification check-in: da051fcc07 user: tangent tags: trunk
03:24
Comment fix check-in: 40e8c5f304 user: tangent tags: trunk
2017-02-02
14:13
The bosi image step now zeroes the SD card prior to re-writing the image to it. If you were to pass a truncating size value to it, the lack of this step means you'd read a short image, then rewrite the card with the same truncated image, and not realize that it's a bad image because the rest is still there. By zeroing it, we produce a fairer test. check-in: 62df1ff915 user: tangent tags: trunk
14:05
. check-in: e5739ed70c user: tangent tags: trunk
14:03
Simplified the description of the led-counters feature in the ChangeLog check-in: e3459e04e8 user: tangent tags: trunk
13:56
Preliminary v20170202 changelog udpates check-in: f587b37166 user: tangent tags: trunk
13:31
Setting mode 755 on the file pointed to by /etc/init.d/pidp8i, so normal users can run it. Nothing in that file now requires root privs, except for the swap file restoration stuff. (You still can't run it via systemd, though.) check-in: 81d545a203 user: tangent tags: trunk
12:52
Merged led-counters branch into trunk. check-in: cc79b18af6 user: tangent tags: trunk
12:48
Grammar and spelling fix check-in: 0a4a9ac025 user: tangent tags: trunk
12:42
Lowered the default throttle value for single-core Pi boards based on testing the current led-counters branch on a Pi 1 B+. It runs fine at ~2x PDP-8/I speed (666k) and refused to accept a throttle value of 750k, so the prior 4x default (1332k) was definitely out, even if we assume the prior code was a lot faster; it certainly wasn't 2x faster! check-in: e8f9a47e1e user: tangent tags: trunk
12:26
Merged doc changes in from trunk Closed-Leaf check-in: 9deccc8da2 user: tangent tags: led-counters
11:53
Tweaks to the HACKERS.md file check-in: 60df1ee2ef user: tangent tags: trunk
11:34
Added software rebuild section to "nekkid" guide check-in: 692fb38251 user: tangent tags: trunk
11:23
Referring to new README-nekkid.md from README-OS-images.md check-in: a9a68b59ba user: tangent tags: trunk
11:19
Added README-nekkid.md: How to Run a Nekkid PiDP-8/I check-in: b41872f252 user: tangent tags: trunk
09:56
Resetting ILS state when re-entering simulator from Ctrl-E in case the user gave a SET THROTTLE command that throws off our timing. check-in: b68c3d6fe5 user: tangent tags: led-counters
09:28
Merged trunk changes in check-in: bc6ee9e0a0 user: tangent tags: led-counters
09:19
Reworked the text of README-OS-images.md to work both standalone as an element of the zip file and as a separate web page. check-in: 85cf708bee user: tangent tags: trunk
09:17
Changed the name of the new manifest file to MANIFEST.txt check-in: 6f517a3def user: tangent tags: trunk
08:45
First cut at MANIFEST.TXT and README.md additions for OS image zip files check-in: c107f037bf user: tangent tags: trunk
2017-02-01
19:59
Fixed ignore-glob rule for new doc/simh/*.pdf check-in: de33b39891 user: tangent tags: trunk
19:53
Merged in trunk changes check-in: e2113929e3 user: tangent tags: led-counters
19:52
Updated SIMH again. Nothing important for us. Did it only because it was "free" with the DOC to PDF feature, just completed. check-in: 830c1e5ac1 user: tangent tags: trunk
19:48
Instead of copying *.doc from upstream Git dir into our unversioned doc/simh dir, we now convert them to PDFs via LibreOffice. check-in: 339956296f user: tangent tags: trunk
19:40
Added a check for "git worktree" to the simh-update tool. check-in: 623514fac0 user: tangent tags: trunk
07:30
Updating the software SR from the SR switches on each iteration was costing us 0.3 MIPS on a Pi 3 when unthrottled. Switched to a slightly more complex method that gets this update out of the fast code path. check-in: 431f01b007 user: tangent tags: led-counters
06:30
Changed the ILS update loop's innermost timing to increase the brightness level of the LEDs. Not sure if this will have bad side effects, but it seems correct. Closes [24b8b302df] check-in: 3d7e5c65fa user: tangent tags: led-counters
06:29
Added another ifdef'd out debugging block check-in: e2211144c6 user: tangent tags: led-counters
06:08
Restored freeze-on-Ctrl-E behavior. The display swapper was making the display go dark because it didn't know the display update code was no longer running. check-in: 4ab28b87ed user: tangent tags: led-counters
05:42
Style tweak; no functional change check-in: 9622d581af user: tangent tags: led-counters
05:12
Fixed several related problems in handling the display during STOP or SING_INST mode. check-in: 2751a38a8b user: tangent tags: led-counters
05:03
Added another ifdef'd-out debugging block check-in: 79552ec8bc user: tangent tags: led-counters
02:57
Added an ifdef'd-out block of debugging code for the NLS handler used by the ILS code in single-instruction or STOP mode to debug this "display goes blank on STOP" bug. (Answer: because all the regs go to 0! But checking it in ahead of the bug fix, because it's a separate thing.) check-in: ced432330c user: tangent tags: led-counters
00:54
Updated license statement for the design files, following resolution of the discussion on the mailing list. check-in: ca367870ce user: tangent tags: trunk
2017-01-31
18:23
Added a section on the PiDP-8/I KiCad design files to the COPYING.md file. check-in: 180f3219d1 user: tangent tags: trunk
18:16
Added KiCad and FreeRouting design files, and moved the PDF schematic into that directory. Same "no copyright" declaration applies. check-in: 8d2fea0dac user: tangent tags: trunk
18:08
Renamed the "schematics" directory to "hardware", as we're about to put non-schematic hardware design files in there. check-in: 2f7112d379 user: tangent tags: trunk
18:02
Added PDP-8/I panel schematic converted from KiCad to PDF by Tony Hill. "No copyright" declared here: https://groups.google.com/d/msg/pidp-8/bcIH9uEB_kU/twnJbJqzDAAJ check-in: 17956f5b69 user: tangent tags: trunk
16:11
No longer clearing MA, MB, and IR on simulator startup. The real hardware did not do that. Closes [008cae890c]. check-in: 8446075dd3 user: tangent tags: led-counters
16:03
Merged SR fix in from trunk check-in: 0b975fd395 user: tangent tags: led-counters
16:02
The simulator now loads its internal SR register with the known values from switchstatus[] on every CPU iteration. Closes [fad3ad73ea]. See that ticket for the reasons it is important to do it every time, instead of only when we get an OSR instruction. check-in: 287c3a70af user: tangent tags: trunk
04:44
Fixed the known problems with resume from SING_INST and STOP modes. check-in: 3491b728b9 user: tangent tags: led-counters
04:38
Put a set_pidp8i_leds() call back in that we can't live without. check-in: 2fb8ef03e5 user: tangent tags: led-counters
03:52
Merged trunk changes check-in: 8c1249888c user: tangent tags: led-counters
03:51
Found a simpler solution for exporting the state of the SING_INST and STOP switches to the modules that care about it, outside the pidp8i module that sets these flags. check-in: de7371eaf2 user: tangent tags: led-counters
03:47
Fixed a problem with "make clean" check-in: 7a6a81338f user: tangent tags: trunk
02:32
Comment typo fixes check-in: 7b7d1cac29 user: tangent tags: led-counters
02:27
Fixed a race condition in the code to update the displays' stopped and single-instruction flags. check-in: e487dc9f5b user: tangent tags: led-counters
02:16
Simplified the logic for handling CONT switch presses. check-in: d148d91048 user: tangent tags: led-counters
2017-01-30
14:38
Restored the upstream SIMH cpu_astop feature per feedback on GitHub issue #387 check-in: 07063bafef user: tangent tags: trunk
14:25
Merged trunk chages check-in: bff1c653ea user: tangent tags: led-counters
14:24
Moved the new "run" target down in the Makefile so it's alphabetized with the other major top-level targets. check-in: dc70b66f34 user: tangent tags: trunk
14:23
Renamed the `os8test` target to `run` and added a `sudo` prefix to it. check-in: 5aa467c9f7 user: tangent tags: trunk
12:08
Merged trunk changes check-in: 83efc25f99 user: tangent tags: led-counters
12:07
Another fix to single instruction flag handling check-in: eaaa40a201 user: tangent tags: led-counters
12:05
Merged in upstream SIMH OSR fix and v3 front panel API update check-in: c83f288279 user: tangent tags: trunk
11:45
Squished some needless log noise from simh-update in the "rename *.in files" step. check-in: 0f65d0cf98 user: tangent tags: trunk
11:39
Comment improvement check-in: 5cff0b8c4d user: tangent tags: trunk
11:38
Fixed up some unnecessary differences between our fork of SIMH's PDP-8 simulator and the upstream Git version we most recently sync'd with. The only functional difference is that our version would ignore SIMH breakpoints. I can't see why we'd want that: if someone sets a SIMH breakpoint, of *course* it should drop into the sim> prompt, even if this isn't period-correct. The user started the anachronistic behavior by setting the breakpoint. check-in: 5bf7e2f748 user: tangent tags: trunk
10:32
Function inlining tweaks check-in: e58eec8ec9 user: tangent tags: led-counters
10:27
Prior checkin missed changes to src/PDP8/pidp8i.c.in. check-in: 895b7901e2 user: tangent tags: led-counters
10:08
Added another flag to struct display for SING_INST mode, since that also needs to force ILS into NLS mode until we're back to free-running mode. check-in: f48aa42624 user: tangent tags: led-counters
2017-01-29
20:00
Small adjustments to the IPS estimator in the PiDP-8/I CPU core check-in: bafe1d7a24 user: tangent tags: led-counters
19:59
Fixed a variable reference bug accidentally checked in. (Was fixed in the non-*.in file.) check-in: 33dad00a07 user: tangent tags: led-counters
19:48
Fixed another bug in ms_time(), this time an incorrect cast. check-in: db5b67aab6 user: tangent tags: led-counters
19:38
Our ms_time() function had its arithmetic backwards, so it wasn't returning milliseconds since the epoch at all! check-in: 698cc94e03 user: tangent tags: led-counters
19:14
Improved initial IPS estimation to avoid slow ramping LED brightness with heavily-throttled simulators. (e.g. 5.script.) check-in: bb93e9e435 user: tangent tags: led-counters
17:01
More fixes to LED states in STOP mode check-in: 0cac226e2e user: tangent tags: led-counters
16:53
Bug fix to previous. check-in: 04ebaebd34 user: tangent tags: led-counters
16:52
The Stop LED now turns off in STOP mode. The recent optimizations removing unnecessary set_pidp8i_leds dropped this case. It's better to special-case it rather than put this big old loop call back in for this one LED. check-in: 2d74c78cbb user: tangent tags: led-counters
16:31
Renamed "blink" functions to gpio_*. They do more than blink LEDs. :) check-in: 943ab5685c user: tangent tags: led-counters
16:24
Added a missing "extern". (C doesn't care, but I do.) check-in: a202a098f4 user: tangent tags: led-counters
16:24
Hid some unnecessary exported functions that we no longer use between modules. check-in: 5fa5c2ecb0 user: tangent tags: led-counters
16:13
Moved the "skip early" stuff at the top of set_pidp8i_leds() out into the PDP-8 simulator CPU main loop, which calls that function. Testing shows that this function call costs ~1.0 MIPS all by itself! check-in: 29dd841b8d user: tangent tags: led-counters
14:58
First cut at abstracting the simple "update panel LEDs" loop for use by NLS full time and ILS while the processor is in STOP mode. The display structure now contains current-state bitfields like the traditional ledstate[] values, which this new combined routine uses. check-in: e75894b4ec user: tangent tags: led-counters
14:35
ILS had half-implemented code to show Fetch and Execute at 50% brightness because they're each only on half the instruction time; tied this loose string. check-in: 7048ce0ac9 user: tangent tags: led-counters
12:48
Slowed the incandescent lamp decay down some. More lampy, less snappy. check-in: f177d85566 user: tangent tags: led-counters
12:32
Refined the "skip out early" stuff at the top of set_pidp8i_leds(), reducing updates per second according to prior front panel update rate reduction and adding dithering. check-in: 21a9bf10e3 user: tangent tags: led-counters
12:30
Reduced front panel update rate from ~400 times per second to ~100. No point going faster. check-in: 8527d866b2 user: tangent tags: led-counters
10:58
Fixed a divide-by-zero bug in the new brightness calculation code in the ILS GPIO module. check-in: 040a22530f user: tangent tags: led-counters
10:54
Merged --debug-mode build fix from trunk check-in: b55caeacce user: tangent tags: led-counters
10:53
Moved -D_GNU_SOURCE back into default CFLAGS definition. We were skipping it in --debug-mode, which broke the SIMH build, but this flag should be harmless everywhere we care to build. If not, we need to handle it differently in auto.def than like this. check-in: dc5c74bf30 user: tangent tags: trunk
10:47
Merged in some of the recent trunk changes check-in: bd3972a6a9 user: tangent tags: led-counters
10:45
Restored the dynamic "leave early" mechanism at the top of set_pidp8i_leds(). This restores ~8 MIPS operation on my Pi 3, and I think we can get away with it now that we're calculating LED brightness based on an aggregate history. This checkin greatly decimates that value, but before, we were doing single- instruction sampling. We may have to adjust the decimation value, but even a bit of decimation should help a lot. check-in: 5940370e0c user: tangent tags: led-counters
10:42
Fixed a portability problem in the Makefile.in clean target that prevented it from running correctly on Raspbian, where they use dash as /bin/sh check-in: 511c920e73 user: tangent tags: trunk
09:59
Made the Execute, Pause, and Fetch LED bumping steps part of set_pidp8i_leds(), and calling that only once per CPU instruction. check-in: 5b0dbc1989 user: tangent tags: led-counters
08:52
I've convinced myself that the only place we need an atomic operation in the new "struct display" mechanism is in the pointer swap, so replaced the rest of the uses of __atomic*() with simple C code, and explained the reason it can be that way in extensive comments. check-in: af7a539f6a user: tangent tags: led-counters
08:18
ILS version now mostly works with the new LED "on" count mechanism. It's a little flickery, but it takes a *lot* less CPU than before! check-in: 8ac46a0ea8 user: tangent tags: led-counters
06:35
Merged GPIO init switchstatus race condition fix in from trunk check-in: 19f4225eef user: tangent tags: led-counters
06:28
Whitespace fix check-in: dc3dfe4e6d user: tangent tags: trunk
06:26
Fixed a race condition in the switchstatus[] setup sequence, where a slow-to-start blink_core() implementation wouldn't read in the switch values early enough, leaving the array set to all-zeroes, which means "all switches closed," which the simulator sees as including SING_INST + SING_STEP + STOP == shutdown! Also dropped one indent level in blink() by returning early from the function when the GPIO memory mapping doesn't happen instead of skipping the bulk of it by wrapping it in an if block. check-in: a36dc13209 user: tangent tags: trunk
05:02
The display no longer either flashes all-on or goes dark at startup and in STOP mode. check-in: c680f47cdb user: tangent tags: led-counters
04:59
Minor cleanups to the AUTHORS.md file check-in: be9028fdad user: tangent tags: trunk
03:24
Whitespace fix check-in: 5792f6806b user: tangent tags: led-counters
03:17
Wrapped the LED "on" count array in a struct to make the pointer arithmetic easier to read. It's still triple indirection, but indirection through a struct pointer can use the arrow operator, whereas a pointer to an array makes it unclear which level you're at at any given instant. check-in: dbd65e379b user: tangent tags: led-counters
02:33
Merged in trunk changes check-in: 2654e16a29 user: tangent tags: led-counters
02:32
Changed the "i" prefix from tools/version when not running a release version to use "id[$id]". The "i" blended into the lowercase checkin ID hex. check-in: 434a7d1357 user: tangent tags: trunk
02:30
Merged cscope feature into trunk check-in: 6147bb046f user: tangent tags: trunk
02:15
Added cscope detection, and calling it from "make tags" if available check-in: da1ca9afb9 user: tangent tags: led-counters
00:12
Neglected to mark a few of the bump_*() functions inline. check-in: 384720b888 user: tangent tags: led-counters
2017-01-28
12:39
First attempt at taking the simple bitfields used for communicating register values between the PDP-8 CPU instruction execution loop and the PiDP-8/I front panel GPIO thread and switching them to a 2D array of LED "on" counts, allowing us to accuractely calculate the brightness of the LED at that time. This code builds on macOS, but it has yet to be tested on the Pi, which is part of why this is being checked in on a branch. The other reason is that we're pretty sure it's going to take at least one more checkin to turn this into something we can ship. check-in: 66a2818a47 user: tangent tags: led-counters
11:51
Merged instruction type arithmetic optimization into trunk check-in: c784492bcb user: tangent tags: trunk
11:51
Duplicate line removal fix for [329266] Closed-Leaf check-in: 49c1c5057f user: tangent tags: inst-type-arithmetic-optimization
11:46
Whitespace tweaks check-in: dd2b5114a9 user: tangent tags: inst-type-arithmetic-optimization
11:44
Whitespace fix check-in: e685dd011b user: tangent tags: inst-type-arithmetic-optimization
11:40
Optimized the arithmetic for decoding the instruction type LEDs to turn on from the IR value. check-in: 329266d283 user: tangent tags: inst-type-arithmetic-optimization
10:15
Marked the Makefile as "precious" so that if you Ctrl-C out of a 'make' during which Makefile was re-generated from Makefile.in, GNU make won't remove Makefile as it normally does for outputs resulting from an interrupted make. check-in: 44dc191fbe user: tangent tags: trunk
10:13
Merged recent "set LEDs" code path cleanups. check-in: c635530705 user: tangent tags: trunk
10:08
The optimization to reduce the number of calls to set_pidp8i_leds() caused the Run light to remain on during STOP state. Closed-Leaf check-in: 95d2f8feda user: tangent tags: set-leds-cleanup
09:58
The NCOLS etc checkin didn't include the gpio-ils.c changes, since we're not building it here. check-in: 0d8c9fe67c user: tangent tags: set-leds-cleanup
09:53
Reworked the set_pidp8i_leds() calls so that there are now only two of them, one at init time outside the CPU dispatch loop, and once down at the very end before we fetch the next instruction. The manipulation of the pause, execute, and fetch LEDs now happens via separate dedicated functions, so we're not flashing the whole panel several times per PDP-8 instruction. check-in: c342062fc7 user: tangent tags: set-leds-cleanup
09:37
Moved NCOLS, NROWS, and NLEDROWS constants out of gpio-common.c.in into its header file so we don't need to export the corresponding integers. This has the nice side benefit that we can now use these values in places where C only allows constant expressions, getting rid of the recently-added malloc() for the temp copy of the LED values. check-in: aaad3f7b35 user: tangent tags: set-leds-cleanup
2017-01-26
02:09
Several adjustments to set_pidp8i_leds() calls. The main practical improvement is that we can now see execute state on the front panel. It was in that state too briefly before it got reset to fetch. check-in: 3c2086101e user: tangent tags: trunk
01:44
Removed the code that skips updating the global ledstatus[] values from the PDP-8 CPU core based on the human PoV limit. Because the GPIO thread runs asynchronously with it and has its own timing, these two high-jitter timing loops created a messy beat frequency on the front panel, which you could see in a tight KSF ; JMP .-1 loop, as OS/8 does when idle, waiting for a key. This mechanism came to us in the merger of the common parts of ILS and NLS, and ILS only needed it when it was modifying the LED brightness values values in the SIMH thread instead of in the GPIO thread as it does now. The only argument for continuing to do this — and for also doing it for NLS — is that it avoids a bunch of recalculation that the human couldn't see, but that is only true if the GPIO thread is able to stochastically sample the LED states so that even with the asynchronous jitter going on, a tight loop like the above eventually blurs together to a nice 50/50 mix of the two instructions' LED states, especially under the ILS. Ultimately, any attention paid to the human PoV limit has to be over in the GPIO thread. check-in: 61ce7d6852 user: tangent tags: trunk
01:08
Comment fix check-in: ec527293eb user: tangent tags: trunk
2017-01-25
23:34
Removed simh_breakpoints.doc mirror from web site. Not as helpful for our audience as I'd assumed. check-in: c41799802c user: tangent tags: trunk
13:57
More improvements to make distclean check-in: b8580cf355 user: tangent tags: trunk
13:50
make distclean now removes the recently-added Makefile.in outputs check-in: bf4f33e7b2 user: tangent tags: trunk
11:28
Added redirecting Makefiles to the examples, src, and src/PDP8 subdirectories so that those who like to work on source code from within those trees can "make" from there, too. These Makefiles purposely redirect only top level "build the software" type targets, leaving out "run the system" or "install the system" type targets, which must be run from the top level. These intermediate Makefiles also don't try to do anything special for individual targets. So, there is no way to rebuild, say, a single example from the examples subdirectory. This is not a recursive make system, where the top level delegates to the subdirectories, on purpose. (Google the problems with recursive make if you don't know why.) check-in: 2eabd33b3f user: tangent tags: trunk
2017-01-24
04:16
Decided I don't want to ship a copy of simh_magtape.doc after all. Too esoteric for my site's front page. check-in: 35f3b83731 user: tangent tags: trunk
04:02
Merged trunk changes for v20170123 into release branch check-in: 7bf9c608cf user: tangent tags: release, v20170123
03:57
Tagged release v20170123 check-in: 74a49556f8 user: tangent tags: trunk
03:49
tools/version now uses `i` as the Fossil checkin "ID" tag to distinguish from `v` for release version numbers. `r` is basically a throwback to my svn days, and was being used only because it's not a hex number. check-in: a6281ce72b user: tangent tags: trunk
03:23
Whitespace fix to previous check-in: 9630c41762 user: tangent tags: trunk
03:18
Dropped the [fp] tag from the GPIO configuration line since I've given up on the integer math approximation idea for the ILS feature. check-in: 37a7865535 user: tangent tags: trunk
02:18
Updated SIMH to latest version and modified the SIMH update script to copy a subset of the SIMH docs to doc/simh/*.doc and sync them up to tangentsoft.com/pidp8i as unversioned files. check-in: d8536d9169 user: tangent tags: trunk
2017-01-23
03:50
The ILS decay function is now asymmetric to try and better mimic the behavior or real incandescent lamps, which turn on nearly instantly but take a few seconds to fade out to zero brightness. check-in: 04842216c5 user: tangent tags: trunk
03:32
Flipped this branch back to integer math for others to play with, even though we've abandoned the idea. We're using somewhat different constants here based on experimentation done in the meantime. Closed-Leaf check-in: a9940bb04f user: tangent tags: int-math-ils
02:19
Dropped "version" from the config line. It's about to start wrapping, and it's pretty clear that what follows that tag is a version string. check-in: 49cd065c4e user: tangent tags: trunk
02:17
Merged int-math-ils branch back in even though the stated purpose of the branch was a failure, since the new code does at least move knowledge of brtval out of the pidp8i.c module and into gpio-ils.c, so that all ILS code is now in that one module. check-in: 5c46b0cc5e user: tangent tags: trunk
02:15
Returned brightness math to FP, as the integer approximation had only a few percent CPU improvement by top(1)'s measure, not enough to pay for the increased difficulty of understanding. Closed-Leaf check-in: 2015c958b0 user: tangent tags: int-math-ils
01:49
Experimental try for integer math approximation in the ILS feature. This also merges the brightness value calculation into gpio-ils.c and removes the ILS-specific call rate code in set_pidp8i_leds(), since I realized that the required update rate was simply to make the call rate equal the iteration rate of blink_core() over in the GPIO module! That is, we were trying to synchronize two functions in two threads, even though they had no reason to communicate. This change also effectively returns the ILS module to receiving ledstatus[] as its LED value input, rather than brtval. This should mean we can link pidp8i-test and Deeper Thought 2 against the ILS module, once we've proven out the feature. check-in: 87e9a944ef user: tangent tags: int-math-ils
00:03
set_pidp8i_leds() now flashes the new LED values over in a single memcpy() call instead of setting one row at a time over the course of the bulk of the function in case this makes the display a bit more consistent. This is my concession to not having a mutex guarding this inter-thread data. check-in: f66b463d99 user: tangent tags: trunk
2017-01-22
23:41
The new method of calculating the number of times set_pidp8i_leds() should skip out early wasn't quite right. Now it gives more or less the same effect as the version prior to the change. check-in: 149b149a57 user: tangent tags: trunk
22:22
tools/mmake now passes its args onto the child make(1) process check-in: ae4562fcf0 user: tangent tags: trunk
22:12
Updating our estimate of the proper skip count in set_pidp8i_leds() in order to give an LED value update rate of ~100 updates per second, roughly equal to the human PoV limit. The prior method used a hardcoded value which means on really fast Pis we're updating more often than we need to, and when the PDP-8 simulator is throttled down (such as for a blinkenlights demo) we were updating way too slowly. As proof of concept, the ac-mq-blinker example now runs at less than 1/10 the speed it used to, yet it looks vastly better than before. Closes [28d33e9046]. check-in: 1da4ee0590 user: tangent tags: trunk
19:47
tools/mkbootscript was attempting to sort the core addresses in its boot/*.script outputs, but it was using the default sort ordering, which in Perl happens to be string ordering, not numeric ordering as we were blindly assuming, and that gives odd results with some scripts. Fixed. check-in: 3c3643f325 user: tangent tags: trunk
19:41
The mechanism for generating *.lst, *.pt, and *.script files from examples/*.pal is now fully general, meaning that you can now drop any *.pal file into the examples directory and get all of those outputs with a "make" command. check-in: 28593391e9 user: tangent tags: trunk
19:28
The tools/version script now knows how to parse the version string from the release branch's checkin comment, as formatted by tools/mkrel. check-in: da1648c824 user: tangent tags: trunk
19:07
Small fix to the new LED driver module for the no-lamp-simulator case. Also simplified the way the selection made during configuration is built into the files generated from *.in. check-in: 358bc98bd1 user: tangent tags: trunk
18:39
Added messages to the configure script telling which way it configured the GPIO module. check-in: 4d94f6269c user: tangent tags: trunk
18:36
Renamed SERIALSETUP to PCB_SERIAL_MOD check-in: f7397a5796 user: tangent tags: trunk
18:33
Fixed several bugs in the new configuration message builder check-in: 8278e527a7 user: tangent tags: trunk
18:09
Updated the release process to track the move from the no-lamp-simulator branch method of selecting the build type to ./configure --no-lamp-simulator. check-in: f7cc1f3a93 user: tangent tags: trunk
17:53
The configure script no longer errors out when run on a single-core host if "brtval" is found in src/gpio.c. Instead, we simply behave as if --no-lamp-simulator was given. The only way to get the incandescent lamp simulator is to not give that configure option and to run it on a multi-core host. check-in: 2884daa90c user: tangent tags: trunk
17:34
The recent refactoring of the GPIO module allows us to replace the current no-lamp-simulator and nls-test branch system with a configure script option, --no-lamp-simulator. It simply selects whether gpio-nls.o or gpio-ils.o is linked into pidp8i-sim. With this change, we've added either an [ils] or [nls] tag to the configuration string emitted by the GPIO module. Closes [e06f8ae936]. check-in: f85aed2fc3 user: tangent tags: trunk
17:12
Restored the prior printfs() and such from the top of blink() as a new single-line version and configuration message modeled on Erlang's emulator info statement. check-in: 8f068cd978 user: tangent tags: trunk
17:09
Extracted the elements common to both gpio.c and gpio-nls.c as gpio-common.c and renamed what's left of gpio.c to gpio-ils.c. The gpio-common.c module does all the common elements, then calls into blink_core(), now implemented twice in gpio-[in]ls.c, only one of which is linked into any given program. check-in: 1769197e50 user: tangent tags: trunk
02:25
Merged the diffs between v20170116 and the tip-of-trunk into the no-lamp-simulator branch, changing some of it to fit with the intent of that branch, then checked it into this new nls-test branch because we're not yet ready to bag and tag the next release. This branch might not be temporary. We might need to do one of these partial merges prior to a release again later. Now we'll have a place to do it. Closed-Leaf check-in: 6257ba80fa user: tangent tags: nls-next, nls-test
01:53
Replaced the magic integers passed to set_pidp8i_leds() sTT parameter with an enum, and removed the explanatory comments on each call now that the call is self-explanatory. check-in: 34eeaeed23 user: tangent tags: trunk
2017-01-21
18:45
If INSTUSR is "root" during the configure step (say, because you've run it as "sudo ./configure") it will now error out rather than generate init scripts and such that we know are wrong. This can happen by accident, such as whenever you touch a *.in file that causes an autoreconfig; if done while sudo'd for some reason, you get this effect. This is fixing a real occurence, not a purely theoretical problem. check-in: 1f7c6b2d7b user: tangent tags: trunk
18:39
When you give ./configure --debug-mode, it skips the checks for the -f optimization flags to the compiler. check-in: 4b728a7da2 user: tangent tags: trunk
17:46
make now reconfigures and rebuilds when any of the files produced from *.in are removed. Previously, only a change to *.in would cause this. This checkin also does a better job of removing such files on "make clean", so that "make clean && mmake" does a complete rebuild without getting stuck, requiring a manual ./configure. check-in: 008c4881a6 user: tangent tags: trunk
15:52
Fixed a couple of problems in the way SING INST and CONT were handled. These are related because in the old way of doing things, these two switches had a kind of lock-step operation that tried to split instruction execution over two separate passes of the PDP-8 sim's CPU instruction decoding loop. Now these two switches are handled more or less the same way as all the others, in a single cycle of the instruction loop. With the prior scheme, while the processor was stopped with a HLT instruction, pressing CONT would basically jump 2 instructions forward, rather than continue to the instruction after the HLT, skipping it. This fix closes [f961906a5c]. While in there and reading the DEC documentation describing the proper operation of the switches, I found that we weren't handling SING_INST properly at all. When flipped with the processor in free-running mode, it is supposed to stop the processor just as if you'd pressed STOP. Now it does. (I could have checked this in separately, but the two fixes are in overlapping and interrelated sections of code, so it doesn't make sense to check in a purposely-written erroneous SING INST handler just to get a separate checkin comment.) check-in: 9a12773270 user: tangent tags: trunk
14:13
Un-microcoded the RAL HLT instruction in examples/bit-rotate.pal: it tickles a palbart bug, because these are group 1 and group 2 OPR instructions, respectively! Consequently, the SIMH PDP-8 assembler sees only the HLT and doesn't do the RAL. check-in: 193d34204c user: tangent tags: trunk
06:58
Clarity pass on the top-level README.md file. check-in: e2fd19eea1 user: tangent tags: trunk
06:18
The mkrel process now does a "fossil diff -w | less" just before the "fossil ci" command, giving the user a chance to see the diffs in what they just built, to be sure nothing surprising got merged. check-in: c2eaa6ca27 user: tangent tags: trunk
06:15
Removed src/gpio-nls.h in the no-lamp-simulator branch for the same reason we removed it from the trunk branch. Closed-Leaf check-in: 8c80abac2e user: tangent tags: nls-next
06:14
Removed src/gpio-nls.h: the differences between the two versions of the GPIO module are all in the *.c files. No point shipping two identical *.h files, especially given that no other *.c file has ever #included gpio-nls.h. check-in: a22a47a8fa user: tangent tags: trunk
06:03
Similar comment fix for src/gpio-nls.c as was just done on the no-lamp-simulator branch. check-in: 63858bf03c user: tangent tags: trunk
06:00
During the v20170116 release process, I just copied the no-lamp-simulator version of gpio.c over the top of gpio-nls.c, which is more or less fine, but it means the header comments still refer to gpio.c, not gpio-nls.c. Fixed the comment. check-in: 4969e1650f user: tangent tags: nls-next
05:56
The check for brtval in src/PDP8/pdp8_cpu.c.in became obsolete when we extracted the bulk of the front panel interaction code to the new pidp8i.c.in module. Rather than change the test to look in that new file, changed it to look in src/gpio.c, which is shorter and accomplishes the same goal. check-in: d2dd4232ce user: tangent tags: trunk
2017-01-19
19:17
Clarified code style rules check-in: a0cbc61e11 user: tangent tags: trunk
15:45
Assorted improvements to HACKERS.md check-in: b20d93bc02 user: tangent tags: trunk
15:19
Reindented src/PDP8/pidp8i.c.in to match new style guide in HACKERS.md. Bascially, function bodies were indented one level, except for closing braces which came back out one level. check-in: f52f8dda3c user: tangent tags: trunk
15:09
Added "Getting Developer Access" section to HACKERS.md check-in: f2e7f25699 user: tangent tags: trunk
15:07
Added Fossil installation info and tweaked the one-sentence Fossil description. check-in: b2f9adf4ce user: tangent tags: trunk
14:56
First version of HACKERS.md, a more thorough guide to contributing to the PiDP-8/I software project than the brief hints given on the front page of the site. (wiki/Home). check-in: 34cac8687c user: tangent tags: trunk
2017-01-18
22:45
The CPU cleanup branch seems to be 100% functional again. Merged it into trunk. check-in: 768cc6393f user: tangent tags: trunk
14:47
Fixed another instance of the same order-of-operations bug. Closed-Leaf check-in: ca9943cc3d user: tangent tags: cpu-cleanup
14:43
Suppressing the call to the USB media mount routine if its caller fails to pick a sane device code. Shouldn't affect anything, but may prevent some future crasher. check-in: 3bb309e772 user: tangent tags: cpu-cleanup
14:40
The caller of the function to mount media image files from USB was ignoring the return value, so restructured the code so it doesn't return anything. check-in: deb5913951 user: tangent tags: cpu-cleanup
14:29
Fixed an order-of-operations problem in the optimized calculations for the DF and IF values from the switchstatus[1] register. check-in: d3ca851bd1 user: tangent tags: cpu-cleanup
13:53
The pidp8i.c.in file in the prior checkin was missing changes mistakenly made to the generated pidp8i.c file. Reapplied them to the source file. check-in: f261173b93 user: tangent tags: cpu-cleanup
13:28
Factored the vast bulk of the PiDP-8/I specific code out of PDP8/pdp8_cpu.c into a set of several new functions defined in a new PDP8/pidp8i.c module. Along the way, reworked the code style to match the rest of SIMH. Very little is functionally different, and the differences are intended to only be spot improvements not needing a separate checkin comment. Examples: a) some of the bit twiddling math was overly complex, so reduced several 3-ish line calculations to one-liners; b) appended strerror(errno) to some error message strings; c) reorganized the switch testing code a bit to reduce the number of times certain tests and calculations are made. This change also greatly reduces the number of PiDP-8/I specific globals. All but one of the app-wide globals that used to be defined in pdp8_cpu.c.in are now scoped to the pidp8i.c module, and all but one of those are statics scoped to a single function in that module. Because this refactoring moves the @BOOTDIR@ usage from pdp8_cpu.c to the new pidp8i module, the SIMH module is back to being a static C file, while pdp8i.c is generated from pidp8i.c.in. Also added a whole bunch more comments, and moved some prior comments into bug tickets. Checking this in as a branch because it is so extensive that I might have broken something. It hasn't been tested yet because I did the work on my fast desktop PC, not on the Pi, there being no point since the changes are so wide-reaching that it didn't even start building again until just before this checkin. Now it's time to do that testing. check-in: 642a7201a0 user: tangent tags: cpu-cleanup
05:14
Reworked some of the bosi steps after the recent change to where the usermod step happens. These changes should have been part of that. check-in: 2a4574d15f user: tangent tags: trunk
2017-01-17
05:00
Small fix to previous check-in: 6888919960 user: tangent tags: trunk
04:58
The usermod command in bosi's reset routine only worked correctly on the first pass, since the user was still called "pi". If run again on a later pass where that user is now called pipd8i, it now only does the password change. check-in: 34d25dce5b user: tangent tags: trunk
04:50
The bosi script now calls tools/mmake instead of hard-coding a "make -jN" command. check-in: fd8a2cb4ab user: tangent tags: trunk
04:48
Ported difference minimization between src/gpio* modules from the no-lamp-simulator branch where the only difference between these files is a comment to the trunk branch where the differences are more substantial, but where the needless diffs should still be removed. check-in: ec5fd1c92c user: tangent tags: trunk
04:43
Removed Ian Schofield credits from the top of the files that the incandescent lamp simulator patch modifies here in the no-lamp-simulator branch, since that code is not present here. check-in: 207070a1e1 user: tangent tags: nls-next
03:42
Auto-detecting the OS SD card dev name in the bosi script instead of hardcoding it to /dev/rdisk10. check-in: 74e29589ed user: tangent tags: trunk
02:59
Put off the usermod command in the bosi script from the "init" step to the "reset" step so the user doesn't have to enter the long "edson" password during image builds. check-in: 8c87a6d3b4 user: tangent tags: trunk
02:19
Grammar fix check-in: f0f422eae7 user: tangent tags: trunk
01:55
Fixed "bash -e" -> "set -e" in mkrel script; not equivalent! check-in: bbdb2e69ef user: tangent tags: trunk
01:55
Merged release changes for v20170116 Closed-Leaf check-in: 5d8f63a52d user: tangent tags: no-lamp-simulator
01:51
Merged trunk changes for v20170116 into release branch check-in: 3f252c8a91 user: tangent tags: release, v20170116
01:51
Release v20170116 again: fix to the single-core + lamp simulator test in `auto.def` that only broke on the `no-lamp-simulator` branch, so had to fix it on trunk and string the changes back through the release process. check-in: a8e26c97f5 user: tangent tags: trunk
01:49
Merged release changes for v20170116 check-in: 5266fe3749 user: tangent tags: no-lamp-simulator
01:40
Merged trunk changes for v20170116 into release branch check-in: b831e1aa46 user: tangent tags: release
01:38
The mkrel script now runs "fossil update" prior to any merge steps in case the local ../release and ../no-lamp-simulator checkout trees aren't at the tips of their branches at mkrel time. check-in: 1ff16590d5 user: tangent tags: trunk
01:36
Tagged release v20170116 check-in: 01c815b3d6 user: tangent tags: trunk
01:10
Lowered the single-core throttle value from 1600k to 1332k per feedback from the mailing list, and outright refusing to build the trunk branch on a single-core Pi. Explained all this in the relevant README*.md files. check-in: b9c60a41ad user: tangent tags: trunk
00:45
The mkrel process now breaks out immediately after a merge that creates a conflict instead of waiting to fail in the build process due to hitting the <<<<<< characters, which give confusing error messages. check-in: 32be7a1d8a user: tangent tags: trunk
00:07
Updated the COPYING.md file with the results from the SIMH mailing list thread (http://mailman.trailing-edge.com/pipermail/simh/2017-January/016159.html) about TSS/8 and ETOS. check-in: 0dfac12323 user: tangent tags: trunk
2017-01-14
07:49
Moved the installation of the boot scripts from "make install" to "make mediainstall". We shouldn't overwrite the boot scripts for the same reason we shouldn't overwrite the binary media images. check-in: 54324622fc user: tangent tags: trunk
07:39
Added a sched_yield() call to the end of the main GPIO loop to clue the scheduler that we're done for that iteration. The fflush() call we have there already may suffice, but at the very least, this is explicit. check-in: dc48d6cd85 user: tangent tags: trunk
07:37
Lowered the scheduling priority of the GPIO thread from 98 (near the max of 99) to 4 (still well above the minimum of 1) since this seems to work just as well. This may simply be because no other processes on the Pi are using SCHED_FIFO. check-in: 3fd8bee1ba user: tangent tags: trunk
2017-01-13
08:38
Modified copyright year on the AC/MQ blinker program license per email from Robert Krten. check-in: 063e8b86ca user: tangent tags: trunk
2017-01-12
19:47
Obtained permission to distribute the AC/MQ blinker program under the SIMH license, so added that license to the top of examples/ac-mq-blinker.pal. Quoting the reply to my email asking for permission: "I, Robert Krten, the sole author of the program identified as the "AC/MQ blinker program" for the PDP-8/I, hereby agree to distribute the program under the SIMH license as found at https://tangentsoft.com/pidp8i/doc/trunk/SIMH-LICENSE.md" check-in: 58094e0cf4 user: tangent tags: trunk
06:43
Another URL fix in the new licensing material check-in: e0241770dd user: tangent tags: trunk
06:40
Added copyright messages to the Markdown files that reference SIMH-LICENSE.md so that it is clear who is granting the license. check-in: 160483044a user: tangent tags: trunk
06:37
Added license section to end of examples/README.md check-in: 7024cc51a2 user: tangent tags: trunk
06:35
Clarifications to the DEC hobbyist license claim in COPYING.md. check-in: 08b984e585 user: tangent tags: trunk
06:25
Small link fix for previous checkin check-in: f360190dd4 user: tangent tags: trunk
06:24
Many more software licenses chased down and added to the appropriate files. Where direct editing was not possible, created license files nearby, and pointed to them from a new COPYING.md file. check-in: fc7e5f2a91 user: tangent tags: trunk