Yes, we understand that embedded controllers didn’t / don’t have OSes in the mainstream classic sense of the word. But that doesn’t tell us what “CMP-8” is.
I date my pro IT involvement from the era of PDP-8s, CP/M, IBM 360s, and the rest of the discrete logic or early IC dinosaurs. CMP-8 is not a term I recognize. Admittedly I never dealt with the embedded systems market even a smidgen.
I’m wondering if you’re remembering the name correctly or if it was something specific to one industry or country?
No, because development in the microcomputer industry moved much more quickly than the old mainframe systems which things like COBOL came out of. COBOL was alrady very mature by the time CP/M was released.
I worked with CP/M and when DOS became available it was an easy port to get something written for CP/M to work in DOS. That’s because the same software tools existed in both, and were often written by the same few companies.
Microsoft started off as a programming language company and wrote MBASIC which was their version of BASIC that ran on CP/M. When DOS became available, which was a ripoff of CP/M it was ease to port a BASIC program written for CP/M to work in DOS. I know because I remember porting them for clients. Now the operating system and programming language was made by the same company.
And Intel assembly language instruction set for the 8080 chip was the basis for the 8086 that was developed for the DOS market.
While CP/M was a cool operating system for microcomputers for the time, the dominance of Microsoft creating DOS coupled with IBM entering the PC market which included DOS with the system made CP/M quickly obsolete.
So CP/M never really got to the maturity level of things like COBOL and IBM mainframes. Also, those companies had a lot more resource to continue promoting their products and they were to large companies. CP/M from Digital Research was a tiny company compared to them, and the customers for CP/M were small too.
Anyone I knew doing embedded software development in those days was using assembly language. A good friend was a game developer and he always wrote in assembly language because the speed was needed.
I don’t think systems of those times would have had the room to run CP/M in addition to whatever the application was. Not sure CP/M would have be needed for added any benefit either. It wasn’t like a micro processor in a car in 1981 would have been able to have 64KB of RAM, that would have been very expensive.
Here we go:
“The first car to use a microprocessor was the 1978 Cadillac Seville. The chip, a modified 6802, drove the car’s “Trip Computer,” a flashy dashboard bauble that displayed mileage and other trivia. Today that kind of microprocessor muscle could barely adjust your mirrors.”
The 6502 was used in computers like the Commodore and the Apple II. I know it is hard for people to believe now, but a 64KB of RAM was considered a large amount of RAM. I think embedded systems of the time would have been more like 4KB total.
No. The intel chips were developed for the embedded market.
For example, intel started the 8086 in July 1976 , with its 16 bit external data bus,
and started selling the 8 bit external data bus (with the rest of the CPU the same as the 8086 ) 8080 in early 1979.
IBM started the IBM PC project in July 1980 and decided on the 8086 after a few months. In hindsite they might have regained business computer, mainframe market, if they had chosen to use a better CPU. Then they might have sold the same software for home use and mainframe use… But they chose the 8088 with 8 bit data bus … for an 8 bit motherboard. This meant that they could use less of the expensive support chips,
they’d only need one interrupt controller, one DMA controller, one memory controller…
But what they got was the real deal accessory card interface… it was complete with all the latest features, eg the cards memory could be DMA’d !
What happened was in 1974-1076, Intel was innovating the cpu , and the rest of the microcomputer support chipset, but inhibited takeup by selling the development kit at the highly profitable $40,000. They decided to make better single chip cpu’s for such things as embedded systems by downsizing their main frame CPU’s to 16 bit.
While intel was releasing an 8 bit data bus, 16 bit internal version of a cpu, Motorola were working on the 32 bit 68000, skipping past 16 bits !
Intel had made the 8086 to sell to 8080 hobbyists (eg Altair 8800 users) at $400 each, but that didnt take off, they sold it to IBM in bulk $100 each.
Intel might have looked at making the 8086 pin compatible with the 6502 and the Z80… but
The 8086 was developed as e generic processor, for both embedded use and personal computer type use. For embedded use, it had a minimum mode which required fewer chips. For personal computer type use, it had a maximum mode with more capabilities, but required more chips. The IBM PC’s core architecture is built around an 8086 configured in maximum mode.
You can say that IBM should have chosen a better processor, but it made a lot of sense at the time. The micro computer market had thus far always been made up of machines that lasted a few years and then were obsoleted as better processors came along. Newer systems rarely had any sort of backwards compatibility.
To fit in with this market, the 8086 was designed with a relatively short life in mind. While the 8086 was still in development, Intel already had a better processor in the works that was going to become the next generation CPU, the 32 bit iAXP432. The 80286 in the IBM AT and the backwards compatibility the AT in general provided made it very popular, a trend that continued with the 80386. The iAXP432 never went anywhere commercially, and the x86 series became dominant, with its only real competition being the Motorola 68000 series of processors.
The x86 architecture is clunky, but no one expected us to still be using it after all this time.
A few secondary makers built clones on the slightly more powerful 8086, but the cost of 16-bit memory and peripheral chips didn’t make them price competitive. Speeding up the 8-bit platform was a bigger bang for the buck.
Not only was 64KB a large amount of RAM, it was expensive. At one time, filling your S-100 IMSAI or Altair with 64K would cost $2700 in 197x dollars and occupy an entire circuit board.
And you might have to toss out multiple 1K, 4K and 16K boards to make room in the 20 available slots (the back 2 weren’t usable, too close to the miscellaneous connectors).
Ah, CP/M. For some strange reason, my C=128 shipped with CP/M. It even had a built in Z-80 just for it. Given that WordStar and Turbo Pascal were available for CP/M and not C=128, it was kind of cool. It also made transitioning to DOS really, really easy.
It’s not so strange that your C128 shipped with CP/M—as far as I know, every other 128 also shipped with it.
Back in 1982 Commodore released a CP/M cartridge for the Commodore 64. The cartridge contained (among other things) its own Z80 processor that would take over from the C64’s native 6510. A few years later, Commodore started designing the C128 and wanted to position it as being both C64-compatible and suitable for business applications. According to the 128’s designer, Bil Herd, the problem was that the 64’s CP/M cartridge didn’t work on the 128, so they ended up wiring the Z80 directly onto the C128 motherboard:
What a timely bump for this thread. Just a couple weekends ago, I was cleaning out the closet in the downstairs bedroom and found my dad’s old Osborne 1, which I snagged several years ago when mom was going to toss it. I was completely shocked and surprised when I dragged it out, set it up, turned it on, and it was still able to boot up (from floppy!) and display the CP/M main screen. Man, those were the days.
If you’re talking about what I think you’re talking about, you’re comparing apples to oranges here.
X (sometimes called Xwindows or X Windows by people who don’t know any better) is a GUI subsystem which is separate from the OS. X has run on a number of OSes, most of them in the Unix-like mold, but there are multiple X implementations for Microsoft Windows and VMS and other arcane relics. X is a Windowing System, to be more specific: It provides a way to put a GUI (any kind of GUI, almost) on a computer such that applications can have windows and mice and dialog boxes and colors.
What X is not is an Operating System. X runs on top of an OS. Saying you run X is like saying you run Firefox: You’re not giving a complete picture.
CP/M is an OS. The equivalent to X for CP/M was GSX, the Graphics System Extension, which was the basis for GEM.