MSX-DOS

From Wikipedia, the free encyclopedia

MSX-DOS
Company/
developer
Microsoft Corporation
OS family DOS
Source model Closed source
Initial release 1984
Latest stable release / 1988
Marketing target Home computers
Available language(s) English
Available programming languages(s) Assembler, MSX BASIC, Pascal
Supported platforms MSX home computer architecture
Kernel type Monolithic kernel
Default user interface Command line interface, Text user interface
License Proprietary
Working state Historic

MSX-DOS is a Disk operating system developed by Microsoft for the 8-bit home computer standard MSX, and is a cross between MS-DOS rev 1.0 and CP/M.

Contents

[edit] MSX-DOS

MSX-DOS and the extended BASIC with floppy disk support were simultaneously developed by Microsoft for the developing home computer standard MSX to add disc capabilities to BASIC, and to give the system a cheaper software medium than Memory Cartridges, and a more powerful storage system than cassette tape. The standard BIOS of an unexpended MSX did not have any floppy disk support, so the additional floppy disk expansion system came with its own BIOS ROM (built-in on the disk controller) called the BDOS, it not only added floppy disk support commands to MSX BASIC but also a booting system, with which it was possible to boot a real disk operating system. In that case BDOS bypassed the BASIC ROMs so that the whole 64K of address space of the Z80 microprocessor inside the MSX computer could be used for the DOS or for other boot-able disks, for example disk based games. At the same time the original BIOS ROM's could still be accessed through a "memory bank switch" mechanism, so the DOS based software could still use BIOS calls to control the hardware and other software mechanisms the main ROM's supplied. Also, because of the BDOS rom basic file access capacity was available even without a command interpreter, by using the BASIC extended commands.

One major difference between MSX-DOS and MS-DOS was that MSX-DOS did not use the "boot sector" on the floppy to boot, but booted using the BDOS ROM routines, and used the media descriptor value from the first byte of FAT to determine file system parameters instead of from the bootsector. Also, because there could be more than one floppy disk controller in two or more cartridge slots, MSX-DOS could boot from several different floppy disk drives. This meant that it was possible to have both a 5¼" floppy disk drive and a 3½" disk drive, and you could boot from either one of them depending on which drive had a boot-able floppy in it.

[edit] Development history

At the time (1984) MSX-DOS was written, there was only one popular disk operating system for 8-bit Intel 8080 compatible microprocessors, which was the CP/M system, written by Digital Research. It was also often used with Z80 systems, because the Z80 used an extended 8080 architecture. Microsoft's own disk operating system was also inspired by CP/M.

To be able to run (slightly modified) CP/M software Microsoft decided to implement functionality similar to major parts of the CP/M BIOS, routines that CP/M systems used to do specific disk operating tasks, such as opening files etc. Instead of basing the command processor on CP/M's CCP, which was known for some user unfriendliness, a command line interpreter (COMMAND.COM) inspired on its MS-DOS counterpart was used. Microsoft also chose its own FAT12 file system over CP/M's filing methods. This ensured that MSX-DOS floppies could also be used on an MS-DOS machine, and that only one single formatting and filing system would be used. This was an important decision, because CP/M disk were often not interchangeable between machines, incompatible disc formatting schemes being a factor in this.

Microsoft also added a standard set of disk commands to MSX-DOS, that were compatible with MS-DOS but not with CP/M. Finally they converted their "Pipelineing" system from MS-DOS to MSX-DOS. The resulting DOS was a system that was much user friendlier than CP/M, but was (in principle) compatible with major CP/M software packages such as WordStar, Turbo Pascal and the "M80" assembler and "L80" linker.

[edit] Improved versions

The first version of MSX-DOS did not have subdirectories, but in 1988 it evolved to version 2, offering facilities such as subdirectories, memory management and environment strings. Later versions of MSX computers (MSX-2) added an internal real-time clock which MSX-DOS could use for time stamping files.

[edit] See also

Languages