MSX-DOS versions and clones, a small recap

Page 1/2
| 2

By Briqunullus

Champion (261)

Briqunullus's picture

04-11-2020, 20:06

The past few months I have been collecting and researching MSX-DOS 1 versions and clones. It was a lot of fun and I have learned a lot along the way. Here I wanted to share some of the things I have found.

I have been interested in MSX-DOS versions for nearly 30 years, ever since I got a Public Domain disk from the Dutch HCC that had a modified MSX-DOS version on it. That version supported a config.sys file and I have used it on my main utility disks for a long time. I even dreamt of extending it further, I had printed out the complete assembly listing of command.com and tried studying it. But I didn't have the skills nor the tools at the time to make it work.

A few months ago I discovered the MSX-DOS kit on Hans Otten's page. It contained the source code of a MSX-DOS version. After assembling it turned out to be the exact same MSX-DOS version that I had been using all those years! I could not believe my eyes. I could trace it back to the Argentinian company of Telematica. There are different versions out there all with different credits. But the code is always the same and so it has its origins in South America. The most funny thing is, if I still want to add the things I wanted to 30 years ago, I can easily do it as we've got the source now.

But there are so many other great versions out there. I applaud everyone who ever made these. Whether it's just a small patch or an entire clone completely made from scratch. For instance, I really like that command 1.12 version that changes only 23 bytes in command.com and yet modifies 4 features. Well done! I also like Nike-DOS, a clone that was created and then enhanced by different members of a Ukrainian group. I had that one in my personal archive as well, for about 25 years. Or what about Miguel Freitas, who managed to add subdirectory support to MSX-DOS 1?

I was surprised to discover there have been two official command.com 1.11 versions and one of them contains a bug. Furthermore, I could find 4 different versions of msxdos.sys en 8 versions of command.com, which was more than I could ever have imagined.

All of my findings have been added to the Wiki pages, just start with MSX-DOS or MSX-DOS Clones. There are 4 clones that got their own page, MF-DOS, MSX-DOS by Telematica, Nike-DOS, and SOLX-DOS. Some of the pages still need a few details filled in, feel free to add those if you have the information. I have sent all versions to @tfh so he can put them on his download site.

The list is not complete, if it ever can be. There should be an official msxdos.sys 1.02 and command.com 1.10 which supposedly has been on a Canon disk. @AlesteDX may be able to recover this one. Also I have read messages about MSX-DOS 1.14 and 1.18. No idea if this is msxdos.sys or command.com, hopefully we will find out. And of course there have been more Nike-DOS versions than just the one I got. So the final shout-out is: if you have anything in your personal collection that's not on the Wiki pages yet, please send it to me.

Please enjoy this incredible MSX-DOS collection!

Login or register to post comments

By Grauw

Ascended (9487)

Grauw's picture

04-11-2020, 23:04

Props for the great research!

By karloch

Prophet (2099)

karloch's picture

05-11-2020, 00:17

Very nice wiki page, thanks for the great contribution.

By ~mk~

Champion (265)

~mk~'s picture

05-11-2020, 02:14

Thanks for sharing your research Briqunullus!
I am trying to compile the MSX-DOS version modified by Telematica, perhaps you or someone can help me with the errors I am getting. Here's what I am doing:
1) assembled dskdrv with: m80 =dskdrv.z80/z
2) assembled msxdos with: m80 =msxdos1.mac/z
3) replaced msxdos.rel by msxdos1.rel with: copy msxdos1.rel msxdos.rel
4) attempted to link everything (as defined in link.sub file) with: l80 /p:4000,/d:f237,doshead,bios,msxdos,smldisp,init,dskbasic,msxdata,dskdrv,basdata,msxdos/n/x/y/e

I must be missing one step or doing something wrong, because that last step fails.
I get a bunch of "%Overlaying Program area" messages, then 46 Undefined Global(s) and finally two times asking me "Origin above loader memory, move anyway(Y or N)?" to which, if I say yes both times, MSX hangs.

Any help or hint will be much appreciated.

By NYYRIKKI

Enlighted (5666)

NYYRIKKI's picture

05-11-2020, 04:39

Very nice info about different MSX-DOS1 versions! I must say I learned a lot about these clone versions... I must say that some of these I didn't know anything before.

One thought about COMMAND 1.2c:

Quote:

CMD command makes a call to the H.CMD hook (0FE0Dh). Possibly there are software extensions for this version that hook themselves to H.CMD, but these extensions have been lost.

