Jorpho wrote on 2021-04-02, 22:56:
RandomStranger wrote on 2021-04-02, 16:45:
I think there is no one golden age. The 70s and early 80s were interesting and exciting times, but PCs weren't particularly user friendly and virtually nothing was compatible with each other. Sometimes not even with themselves.
Exactly. Sure, it might have been "fun" to wrangle with obscure technical glitches and incompatible standards and uncooperative hardware – but it's also pretty nice not to have to deal with those things. And sure, maybe Windows 10 prevents you from getting direct access to the hardware or something, but does it really matter when the hardware is still powerful enough to accurately simulate just about everything from days gone by?
It is a little disconcerting that things seem to be trending towards taking even more control away from the end user, and maybe having even more power won't be worth the tradeoff. But we're not there yet.
I tend to agree, but there's an anomaly in history.
In the CP/M era, things were compatible. Initially.
CP/M had supported an official 8" floppy format that was universally supported by all PCs with 8" floppy drives.
However, that changed when the 8" format brcame obsolete.
The new 5,25" floppies used numerous different formats (hard sectored, soft sectored, X tracks/side, Y tracks/side, single sided, double sided and so on).
(Eventually, formats like the ones of TRS-80, Osborne etc. became de-facto standards. For a short time, before CP/M died.)
But still.. For file transfers, the Kermit protocol was available. The RS232 serial port was available and existed since the early days of Telex machines.
Then, IBM released the Model 5150 and MS-DOS became more widespread.
But not every where. In Europe, the Sirius-1 was available before, for example.
Initially, also, the MS-DOS platform still followed the programming guidelines of using high-level ABIs, like CP/M.
The specialized, low-level stuff was handled by a portion of the OS.
In CP/M-80 nomenclature, this was the "BIOS" part.
In our time frame, this would be called a "HAL" - Hardware Abstraction Layer.
So aslong as the applications were calling the operating systems, they continued to function.
In that era, makers of PCs could make an agreement with Microsoft and develop their custom versions of DOS that took advantage of their PCs unique fearures (OEM releases of DOS).
Without loosing application compatibility for well written programs.
However, when the PC became ubiquitous, programmers became perverted and "optimized" their software through low-level code, assembler routines and other Mod 5150 dependencies (4,77MHz timing, register modifications) etc.
Of course, without spending a single though on the poor souls with generic, MS-DOS compatibles.
No alternate code-paths, no alternate binaries, no nothing.
That's when the compatibility mess started.
Using the PC-BIOS directly was the least of a "crime" , though. 😉
It was, while hardware-dependant, another form of HAL.
Through BIOS emulators it was technically possible to maintain compatibility among different PC models, even afterwards.
Provided, that the API/ABI calls were used in a standardized fashion.
That being said, this no offense. I just want to point out that the "devil sits in the detail". 😉
Edit : Edited. Sorry. Haven't sleept in a while. 😴
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//