My comment was a bit tongue in cheek. During my Big Blue days, I worked on some really old stuff... where the programs where on wire boards, followed by 80-column punch cards, later 96-column punch cards. Machines back then had fairly simple operation codes (System/3 control code $F8 was to feed a card from hopper 1) and a machine with 16KB of core storage was huge, both physically and resource wise. There was no actual concept of an OS. Later machines (like the System/32, 34, 38) had control storage and main storage. Their control storage held microcode, which made up the actual processor instructions. The OS in these machines were more apparent but still somewhat hidden under programming like RPG. But I digress in old history, but agree on the BIOS comments for the early machines.
I lived the entire development life cycle from the first IBM PC, to XT, AT, PS/2, etc., and every release of DOS, OS/2 and Windows 1.0 through Windows NT. Not surprisingly, the first 32 function calls for PC DOS 1.0 were identical to the 32 function calls in CP/M. There's some history around this, but a separate thread would be better. We referred to early Windows as a DOS extension, which it was. Oddly enough, MS continued that architecture (a stretch no doubt) up until NT, where Cutler and Co. came over to write it. Later releases of DOS (2.0) extended the "OS" to support hard disks and terminate and stay resident programs (TSRs) became popular, i.e., code from Borland and their cool little pop-up utilities. There was some early level of memory allocation with DOS, but no protection of it. The BIOS size continued to grow with later machines from the top of memory, DOS continued to grow from the bottom of memory and what was left in the middle was for user programs and memory on graphics and other adapters. We also started putting in adapter cards for 3270 terminal emulation and the terminal code itself was a TSR so you could toggle between using DOS and accessing the mainframe. 5250 emulation was also available. The PC/370 was unique as a pair of adapter boards, which contained a pair of custom-micro-coded Motorola 68K chips that made up the 370 mainframe architecture in a desktop. Needless to say the 640KB became a tough barrier to work in and the lack of memory protection and multitasking pushed the need for a new OS, that resulted in OS/2 and later Windows. For what it's worth, we did have CP/M-86, which came out quite a bit later (when Dr. Gary came off his high horse) but it was too late, DOS had become the standard and CP/M-86 was toast. I recall tossing a dozen or more cases of it (CP/M-86) from a stock room back in the 90's.
With the 6502, it never really had a commercial OS. So many vendors used it, but almost everyone did something different with. The once piece of code that was common was MS basic. Perhaps one of the reasons was the supporting I/O. Commodore (and MOS) had their own set of chips for video, audio, timers, ports. Atari had their own as well, plus the BBC, OSI, etc. and then the arcade machines used both the 6502, 8080 and Z/80 chips along with custom I/O chips. That made for a very large 6502 base, but one which was wildly moving as well.
The one fact remains... we're all here on this forum decades later still using the 65(C)02, some of the same I/O chips (and a lot of other ones) and still doing a lot of different things with it. And for a lot of different reasons, who knew?
