Anodyne is an ambitious project – so ambitious, in fact, that one of its core precepts is that it needs radically re-envisioned software to even hope that its hardware can be properly taken advantage of. On one end of things, this entails discovering exactly what sort of hardware will be demanding this out of us – that will be elucidated through Grovercomp. But on the other end of this monumental task is the user’s end of things – what will the owner of a shiny new Anodyne computer see? How will they take advantage of it as a creative, or as a technician? And furthermore, how will the machine be programmed for the ends of application-level product development?
The eventual answer to this is what I have come to call A*. You could call it an operating system, but it’s not the kind you would ever expect to see on modern computers at all, so I prefer the term system software. Perhaps coincidentally, this was the same term Apple used for their early renditions of what is now called classic Mac OS. A* does have a few similarities in architecture to the Macintosh system software, but ultimately it is fundamentally different in intention from anything known to exist today.
How will A* come to be? To us, it is not effective to simply await for an Anodyne machine or to prototype what Anodyne might be, and then reactively develop a software system for that. Such an approach will vastly limit our observational wherewithal and make for a very subpar product. All good products go through dogfooding, not just in use, but also in design. We intend to achieve this by iteratively developing A* for a special subset of old systems that have some of the architectural peculiarities we want to leverage more intimately in Anodyne proper. This is where Sirius A and B come into play.
When I was a child, I came upon a Compaq LTE Elite 4/40CX in a local thrift shop for $50. It was a treasured computer for me, and although long lost to poverty by now, I have made a rich parts bin out of the LTE Elite model series, enabling me to keep a stellar top-end model running swell indefinitely. I also acquired a period-accurate Compaq 151FS CRT monitor, which I use with it in a desktop type setup. Today, this has been retroactively christened Sirius B. It is the junior one with far more radiance in certain lights than its bigger brother, Sirius A.
Sirius A is a proper desktop build that will sport an i486 just like its little brother, but with much enhanced graphical capabilities; while Sirius B will only be programmed to handle 640×480 in 256 colours, Sirius A is purpose-built around the flagship Cirrus Logic CL-GD5480, which will be programmed to handle 1280×1024 in 24-bit true colour. That graphics card was chosen as the centrepiece of this otherwise typical period piece retro PC build, as its support is absolutely ubiquitous among IBM-PC emulators and hypervisors. This is important as this ‘larger viewport + true colour’ DOS basis will be how most users make first contact with the systems we are making, through tools like QEMU and Bochs on their modern PCs.
For the record, anything that starts to square more than a little with the Pentium era is quite simply out of band for the research focus of A*. There, one begins to enter the period of x86 where protected mode utterly dominates programming, and where other more sophisticated considerations must be made for everything from VESA to the menagerie of add-on cards and their drivers. This is a massive hindrance to the goals of A* with no substantive upside, so it is avoided.
For those who enjoy being speccies:
Sirius A:
STM 5x86 100 MHz (initially) / Intel 486DX4 100 MHz (eventually)
32 MiB of EDORAM
Coreco Oculus Bandit VGA w/ Cirrus Logic CL-GD5480 and 4 MiB of DRAM
Jetway J446A Baby AT motherboard w/ integrated IO and SiS chipset
Baby AT PC tower with turbo button + 3½” 1440 KiB FDD
And Sirius B:
Intel 486DX4 75 MHz
8 MiB of on-motherboard RAM
24 MiB of additional RAM for 32 MiB total
WD90C24-series video controller (unconfirmed?) with 1 MiB of VRAM
Proprietary fully integrated Compaq motherboard
Lastly, Sirius C* is the honourable mention for the title’s sake here: one of the necessary tools for scaling the mechanicalist approach to software engineering is behavioural compartmentalisation – this is to be achieved at the complexity level of C using the C* programming language and its facilities of law & order. Sirius C* is the prototypical implementation of the compiler that provides that. This is a requirement for reaching any kind of comparable feature parity with other systems, making A*—and therefore Anodyne—a worthy contender for the software products people the world over can come to value. When we divide and conquer, we win.
A* was chosen as a name in tribute to the technical might of the late Sun Microsystems and their eponymous SunOS. I thought of what might be logically superior to the sun, and my answer was the supermassive black hole at the centre of our galaxy called Sagittarius A*. While Sun was par for the course as far as pre-dotcom tech companies go, they earned a unique place in the minds and system files of programmers the world over with how much their engineers were able to contribute to the world of computing, enabled by the executive to an extent any other company probably thought foolhardy. Business aside, they are probably the coolest bona fide tech firm that ever was since Bell Labs.