Welcome to decuser's blog
Topics on this blog include computing, retro-computing, operating systems, math, and whatever other technical subjects I happen to be exploring that I find interesting enough to take and share notes about.
Posts
-
unix unix-v6 lions pdp-11 opensimh
Lions Laboratory: A Sixth Edition UNIX Laboratory for OpenSIMH
As a follow-up to my note on setting up a Sixth Edition UNIX laboratory in OpenSIMH, I have now put the complete laboratory repository on GitHub:
The repository contains the V6 distribution materials, OpenSIMH configurations, PDP-11/40 and peripheral documentation, known-good system checkpoints, and the working notes I have accumulated while reading Lions and experimenting with the system.
-
unix research-unix v6 dec
Getting DOS-11 V004A Running on a PDP-11/40
Getting DOS-11 V004A Running on a PDP-11/40
I did not set out to install DOS-11.
I have been working with Sixth Edition UNIX on a simulated PDP-11/40, partly to understand the system itself and partly to get closer to the environment described by Lions. That inevitably led downward. Reading the V6 source means reading PDP-11 assembly, and reading PDP-11 assembly means spending some time with the tools and conventions that existed around the machine before and alongside UNIX.
That led me to PAL-11R, DEC's relocatable assembler for the PDP-11, and from there to DOS-11.
-
unix research-unix v6
Setting Up UNIX—Sixth Edition: An OpenSIMH Laboratory for Reading Lions
This note covers building a complete, restorable Sixth Edition UNIX laboratory in OpenSIMH for reading John Lions’ A Commentary on the UNIX Operating System. First, the reader is led through restoring the original V6 distribution from tape to RK05 disk images. Next, the kernel is reconfigured and rebuilt for the PDP-11/40 and the simulated devices used in the laboratory. The remaining source and documentation filesystems are then installed, the required special files are created, and the completed system is verified and archived as a restorable baseline.
The note explains each step of the process in detail and connects Lions’ commentary and numbered source listing to the corresponding files and configured kernel in the running V6 system.
-
go tools github-pages
Migrating from Jekyll to a custom static site generator
Replaced the Jekyll-based blog with a custom static site generator written in Go.
-
tools go
dex - directory comparison tool in Go
Released dex, a Go port of my Python dircmp utility. Clean architecture, static binaries, no dependencies.
Compares two directory trees and sorts files into five buckets:
- Exact match — same path, same content
- Modified — same path, different content
- Same content, different path
- Only in src
- Only in dst
Also finds duplicates within a single directory.
dex [options] <dir> # find duplicates dex [options] <src> <dst> # compare directoriesOptions:
-ahidden files,-rrecurse,-ffast digest,-bbrief,-lfull digests.Prebuilt binaries for Linux and macOS in the releases.
-
retro assembly videos
Bit by Bit - E10.1 - Assembly Lines ch. 7 - addressing modes
In this first of two episodes on ch. 7, we're going to look at how you use different addressing modes to get data from memory.
Here's a link to the playlist:
https://www.youtube.com/playlist?list=PL_z8XUfqFSXHvJ5E5r80ZmMN7LRcCI0Zx
Enjoy!
-
retro assembly videos
Bit by Bit - E9.2 - Assembly Lines ch. 6 cont. - keys and strobing
In this second of two episodes on ch. 6, we're going to look at how to read the keyboard, with and without clearing the strobe.
Here's the link to the referenced Apple II Reference Manual
Here's a link to the playlist:
https://www.youtube.com/playlist?list=PL_z8XUfqFSXHvJ5E5r80ZmMN7LRcCI0Zx
Enjoy!
-
retro assembly videos
Bit by Bit - E9.1 - Assembly Lines ch. 6 - I/O Using the Monitor and Keyboard
This is part one of two dealing with I/O. In this episode, we'll track along with Assembly Lines ch. 6 and do some paddle reading (mouse). We'll explore the assembly instruction CMP and try to keep the lessons constrained to ~30 mins or thereabouts.
Here's a link to the playlist:
https://www.youtube.com/playlist?list=PL_z8XUfqFSXHvJ5E5r80ZmMN7LRcCI0Zx
Enjoy!
-
retro assembly videos
Bit by Bit - E8 - Assembly Lines ch 5. More Loops and Paddling Around
In this episode I cover nine pages of the book! But what a nine pages - lots and lots to learn here. I walk through using the mouse and numpad in place of paddles, a bit about merlin, a bit about basic, and a bit about calling into firmware.
In the video, I talk a bit of nonsense, too. Workable nonsense, but naive and only partially correct. When I talk about OBJ no longer working, that isn't technically correct. It works, but it doesn't work on addresses as low as our usualy $300. Also, once it's no longer being used, we can follow the path laid out by the author, and just BLOAD instead of BRUN, then the RTS will be fine and call 768 will work as expected.
A careful read of pg. 35, section A Note about BRUN and COUT is all that's required to iron this out.
tldr - don't use OBJ, leave ORG $300, don't use BRUN, use BLOAD followed by CALL 768.
Not a big whoop, but worth noting. In future installments I'll use the correct approach.
Here's a link to the playlist:
https://www.youtube.com/playlist?list=PL_z8XUfqFSXHvJ5E5r80ZmMN7LRcCI0Zx
Enjoy!
-
retro assembly videos
Bit by Bit - E7 - Merlin 8 - Full Screen Editing
In this episode, I walk through using Merlin 8 for full screen editing our assembly source code in the Apple IIe. Shout out to Chris Torrence for walking this road before so others could follow:
https://youtu.be/lyYTCJP_Y3o?si=2bcEqvCM9dqreVBO
Here are links to the disk image and manual:
https://archive.org/details/Merlin_816_Macro_Assembler_Manual https://archive.org/details/Merlin-8_v2.48_DOS_3.3
Here's a link to the playlist:
https://www.youtube.com/playlist?list=PL_z8XUfqFSXHvJ5E5r80ZmMN7LRcCI0Zx
Enjoy!