Why did OS-9 (and the 6809) not become more popular?

In “Floppies: The Disks That Changed the World” thread, @oldben writes:

It seems unlikely. OS-9 had some disadvantages that kept it from becoming popular:

  1. It required a 6809 CPU. This was never all that popular both becuase it came out several years after the 6502 and the Z80, and because it was more expensive.
  2. It was expensive: several hundred dollars. For vendors creating new machines without a software base, a much cheaper option was to use an 8080-series or Z80 CPU, license CP/M, and write just the BIOS, which was fairly small and cheap to write. For vendors who already had more extensive software (often licensed Microsoft BASIC supplemented by their own ROM routines), it was cheaper to write their own DOS. (This was the approach taken by Apple, Tandy and Commodore.)

There was a situation perfect for OS-9, if it was going to happen: the Fujitsu FM-7 series in Japan. The FM-7 had diskette drives available on release in 1982, drives were standard equipment from the 1984 FM77 onwards, and OS-9 was ported to it. But Fujitsu already had their own BASIC and DOS, so they probably felt it wasn’t worthwhile to pay yet more money to license another OS, and consumers apparently didn’t feel that the added expense, when they already had a DOS that was free, was worthwhile.

2 Likes

Good points. In this 2000-era archived web page Microware showcase a half-dozen OS-9 success stories in embedded products. So, OS-9 might have made little impact in microcomputing, but it continued as a viable product.

Pricing is interesting: lower the price, and you just might get spectacular volume. Or, you might discount yourself into oblivion.

It seems Tandy’s Color Computer (CoCo) could run OS-9, but it was a third-party OS. This feels likely to limit uptake.

(I notice that Acorn made a 6809 card for their System product, which has since been reinvented as a second processor for the Atom and the Beeb, but it runs Flex rather than OS-9. On the other hand there was a third party 68008 second processor which did run OS-9.)

At the risk of going off-topic (so soon), it’s a related question, as to the limited take-up of the 6809, which Bill Gates described as “the best 8-bit processor ever done.” I’m not sure of the unit pricing, but Motorola might not have made it cheap. And the timing wasn’t great, as the feeling(*) was that 16 bit (whatever that meant) was the future. I think it’s true that a lot of Motorola effort was concentrated on the automotive market, their native market, where design-in times are long but once designed in the volumes are spectacular. In the oral history of the 6800 team that’s made clear - they were utterly unworried by the 6502 and the home computer market. Very many more cars get sold.

(*) Anecdote: in about 1981 I used to hitchhike, and once had my single-board computer in my rucksack. In conversation with one driver, he laughed when I said it was an 8 bit machine - what kind of computer is that? In all likelihood, he worked with ICL or similar class machines. It’s easy to forget that in the background of the exponential rise of the micro, there’s a huge, stable, successful, business of using much larger machines.

[Microware page found, oddly enough, via this Flex newsletter]

1 Like

I bought a brand new CoCo system back in '85, and chose it specifically because it was the cheapest way I could find to run OS-9. I think that Microware was actually selling OS-9 for the CoCo cheaper than other versions because, according to this catalog page, it was only $70. (This even included an editor an assembler, though no compilers.)

Perhaps it was felt that it wouldn’t be possible to charge much more when selling to owners of “toy” computers. (And “toy” was not necessarily an unfair adjective, given that the text display was only 32x24 and the serial port to which I attached my terminal was bit-banged, rather than using a UART, which slowed down my system quite a bit.) Anyway, that no doubt influenced my choice of 6809 platform, not that there were a whole lot of other cheapish 6809 platforms in North America at that point.

There’s no question in my mind that the 6809 was the nicest 8-bit processor to program; the plethora of addressing modes and index/stack registers makes life really easy. Looking in the backs of magazines, the retail price wasn’t too bad, either; it was running a bit over ten dollars when a 6502 was five or six dollars. But still, even if you’re looking at only a dollar or two difference in qty. 10,000, that was still a hit on the BOM that anybody in the early- to mid-80s 8-bit market, with its cutthroat pricing, would surely prefer to avoid. (The 6809s lack of popularity is all Jack Tramiel’s fault! :-).)

1 Like

Both the Macintosh project and my own Logo/Smalltalk computers started out as 6809 machines, but Motorola quickly dropped the price for the 68000 while only slightly reducing that of the 6809 so it made sense to switch to the more powerful option.

My 6809 based Logo computer had a single flipflop that split the code and data segments allowing for 128KB. But it required not using the zero offset mode which was the only one that didn’t have an extra clock cycle between fetching the instruction and accessing the data. Since you can have a five bit offset that happens to be zero, it is not a big loss (though the zero offset mode is one clock faster).

2 Likes

Can you give us more detail on how this worked? (Either here, if it’s simple, or perhaps as the lead post of another thread, if it’s complex and likely to generate discussion.)

I looked but was unable to find the schematics for my machine. So I downloaded the datasheets for the 6809 but couldn’t figure out how it was possible to do what I had done. Then I remembered that the 6809E which I used was slightly different, and for that version it was easy: the LIC signal indicates that a new instruction will be fetched in the next cycle (so clear the flipflop to indicate instruction segment access) while the AVMA signal indicates the the bus will be free on the next cycle, which happens at least once before any data access (so set the flipflop to indicate data segment access). The output of the flipflop can be a 17th address line.

In my case all execution was from the ROM (the Logo interpreter) while data and the interpreted program was in RAM. At reset the flipflop was disabled until all needed data had been copied from ROM to RAM. Changing the memory map in the 6883 also allowed the flipflop to start working. A proper MMU would be a more elegant solution.

2 Likes