Mtools for OS-9
PC Y2K-fix and Windows 95/NT long file name interchangability for CD-RTOS
When the designers of the CD-i system created the specifications for a multimedia delivery system that would last at least until the next century, they took their job very seriously. Altough the fact that the CD-i player's operating system CD-RTOS was based on release 2.4 of Microware's OS-9 system, which did not handle the Y2K (Year 2000) problem correctly, they created a fix for the OS to provide for a careless usage after the year 2000. It was years later that Microware released an interim release of the OS-9 system -release 2.9- that also included a fix for this problem. As a user of a CD-i system and as a CD-i developer you do not need to buy this upgrade from Microware and you do not need to worry about faulty operation after the year of digital doom.
CD-i's handling of Y2K works correctly for the internal clock and all applications that use it for displaying a date including the 1st and 2nd generation versions of the player shell. (You can check this by setting the clock onto a date past the year 2000 and then creating an FTS-title for a CD-Audio disc. View the contents of Memory or Storage to see that the selection's date is correctly displayed, either as 2000 or as '00). Also, file creation time and date are handled correctly. All CD-i discs created after the year 2000 which include OS-9 filenames with dates after the year 2000 will work.
However, since only the parts of CD-RTOS that handle CDs and OS-9 type magnetic media (the so called CDFM and RBF) are fully compatible with the next millenium, the problem stills occures when using storage media that use the PC or DOS filesystems, since they use a different filemanager named PCF (PC Filemanager). This is only a problem on CD-i development players and POI/POS-models such as the Philips CDI-605 and the CDI-615, since they occasionally need to access PC media. These players behave a little strange when trying to use a post-2000 file from a PC-formatted disk. For example: copying a 2001-file from a DOS-disk onto an OS-9 harddisk, leaves this file with 101 as the creation year!
From the public domain circuit now there is a utility-package which provides for a work-around for this problem, and which adds tremendous functionality to PC - OS-9 file interchangability, including the recognition of Windows 95/98/NT long file names. 'Mtools', originally developed for UNIX by Free Software Foundation and ported to OS-9 by Andrzej Kotanski in 1997.
Mtools consists of several DOS-style utility commands such as dir, copy an format which can be used from the OS-9 shell prompt on PC-formatted diskettes. The main advantage of Mtools over the provided PCF in the CDI-605 and CDI-615 ROM is that it handles long file names correctly. Reading a disk with files created under Windows 95, 98 or NT using the standard PCF (/pcd0 and /pcd0h) results in strange filenames and even errors. Using Mtools, long file names will be read and copied with their full name. This also works vice versa: long OS-9 filenames will be copied with their full name onto a PC diskette using Mtools. It even creates a short (..~1) name on the diskette for backwards compatibility. Furthermore, it assigns the current time and date onto a file copied from a PC-disk onto an OS-9 disk, and therefore it iliminates the Y2K-problem, since OS-9 files created on an OS-9 storage medium always bear a correct year-stamp on CD-i systems.
The complete Mtools package is available on the Internet. Three archives consist: one incorporating all executable commands, one with all source-code so that you will be able to include (parts of) it in your own projects or to modify it to suit your needs, and one with the full documentation. All you have to do manually is adding a text file named mtools.conf in the /SYS directory of your default device (usually /h0) with the line: drive a: file="/pcd0h@" 1.44m.
Please note that Mtools does not add an additional device descriptor to your system, it only works with the provided utilities. Therefore, you will not be able to read long file names on PC diskettes and copy with a correct year stamp in for example MediaMogul. You can, of course, use Mtools from the CD-RTOS shell in MediaMogul, and then access the copied long file names on your OS-9 disk.
The recently announced Philips CDI-660 and the CDI-670 CD-i/DVD Multimedia Controller have an updated PCF built-in, and therefore do not suffer from the PC Y2K complaints as stated in this article. However, it is still worthfull to take a look at Mtools for its long file name compatibility.
You can download Mtools for OS-9 at the CD-i development player downloads section.
Text: Jorg Kennis