PiDP-8/I Software

Timeline
Log In

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

50 most recent check-ins

2025-10-16
14:17
Bring in U/W FOCAL replacement module for operation without EAE hardware. Document the work. Add test code. Add stand-alone test script. Update uwfocal-rk05.os8 to build UWFNOE.SV and UWFTST.SV execuatables. Also update Changelog.md Leaf check-in: 1e998eb57e user: poetnerd tags: trunk
14:12
Catch up with current state of work. Leaf check-in: 022c537350 user: poetnerd tags: uwf
2025-10-13
20:06
Updated our U/W FOCAL manual supplement to: Document how FPAL and FTIM aren't implemented. Mention we build from source, point to it and the build script. Encourage contributions. check-in: ad88508f11 user: poetnerd tags: uwf
2025-10-12
14:37
Add FPTEST.TX, a text-based Floating point test suite. check-in: c3cd90243f user: poetnerd tags: uwf
00:00
A little more cleanup: Renamed TESTME to SATEST for "Stand-Alone Test". Pulled setting of In-line emulation testing under U/W FOCAL under the control of 8NT.PA which consists solely of EMTEST=1. Updated uwfocal-rk05.os8 script to create 3 versions of U/W FOCAL: UWF16K the EAE-only Legacy system. UWFNOE that contains the emulator. UWFTST that contains the emulator with the in-line testing enabled. check-in: c3e4881678 user: poetnerd tags: uwf
2025-10-11
02:55
Give proper credit to Claude and to DECUS 8-436. check-in: 03999ddd60 user: poetnerd tags: uwf
02:50
Found root cause of unsuccesful transcendental testing, the transcendentals begin with F. So it's "FATN" not "ATN". check-in: 515cdbc6cf user: poetnerd tags: uwf
02:37
Figured out how to add XLIST to hide the stand-alone test suite when we build 8NFIO as a module in U/W FOCAL. check-in: 1ca49c34bc user: poetnerd tags: uwf
01:54
Update the documentation file NONEAE.md to reflect current reality. TODO: Find out why transcental functions all return 0.000000000E+00 for both EAE and NON-EAE U/W FOCAL. check-in: 9955158285 user: poetnerd tags: uwf
2025-10-07
03:07
Smaller Multiply/Divide enables us to move SWPEM into the page with MUY and DIV, eliminating use of the possibly precious memory elsewhere. check-in: a938e79032 user: poetnerd tags: uwf
02:54
I merged the stand-alone and in-line emulation testing. It may be a little slower to tease out root causes, but duplicated code is gone. check-in: a31eaaa143 user: poetnerd tags: uwf
02:04
Integrated the division algorithm from DECUS 8-436. They missed an optimization that I made. Resulting code is much smaller. I compared my multiply emulation against DECUS 8-436. I believe mine is smaller and more accurate. All current tests pass. check-in: 2e63f39cf0 user: poetnerd tags: uwf
2025-10-06
21:14
Fixed the problem with overflow detection aided by DECUS 8-436 and Claude. This now passes all known tests. check-in: fe92fd8b3e user: poetnerd tags: uwf
16:25
A little tightening of code so it will integrate into U/W FOCAL. New failure case, dividend =0 should return AC=0 MQ=0 but currently complains of underflow. check-in: 853df31a5c user: poetnerd tags: uwf
03:31
Reverting a bunch of "cleanups" that made a mess of things. Added a test case 24 that was failing. Root cause: No detection that the remainder became zero, and no more subtraction was needed. However the code seems sub-optimal. check-in: 53d0bf515c user: poetnerd tags: uwf
2025-10-02
22:39
Start of cleanup of code. Baseline before we merge EMTEST into TESTME. check-in: ce89df8add user: poetnerd tags: uwf
04:14
This version appears to work!!! It passed simple smoke tests in U/W FOCAL: T 3; T PI; T 10 / 3. Also all the hard-coded tests pass. TODO: More testing, and maybe some optimization. check-in: 3cfebe4fab user: poetnerd tags: uwf
2025-09-30
02:10
Found and fixed problem with the run-time tester corrupting itself. (Fast exit was leaving args from previous calls unset.) Multiply seems fully working. New test case shows divide is not working yet. Updated fossil-settings/crlf-glob to be quiet about various PDP-8 source trees having cr/lf line endings. check-in: 3328f43127 user: poetnerd tags: uwf
2025-09-26
20:58
Yet another snapshot. If I disable the in-line testing multiply emulation seems to work in U/W FOCAL. But with testing enabled, a test case that passes stand-alone chokes. I think I've got some kind of uninitialized data or reuse bug I'm not seeing. Cleaned up a comment in 8NFPP.PA. Fixed how in-line testing was returning EAE rather than Emulated results. Added another test case. check-in: 0fd82c1c85 user: poetnerd tags: uwf
2025-09-21
17:02
Moving the uwf-noeae-test script to the testing directory. check-in: bce1ab5268 user: poetnerd tags: uwf
16:58
Renamed and reordered placement of temporaries to make sorting out bugs easier. Tests pass, but UWFNOE still fails in a non-obvious way. So this is a snapshot checkin. check-in: 0aeb272361 user: poetnerd tags: uwf
2025-09-14
23:26
Found a test case that fails. 8NFIO will need surgery to fix. Checking in the current broken version as a fall back. check-in: acd3fc43a2 user: poetnerd tags: uwf
2025-09-13
03:58
Snapshot: Small update to doc. 8NFIO.PA now auto-detects whether it's stand-alone or part of UWF. A couple bug fixes. New test harness: a table of executions, and a stop with easy display of failure in the AC. It passes all tests in the harness but still doesn't work in UWF. Latest multiply fix: We could enter multiply with a non-zero link that the EAE hardware ignored, but that we used. Maybe a similar bug is in the DVI routine. check-in: b75033af80 user: poetnerd tags: uwf
2025-09-12
03:47
Snapshot. Publish current draft of non-EAE support for U/W FOCAL: Merged in trunk changes that came in while I was fiddling with this. Add documentation of what's being done in src/uwfocal/NONEAE.md. Point to that documentation in src/uwfocal/README.md Add 8NFIO.PA and 8NFPP.PA, our non-EAE modules. Update scripts/misc/uwfocal-rk05.os8 to build UWFNOE in addition to UWF16K. Now generate listing and bitmap files for when we will need them. Create new scripts/misc/uwf-noneae-test.os8 to be a quick build of 8NFIO for testing. Current status: The emulation is integrated into U/W FOCAL, and it seems to run without totally killing the interpreter. The EAE emulations pass basic tests. Alas, there are corner cases in the code that are still wrong. Even the simple FOCAL statement, "T 3" does not print a 3.0000000e00 as expected. Instead it leaves the FLAC in a state where no more FPP operations are possible. At least "T PI" produces "3.141721908E+00*" as expected, and it didn't do that yesterday. check-in: 7ada921d22 user: poetnerd tags: uwf
02:43
Bugfix: pip_cp_from uses ptp, that appends to existing files. POSIX semantics and expectation is that the file gets replaced. Now pip_cp_from replaces rather than appends, as we expect. (This probably explains some unexplained behavior through history.) check-in: c31ff2e107 user: poetnerd tags: trunk
2025-09-04
23:44
Create new branch named "uwf" check-in: 9d32497326 user: poetnerd tags: uwf
21:29
Merge in massive cleanup of all Python code. check-in: 307c149d8e user: poetnerd tags: trunk
21:13
Pull in cleanups learned when trying to submit pdp8_cpu.c upstream to OpenSIMH. check-in: 97bf475e42 user: poetnerd tags: trunk
18:39
Update Changelog.md to begin work towards a new release. check-in: 0523911522 user: poetnerd tags: trunk
2025-09-01
02:37
Ran the whole build and test. Noticed there was a debug message left enabled in simh.py. Turned it off. Leaf check-in: a83a8e064c user: poetnerd tags: pyclean
02:18
Complete migration to Black style: reformat code/docs, update demo script, build - Reformatted Python sources and Markdown examples with Black/blacken-docs - Updated CONTRIBUTING.md for new style - Renamed class-os8script-demo.py → .py.in and fixed shebang - Adjusted auto.def and Makefile.in for new script handling check-in: b3a825e5f8 user: poetnerd tags: pyclean
02:09
docs: reformat Python examples with blacken-docs and update style guide - Applied `blacken-docs` to reflow and standardize embedded Python examples in Markdown files - Updated CONTRIBUTING.md Python style guide to clarify that examples are now formatted with Black (4-space indents, line length 88) - Removed redundant style guide link to Black docs check-in: b32cc76ab3 user: poetnerd tags: pyclean
00:36
Style cleanup: reformat class-os8script-demo.py using Black (no functional changes) check-in: 9ad5fa2c58 user: poetnerd tags: pyclean
00:30
Style cleanup: reformat teco-pi-demo.in using Black (no functional changes) check-in: 40e9c556ee user: poetnerd tags: pyclean
2025-08-31
22:19
Style cleanup: reformat os8pkg.in using Black (no functional changes) check-in: dc04793090 user: poetnerd tags: pyclean
22:09
Style cleanup: reformat os8-run.in using Black (no functional changes) check-in: a5c6bd2e99 user: poetnerd tags: pyclean
22:05
Style cleanup: reformat os8-cp.inos8script.py using Black (no functional changes) check-in: 06f27910d2 user: poetnerd tags: pyclean
21:50
Fix static type check warning when black cut up a couple lines but put the type: ignore on the wrong part of the newly broken line. check-in: 7ceb6d5fe5 user: poetnerd tags: pyclean
21:41
Fix two bugs that crept into os8-cmp through the style fixing: Somehow we lost #!/usr/bin/env @PYCMD@, and _default_sys_image = "@OS8_TOOLTIME@" And style update of os8-progtest.in with Black. Apologies for being lazy and putting 2 changes in one checkin. check-in: bdc7b10c6c user: poetnerd tags: pyclean
21:31
Style cleanup: reformat os8-cmp.in using Black (no functional changes) Tested with command line from usage message: tools/os8-cmp -rk0s bin/ock.rk05 -rk1 bin/v3d.rk05 Additionally, this tool somehow missed some of the style update to use direct import style for typing. That change is here now. check-in: 5bd0ed21a3 user: poetnerd tags: pyclean
20:52
Style cleanup: reformat simh.py.in using Black (no functional changes) Note: tested with make clean; ./configure; tools/mmake; make test. check-in: ac337e16c6 user: poetnerd tags: pyclean
20:23
Style cleanup: reformat os8util.py.in using Black (no functional changes) check-in: 12049a3905 user: poetnerd tags: pyclean
20:19
Style cleanup: reformat os8script.py.in using Black (no functional changes) check-in: 3bf3f7482c user: poetnerd tags: pyclean
19:56
Starting new style change: adopt "black" as the style enforcer. All modules in lib/pidp8i are coverted. This means auto.def's generation of os8opts.py changed too. check-in: 4dfcd76cf0 user: poetnerd tags: pyclean
01:50
Pull in make run-ock from Trunk. check-in: 3bd8daaac0 user: poetnerd tags: pyclean
01:41
Add "make run-ock" to Makefile. Adds run-ock.script.in check-in: 4e2c68b659 user: poetnerd tags: trunk
01:12
Docs: add Python style guide and Table of Contents to CONTRIBUTING.md check-in: c48ab843a8 user: poetnerd tags: pyclean
01:06
style: convert use of the typing module to direct import style Switched from qualified forms like `typing.Dict` to direct imports (e.g. `from typing import Dict`). This is the preferred style in the Python community and improves readability. Style change: use of typing module converted to the "direct import" style. This is apparently the preferred style in the Python community for use of this module. check-in: ee093ed80b user: poetnerd tags: pyclean
2025-08-30
22:52
Refactored use of path_expand and print_expand. path_expand renamed to expand_path. Two copies, one in os8util.py.in and one in os8script.py.in now moved to dirs.in print_expand renamed to expand_message. Moved to new module lib/pidp8i/util.py. check-in: 50792321c1 user: poetnerd tags: pyclean
2025-08-29
17:12
Pruned a data structure definition we aren't using. check-in: 060df43919 user: poetnerd tags: pyclean