Inferno #07
31 мая 2005 |
|
Likbez - details about disk formats that are FAT.
The fact that you wanted to know about disk formats but did not know who to ask by Nuts ------------- Version History ------------- xx.xx.1998 - The first edition in the format of 42 characters per line. hh.hh.1999 - A magazine edited in the format of 32 characters in a row Re. Describes the MS-DOS, iS-DOS, AGAT, DOS 2.9 - RADIO-86RK, SP-DOS - ORION-128, AO-DOS 2.02 (and compatible with her MicroDOS, NORD, NORTON, MK-DOS) - BK-11M, CP / M (MICRODOS) - CORVETTE, Robotron, ORION-128, PROFI, ATM-TURBO, ASM (ASC SOUND MASTER), RT11 (RAFOS, FODOS, OS DCK) - UKNC, CM, DCK, "Electronics-60M", NEWDOS - Letter from Neta. 01/06/2000 - Redistributable, 64 characters in line. Added the description AN-DOS (LC-11M). Only 11 systems. 01/09/2000 - Reformat the editor Word and Deed v6.40. Added description Profi DOS, VFAT (extension FAT) - long names in Windows. Magazine version, it seems too soon see the light. 14/10/2001 - Magazine version was published. Added description of CP / M 2.3 by Michael Markowsky, 1995, CP / M and MX-DOS for Computer Specialist-MX wheels program Realtime Audio Player, 2000, 2001, Halloween and Triumph. Ed.: Description MB02 see the Adventurer # 13. Description ZXVGS - in Inferno # 4. Description CacheVox - a IG # 5. I also have Documentation DISCiPLE / + D in English, it might be published in the next room. 18.06.2005 (Alone Coder) - Added new format for the directory iS-DOS, many fixes opechatki.Spravochnik divided into 4 parts. --------- MS-DOS --------- To begin with, that all the disk parameters are stored in the 0th sector re 0th track. Only thing is that the number of parameters on were grown along with versions of MS-DOS, and only the fourth version can be but all know about the disc. But since the formatter FLOPPY FORMAT Ivan Roshchina writes in this so-called BOOT-sector is the same as that own MS-DOS, then forget about this problem and get back to contents this sector, what will the table. OFFSET LENGTH OF APPOINTMENT 0 3 team moving to bootloader code August 3 Name of the program - formatter # 0b 2 Length of the sector in bytes # 0d 1 Number of sectors per cluster # 0e 2 Number of reserved sectors (from since the beginning of the disk) # 10 1 Number of FAT # 11 2 Maximum number of files in root # 13 2 Total number of sectors on the disk # 15 1 byte - the descriptor type of disc # 16 2 Number of sectors in one FAT # 18 2 Number of sectors per track > DOS 3.0 # 1A 2 Number of heads on the disk # 1C 2 Number of hidden sectors # 20 4 If the disk size> 32M, then the size in sectors > DOS 4.0 # 24 1 Number of disc (only HDD) - its number in BIOS # 25 1 reserve # 26 January signature expansion of the sector, ie only that wrote that DOS 4.0 and above, contains this # 29 # 27 4 serial number - written during formatting disc contains a unique number and date # 26 11 The name of drive # 36 8 Contains "FAT12" or "FAT16" What do these numbers mean ... I'll be careful to hold back on with the hard disk. This is not because I'm for whatever reasons, want to hide it. Vice mouth, the situation with the hard drive is very instructive to install it under other systems, but much more difficult to describe it in the review of a floppy disk formats: there because you and the samples lems increase volume, and the main boot partition is possible Stu host multiple operating systems, and a bunch of formats when working with sealed disk ... A story I'm about floppies. Ed.: Article ZET-9 in this room complements the information Nuts'a just on the file system on your hard drive. First, a little theory. Operating systems in most its not operate with sectors and tracks, but with displacement in absolute sectors. Ie the concept of "track" virtually upot reblyaetsya, but there are a lot of sectors, ranging from zero up to some end, maybe one hundred thousandth. If, say, disk 10 sectors on the same logical path, starting from zero, then the zero would be the logical path is the sector with the 0-th for ninth at the first logical path - from 10 th to 19 th, and so on. Moreover, to limit the number of bits that specify the number absolute sector, the entire disk is divided into blocks of several sectors. Moreover, the zero block can be and not at the beginning di ska - can begin with any of the absolute sector. The first sector are just the boot and information. In MS-DOS, such blocks are called clusters. Number of sectors ditch, falling to one cluster, we can learn from the boot sector. Number of logical sector, which is well left the cluster, we have to calculate based on data from the loaded zochnogo sector, but more on that later. Such a breakdown is tricky to always be aware of the free of free disk space, and various pieces of a file is written in different areas of the disk, where possible, and collect it, even if he is not on consecutive sectors. Therefore, can be a long time without having to worry about cleaning up the disk from remote files. To know the location of each piece file, is that blitz FAT. Each element, starting with the first, contains a reference on the element of this table, where a file cluster number which corresponds to this element of the table. That is, if we learned that the beginning of the file is, say, the fifth cluster, we load it and watch the fifth element of the table FAT. And there is value chitsya, say, number 25. Well, then we quietly read the 25th class ter. And watch the 25th entry in the table. And he points to the number next cluster - the same number the next item in the table or number, indicating that this cluster is the latest to this file is nothing more to read is not necessary. It can also be indicated shows that the sector is marked as free or faulty. The only problem is that the diskette size of one element equal to 12 bits, and half of each of the second byte includes a the previous byte, and another - to the next. To determine the contents of the table for you: 1. Multiply this number by 1.5 cluster, we shift to pair of bytes in a table which contains number of the next cluster pa; 2. If the previous cluster has an odd number (determined in the zero bit in the cluster number), then we must use the 12 infant dshih bits of the pair, otherwise - 12 seniors. If the resulting value is 0, then this cluster is free. If # FF8 - # FFF, then this is the last cluster of the file. # FF0 - # FF7 - reserved sectors, including: # FF7 - the failed cluster. Only the 0th element of this table is no exception. He and keeps a copy of the byte-descriptor of the disc. For example, for disks, which can be read on the Spectrum (Ed.: We are looking for Spectrum without elaboration to read HD-ROM drive): Byte: Type of drive: # F9 3'5 720 kb 2SD 9SEC 80TRKS # Fa 5'25 320 kb 1SD 8SEC 80TRKS # Fb 5'25 640 kb 2SD 8SEC 80TRKS # Fc 5'25 180 kb 1SD 9SEC 40TRKS # Fd 5'25 360 kb 2SD 9SEC 40TRKS # Fe 5'25 160 kb 1SD 8SEC 40TRKS # Ff 5'25 320 kb 2SD 8SEC 40TRKS But these bytes are many other drives, including not with a standard breakdown. In fact, in these byte-type descriptors are used only the low 3 bits, and high-order bits are always equal to unity. In this byte ... 0th bit: 1 - two; 0 - one-sided. First bit: 1 - 8 sectors per track; 0 - no 8. Second bit: 1 - constant drive; 0 - removable disk. To determine the start of a FAT boot sector is indicated number of reserved and boot sectors. You can also find number of tables FAT - for reliability make several copies. After them is the root of the size of which can be calculate the number of files in it. The root directory is always present on the disk. It contains contained information about the files and subdirectories of a Level 1. Latest represent a regular file, but with zero length, their size determined by the table FAT, and they can be segmented rovany - are scattered across the disk. At the beginning of each subdirectory descriptors have two files: "." and ".." . The first follows the description of the directory in the directory at a lower level and mirrors information on this directory. Second - contains a description of the previous catalog-grandparent. They both serve for easy on navigation of the disc. If the directory-grandparent is in the zero class Tere - that means it's root directory. In this directory, such There are no links, but if the boot disk, there are descriptors system files. Descriptor of any file or directory occupies 32 bytes of data: Displacement: FUNCTION: 0-7 file or directory name in large letters, the remainder fill the gap. If the 0th byte is # E5, then file is deleted, if # 05, then code the first letter of the file indeed # E5. If 0 - a place of never used - the end of the catalog. 8.10 Expansion. 11 File attributes. Bits: 0 - Read-only 1 - hidden file 2 - file system, and 3 - the name of the disk first 11-bytes, only the root directory, primary sector and the length is not 4 - subdirectory does not use a length field, 5 - zipped file: archived it (for backup) or not. 12-21 are reserved. 22-23 Time of creation or last correction file stored as a 16-bit word: bits 11/15 - Hours Bits 10-5 - minutes, bits 4-0 - seconds / 2. 24-25 Date of file creation or last correction, stored as a 16-bit word: bits 9.15 - a year, since 1980, and ending with 2099 bits (!!!); 5.8 - month, bits 4-0 - day. 26-27 Number of the first cluster file, starting with the youngest bytes. The first two clusters takes root directory, all files start with the second cluster. 28-31 File size in bytes. The first pair of bytes contains lower level values, both pairs of bytes starting with Low Byte. Total length may reach up to 4 gigabytes, but the format used 20-bit 830k maximum. That's all we need to work with the disk. For the transition from of numbers RA cluster to absolute sectors to take away 2 from the number of class tera, multiplied by the number of sectors in the cluster and add bias generalization to the second cluster in the absolute sektorah.Zatem obtained number needed to divide the number of sectors per track. In Achiev ltate obtain a logical path, where there is a cluster, and balance - a sector. I note that in most literature I've seen is proposed to elk take root, ie, a few of the first cluster ters - like and not clusters. Instead we introduce the concept to We first data: The following directory after the second cluster is such as zero, zero, and accordingly, all numbers of clusters assumed have sought from him by priplyusovaniya-minusovaniya size ka Taloga. In short, only extra computation. In my opinion, if directory is in a zero cluster, and it should be considered for at chalo data, rather than something special. This is done, for example, CP / M. But in fact the root directory is not considered as the first two clusters, namely, the special region of the disk, whose size is not multiple of the cluster. That is why the data starts with the second cluster and the offset to it is the sum of the absolute Nogo beginning of the root directory and its size. And we have to perform calculations. Since the advent of the extensions of the file system, use the employed in Windows 9X, there is another problem - long names. The good old MS-DOS to cope with this scourge - and even though the file names do not look quite usual, however, no any debris between them does not arise, which is not the multiple converters and reader. In short, bugs These occur because of incorrectly written programs not caught headlines, which in a byte flags set the third bit. But I was really very interesting as all the same store a long nye names. The most interesting that this question has been fairly undocumented (not very popular?) (Ed.: closed. Scientific technical information on the laws of the Western market - the object of the torus Conference on Trade). Hypothesis, I heard the most fantastic, but the exact answer gave me the documentation for Linux, which supports Nesco lko file systems (mostly rare and malozadokumentiro bathrooms), including VFAT (which just turned out dokumentashka las). Description is called: NOTES ON THE STRUCTURE OF THE VFAT FILESYSTEM -------------------------------------------------- -------------( This documentation was provided by Galen C. Hunt <gchunt @ cs. rochester.edu> and lightly annotated by Gordon Chaffee). Here is inaccurate and not a literal translation: This document contains a very simplified overview of the technical Studies extended file system FAT, used in Windows NT 3.5 and Windows 95. No warranty as to the correctness of the information is not given. Extended FAT file system is almost identical to the FAT file system, used in earlier versions of MS-DOS. The most important differ ence is to support names up to 255 characters, including spaces, large and small letters. Here is a description of the traditional header for Windows 95: Displacement: FUNCTION: 0-7 File Name 8.10 Expansion 11 File attributes 12 Register for the name and extension 1913 Date (milliseconds) 14-15 Time of creation 16-17 Date of establishment 18-19 Last Modified 20-21 Reserved 22-23 Time stamp??? 24-25 Date stamp??? 26-27 Number of the first cluster file 28-31 Size Byte of points - should be in capital letters name and / or expansion. It has several different meanings in Windows 95 and Windows NT. The name of the file in the standard 8.3, written in Windows NT small letters will be shown in Windows 95 pain Shimi letters. All this is a common and accessible information. Together with the extended FAT system Microsoft adds additional are positive headlines in the directory (if it does not fit into the standard Dart 8.3), maybe even a few for each file - as a function of depending on the length of the name. Further, these additional titles will FLS named slots. Simplistically, the slot is a special element directory that contains up to 13 characters expanded-name. They can be but presented as additional labels to the header, respectively corresponding file. Microsoft prefers to represent standard tny 8.3 file header as the short name (alias), and additional Slots are positive - as the file name. Structure of the slots is as follows. Displacement: FUNCTION: 0 id - ID of the slot 1.10 5 characters name (out of 13) 11 attribute (always # 0f, see below) 1912 Reserve (0) 13 Checksum alias'a (heading 8.3) 14-25 6 more characters in the name 26-27 The first cluster of the file (always 0, see below) 28-31 Another 2 character name Such a breakdown of the slots is a bit irrational, flow Therefore, Microsoft is trying to ensure compatibility with more than one hundred rymi versions of their software. For this study use the following methods: 1) the attribute byte in a slot is equal to # 0F. This means that the file is a label, hidden, system, protected by written system to ignore this old-as-a disc label, although in fact, the labels have only one bit; 2) The initial cluster is set to 0, which is impossible for DOS'ovskogo file. To an old software could work with directories as well but Boc - determine which alias include extended slots, for change the following methods: 1) Distribution. Slots file is always associated with his alias. CER bavok, each slot has an identifier id, which shows Vaeth order of the slots in the expanded name. The following is for up the file "My Big File.Extension which is long", with the order of the following dovaniya headers:<# 2 slot, id = 0x02, symbols = "xtension whic"> <Normal header, name = "MYBIGFIL.EXT"> This means going from last to first. Slots pronumerova Ny from 1 to N. By N'omu slot added the number 64 = # 40, which means that the last slot. 2) The checksum. Each slot contains a checksum his alias'a 8.3, calculated by the following algorithm: for (sum = i = 0; i <11; i + +) {Sum = (((sum'1) <<7) | ((sum'0xfe)>> 1)) + name [i]} What does it mean something like the following (for all 11 characters): y Checksum leave 0-th and 7 th bits, swap them and add code for this symbol. All extended names are stored in the code of Unicode, two bytes one character. End of the name - two zeros, and the remainder is filled with byte # FF. Such is the translation. I should add that, formatting disks in Masdae95, I got a disc that has been cleared by the 4 th bit mediadeskriptora (See above). This, obviously, is a sign of extended fi Lovoy as FAT. ----------------------- ASC SOUND MASTER ----------------------- This is actually a music editor, but I remembered that from some toryh versions of it actually has more and its only known to author, disk format. In the editor, there was mention of some version of CP / M by the same author. System that I've ever seen, but I found no reason to at ASM 'ovsky drives climb. Sob respectively speaking, I want this thing to compile netut.Da here vat Mouzon is not always necessary for the address 49152. Wise coders must think, would have written his own compiler - because a lot of them under the ST Pona wrote. But to climb on sly disk nobody wanted - napisa Do rekompiler under a different address. I also did not particularly bothered, so maybe in the following description of the sho is not so - not tested yet something special. In short, the partitioning so. Separate line altogether sly: The first 8 sectors - to 512 bytes; Last - to 1024 bytes. The remaining tracks - well, 10 sectors of 512 bytes. At zero path is directory. How many sectors it can take, I do not know, and when I last sector is always empty Tov. At entry in the directory has 16 bytes. Zero entry - the first 16 bytes of disk - osobye.Tam contains the string: "ADS 1.00" + + "(C) ASC" - for it is easy to determine ownership of the disk to number of "musical". The remaining entries in the file: Offset Value 0-7 name. 8.10 Expansion. It can be a PAT, SAM, IMG, but can - and yet what. 11-12 (lower 12 bits) - number of first block (cluster) fi la.O see this nizhe.Ostalnye 12-bits of bytes - a prize nak file status, namely, if it contains number: 1 - this is a normal file, 5 - protected delete a file or record, 0 - deleted file. 13-14 The length of the file in bytes. Always 15 # 00! Now a few words about segmentation. Disc structure remarkably similar to the disk MS-DOS. Pieces of a file can occupy any disk space, and records of the file specifies the reference to the first piece. Only in this format the disk chunk size is equal to one sector, and therefore its number can be called a cluster number, block number or the offset to the absolute sector. Location scattered across the disk of these pieces is carried out here with the help soup table, similar to FAT-12. Two copies of this table, the size rum on 5 sectors each, occupy the entire first track. When you need to read the file number of the first piece is written san in the catalog, read the beginning, this first piece, and then determine defines a table that contains the cell with the number of numbers equal to py the first piece of a file. And it contains a number of the second piece. Now he's read and repeat the process with the third. And so to those long as the table will not number the next piece, a symptom end of file. When writing to a table looking cells that contain a sign unoccupied of disk space and write in the next room there was found Nogo empty space, and the sector corresponding cell number table to record your part of the file. The problem is that the cells have a size of 12 bits = 1.5 bytes therefore it is necessary to extract the desired half of the three bytes of coma ndami shift. The first cell of the table always contains the number of # AC - mediades kriptor for MS-DOS: # 000 - a sign of an empty space on the disk; # FFF - end of file - the last cell that contains number of pieces of the file - the last piece. In short, to explain in words is difficult. If someone must be broken ratsya - Learn to practice, and a short description I've finished. ----------------------- Profi DOS ----------------------- Continuing to talk about disks in which the structure similar to FAT on MS-DOS, and mention about this system. Discs for her completely replicate the structure of MS-DOS. System (boot) files are stored Camping on a strictly fixed locations. Mentioned in dokumentash framework of USER area are seen were not, and therefore can not ska show where in the heder file number is saved area, if he keeps Camping in general. (Pro FAT-AN-DOS system for BC, see Part 4) ---------- iS-DOS ---------- As the program FLOPPY FORMAT Ivan Roshchina, this DOS supports eight disk breakdowns, which may very even differ from each other, since the size of the sector can be either 256, or 1024 bytes (the running drive.) Koliches GUT sectors but will be 16 or 5, respectively. Drive at This can be either unilateral or bilateral. Attention should be the order of sectors per track. Since disk can be avtozapuskaemym, while on it and is on 5 sectors per track, the last of them has the number 9. Now consider the structure of the disk. Her description is disk assembler iS-DOS. But it is designed for programmers, working directly in the DOS. Here I will present the foundations facts of this description. "Inside" iS-DOS absolutely ALL storage devices represented by a set of blocks of 256 bytes each, numbered 0 to a certain maximum. The position of any file and generally any required disk space is defined offset from the beginning Disc - 0-th block. And this shift is measured in the same block 256 bytes. That is not so important the sector size. To determine tracks and sectors can use the following formulas: DOR. = INT (SMESCH. / 5120) (or / 4096) CERT. = INT ((see-DOR .* 5120) / 1024) (or / 4096) A remnant of the difference between the displacement to the sector and offset to give us the desired block offset within the 1024-byte sector. 0th block - this is the 0th sector 0th track. It contains: OFFSET LENGTH OF APPOINTMENT 0 2 Reserve. August 2 device name (disk). March 10 Symptom iS-DOS: "DSK". According to it, we can determine membership drive in the system. March 13 [Symptom iS-DOS 2000: also "DSK".] February 16 Reserve. February 18 disk capacity in blocks. February 20 number of 0-th block of the master directory. For CDs 80TR/DS usually the third, ie same 0th sector for 1024 byte sectors. Or third - for 256 byte. January 22 The number of cylinders on the device (for HDD). January 23 Disc Type - bits (0 / 1): 0th - 40/80 tracks; 1st - 1 / 2 part. January 24 Sector Size. 1/2/4: 256/512/1024 bytes. January 25 The number of sectors per track. January 26 Reserve. January 27 Checksum file ????_ dos.sys. This is something like MAGIC'a - a copy of a computer's memory system. Loaded and unloaded it special programs, and its parameters are stored in a special place. ?? - Any four characters. February 28 Reserve. Feb. 30 date (which ???). 32 32 The file descriptor (see below) ????_ dos.sys (see above) 64 16 Table number of sectors. First block contains a bit-map device: every bit of its corresponding corresponds to his unit on the device. 1 bit / block: 0 - free, 1 - busy. Such a table - bitmap disk, often used in different operating systems. Now let's talk about the files and directories. We already know where we find reduces the main directory. It is useful to remember that the files in the iS-DOS would vayut not only segmented, as in MS-DOS, but also continuous mi, as in TR-DOS. That is, the file may be scattered pieces, the segments around the drive will be long to be loaded, and restore it after entry in the directory of it will be spoiled, it is extremely difficult. But worries about cleaning the disc of deleted files is almost gone. Also, the file may be continuous, Georgia would quickly but problems with the command MOVE, or, more precisely, SQUEEZE (so she called is in HOBET'e on PCs) are familiar to all spektrumschikam (unless they working under the emulator). However, according to some reports, this pro lem is solvable (see below), but - as yet unknown. Most (All?) Converters IBM <> ZX operate on the principle of conditional sequence sequence of sectors the file, and if you write a converter IS <> TR, then we can make this file and non-segmented, but for completeness picture should tell how the system iS-DOS collects segments of the files from the disk. So, in the directory of the file descriptor contains a reference not on the initial block of the file itself, but a reference to a special unit - Sector Allocation Table file, or as it is called in the IDF mennom description, block descriptor file segments. 0th byte of its contains a number of file segments - how many parts it again bits. The remaining 255 bytes contain 85 3-byte entries, each of which describes a segment of a file. The first two bytes of each Doi contain the number of zero-block of this segment, and a third - number of blocks in the segment. And to read the file you want, you must first define the beginning this descriptor, then read it. Then looping through the number of segments. On the first two bytes of each triplet is determined determined by the beginning of a particular segment and ordinary manner assumed account by a sequence of sectors, containing blocks of the segment ment. If necessary, make sure to delete unnecessary residues of the first and last sectors. For the last block ka it is possible to make a simple manipulation load address the next segment. But with the first complex. Have to make a transition displacements team LDIR or read the sector in the interim will fer. But in any case the size of 1024 bytes will have to consider. To save files will also disturb the bit ka mouth drive. Need to look for vacant units - their corresponding bits will be cleared. Need to install it, then fill in the required record in the Block Descriptor, or add blocks to an old record. De lat these operations better RAM. Catalogs, oddly enough, is an almost normal files, but they have two descriptors: the outside - in the directory of the parent and internal - within himself. At the main directory just inside tions handle - his 0th file. It is in the inner descriptor describes the number of files and the level of nesting. In addition, the record of the file / directory contains the defining label showing the ownership of the file to a particular group (see below same). It should also be aware of the constraints: number of files in ka Taloga - to 128 nesting level - up to 6. Catalogue can also be segmented or non-segmented. Now more about the structure of the file descriptor. Note that in describing the structure of the internal records of the descriptor directory I do not all became clear. OFFSET LENGTH DESCRIPTION 0 8 Filename August 3 File Type January 11 status register file: bit (0 / 1) 0 - deleted / a 2 - is protected against reading (1) 3 - write-protected (1) 4 - Visible / hidden file 5 - file / directory (root) file 6 - segmented / non-segmented 7 - protected from removal (1) February 12 address the default boot March 14 Length February 17 number Block descriptor segment, or 0-th block file - if the file is continuous January 19 "Special" June 20th Reserve February 26 checksum of file February 28th Time February 30 Date Date and time are encoded as in MS-DOS. Checksum, WHO You can, too. That is what is known about the internal descriptor directory: OFFSET LENGTH DESCRIPTION 0 8 The name of the current directory. March 8 Its type (gaps). January 11 CSR (attributes??) Directory. February 12 CBNN (looks like an initial block) directory - progenitor. February 14 Directory size (in bytes). January 16 nesting level directory (6) [Or 0 for iS-DOS 2000]. February 17 number block descriptor segment. (It's interesting. The catalog can be continuous, then there perhaps number of first block. But then definition of CSR should be the status bits.) February 19 number of 0-th block of the directory (it is then why?). January 21 The total number of files. (Including the directory itself and deleted). January 22 The number of files (Without the directory and deleted). Ed.: The directory structure on disk iS-DOS later (to These include the "Open Letters") has changed. Plugin xISD HalfElf'a Far'u to understand the "new" iS-DOS (2000) and allows copy from / to the files. Addition to source code xISD: January 23 levelChic (nesting level directories to 32) June 24 Reserve. Feb. 30 date. Quote from Leont'eva: 24/12/1996 nesting level directory moved from the 16-th byte of the file descriptor in the 23rd, t.k.16 th byte strictly speaking, is the high byte file length, and although kata logs and are never longer than 16 blocks, but when debugging programs There have been cases where the combination of badly harmed. <...> A hundred swarm system through the open as a file directory are available to read and that the worst thing to write blocks are far beyond the catalog! " ---------------------- CP / M (MICRODOS) ---------------------- In one form or another, this system has been used on a huge number of computers. Many foreign and domestic product PC drivers tried to use this system on their computers tures. Tried to do it and SPEKTRUM'e. But then there were miracles characteristic times, when the format is MS-DOS, as well, and it may have been just a sweet dream. The firm IBM has used this system when using eight-disk drives. Nevertheless, the old eight-digit system, seemingly long zhna ideal for many simple machines. In some torus like that, that's correct. But correct to say that its possible surface on different computers osovmestimlivaniyu modest. This system was designed to work with text terminals. Y no funds to work with graphics! And with plenty of Memory problems can occur. Have only an elementary compatibility shared memory text and format the disk. But even here the compatibility negligible. On SPEKTRUM'e very difficult to display 80 characters per line. But most interesting was the question on-disk format. All The fact that the eight-disk was 77 tracks and on each located 26 sectors of 128 bytes. It seems that the problem is solvable, and disks can be read. However, read up. Quite often you can see a reference to this book: Ueyt Angermeyer M. J. The operating system CP / M. Trans. from English. M: Chapman and Hall, 1986. But upon close examination it turned out that this is clearly a benefit work, but not for programming in this system. The same was the book: NV Makarova, and others are working on a personal computer Robotron 1715 A: Mechanical Engineering, 1989. It seems that this book was written at a time when the word Computer understands: Large, very clever, expensive and complicated Machine with a large screen Type Calculator for an accountant. More details can be mentioned, and scientific, but it is outdated and remote from the practice of the book: Deytel GM Introduction to Operating Systems. Trans. from English. under Ed. VS Shtarkman. M: Mir, 1987 in 2 volumes Several obsolete, in my opinion, but very useful for creators of the OS book. But there are described methods are very complex, and In practice, once described as the old CP / M under vosmidyuymovik. As a result, it becomes clear that in this system is different ma bus use almost any possible format of splitting dispersion ka. Only on their standard ROBOTRON'e three. Slightly different Methods segmentatsii.V result, there are two models of computer CORVETTE not compatible with each other (once to me about it Poveda la science teacher from our school). KORVET'om But as with school computers, and so is almost over, because there are many incompatible school assemblies. But setting CP / M to the corvette named one of the most successful. Are those Mi, who is her prisobachival to Orion-128 computer, which does not only disks, but the controller with the ports of a heel ver sions. The same can be said of other computers. Therefore, will be hard to run on ROBOTRON'e and even KORVET'e u py from the PROFI or ATM-TURBO. But it turns out that there are some compatibility, the format of discrete Cove, described below, although it is most applicable for KORVET'a quite readable in other companies, despite the fact that their OSes are called, like, in different ways: CP / M (-80) and MICRODOS, also different versions. It became clear that read disks of different components can be, but how to distinguish between them - is unknown. That has hardly understand what was happening. About corvette and a lot of Orion said in the radio and magazines Hams. I also tried to explore the drive from the PROFI, but with a I got a sad story. I asked for a copy of this On a single disc with a NEXTCOPY. As a result, the outcome LIMITED disc has deteriorated, and on my disk is copied to a pair of tracks, containing the catalog. And through it I learned the general principles storing information on the disc. The breakdown was as in KORVET'e and other machines for 5 sectors moat of 1024 bytes. And this format should recognize the common. Opis Teli catalog consisted of 32 bytes, 16 of which the last explosion but described the blocks, which were situated bytes. It was only much later that I learned some more details. This pore I walked into the library and has set himself an emulator this system: MYZ80 v 1.0 by Simeon Cran. True, he used the virtual disk that is not quite like the real ones. But some torye interesting things I learned from there. Then I studied in detail documentation KORVET'u and much more figured out. All complicated by the existence a wide variety of units: from the records of 128 bytes to the extents and blocks of 32 (16) kb and 4 (2) KB. And it seems that all the sizes vary depending on the version. But the general principles do not change. Somewhere on the disc is ka Taloga: the PROFI on the second track, the ROBOTRON'a in the third. To file on 32 bytes, but in older systems has been and 33. Descriptor contains a string of bytes - the sequence sequence of blocks where the file is placed. Thus, the ROM emulator could create files up to 32768 (16384) bytes long. But for systems with hard drives maximum length ordering tioned length reached 8MB. Also limited by the size and dispersion ka: about 256MB. But this problem can be overcome by increasing block size. Also mentions the possibility of creating a chain multiple descriptors for a single file, up to 16. And from sensible pieces of large files are called extents. On next descriptor previously pointed out the 33rd byte. Later in this became responsible byte with another number. Directories in the system is not supported. But there is one remarkable opportunity. The fact that earlier on one machine well accounted for by multiple users. And even flexible, not that hard, drive it a little. It was necessary to address the issue of separation lenii data on disks. It was therefore decided to partition a disk for carrying How many USER-areas to only 16, but theoretically up to 255. Kata log was common, but in the descriptor of each file contained a tag Amenities file to a specific area. Thus, the one hard disk, there were several logical, as in MS-DOS. But the disc when it was considered as a whole, and about loading procedure, write, and delete files as well as cleaning Uchi lites, not determined ownership of the file to a specific area, and the separation was purely external. Now we can consider the file descriptor in more detail: Offset Value 0 it is just and contains the number of USER - the area to which Roy owns the file. Using it can be organized be interpreted not really of spreading, but very comprehensive structure tour catalogs. All systems limit the number of domains Taylor to 15, but with little alteration of this digital py can be increased to 255. If the file is deleted, then the origin howl its byte is # E5. 1.8 The name of the file. 9.11 Expansion. Senior bits of these bytes contain the attributes You: 9th - read only, the 10th - a system file. 12 rooms of this extent, the number of the 16-kilobyte file block, which corresponds to the current descriptor. 13-14-15 System Information. Judging by the documentation for the Core vet'a, byte 13 indicates the number of bytes in the last It records file, the total number of which also contains Camping in byte 15. But a detailed study showed that B 15 contains the length of the extent of the records of 128 bytes each. Maximize the number reached 128, and at greater length created a new extent. 16-31 Sitemap file location. It consists of eight pairs bytes, each of which contains the values of the unit on which contains part of the file. In the emulator size block is 4096 bytes on ROBOTRON'e and KORVET'e - 2048 bytes. The balance of the sector can be filled with code # E5. In principle, this information is sufficient for reading and for recording files. Nevertheless, the older systems on the disk also placed a bitmap to 243 bytes. Every bit of it Chambers for a cluster of 8 sectors (8 * 128 = 1024). When writing a file placed first found the discarded bits, and the descriptor was brought the number of the unit. However, to record a new file is enough to crawl ka Taloga, although this operation is not very convenient to implement programs set to the same need to pass the deleted files. Better first create a table of free blocks in memory and do it at first PTO also read the disk, and then, using and adjusting it to memory, overwriting only changed location. So I do not found no longer any mention of such allocation table in later models of computers. Nevertheless, one can not say that this system uses the most original way of segmentation. Other times the system burghers information on segments or in the general table, and then the catalyst log somehow refers to one of its paragraphs. Others contained lie it on the selected sectors for each file in the directory de barks a link to these sectors. But if you copy it was reasonable to would consider such sectors as the segments of the file. iS-DOS in this sense, very original - and uses a table, and the sector and also allows you to create a generally non-segmented files. Her The authors, apparently, learned CP / M, but passed on her way segmentation, and was unique. The documentation on the corvette standard was also the best first financial sector on the disk - it is 128 bytes contain the size of all domains Taylor on the disk: sector size, in bytes, the number of them to horns - and if this information together with the format catalog NE us to more or less standard, we can try and write universal-reader-pisalku on discs of all systems that claim ing on the CP / M compatibility. This sector contains: Bytes Standard Appointment 0-1 0, or # BE80 Address OS boot 2.3 0 or # BF00 run OS Address 5.4 0 or # 0D number of sectors under OS 6 0 code-diameter floppy disk (133 mm) 8 0 96 tracks per inch (= 1 for 48 Dor.) September 1 data vector translation sectors (0 - not used) March 10 Sector Size: (0 - 128 bytes 1 - 256 2 - 512 3 - 1024) Jan. 11 Two-way floppy drive (even lanes above, 0 - one-sided) 12-13 5 Number of sectors per track 14-16, 0080 Number of tracks on one side (TPD, TPD '= 2TPD) 16-17 40 Number of logical records for 128 bytes per track (SPT) April 18 shift factor (= LOG2 (BLS/128)) 19 15 mask layout block data (= BLS/128-1) 20 0 mask block size (= BLS/1024-1-DSM/256) 21-22 # 187 Number of data blocks on disk (DSM = SPT * (TPD'-OFF) * 128/BLS-1) 23-24 # 7F Number of TOC entries minus 1 (DRM) 25-26 2 Number of units under the table of contents (= 32 * DRM / BLS) 27-28 # 0020 Size of the vector control table of contents (Checksum directory?) 29-30 3 Number of tracks for the operating system, including zero (OFF) 31 # E7 (# F1) checksum of the sector 32-128 0 Reserved for vector translation sectors It remains unclear where it is stored BLS - block size is given GOVERNMENTAL (2048/4096) as such. But it can be calculated from the 19 th bytes - the mask data block. Time passed and I have also appeared on other CDs CP / M / MICRODOS-compatible systems: Vector-06C, ATM and Scorpio. Under Vector-06C, I had an emulator with an external program MST, working with egoshnimi disks. But, unfortunately, the most buggy but it works in the process of formatting disks - much everywhere bad tracks, and in other systems disk is formatted correctly. Therefore if nothing can not say, but the catalog, like, the standard dartnyy.Potom pumped a lot more software and even formatted the drive. But no significant signs is not apparent, but useful software was very little, so that while the question remains open. Under the ATM drive I formatted Honey Commander'om v1.0, kako curve version is still working on any 128'om. Drive - as in TR-DOS: 16 sectors of 256 bytes, blocks like in 4096, but no sign for their determination, except for byte # E5 in the primary sectors. Rabo a thief with them, in general, possible. Established by the seventh bits are first two-letter file extension match the attributes of READ ONLY and SYSTEM, that means the aforementioned Commander HIDDEN: file with this bit of fun in the directory no longer displayed. Just as in KORVET'e used bytes 12 and 15 of the file descriptor. By Scorpion CP / M has adapted Mr. MOA as much in 1992. Good or No, but only a sample of such a disc yet I have one called a vaniem type SEXDEMO - is it some pictures and Mouzon, a pair of executables ... Only here the Scorpion then I netuti, emulsion under the rod some READING ERRORS 8 -!, and the detailed operating Motrya files in them were found either breaks, or holes, zabi Tide zeros. Yes, and the directory structure was markedly different from the standard dard: a description of the location of plate blocks of the file on disk was noticeable that in each block is not on a pair of bytes and one byte. This is understood: when a block size of 4096 bytes of disk space to fit about 150. But these breaks in the kata re-filled with zeros, to make me wait for another image samples or information. A little later I got a prog TT 3.02, was built in koyu perturbation zhnost read CP / M--native drives. And as it turned out, she reads them well, despite the tears. With a slight cracking was found that the procedure for reading rather tricky. I do not understand in detail was because he became seriously doubt the merits of this system theme. Again discs CP / M PROFI appeared in my thanks to Mr. Melted'u Snow, for which he a big thanks. Were it the wheels of about fiynoy allegedly SP-DOS with Concurent BIOS (or whatever it is - in general, the same CP / M). In their examination found below following items. First, the directory is located on the first four sectors of origin curve track. Format thereof directory compliant. Secondly, the block size - 2048 bytes, that is to say, the directory is the first two blocks: the zero and first. Thirdly, the standard breakdown - like, five sectors for 1024 bytes. But on the zero track last sector has always Numer-nine. Clearly, the above-named sector is for the author tostarta of a TR-DOS - to load a disc there is always a system DIT file BOOTK (or something in that vein). And the dis-download framework of it can be located any file that creates some difficulty with his reading - you have to make adjustments. But the advantage of such a disk (it seems, was not formatted standard, in the sense that no system formatter) was an alternation sectors of 1:1 and without bias. At the boot disk (it is, rather, was formatted as standard) were offset -1 (or 6 - on the first track 1,2,3,4,5, 2,3,4,5,1 a second). I finished utility for SOFTCOPY - the first disc was read much faster second. Of course, when you write some sort of cunning avtopodstrai developing a loader, this fact is irrelevant, but the fact remains a fact. Next, I began to have emulators and wheels from ORION'a. It turned It turned out, their structure is identical disks KORVET'a only in the boot sector registered another address to download the system We therefore changed the checksum, as assumed it - still unknown. In addition, the Capry / STALL received CDs and information about Spectrum-compatible PC "Quorum". As it turned out, these drives are also compatible with the format CORVETTE '-native, naturally, with his clone of the operating system. The situation is similar with the version of CP / M computer Specialist MX. The sample disk can be taken at: [Http://avshsoftware.by.ru/download/bst_cpm0.zip] But he also has its own DOS (see below). Another thing CP / M 2.3 by Michael Markowsky (KLUG), 1995. On Klug BBS can find documentation for processing at the Pentagon this system and the disk image with the system and utilities. Content This BBS can be found online at: [Ftp://osin.iasnet.ru/klug/] There subdirectory contains files SINCLAIR: ZXCPM.LZH, SYSZXCPM.LZH and ZXCPM.ZIP, in them - everything you need. Identify the floppy can be, for example, Thong "CP / M BIOS" + "Ver 2.3, Michael Markowsky (C) 1995", located at offset # 297 = 663, zero-zero sector of the track. Extents begin with the fourth track, the 0-th sector - there directory is located. Directory size - 2 ekstenta.Razmer extents - 2 sector, ie, as usual - 2 KB. Which of all this should be the conclusion? CP / M-compatible computer says absolutely nothing about by his diska.No in general the information presented should hwa tit for at least the standard CORVETTE 'ovsky disks. Or rather, to work with CP / M would have to write the adjustment module defining or requesting a subspecies of the system and configures system variables. And only after a versatile program for Using these variables will work with almost any CP / M disc. An example of such a program can serve pisishnaya 22Disk by Sydex, inc. It particularly can work with CP / M computers Spectrum +3 and Amstrad. There is also a configuration for PROFI. But as we know, PC is ... ----------------------- Realtime Audio Player a project by PSB ^ Halloween vizualize by blade ^ triumph 2000, 2001, Halloween and Triumph ----------------------- This player works with drives of its size, and recorded on their music in a WAVE-format. Description - directly from a document tion to the program. Track 80, Side 2 (Required) sector are: fiz.nomer length 0 128 January 1024 February 1024 March 1024 April 1024 May 1024 That is, the disk 800 k for the data (unsigned wav, 8 bit, mono) and 0-way 0-th sector - information. On the remaining tracks to create it is not necessary. By the way, the 0-th - is, in the sense in actually (physically) is zero, ie if you use # 3D13, then it must be specified as -1 (# FF). Format of info-sector is: Offset Length Purpose 0 15 ID "RAP format v1.0" January 15 Disc number 16 32 name "TRACK: ..." 48 11 Time "TIME: MM: SS" 59 2 Frequency (rate) wav'a 61 21 The number of roads in each of the disks Number of the disk is given a number from 0 to 20 (of 21 disk) and number of drives determined by the number of bytes are not equal to # FF, at offset 61. Thus, info-sector of each disk same Mouzon differ only in number (+15). Thus, to determine the drive that you can, but not on the 0-th Sector zero track, as it can be done with all the other systems, and especially reading # FF-th sector. ---------------- DOS PC "Agat" ---------------- All data on it, I learned in the book: Mymrin MP Design, application, programming and repair PC "Agat". Moscow: Mashinostroenie, 1990 This book is very detailed and contains detailed information about this PC, including the scheme, and various improvements, as well as texts something which prog. Disc format: 35 tracks (and perhaps physically, then all 40), each with 10 sectors of 256 bytes. And most likely, one side. From these tracks the zero, first and second is the DOS, and directory is located in the middle of the disk - on the 17th track. And all indications are that the sectors it go in reverse order: it begins on the 15th sector, and if it fits on one track ends in the 0th. At the beginning of the sector, there are three important bytes. First - a sign continuation of the directory: if it is zero, then the reading process sectors of the directory, you can stop. Otherwise, the second and third bytes contain the path and continue the directory sector. And so, if the directory is only one path, then for all s tori second byte refers to the 17th track, and the third bytes more most senior sector - at a junior: second byte of the 15 th sector equal to 14, indicating that the next sector is on the directory 14th sector. Similarly, the 14th sector refers to 13th, 13th to 12th, etc., but the 0th sector refers to 15th, though electrically connected directory. (But I hope that the first it is zero bytes.) In other second and third bytes of zero seconds torus containing the track and sector to continue the catalog. After these three bytes are eight reserved bytes, and then field file descriptor. Each file is given in 36 bytes, namely: Displacement: FUNCTION: 0 Number of tracks and ... A number of sector allocation file. In addition ,1-th byte Remote file descriptor increases by 160, and a record of it preserved. This shows that the theoretical practically possible to use disk drives for 80 tracks or double-sided on 40, but not 80TR/DS, or so files are removed in another way. 2 Type of file: 2 (first bit) - BASIC; 4 (the second bit) - a binary (0 - text); 7th bit - write protection. 3-32 File name. 33-34 The length of the file in the sectors. 35 Reserve. Only here do not know: whether a file descriptor can we find ditsya in different sectors, or remain free bytes. And what about segmentation. Directory can be explicitly segmented nym. But here's the files ... The above book contains not coincide Sem comprehensible explanation. The first two bytes of the descriptor may contain press reference to the link file location. That is, they point to the location (path and number) of sector, in bytes, of the 13th and 14th which contains the path and sector, where start or continue the data. But while this difference? How to identify employment sectors when writing new file, and in general why the 13th and 14th bytes of the sector reserved of file data used for other purposes? Perhaps this is particular sector, containing only links, or use it Xia missing bytes in the directory? However, the issue of segmentation of files, although it is most complex, is also the least covered in the literature. As further research drives from APPLE 2, their format is really compatible or identical with the above. The encoding of the text in the catalog (and not only): capital letters ASCII + + 128. ----------------------- DOS 2.6 (Radio-86RK) ----------------------- The main advantage of radio-86RK is a detailed description in mass magazines. And his description of the DOS found there: RADIO 1993, No. 1, p. 13-16. Well ... 80 tracks: even (0, 2, 4 ...) - on top, odd nye - bottom. Five sectors of 512 bytes - FM recording method. The order Doc sectors: 0,3,1,4,2. Map and directory of the drive is on the 32nd track. Map - to 0th its sector. It is 160 bytes, describing the employment sectors appropriate path. Each of the five bits of the answers for their sector. For example, the first track corresponds to the first byte of this sector. Let the value of a null byte is equal to # 1E (11110 bin). This means that the employment sector 1,2,3,4, but not 0. Value # 1F (11111 bin) means that all sectors of employment. # 0B (01011 bin) - Sector 0,1,3 etc. Then comes the directory of the drive. Each file is allocated 28 bytes: Offset Value 0 Track and ... 1 ... sector, the next sector directory. If the 0th byte is zero, this means that the continuation will not. 2.5 Reserve is filled with # 00. 7-16 File name, the rest is filled with # 00. 17 The so-called zero file - if the file is deleted, the first byte his name is # FF, but here is written the first letter his behalf. 18-20 The file extension. 21-22 Track and sector allocation of so-called T / S LIST (see below). 23-24 Load address. 25-26 The length of the sectors. 27 File attributes. T / S LIST or, more precisely, TRACKS / SECTORS LIST - a list of tracks and sectors, which include the desired file. The first two bytes this sector include a link to the continuation of this list, otherwise is zero. Next comes a number of pairs of bytes (or rather, this amount is contained in the descriptor file.) Each pair contains contains track and sector number of the next file. Well, sign the end of the list are two zeros. I can only say, as are file descriptors on Sector: whether to butt, and then one descriptor can be two different sectors, or in every sector of the directory are unused bytes. But in any case leaves the directory a lot of bytes for each of the secret use. ----------------------- SPDOS (ORION-128) ----------------------- Description of the journal RADIO № ° 2 / 93. This system is designed for quick diskofikatsii ORION'a, for compatibility with old software. Later it was replaced by on a more widespread system CP / M. But the question of its professional sional, compatibility and progressive too distant from topic in the future may be present only on the format disc. And while it goes about its predshestvenitsu. Two sides, 80 tracks. Five sectors of 1024 bytes. All Dead reckoning is in the blocks - to 1024-byte sectors - and the position of the disk is given by the displacement of these blocks. All zero-doro zhka reserved: blocks 0-9 are not used. In the first we find converge two directories with the card drive (2 KB): Reserve for Sectors 1 and 2 (blocks 10 and 11) and in the main sectors 6 and 7 (Blocks 15 and 16). And on the tracks with a second on 79 th (blocks 20 - 799) placed the data area - 780 KB. The catalog is up to 78 file descriptors, 16 bytes each, namely: Offset Value 0-7 Name of the file. If his first byte is # E5, then this file is deleted, and if - # 00, it means that the windows directory creased. 8.9 Address of the file download. 11.10 File size in bytes. 12 File attributes: 7th bit - write-protected; 4th bit - file a fake - just in the catalog. 13-15 Reserved. I note that 78 * 16 = 1248. This means that the catalog remains another 800 bytes of space. And 780 of them are used for storage of the file allocation table. If it's bytes are conventionally numbered from 20 to 799, we obtain direct correspondence between each byte and the block on the disk. If value of any byte is equal to # E5, then the corresponding block is free, and if its value is - # FF, then it is defective. Ina Che its value will be from 1 to 78, in accordance with what what file this block belongs to, or, more precisely, by the position of the file in the directory. Thus, it is not necessary to record the position of the first sector (block) file or create a table location sector moat of each file. To read this file to determine its order kovy catalog number, if known, and then scan table file location, and finding the required number, download block corresponding to a shift from the beginning of the table, not forgetting bavit 20. And to continue this scan-read until the whole file could not be loaded. And for the record a new file, you need to look at this table free blocks, the corresponding byte is equal to # E5. Naturally, it is necessary to miss classes and bad blocks. And verification of the recorded file, you can even tag along found bad sectors! Noteworthy is the ability to create a dummy file - only in the directory. But this bit must be taken into account in order not to use Cach blocks belonging to a nonexistent file. You should also not forget about a lot of free space on the primary road framework of. Free space can really be used for various defenses, and even viruses, although, unfortunately, the maximum possible size of the slices can not format the sectors, changing are any data in memory is hidden from prying eyes. As a result, one can only say: why use the old system free CP / M, if this system is compatible with the old achievements and its development would lead to better results? This is something I have to Therefore, that the Speccy the same situation with OSes, and if it who wants to make a new one, let take into account this situation. ----------------------- MX-DOS ----------------------- This DOS is designed for a computer specialist MX. Sample emulator of the computer can take the following address: [Http://avshsoftware.by.ru/download/spmx_v42.zip] A sample disk (one disk in two parts): [Http://avshsoftware.by.ru/download/bst_mx0_0.zip] [Http://avshsoftware.by.ru/download/bst_mx0_1.zip] A breakdown of the standard disk: 162 tracks on both sides, 5 sectors of 1024 bytes each. You can identify a disk Thong "Dos_MX V3.6", which finds tsya at offset 5 in the zero sector of the zero track. File structure of disks is very unusual: the file positioning are up to a byte. The fact that the file system is based ratories on the structure ROMDISK'a for this computer. The structure of the file header: Displacement: FUNCTION: 0 3 bytes # D3 - a sign of the title March 9 bytes name March 12 bytes of extension 15 If # 8C - file, if # 8B - subdirectory March 16 bytes - the date in BCD form: high 4 bits - dozens lower 4 bits - units (Eg, the number 21 would be # 21) February 24 bytes - start (start) address of the file February 26 bytes - destination address February 28 bytes - checksum Appointment of the remaining bytes unknown, need to be supplemented Flax information. ----------------------- RT-11 (RAFOS, Fodos) ----------------------- First of all, have got my hands on the wheels of DCK. But they were completely unreadable, despite the fact that their compatibility with the standard formats breakdown mentioned more than once. A little more luck to me with disks from UKNZ. Read they are asking then fine, uglyadyvalos disk name, boot ... But there was no no hint of the presence of the directory. In the future I will have access to these machines and an expert on it. But in documents experiments on them, I did not find any information on polzitelnoy specific topic, and even reformatting the drive and writing it izves tnye files with a known directory, I could not find it on the disk as itself. There was only some kind of table structure looks like whether directory, or file allocation table, which, incidentally, should not be, since, according to information received, the disk structure Recalls Spectrum 'ovsky. Then I wound up running the emulator RT-11 is compatible with the format in FODOS UKNC, moreover, and envelopes ka with the disc in this format. But again, no docks, no catalog, and just nonsense any. In general, the question then remains open, and yet There were still some hopes. Whole year, I hope these veins, and then again went to the library current. Break a whole bunch of books. Initially, it became clear that, in about general, then, all comes from this same RT-11, and from it "otkopirovalis" all there RAFOS, RAFOS 2, FODOS, FODOS 2, OS DCK and something there another - in short, everything that was used on older machines, and SM Series "Electronics". On them, as, indeed, and MS-DOS, and CP / M, more important seemed to software compatibility. As a result, As a result - again, secrets, and can - be ashamed of who tore the IEI eign samples. In a word, about the discs from now compatible OS said little. Most information I found in the directory: Operating System SM computers RAFOS Compilers: AI Cushions, GV Vigorodchik, AJ Vorobyov, AA Lukin under Society. Ed. VP Semin. M: Finance and Statistics, 1984 - 207. It turns out that the system RAFOS can still work with DOS disks CM and UCS. Most likely, it also affects the tricky format catalogs ha. Why is it nowhere to be seen? Yes, the fact is that all symbolic line are packaged in clever (and it seems staryuschy) this code - RADIX-50. Almost a small compression: three letters - a two bytes. But the set of letters, among other things, is not of the 32 symbols fishing (five bits per character, and even a bit in a couple of bytes remains, and decoded all of you a simple shift - for a directory like dos sufficiently). But no, it uses a set of 40 characters: letters, digits and three special signs. Like, you need 6 bits per symbol - two bytes do not squeeze. But this is - if you work shifts, and if we multiply Niemi - then get: 40 * 40 * 40 = 64 000 - fully double-byte integer. And we get: Kod_Pervoy_Bukvy * 1600 + Kod_Vtoroy_Bukvy + * 40 + + Kod_Tretey_Bukvy = More # FFFF does not work if the code letter is in the range zone from 0 to 39! In the space bar code - zero, the letters AZ - codes 1 through 26. Next are special characters: "a point in a circle, in our opinion," $ "- code 27 "Point" - code 28, "/" - code 29 - this symbol replaces characters which have no analogues in the code RADIX-50. Well, the numbers "0" - "9" - code 30-39. Encoding and decoding operations performed by multiplication of, and division. Next - easier. The entire disk is divided into blocks of 512 bytes, for UKNC it - the size of sector, and these blocks are numbered from zero to some maximum small - the total number of blocks. The number is dependent on the number of expensive checks and sectors on them: 10 or 9. Block 0 - the boot sector. It begins with a code # A0, there are Other notable bytes, but how does it find koliches GUT sides, tracks and sectors - is still unknown. Block 1 - includes: in the end - user name, drive, and the operator ration system, but in the beginning - the replacement of defective block table Cove. As it is encoded these bad blocks - no one says In addition, there exist some constants are always bytes. Blocks 2-5 - the system itself, or empty if the disk is not bootable. Starting with the block 6 is directory. It consists of one or several segments - each with 1024 bytes - 2 blocks. Koliches GUT segments can be specified when initializing the disk. Accepted that all information in the directory-byte - only 512 words (pairs B) in the segment. First 5 words - service: The word VALUE 1 Number of segments in the directory. 2 Issue the following segments: the segments form a list last segment is numbered zero. 3 Number of occupied segments, varies only in the first segment. 4 Number of extra bytes in each record on file. The system uses 14 bytes - 7 words in the file, but special social programs may have their own segments with their length of the file descriptor. 5 Issue of the initial block of the first file in this segment Standard recording of the file - 7 words: The word VALUE 1 Type of entry in the file: # 0100 - temporary file when it uses the word 6; # 0200 - deleted file - a blank space on the disk; # 0400 - a normal file; # 8400 - READ ONLY; # 0800 - the end of the segment, but not the directory, the end of the kata log determined if this segment - the last used use. Not necessarily used by all segments element to the end - transfer to a new segment, perhaps with another length of the file descriptor, can occur in any bom place. 2.4 The name and extension in the code RADIX-50 - 6 and 3 characters. 5 Length of the file or empty space. 6 For the temporary file in the low byte - channel number associated with the file problem, the number of which - in high byte. 7 Date of file creation: Bits 0-4 - year-1972 (ie 1972 - 2004), Bits 5-9 - day (1-31), bits 10-14 - month (1-12) There may be additional bytes. Position of the file on disk must be determined by adding the lengths files, beginning with the first file in this segment and file, go to schy to be given, plus a fifth word of this segment. It looks like winding tape recorder on the counter, however, this OS is ve children their chronology with tape times. Finally add that the OS RAFOS possibilities of virtual dislocations kovody - files whose structure follows the breakdown of the disc. This is only confirmed when I was a little acquainted with the LC-11M that is also possible to run this system. But while this only minor slips of the tongue in the documentation for other systems. Therefore we know neither the details of the system to BC or format of the first block of the system. ----------------------- AO-DOS version 2.02 ----------------------- Format compatible with its catalog MicroDOS, NORTON, NORD, MK-DOS - Refers to other BC 'shnye system. The disk can be 40/80-track, 1 / 2-sided. 10 or 9 in 512 bytes. The problem is that there are two options for the disco Output formats: standard and extended. The latter format as times and studied, and it seems that it uses only specific breakdown: 10 sectors. Another problem was that the main system for BC notation is octal, every time it is necessary to pay attention. Position on the disc is given in the shifts in blocks of 512 bytes. Recount conducted by the formulas: PATH = INT (SMESCHENIE/10) SECTOR = OFFSET-TRACK * 10 However, the position on the disk can be easily determined by eye: the first curves two digits of a decimal number - track, while the latter - the sector. On the zero block (0 dor. 0 sects.) Hosted system info rmatsiya and the beginning of the catalog. The first 4 bytes are used only for the boot disk, it has: Offset Value Codes 0-3 teams go to the bootloader. 4 defines the type of format: if there is 26, the format extension sured, and in the target drive me there were a number of 32. Therefore, talk about the differences. As evidence to kumentatsiya, the extended format: 5 describes the breakdown of the disc. It contains the size to horns disk sectors, plus set the seventh bit, the EU Does a one-sided disc. 6.7 The sector size in bytes. 8 The number of tracks. 10 Why do some is reserved. In my version of the format, I saw on the location of these bytes string "AO-DOS". Next line is restored. 12 Name the disk (12 bytes), which shows the shell DOS SHELL for this system. 24 contains the number of entries in the directory. 26-27 Number of the first free block on disk. 256-257 Bytes # 2E and # A7 - number 123456 in octal IU. This is a sign of the OS. 310 Undocumented pair of bytes - the number of free blocks on the disk. 320 and below is a directory. Its structure is very original. Despite the fact that the system metal can create directories with nesting level as a minimum to 128, all records of all files on a disk in a single spacecraft Taloga. Each subdirectory, regardless of the level vlozhennos TI, is individually numbered, recorded in the descriptor data Nogo directory. And every file or subdirectory is a link to your parent directory. At entry in the directory assigned to 24 bytes: Offset Value 0-1 The instructions are called the word signs (16 bits). If the record describes a subdirectory, then the younger seven bits of zero bytes contain the serial number this subdirectory, otherwise it involved only zero, the first and seventh beats. Then their value is the KOVO: 0th bit - a sign of a protected file, the first - hidden, and the 7th bit - a sign of bad blocks. Lower 7 bits of the first byte contain the number of parents subdirectory in consumer, regardless of what note: the file or directory. 7th bits of this byte indicates that this file is deleted. Deleted tories cleaned out physically, and standard they should not contain files. A newly created directories physically fit is not the end of list all the files, but after the last entry on the directory. In practice, it turned out that when you delete files, both These bytes are set to a value # FF. 2-15 File name. Enlargement as such do not exist. Bytes These may include codes of any characters and numbers, including tea point, which can separate psevdorasshirenie, which may be of any length. In general, these bytes are used for visual identification of the file. 16-17 Number of the first hold a file block. For rolled the log is always a number # 14. 18-19 The number of blocks being spent on the file. For rolled logs, it is always zero. 20-21 contain the load address, which always decreases to an even number. 22-23 contain a long file, which must be less than 32768. As you can see, there is no indication that the files and directories can be be segmented. And in her description says: "System uses an algorithm to write the file, allowing optimal use of to use disk space, without using tools compression, and removing the need to monitor the state of catalogs n disc. "The Mystery of the algorithm I have not been disclosed. On the drive there anything resembling a map of the disk. Perhaps, the system tries to be written write a new file to a remote location, appropriate size, and some part of the drive wasted. Indeed, erasing and writing files, I was convinced that smaller files are written in place already deleted, their large size. If the file is not placed, Origin of Record went to a new sector, reducing the available free disk space proof, and is added to the end of the catalog. And if you can be written were small files, then their descriptor ranked removed Nogo, and if after this operation remained a place of remotely the first file, the record has placed on new file is added to the settlement le old. Thus, the files were in the sequence position of their relative to the disk. The rest of the remote fi la "hole" between the blocks could be used to record placed rotating in her files, though the catalog of her recordings was not. In addition, the catalog was found edakii destination file. The first two bytes of it were equal to # FF. Bytes 16 and 17 in his description Telja contained a number of the first free block, and bytes 18 and 19 - number of free blocks. This information can be used to the disk. It remains only to say that the system automatically creates a complete copy of the zero track, which is located on the track Number 1. Moreover, at both the last sector, it seems, do not use tsya because it is filled with byte # 00, while the unused place in the catalog is filled with byte # F6. ----------------------- NEWDOS ----------------------- Here is one pismo.V It proposes a new disc format for Spectrum. "Hi All! I immediately developed a new storage format of the file name on disk And I want you to look and evaluate all the possible drawbacks ki. Maybe something to add or remove as necessary as in your opinion? The disc can be either 64 files or 64 directories for 16 files in each, for a total maximum of 1024 files on one disc. Mo and can be spread in the file directory, ie, not something one thing and all together. In the previously created directory create another can not and we can write 16 files. These restrictions are made in order to facilitate of work in the future when writing any software under this format, as well as to reduce the occupied disk question transtva. Due to this format, we are losing another 9 tracks, ie, the first track on the disk will 10. We now describe the format of the directory names and file: DIRECTORY; + # 00 - file mask: # 00 - end of catalog or directory; # 01 - deleted file or directory; # 02 - directory; # 03 - file don't delete; # 04 - hidden file or directory. + # 01 - # 14 - directory name of 20 symbols; + # 15 - # 17 - type of three symbols; + # 18 - # 1A - create date DD-MM-YY; + # 1B - not used;!!! + # 1C - files in directory; + # 1D - directory length of sectors; + # 1E - first sector; + # 1F - first track. FILES: + # 00 - file mask: # 00 - end of catalog or directory; # 01 - deleted file or directory; # 02 - directory; # 03 - file don't delete; # 04 - hidden file or directory. + # 01 - # 14 - file name of 20 symbols; + # 15 - # 17 - type of three symbols; + # 15 = 'B'-'BAS' for basic file 'C'-'COM' for code file 'D'-'DAT' for data file + # 18 - # 19 - start address file; + # 1A-# 1B - bytes length file; + # 1C - number directory for this file; + # 1D - lenght of sectors; + # 1E - first sector; + # 1F - first track. I mean, we now have 20 character name, 3 character type and a bunch of files on disk. As you look at it? Personally, I start tomorrow writing the original program under support, which has since become one of the completions of new DOS'a, and Phantom Ltd will write COMMANDER under this format. " Here is the answer to this letter: "I would be in your place would do the following: 512 bytes per sector, 10 sectors per track, the disk is formatted MS-DOS. This immediately decides question portability of files between all other dosami. Cro In addition, there are no restrictions on the number of files on the disk - constraints Chenoa only the number of files / directories in the root directory. Think about the users HDD - screw them again cut into slices of 640 KB? Now about the format of the catalog. Take the original format MS-DOS, and it shall contain the following correction: instead of the time create a file record start address (this version a long time and successfully applied to BC). In addition, the MS-DOS in the records of the fi le vacant for another 10 bytes, so that you can turn around. IK> These restrictions are made to facilitate the work in subsequent IK> general in writing of any software under this format, Software should be written under the OSes, not "under the format." IK> + # 15 = 'B'-'BAS' for basic file IK> 'C'-'COM' for code file IK> 'D'-'DAT' for data file Do you plan to use the new dosa as a replacement for TR-DOS? If No, something about the BASIC you can immediately forget. IK> + # 1E - first sector; IK> + # 1F - first track. Why repeat someone else's mistakes? Linear arrangement of this file Hour is not true. __ __ / / Powered [pepsi inside] _ / By MOTOROLA [smoking suxx] " Hopefully, there are understandable without much comment, but all that ki, to support these formats or does not support?? As the Time Keeper, a letter is taken from the conference REAL.SPECCY, and such letters there nemalo.Kak on his personal to me Niya, and in the opinion of many other people, the best form mat hard drive - it's MS-DOS FAT, because will be a big sovmes reversibility of the PCs - you can easily transfer the information in the form of images CD and connect them to the operating system one way or another formation fashion (directly through RAM-Disk). And I'll make a small note: the hard drive is cut into slices as time in BC, each slice - disk image - called her a letter, big or small. And anyway, if you work with a screw, it is necessary and divide into slices (for older systems, and support programs Controllers screws on Speke do pretty much the same) and a new form Math drive to invent - new operatsionok.A too will the scrap tics such as files or razdelchikov - a question to the developer, already implemented and he is another option. Thus, the description of the file system proposed above, can be regarded as a subject of discussion and a call to action Corollary. Here it is present as a practical example and guide - in case if someone even think of this format is supported. But the most interesting: the author of this opus has responded, and his identity is established: Himik's ZxZ. ----------------------- AN-DOS ----------------------- It's time to think again about BC. AN-DOS and have that system on BC, which recalled a little higher. She really IS systems use the file allocation with FAT, like MS-DOS (And ASC SOUND MASTER). The structure of the disc occurred only minor changes. In boot sector for the transition team for the loader used used instead of 3, and 4 bytes: # A0, # 00, # 1E, # 01, and then goes string "ANDOS". Then, as usual, including the disk label and sign "FAT12". Only the spread of the parameters: it is always two FAT, size of 1200 bytes (424 cluster 4 sectors), the amount of catalogs m - 7 sectors. In addition, only the root directory. Subdirectories encoded in the standard system for BC. Each directory and subdirectory has its own unique number. And each rolled log file and there is a link to the number of directory-grandparent (in which they are). Therefore, there have been slight changes in directory structure: Displacement: FUNCTION: 11 File attributes. Bit 3 - sign subdirectory AN-DOS. 12-19 are reserved. MS-DOS annihilate them?? 20 Symptom subdirectory, while its number. 21 rooms parent subdirectory. 22-23 URL or file name of the drive for the links - the transition at him. In reference also set the third bit, but subdirectory bytes 12-31 neutral earthing. The structure of the FAT system is similar to MS-DOS, and the structure of rolled log similar to the AO-DOS. Ie The disc has only one directory. In each subdirectory there is a sequence number in the redundant area of the header, marked it as a discrete label ka, and MS-DOS it does not seem to. And each file is stored in the Cheder number of the subdirectory where he is. A breakdown of this is purely visual: if the system writes a file and looking for - whether there is already a file with the same name - then it scans all files, not looking at a directories. ----------------------- EPILOGUE ----------------------- At this point I still finish my story. At various times I had access to disks and computers of different systems, as well as to the emulator. And here are set out, perhaps, not all known I disc formats. I learned a lot through emulation on the IBM PC. I must say they can be used to study such systems, which few people form Affairs in person, or those whose carriers do not contribute to their Studies on SPEKTRUM'e. For example, in computer COMMODORE 64 uses crafty disco water, connected to a special bus with six computer wires mi. Original and disc formats: in lanes 1-17 is 21 sectors of 256 bytes, 18-24 - 19 sectors, 25-30 - 18, and on the basis Fundamental to 17, with tracks 36-40 - custom. Therefore, there use virtual disks and files - in the form of file format MS-DOS. The emulator simulates the work of these drives, kartrid zhey and tapes, using information from these files. But at the same you can connect these drives and tapes with printer port. There are even special programs about shell, which can combine both standard and nonstandard devices under a common interface to make easy transfer information between them. And yet there are compatible disk drives hard drive and even converters to / from MS-DOS, but as far as I understood they are much more rare. Therefore, only viewers with standard MS-DOS can be studied chat virtual drives. Although, for example, computers use MSX disks, very similar on MS-DOS '-native, and author of both OS systems, such as total, Nesmith trya that MSX 'Naya, like, called CP / M. Virtual same disks are not always a full copy of the real and perhaps I want to dig for real with SPEKTRUM'a. A format tapes and cartridges do not lend themselves to normal Research. It is true, who needs junk 1980-1984 years? I even caught a komputer - ATARI XE 130. Was at it and drive, and floppy disks, and even some of what the Russian-language documents mentation. But the drive was external, connecting cables somewhere Share. Floppy disks were read with difficulty, and in addition, they use valis as two-sided. In short, what I'm there for them no read, but the catalog is nowhere found. And the documentation is how just about him - not a word. In general, if there is a specialist sheet, we continue this conversation. And the fact that I've already started pi write on this very car, unfortunately faded. As shown by digging in emulyatorskih samples - catalog contains somewhere in the middle of the di ska and has a fairly simple structure. There are samples and some documentation about the wheels SAM Coupe 'and DiSCIPLE Plus. Their special feature is the order of log optical tracks: tracks 0-79 are on one side of the disc, and Track 80-159 - on the other. But a small amount of documentation stimulates their detailed study. For Opus Discovery does not even have samples, but only a few Uchi literature with a brief dokumentashkoy and dizassambler ROM. Again - no know whether it is worth tinkering with them. And yet, I read a good description of the old company: SPARK 224 is called. Some would say that working with him. And worth would be about him, even though the principle of the need to consider propagation of utility (s) information. Why, just I do not even I know there are connected to him FDD 5'25 ", and how it is now distributed to them to anyone interested, at least from the idle interest. The same, however, can and tell about all of the above touch framework of. But I can say with certainty that someone by whether more properly have access to them, and on other similar machines do not knows or does not want to know, despite the fact that the popularity of some toryh of them even at the current moment can be quite large in segments. And the availability of fresh software ensure of them, as well as detailed information about them and co-operation with more powerful and modern systems will help to extend the integration interest to them, especially if the transition to the aforementioned power systems for some reason impossible. And the information can and should share about all platforms, and clustering them as time and help various descriptions of all possible ble standards and formats. It is particularly important, in my opinion, to tell of the HRC 'shnye formats. But the fact that such interesting stuff often go unheeded by those who have them, but their long looking for those who need them. And those who might have something to say about drives from vyshepere numerical as well as other computers are able to write about it I, NUTS 'y. I gladly accept all supplements, additions, amendments, corrections and criticism. Ed.: Do not forget, and I strike a letter, to the editor. Was would be very useful to publish a guide to the various formats in paper form. Already I have collected more than 300k ZX-publications this topic. ----------------------- Acknowledgments ----------------------- As has been contributing to this polzitelnoe thing like ska show thank you very much: Unbeliever'u - for its CD-R, containing, inter alia, different emulator software and, accordingly, the authors of this software; Ivan Roshchin - for its formatter; Evdokimov Alex - for its program 'AFRODITA 3.0'; and all those who helped me format the drives in different systems, and in particular: Melted Snow (companions) - Profi CP / M (Concurent BIOS); Ice'DI'Griz / 3umph (companions) - Profi DOS (when something is about give); Capry / STALL - information about the CP / M for the Spectrum-compatible PC "Quorum". ----------------------- Wanted!!!! ----------------------- Information on the disks of all systems and platforms, particularly in BC and DCK (CSI, RT-11 OS DCK) and the ZX Spectrum (D80, Opus Discovery). In order to upgrade this directory please propagation ranitelyam or at: 606015, Nizhny Novgorod region. Dzerzhinsk Lenina A.6 kv.8 Alexey Polyakov mailto: nuts_@pochtamt.ru Naturally, apgreydery be here mentioned. Can be such a thing do and muzakam, archives, etc. Nuts, 1998-14.10.2001 years. Date of last revision: 18.07.2005 (Alone Coder)
Other articles:
Similar articles:
В этот день... 21 November