Bill,
I've worked with your version of the software over the past week, getting to know it up close, and it is a huge step forward! Amazing, it delivers all the peripherals I had hoped for in a farther-out future in one go...
To explain a little bit, I have this uninteresting health problem, some days/weeks/months I am just Foggy in the Brain - which explains why I was offline recently.
But actually this week , I've locked myself up with Angelo to take some good steps forward. We had Mike Hill over today, which was great fun too. But the main part was to integrate your work on the drum, the Type 33 (that was a hotly desired feature as well). And also adding some ideas that either I or Angelo brewed up over the past few months.
Inevitably, code paths diverge. Angelo has his own style of writing code that traces the low level schematics - then gets into the issue of which schematics.
Most of the PDP-1s originally made are either slightly or hugely different once you go into the peripherals (or even earlier, really).
So it gets increasingly difficult to make a universal PDP-1 replica once you go into the path of adding peripherals. And individuals do things in their own way - Angelo only works from schematic sheets he gets, you take more my approach to peripherals where they need to work on the logic level.
So, I like the following proposal, what do you think:
For people new to the PiDP-1:
- The install instructions will be to start with the base PiDP-1, saved from now on in /opt/pidp1-base.
- Then, the install instructions will advise newcomers to get familiar with this base PDP-1, then add machine variants such as /opt/pidp1-045, /opt/pidp1-048.
- And there is a simple instruction 'pdp1control serial-number 045' to switch seamlessly between the forks.
This way,
- the base version is the known-good starting point for people who just built their kit. That is important: start simple, not everyone goes into democoding. The PiDP-1 can also be a 1960s 'games and demo console'
- But right away, the instructions on the web page will tell them of the various variants they can add with a single git clone command, and their features. I can add a subpage clearly describing each variant.
This feels Historically Correct to me: if every real PDP-1 had its own feature set (even, instruction set...), that will also be true to PiDP-1s. By using 'pdp1control serial-number X' , the user just transfers from one version to another.
The idea I have in mind:
- /opt/pidp1 is a symlink to the current variant being used. For instance, it is a link to /opt/pidp1-base or /opt/pidp-1-045
- 'pdp1control serial-number X' just stops the simulator, changes the symlink, and starts the new one.
It gives us complete freedom over our 'own' machines, and shape them as we want.
And gives users trivial ease of switching between PDP-1 variants. Instead of having one PDP-1, you can have them all, what is not to like? :-)
Question: Do you think this is a good idea? And if so, shall we use the serial numbers on the back of our PiDPs, or just pick a historical machine we like? 45 was BBN's PDP-1D, 48 the one from - I think - Harvard or Stanford.
I prefer the PiDP serial numbers, not the historical ones. Or we could just give them names, you keep using -modz, Angelo's version becomes -aap?
And last question, now I am relatively Brain Fog Free - shall we do a Google Meets call with you, Angelo, me? I think that would be great. There's much to discuss! Let me know, I can do most any time and this week, Angelo as well.
Kind regards,
Oscar.