Hacker News new | past | comments | ask | show | jobs | submit login
Z80 Symbos OS now has networking support on MSX (msx.org)
46 points by tluyben2 on May 31, 2015 | hide | past | favorite | 25 comments



The MSX was a funny beast.

The MSX used the Z80, which is similar to the Intel 8080. After the 8080, Intel made the 8086, an enhanced 16-bit version.

CP/M ran on, among other things, the Z80. When IBM made the PC, they wanted something like CP/M, so Microsoft took an 8086 port of CP/M and made it into MS-DOS. Then when Microsoft Japan came up with the MSX standard, Paul Allen ported MS-DOS back to the Z80, to create MSX-DOS. Because it was ultimately derived from CP/M, and ran on the same chip, MSX-DOS could (at least theoretically) run CP/M programs unmodified!


It lasted for quite a while and founded an unbelievable number of huge gaming franchises.

The last version of the systems, the MSX turboR ran an R800, a Z80 compatible semi-16-bit CPU. This was required because the 16-bit successor from Zilog was the Z8000 which wasn't Z80 compatible. There was also the Z80000, a 32-bit CPU, but I don't think that was Z80 compatible (but it was probably powerful enough to just emulate it at full-speed).

It's weird the confluence of decisions that made Intel and Motorola decide to keep making new, more powerful CPUs, that were backwards compatible (until Itanium) while this wasn't necessarily a prized requirement in the industry. People were pretty happy to just port whatever over to yet another system since that was just the state of things.

IIR, there was never a 16-bit successor to the 6502, despite being one of the most popular processors of all time.

Between the Z80 and the 6502, 8-bits just really had nowhere, evolutionary-wise, to go.


The 68000 really took over from the 6502, even though it was completely incompatible. There is a 16-bit 6502, called the 65816, from WDC. They are still in production today and were used in some very high volume applications, like the SuperNES game console, but only really in the Apple IIgs personal computer. By the time the 65816 came out the 68000 was well established both in workstations and in the Atari ST, Commodore Amiga, and the Macintosh. The 68000 family had a long life and competed quite well against x86 for a while.


The 68000 really fascinates me, because it has an interesting legacy: the m68k ISA was heavily inspired by the DEC PDP-11 (the classic Unix architecture), and the assembly language was almost identical.

If a few things went differently, the modern computer industry could've been dominated by a descendent of the PDP-11...

Instead, however, we got x86, which is the worst of all possible worlds. People like to shit on x86 for being CISC instead of RISC, but the truth is that a good CISC architecture has lots of things (e.g. orthogonality) that can make up for not being RISC, and x86 is just a really poor example of CISC. The ultimate CISC ISA was VAX, but PDP-11 and m68k came pretty damn close, and it's a real shame that they got crushed under the x86 juggernaut.


x86 works really well as an ISA in the modern micro-op world. The instruction stream acts as a primitive kind of compression - common programs are more concise than they would be under either a fully orthogonal or a pure RISC approach.



Some folks have pointed out that the was the 16-bit successor to the 6502. Too right and my mistake.

As always, here's an Antic podcast interview with a guy from WDC.

http://ataripodcast.libsyn.com/antic-interview-29-david-cram...


Dunno. IBM had already demonstrated the value of backwards compatiblity of ISAs on their mainframe.

There was also the shift (back?) to more modularity than you had on the micros.


6502 -> 65816, no?


> When IBM made the PC, they wanted something like CP/M, so Microsoft took an 8086 port of CP/M and made it into MS-DOS.

It gets stranger than that.

MS-DOS was a clone of CP/M, not a port. And it wasn't originally made by Microsoft: it was made by Seattle Computer Products and called QDOS and later 86-DOS, and Microsoft bought it from them. As a side note, the name MS-DOS came later: the original version for the IBM PC was called "PC DOS", and the name "MS-DOS" first appeared when Microsoft began courting the clone market. The version of the OS for IBM products continued to be called PC DOS, and after Microsoft and IBM fell out, IBM continued to maintain PC DOS as an independent fork while Microsoft continued to develop MS-DOS.

