PiDP-8/I Software

Timeline
Log In

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

50 most recent check-ins

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. Leaf 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.) Leaf 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
17:08
Updated copyright dates. check-in: 640c72a990 user: poetnerd tags: pyclean
02:34
Final cleanup sweep. All static type-check warnings resolved or accounted for. check-in: 8751e93398 user: poetnerd tags: pyclean
2025-08-28
04:13
Cleaned up a couple # type: ignores here too. check-in: 3dfeba5fb7 user: poetnerd tags: pyclean
04:06
Another round of cleanups to eliminate # type: ignore directives. auto.def now generates a tuple rather than an array for opts in os8opts.py check-in: b69dad3975 user: poetnerd tags: pyclean
03:21
Rewrite of os8-cp and os8-cmp to use lib/os8util.py module that holds common code. Eliminated MANY # type: ignore directives. check-in: 30d8afb518 user: poetnerd tags: pyclean
2025-08-27
04:33
Eliminate some # type ignore messages. Cleanup of the action_plan dictionary: Better documentation and now as a TypedDict check-in: 372777a68d user: poetnerd tags: pyclean
2025-08-14
01:53
fix indentation of _command_set check-in: 01230e84c2 user: poetnerd tags: pyclean
01:42
Wrap uses of match.group(x) to deal with possible 'None' value. Pull commands array out of run_script_handle and into a once-only global. check-in: f9601f19df user: poetnerd tags: pyclean
2025-08-13
02:45
Complete first draft: Python code style and typecheck cleanup. Capitalize class names. Eliminate unused imports and variables. Correct a couple failures to say "continue" in error conditions. Add type hints to arguments and return values. All regular expression strings are now 'r' strings. Convert replies from list to tuple. (Makes type hinting simpler and cleaner.) Add bool False component to simh replies to make it the same as os8 replies. Created properties in simh object: child, context, simh_replies, os8_replies simh_replies_rex, os8_replies_rex Quit trying to print and use the _child.before and _child.after values directly: Wrappers around _child.before and _child.after converting non-string values to strings. dbg_before(prefix:str), dbg_after(prefix:str) for debug printing of before and after. child_before(), child_after() converts non-string values to strings. In os8pkg split script merge and install actions into separate procedures. Return empty string instead of None where possible. Taught pip-related procedures how to cope with empty option list. Convert pexpect object from "bytes" to "str" by setting encoding="utf-8" Update example code and .md docs to describe the updated reality check-in: 66b3c8545a user: poetnerd tags: pyclean
2025-08-08
17:29
Create new branch named "pyclean" check-in: 46f8008d67 user: poetnerd tags: pyclean
2025-07-06
21:06
Fix typo in error message. :-( check-in: 2d3010a8a0 user: poetnerd tags: trunk
21:03
5 Second timeout was too short on Pi3 with cycle-accurate. Now its 15 seconds. Also explicityly say we're timing out, and what the timeout time was. check-in: f507e9db66 user: poetnerd tags: trunk
20:41
Merge in cycle-accurate support! check-in: a08e131416 user: pi tags: trunk
04:26
Cosmetic changes: Remove whitespace that conflicts with upstream. Add JMP/JMS comments from trunk for additional clarity. Leaf check-in: 8b2c984e88 user: poetnerd tags: pi5-ils2-bworm-cyclerealistic
2025-07-05
20:49
Pulled in current epoch of OpenSIMH (2025-07-05) check-in: 16dcc6c24b user: poetnerd tags: trunk
2025-06-26
04:18
Missed a semicolon that only shows up when PIDP8I is defined. OOPS. Fixed. Closed-Leaf check-in: 6554aa2384 user: poetnerd tags: bills-slower-version
2025-06-21
19:59
Draft: Attempt to speed up cycle-realistic operation by reverting most of the decode logic. I believe some additional overhead was introduced when cycle-accurate operation rewrote the instruction execution loop. This delta keeps as much of the old instruction decode logic as I could, but does add in the overhead for one extra switch on Major_State, and on instructions that utilize Defer and Execute states. Not extensively tested, but it ran well enough to boot OS/8 so I'm committing it to the tree! check-in: c9676ea6c5 user: poetnerd tags: bills-slower-version
2024-12-27
02:39
Fix arguments to and error reporting from map_gpio_for_pidp8i check-in: 3fee766e68 user: poetnerd tags: trunk
2024-12-19
22:38
More Python raw string hackery. This needs to be checked by an actual Pythonista, not a pidgin speaker like me. check-in: 6841cab34a user: tangent tags: trunk
22:29
Made several strings in bin/os8pkg.in "raw" to get around [https://stackoverflow.com/q/52335970 | a recent SyntaxWarning gripe]. check-in: d29fd7be58 user: tangent tags: trunk
2024-11-26
22:13
Fix for bug 573625dae0 "Discrepancy in LOADER between ock.rk05 and v3d.rk05" Root cause: Undocumented build procedure caused install of legacy GENIOX.SB into LIB8.RL. This conflicted with the I/O routines in UTIL.SB. Further confirmation: Although all other SB modules are documented in the OS/8 LANGUAGE REFERENCE MANUAL - AA-H609A-TA, GENIOX is not mentioned. This change removes GENIOX.SB from LIB8.RL but keeps GENIOX.SB around in case we later discover a proper use for it. check-in: 9c60238a24 user: poetnerd tags: trunk
2024-11-10
18:35
Pull pi5 and ils2 branches into trunk. This enables pi4 and pi5 hardware and improves PiDP-8/i displays. check-in: 0ad7bdeb6b user: poetnerd tags: trunk