HomeRIDE ► MDOS Tour



Tour on MDOS 1.0 and 2.0

Applies to: RIDE 1.7.10 and later

About 20 minutes to read; last revised on January 17, 2026.

Content

Introduction

MDOS is a filesystem developed in the early 1990's in Didaktik, Slovakia, for their 5.25" drives, sold as optional peripherals for their home computers (most notably for models "M" and "Kompakt"). This tour gives you a brief, yet full, description of MDOS' filesystem as it is implemented in RIDE.

MDOS comes in two major versions, both of which are supported by this application:

Despite the critical differences in formatting routines of MDOS 1.0 and MDOS 2.0, the floppies were freely interchangeable on real machines! You could comfortably insert an MDOS 2.0 floppy into an MDOS 1.0 machine and vice versa! Surprisingly, the forwards compatibility wasn't a question – it was the backwards compatibility that was quite challenging for the designers at Didaktik (MDOS 1.0 floppy in an MDOS 2.0 machine).

The native image for Didaktik floppies is an unstructured (or "raw") file with either the *.D40 or *.D80 extension. The *.D40 extension is usually used to indicate that the image contains 40 (or less) formatted cylinders, whereas the *.D80 extension serves as a universal identifier of any Didaktik floppy images. Many years ago, I wrote this article about Didaktik floppy images. The article will not only advise you with emulation of existing images (e.g. games) but will also provide you with useful tips for creation of new images (there are some constraints that one needs to take into account).

Determining the version of MDOS

The particular version of MDOS is determined automatically upon disk or image insertion by observing the sector numbering under Head 1. The result is displayed in lower right corner of the File Manager.

Let's try it out! Download and open this image of a floppy as it was formatted under MDOS 2.0. Once opened, the File Manager indicates the recognized version:

Try to display the single file that's stored in the image by clicking MDOS → Show as Screen$ – it's a screenshot from my favorite game. You can close the Screen$ preview now. Switch to the Track Map tab and ponder the statuses of sectors on the disk – all are either system (purple), occupied (blue), or empty (white).

Let's try to convince RIDE that this image is actually an MDOS 1.0 image. You can do so by navigating to the MDOS → Floppy recognition submenu where there's currently ticked the Autodetect option, meaning that the version is determined automatically by observing the side number under Head 1 (taking on the PC-compatible value 1 or PC-incompatible value 2). Change that to Force version 1.0 option and see how the Track Map updates.

Now, sectors under Head 1 are reported as unknown (yellow). This is because RIDE is now forced to work with side number that isn't present under Head 1. (Also, if you switch back to the File Manager and attempt to display the picture again, you will face an error message saying that a sector wasn't found.)

You can close this image now as we won't need it anymore, Image → Close.

When formatting a brand new disk, RIDE by default uses Version 2.0 side numbering. In the rare event that Version 1.0 side numbering is wanted, you

  1. format a brand new disk (see FAQ),
  2. in the just formatted Version 2.0 disk, you manually force Version 1.0 in the MDOS → Floppy recognition submenu,
  3. with the same disk still open, you re-format it by commanding MDOS → Format cylinders.

Importing files to a disk

Let us now do some fun with files stored in an image or on a real floppy. Create (see how) a new *.D80 disk, or simply download and open (using the Image → Open command) this empty image. Make sure that the image is not write-protected, i.e. Image → Write protected is unticked. Download also this file – it's a screenshot from another of my favorite games. Unpack it to a folder on your local hard disk.

Now, grab the unpacked Screen.B file and drop it on the File Manager. The file will be imported to the disk. You can see it's correctly imported using the familiar MDOS → Show as Screen$ command.

However, the file won't be readable on a real hardware as the Readable attribute is not set for it. So let's double-click its attributes that currently comprise of eight dashes – an ellipsis button appears. Double-click on the ellipsis button to display the File attributes dialog. In it, tick the Readable attribute and then click on OK.

Save the current state of the image using Image → Save. You can try the result on a real hardware, or in an emulator as shown here:

Let us now import some file with BASIC program for ZX Spectrum. Download this file and unpack its content to your local hard disk. But before importing the file right away, choose MDOS → Default import attributes → (None) to display the File attributes we saw recently. In it, click on the Set hyperlink next to the curly bracket to set all four commonly used attributes, and then click on OK.

Now grab the unpacked Basic.P file, drag it over the File Manager and drop it there. The file will be imported with attributes automatically set to those we just selected in the File attributes dialog.

Setting the default attributes of files is a handy means how to import files that have no "import information" (more on that in a moment), i.e. files like the two we saw thus far.

To run a BASIC program on a real hardware (or in an emulator), however, we will need more than just to set the attributes. Double-click on the BASIC file's first standard attribute (in the Std param 1 column) and change it from zero to five. Double-click on the second standard attribute (in the Std param 2 column) and change it from 32768 to 76.

Save the current state of the image using Image → Save. You can try the result on a real hardware, or in an emulator as shown here:

Working with import information

Can those two standard parameters be set to some defaults as in the file attributes case? No, because they will vary from file to file. But there's a better way – file import information! Import information is a bunch of extra data about a file that are consumed by RIDE at the moment of importing the file. Import information contain virtually the whole line of data shown in the File Manager, packed in a wild-looking string attached to file's regular name.

To get the first crack on the import information, download this file, containing the popular Pssst game by Ultimate that has been modified to run on Didaktik (conversion between media, like this one, is very interesting and enjoyable task that is, regrettably, beyond the scope of this tour). Once unpacked, the file names will look ugly and like corrupt:

PSSST.P ZXP1790001L179Tf
PSP.B ZXB80004000L1b00Tf
%30.B ZXB80535eecL2114Tf
%31.B ZXB80535b80LfTf
%32.B ZXB80535cb0L1Tf
%33.B ZXB80005c78L2Tf

Despite their look, grab all of them, drag them over the File Manager and drop them there. They will be imported with all parameters correctly set!

You can check the consistency by saving the image, using Image → Save, and trying the result on a real hardware, or in an emulator as shown here:

Here are few tips about import information to remember:

Exporting files from a disk

Let us now try the oposite operation – file export. Download and open this image that contains a popular converter of tape files to disk files, named Tape/Disk.

Before exporting anything, make sure that the MDOS → Export with shell-compliant names option is NOT ticked.

Having the option currently unticked, switch to the File Manager. Grab the only file, and drag it over to the Desktop (or anywhere else you like) and drop it there. The file will be given mildly weird name (forward slash has been replaced and import information appended).

Tape%2fDisk.P ZXP2b0000L1b45Rf

Do this once again but this time with the MDOS → Export with shell-compliant names option ticked. The file will be exported with much readable name (forward slash has been dropped and import information omitted) which may come handy if you are using ESXDOS with files stored on an SSD card.

TapeDisk.P

The aforementioned Jmeno ruze game contains mostly files with cryptographic names like "NEW CLOSE # CAT" or "\ CLOSE # CAT". When the MDOS → Export with shell-compliant names option is ticked, they are exported just as I spelled them out, except for the backslash. However when unticked, they respectively become irrecognizable:

Disk archivation tips

In most of the cases, rather than archiving individual files outside their containing image (with or without the import information attached) you may want to archive the whole image (possibly for further generations of gamers), ideally packed as a ZIP file. RIDE cannot pack the image for you but it can help you make the final ZIP file as small as possible. Given that there are not known any games or programs with "secret" files, not officially included in both the directory and the FAT, you are virtually always safe to carry out the following steps.


This concludes our tour, hope you enjoyed it and found it useful :-)