simh / simtools

Tools useful when using or migrating to or from a simh simulator environment
48 stars 16 forks source link

Fix a couple missing tools from the makefiles and .gitignore #15

Closed anders-code closed 3 years ago

anders-code commented 3 years ago

I found a couple tools missing from the makefiles, and from the .gitignore. mksimtape executable (on MACH!) had been inadvertently checked in, and didn't rebuild since it was up to date.

markpizz commented 3 years ago

I'm guessing that you're grouping these things together with the simh repo to produce some sort of packaging of all the simh stuff for some platform.

The thing is that the simtools collection is a set of random user contributions over the last 25 or so years. Some are uniquely useful (crossassemblers). Many others, if they actually were good ideas, have been merged into the simh codebase and are subsequently either out of date or irrelevant.

These irrelevant details should be culled from what you're packaging (and possibly the simtools repo entirely).

Apart from that, the idea of packaging all of this stuff (some 85 simulators plus the random simtools) stuff seems to me to be not well aligned with user desires and/or needs. The VAST majority of folks are possibly interested in one or possibly a small handful of simulators this large collection seems to be a lot of stuff with little direct utility for most...

anders-code commented 3 years ago

What I'm actually doing is basically historical research, archival, and restoration. I'm interested in PDP (later) and for now VAX 32 bit UNIX history. While simh is an amazing and critical piece of this, it isn't alone - bitsavers.org, gunkies wiki, tuhs.org and a couple other sites and collections have scattered, incomplete, and sometimes partially incorrect information and software.

I just went through the process of getting 4.3 BSD booted on the simh 780 outfitted more the way I remember and want. Sure I could follow someone else's recipe with ra81 disks, and the 4.2 bootloader pasted to a wiki and a hack to fake the miniroot out. Or I could load Quasijarus but it has no history of what changed or why, no reproducability, no pedigree - only the end result tape. So far just to give an idea what I've found with 4.3 BSD:

Once everything is up and running, I'd love to get things like ksh88 (which I finally found some sources for) running. Maybe gcc 1.x or 2.x.

Anyhow, even in a few days of work pulling all of this together, there is so much information and details that keeping track of it is necessary, so I have made a git repo to that end. It intends to pull all the parts and procedures I followed together into a single configuration managed repo. Since simh and simtools provide pieces I needed, they are subrepos of this repo. For now, I'd rather point at the real upstream repos, preferably a tagged stable release (v4.0) commit and workaround these "bugs". I could fork the repos, but I think everyone would rather see fixes get merged upstream rather than die on an obscure un-maintained fork/branch. If you are interested, I should have the first versions of this repo pushed to my github account by tonight; please take a look if you are.

I have no idea if this kind of thing is of interest to you, if you like or condone (or not) the idea, whether it's good or bad for anyone else and so on. But in the spirit of open source, as I find bugs, I follow a clean-as-you go approach and if I find something, I'll fix it and send a patch upstream and I'll work to get it fixed there if at all possible. If you are interested in what I'm working on, the main repo

Larger questions such as makefile structuring or whether simtools needs to be cleaned up are questions I can't opine on as I'm really just the user. I'm gratefully making use of what simh and many other people have put out there, and you'll not often see me report a problem without a solution in hand. If I've gone to far and you only want to fix part of what I did, or if you don't want to add those other things back to the makefile because they are obsolete or something, let me know and I can update the commits as required.

But I'm fairly confident that it was not intentional that there was a binary checked into git because it was missing from .gitignore, for example. So hopefully this patch isn't wrong, nor does it hurt anything (I certainly hope not!!!). If later on, things change around me and the tool I'm using moves to another repo or gets subsumed by something else, so much the better.