I have a doubt that this mod might have been originally made to support MEMMAN... but I might be wrong.

BTW One MSX-DOS1 version that might deserve some weird side note on the Wiki is the Siberian MSX-DOS version that was delivered with Aleste520EX. If you want to check it out, you can download copy from here.

By Briqunullus

Champion (261)

Briqunullus's picture

05-11-2020, 09:58

~mk~ wrote:

I am trying to compile the MSX-DOS version modified by Telematica, perhaps you or someone can help me with the errors I am getting.

I think you are trying to link MSX-DOS with the Disk-ROM files. You don't need to. Just assemble and link each file separately:

  • m80 =msxdos.mac
  • m80 =command.mac
  • l80 msxdos,msxdos
  • l80 command, command
  • ren msxdos.com msxdos.sys

That's for the 1.10 rev A version. If you want 1.20 rev B use msxdos1.mac and comand1.mac instead.

NYYRIKKI wrote:

I have a doubt that this mod might have been originally made to support MEMMAN... but I might be wrong.

I have thought of something like that. But how? CMD is a Basic command and that's what you need to do add that hook: parse the Basic instruction. In MSX-DOS the instruction would be at a totally different memory location, it would not be encoded like in Basic and you don't have the routines in the Basic-ROM available. So many differences, it means you would need to have two code paths in your TSR that changes its parsing depending on where it's run. I don't say it's impossible, but it doesn't make sense to me. I'd love to be proven wrong though.

NYYRIKKI wrote:

BTW One MSX-DOS1 version that might deserve some weird side note on the Wiki is the Siberian MSX-DOS version that was delivered with Aleste520EX. If you want to check it out, you can download copy from here.

I'm stunned. MSX-DOS for a non-MSX computer. I will definitely investigate this one. Thanks! I love crazy stuff.

By NYYRIKKI

Enlighted (5666)

NYYRIKKI's picture

05-11-2020, 11:50

Briqunullus wrote:
NYYRIKKI wrote:

I have a doubt that this mod might have been originally made to support MEMMAN... but I might be wrong.

I have thought of something like that. But how? CMD is a Basic command and that's what you need to do add that hook: parse the Basic instruction. In MSX-DOS the instruction would be at a totally different memory location, it would not be encoded like in Basic and you don't have the routines in the Basic-ROM available. So many differences, it means you would need to have two code paths in your TSR that changes its parsing depending on where it's run. I don't say it's impossible, but it doesn't make sense to me. I'd love to be proven wrong though.

I know this requires a bit leap of faith, but it is not THAT far fetched idea as it may sound at first... Memman extended CMD-commands have been designed in a way that BASIC crunch routines can't touch them, so they will leave them as ASCII. The location of the string is also passed to command parser in HL, so it might not be an issue if that ASCII-string is in completely different memory area. Internally Memman enters to it's own environment that is designed to work both from BASIC and DOS, so overall I think this hack still has somewhat fair change that it works...

If you have that COMMAND.COM version, best thing is probably just try...

By NYYRIKKI

Enlighted (5666)

NYYRIKKI's picture

05-11-2020, 12:49

Hmm... I did a little test program to test this theory, but indeed it does not seem to work... If the Memman command is recognized the result is just crash...

By tfh

Prophet (2606)

tfh's picture

05-11-2020, 14:55

You can find Brigunules work here:
https://download.file-hunter.com/OS/MSXDOS/

You can find his files in the three directories named:

MSX-DOS 1 original versions
MSX-DOS clones
MSX-DOS patched versions

By ray2day

Hero (593)

ray2day's picture

05-11-2020, 15:34

Very good and detailed research indeed. Thank you! Cool

Now good luck with MSX-DOS 2! Wink LOL!

By NYYRIKKI

Enlighted (5666)

NYYRIKKI's picture

05-11-2020, 15:57

I did give MF-DOS & SOLX-DOS a try, because I like very much the idea of having directory support under MSX-DOS1... Here are my 5 cents:

Only SOLX-DOS passed my simple test (create dir, create file in dir, try to delete dir, remove created file, remove dir) without problems and even that caused a mismatch between FAT and backup FAT, so not quite 100% perfect result. I give bonus points to SOLX-DOS from the fact that TAB-completion was implemented, but Portuguese as language is not optimal for me personally.

Unfortunately both version are also incompatible with μ (mu.com), so you can't have DOS2 compatible mapper support or ramdisk installed when needed... Although these look very promising, I still think that I must just drop the directory support from my "dream DOS1"-setup.

Page 1/2
| 2