Good points all! (Nestor, go finish your IP stack if you are bored!)
I am a bit confused by the terminology, so i will try to summarise what i do understand. - diskrom, is that the ROM with floppy or hard disk controller specific code with a standardised jump table (read/write sector, format api, get drive parameter block, init device). Either on the mainboard (builtin floppy support) or cartridge (HBD-50 and such and the hard disk interfaces). Not a large amount of code. I have seen several (disassembled) source code versions. Knows nothing of the file structure, FAT version just a low-level block i/o api. For floppy drives and most hard disk systems limited by the number of blocks the read/write block call handles to 32Mb? - Diskbasic: disk file system for basic, in ROM on the mainboard, uses diskroms, FAT-12 based. Calls diskrom.Present in every MSX-Basic version. Enhanced in MSX-2+ systems for MSX-DOS2 capabilities (subdirs). - MSXDOS-1: combination of MSXDOS.SYS and COMMAND.COM that exposes the msx-dos 1 api (CP/M compatible with extensions) to .com programs. Calls upon multiple diskroms if present. FAT-12 based. - MSX-DOS-2: combination of MSX-DOS2 ROM cartridge and COMMAND2.COM and MSXDOS2.SYS that exposes the msx-dos 2 api (msx-dos 1 compatible with etensions such as subdirectories) to programs. FAT-12 based. Rather a large amount of code, most in the MSX-DOS2 ROM. The MSX-DOS 2 ROM is a memory mapper device. Fokke Post knwos a lot about COMMAND2.COM! - FAT-16 extensions: patched versions of MSX-DOS2 and extended diskroms (ide, megascsi). Still allows fat-12 access to floppies and fat-12 partitions. BIOS? is it the diskrom? is it the MSX-DOS 1 or 2 api? In CP/M it is only the low-level I/O interface to all devices including printer, console, disk i/o on block level. Knows nothing abouit the file system and other os api. A clone of MSX-DOS 1 would not be that difficult. MSX-DOS2 is a lot more code and a richer api to clone! Did i understand correctly? -- For info, see http://www.stack.nl/~wynke/MSX/listinfo.html