But, getting back to the point...

IBM originally wanted a straight-up port of CP/M by the original author (Gary Kildall). When IBM tried to contact Kildall, he wasn't home, and his wife (who was officially his business partner) talked to them instead. His wife laid down a number of demands that made IBM wary of doing business with the Kildalls. So Microsoft swooped in and offered up DOS at a very low price. The IBM PC launched with PC DOS, written by Microsoft in collaboration with IBM.

Shortly after the launch, IBM patched things up with the Kildalls: Gary developed a port called CP/M-86 as part of the deal, and IBM offered their customers a choice of operating systems. By that point, though, IBM had negotiated a great deal with Microsoft and a very expensive deal with the Kildalls. An IBM PC equipped with PC DOS cost considerably less than an IBM PC equipped with CP/M-86, and nobody wanted to buy the latter when they could save a lot of money and buy the former. Besides, x80 CP/M apps wouldn't run on CP/M-86, and PC DOS had already built up a wealth of popular apps since it came out first, so CP/M-86 died in what was possibly the first instance of an "app gap".


I would argue that the very first instance of a true "app gap" occurred much earlier in computing, when the very first computer was replaced by the very second computer ever made, and it is a constant in computing so far ..


Reminds me of the stuff we are seeing now with how MS is keeping Windows afloat via massive bulk discounts to OEMs, and the backlog of software.


I don't know about this cp/m backport as MSX-DOS but can tell that CP/M programs ran unmoddified: dbase II and a texteditor I forgot the name were ported from TRS-80 and required a software driver to achieve 64 columns or an external card for 80 cols. In Brazil we have plenty of msx 1 and reverse engineered msx2 boards.


For those who do not know: the MSX/Z80 running this OS runs at 3.58 mhz. Symbos is a preemptive multitasking graphical OS with, now, networking running on machines with 3.58 mhz and 128kb of mem. It is an incredible feat in many ways.


The MSX machines (made by Yamaha) that the USSR imported in 80s had network built into BIOS[0]. Now I wonder if it was that model special feature only?

[0] http://www.sensi.org/~tnt23/msx/yamahamsxnet.pdf (NET BIOS manual in Russian)


Oh yeah...I remember. In my school back in Soviet Union we had a computer lab with MSX machines. I remember my teacher could load programs, remotely reset and do a few other such things from their console.

Reading the documentation, it seems the network was explicitly created for teaching. The instructions refer to the case of a classroom of 15 students and a teacher. It seems it was possible to load programs, send mail, private messages, check network status.


Yamaha was quite good at glomming networking features on top of MIDI. They did it in a few ways - I remember double-taking in a Tokyo ops room when I saw a Yamaha C1 being used as a server for a bunch of CX5M's .. traditionally a game or music-making setup, but in this case it was electronic mail and bulletin-boards .. in Japanese ..

Anyway MIDI lives on today because its a great little easy networking protocol, easy to implement and suddenly your device can communicate to a lot of other interesting things..


So it was MIDI! I suspected as much but could not find any documentation.

Funny that since it was the first network I've seen I was naturally expecting all networks to use mini-DIN cables and daisy chaining. The next network, many years later, was a co-axial setup - my mind was blown.


Android is getting MIDI support with M, iirc.


There were a lot of these in the 8-bit era.

Here's an interview with a guy who built one for Atari 8-bits.

http://ataripodcast.libsyn.com/antic-interview-10-the-atari-...


Symbos is still being developed for? I thought that stopped years ago. Great to see it still around.

Any chance of getting the source opened in the near future?


Prodatron went back to work on it about a year ago I think. I ask for open source regurlalry and he is thinking about it. Although ofcourse, you do not really gain anything more than proper comments as it is asm. It saves time.


Ah okay then, I might have to pester him to see if a port to the C128 is possible. I know that the Z80 in that only runs at 2mhz but it would be an interesting experiment.


Looks like there's a 2012 version up on Sourceforge. http://sourceforge.net/projects/symbos/


Unfortunately those are only the sources of the apps & drivers; I think they have been open source for a long time.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: