Applies to: RIDE 1.7.10 and later
About 20 minutes to read; last revised on January 17, 2026.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).
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
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:
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 ZXP1790001L179TfDespite 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:
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 ZXP2b0000L1b45RfDo 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.PThe 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:
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.
Modern emulators usually can handle images with unexpected number of cylinders (for counter-example, the RealSpectrum emulator cannot, and expects MDOS disks to always have 80 cylinders, otherwise it refuses them). Hence, you can safely trim empty cylinders from the end of the disk using MDOS → Unformat cylinders.

Cylinders that have remained in the image may further be cleaned from unused residue data, thus enabling better ZIP compression rate, using MDOS → Fill empty space. You usually may leave the defaults and click on OK straight ahead.

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