The core of the CPU of the VAX-11/730 minicomputer, 1982. Eight AMD AM2901BDC bitslice processors, operating on four bits each, work together to process thirty-two bit values.
Considering that NetBSD and Linux have essentially dropped support for the 386 CPU, and other "vintage" hardware. Is there any maintained and actively developed BSD targeting vintage hardware?
I used to think that was NetBSD, but the minimum i386 compatible CPU supported these days is the 486.
@miah "'... and other "vintage" hardware' may be a little overstating...
The upcoming #netbsd 10 release will include an #VAX port (which some might consider a gold standard for "vintage" :-p) which is self hosting again and support for more framebuffers, support for the wii, more newsmips machines, alpha SMU fixes, a flurry of m68k fixes, hp300 framebuffers, sun3 X servers, luna68k keyboard, amiga pcmcia, updating ~all ports to gcc10
Granted... doesn't help a machine with an an actual 80386 :)
@HoffmanLabs I've worked on IBM assembler but never really on vax and always with integers.
If code says (float) C = (int) A / (float) B, then at sone point before division, A gets converted to float, right?
Do CPUs have assembler instructions to convert from int to float and back? or does compiler generate code to set the 64 bits of a float with sign, exponent and mantissa based on value of integer, after which floating point instructions can treat those 64 bits as a float?
@jfmezei Usually, yes. But like most things in IT, details can vary.
VAX has a wad of CVT conversion instructions, among other wads of instructions including the vector extensions, for instance. VAX offers instructions for pretty much everything to everything (everything circa 1978) and either has an instruction, or maybe has a macro.
For VAX floating point details, see section 9.9 here:
Details here will vary by architecture, and often by implementation within architecture. (q.v. Alpha extensions including the byte-word extension, and Arm SBSA, etc.)
Here’s an Alpha intro, as Alpha was effectively VAX with most of the latent VAX limits removed (not the least of which were the condition codes):
Alpha too has a wad of CVT conversion instructions.
The wrinkle with C code can be the implicit conversions that can (necessarily) arise when mixing data types. I’m not entirely certain a compound if {} else {} and a ?: ternary will produce the same outcome for all possible variations, and I’ve been using C for... for a while.
<voice=buzzlightyear>And UB, UB everywhere.
C looks kinda like a weird PDP-11 in various ways.
If you want to view the instructions of recent architectures, visit godbolt.
The synchronous serial interface of my VAX failed and needed repair - Not a fun task given the amateurish setup in my basement. After extracting the machine and fixing a couple of cracked solder joints on the DSW42-AA, it is now back on TELEBAHN. After re-assembly, the setup looks neater than before, but I still dread the next time something fails. #retrocomputing#x25#vax#sparc
Evening of our latest #COVID booster day, and it's been one of the easiest for me! My arm isn't even sore, which is rare. That'll prob kick in by morning tho'.
My very first COVID shot, back when that happened, brought me several hours of fever and bed-shaking shivers before it passed.
Unfortunately K is having some of that experience this time! Seventh shot for her too, tho 'she weathered all the previous ones very easily. #XBB is a different animal indeed.
A good video re #COVID and excess deaths...proving that it was dangerous, still with us, now affecting younger people and causing a range of health issues. It feels like he might be arguing that the problem is the #vax (and others are using this data for that), but it doesn't. The spikes start way before they were widely available and are declining (anti #mRNA vax folks say the danger never goes away cause it changed our DNA, while viruses do evolve to be less deadly). https://youtu.be/1uOxhYyfYw4?si=HlEnv_rYcv2MZALR
@tommythorn@jfmezei DEC did do some semi-cheaper semi-SOC-ish Alpha processors; the DECchip 21066 and 21068 LCA45 and LCA4s designs.
DEC was interested in Arm for embedded projects, for I/O controllers, for handheld devices akin to the Compaq iPaq, and to help keep the fabs filled.
Several of the embedded projects in my acquaintance used 80186 (what doesn’t?) and having a corporate Arm option and tooling would have been nice. Doing the multi-port RAM memory refresh for the I/O controller’s 80186 bootstrap from within a VAX device driver was amusing, though.
Arm, and the 80186 and giblets, were all cheaper than the VAX processors that some of the DEC networking gear used as embedded processors.
Like the VAX microprocessors, the
Alpha fully-amortized production costs were high, so it made sense to have a lower-spec’d and cheaper processor designs available.
@pervognsen@steve@cr1901@regehr The VAX/VMS kernel and a fair amount of VMS userland were written in VAX BLISS, and in VAX MACRO-32 assembler.
That implementation shifted with work to allow C in the VMS (later OpenVMS) kernel, and the remaining portions of BLISS and MACRO-32 in the current kernel are now far much smaller.
VSI still maintains BLISS and MACRO-32 compilers for OpenVMS on Alpha, Itanium, and x86-64.
@dosnostalgic VAX/VMS circa 1978 used to boot with PDP-11 RSX-11M compatibility mode available and a fair chunk of the apps in the early VAX/VMS versions were RSX-11M apps running in compatibility mode.
The VAX-11 boxes supported PDP-11 instructions in hardware.
You could run your existing PDP-11 RSX-11M apps directly, too.
That all ended at VAX/VMS V4.0 (~1984), and with then-new VAX models after VAX 8600.
VAX 8600 was originally to be named VAX-11/790, but marketing marketed and dropped the -11 with the “architecture for the ‘80s”.
PDP-11 RSX-11M compatibility mode became a separate product, and the PDP-11 instructions were emulated, and the -11 was dropped from VAX.
Technically, an LSI-11 console processor booted RT-11 from the 8” console floppy which then booted the VAX-11/780 (organizationally within he hardware, the VAX was an enormous LSI-11 peripheral) which ran VAX and PDP-11 instructions and which could run simh emulator to emulate PDP-11 running RT-11. If the LSI-11 failed—as happened on a couple of occasions—the VAX could continue to run. Just not reboot.
The approach Apple used for migrations with Rosetta and Rosetta 2 was far smoother.
Yeah. Fun times. When it all worked.
There are shenanigans in newer boxes too, but they’re usually somewhat better hidden.
Who in their right mind would go on a cruise in the middle of pandemic. They say that they test people but I'm pretty sure they just take people's word for it that they've been tested. Also, the tests are not 100%.
Our family avoided #covid for 3.5 years. It took my dad in the first wave before #vax in 2020, but we've been #masking, careful, vaxed. But it only takes once. We were at a friend's unmasked indoor party on Saturday, he tested positive Tuesday, told us Wednesday, and my wife was positive when we tested. Kid and I still negative, but in-home isolation is a pain. So disruptive to not have #mom. Fortunately, like a bad chest cold so far, and just got antivirals, and getting better. Stay safe folks.