Virtual Worlds #01
31 декабря 1999 |
|
Technical assistance - Dos Review 3: The material on the format of the disk operating system CP / M, ASC SOUND MASTER, RT11, SM computers RAFOS.
DOS REVIEW # 02 Now you can talk about most of the old, common and problematic system CP / M. In one form or another it used on a vast number of computers. Many Foreign and Domestic PC makers have tried to use this system to their computers. Tried to do it and SPEKTRUM'e. But then there were wonderful times, when the format is MS-DOS, as well, and it may have been a sweet dream. The firm IBM used this system with eight-disk drives. Nevertheless, the old eight-digit system would seem to be ideal for many simple machines. In some ways it correctly. But correct to say that its ability to osovmestivnivaniyu (=: () - Ed. ) Different computers is very modest. This system was created for text terminals. She has no means of working with graphics! And with lots of memory may occur problems. There was only an elementary compatibility on shared memory text and format the disk. But even here compatibility negligible. On Spectrum is extremely difficult display 80 characters per line. But most interesting was question-disk format. All The fact that the eight-disk was 77 tracks and on each located 26 sectors to 128 bytes. It seems that the problem is solvable and disks can be read. However, read up. Quite often we can see a reference to this book: Ueyt Angermeyer M. J. The operating system CP / M. Trans. from English. M: Radio and communication, 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 PC 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 accountant. More details can be mentioned and scientific, but outdated, and remote from the practice of the book: Deytel GM Introduction operating systems. Trans. with Eng. Ed. VS Shtarkman. M: Mir, 1987 in 2 volumes Somewhat outdated, in my look, but very useful for creators of the OS book. But there are described methods are very complex, and in practice is described as once the old CP / M under vosmidyuymovik. As a result stnet clear that in this system, different cars using almost any possible format of the disk partitioning. Only on ROBOTRON'e standard three of them. Slightly different methods of segmentation. As a result, there are two models of computer Corvette is not compatible with each other (once told me that a teacher of computer science our school). But with KORVET'om as with the school's computer and so almost finished, because there are many incompatible between a school assemblies. But staging CP / M on the corvette named one of the most successful. Called by those who prisobachival ORION128 to the computer, which not only drives, but the controller with the ports there are five versions. The same can be said about other computers. Therefore, hard to be run on ROBOTRON'e and even KORVET'e Game of the PROFI or ATM-TURBO. But it turns out that some compatibility is, Disk format, described below, although is the most applicable for KORVET'a quite readable and other companies, despite the fact that their OSes are called like differently: 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's what. Unfortunately, I've never seen live ATM-TURBO. Therefore, about him, I did not yet speak, and try to look at it first. About corvette and a lot of Orion said in magazines and radio amateurs. I also tried to explore the disc from the PROFI, but with him I got a sad story. I asked for a copy This single-disc with assistance NEXTCOPY. As a result, source has deteriorated, and in my drive copied a couple of tracks, containing the catalog. And with the help of him I learned the general principles storing information on such disk. The breakdown was as in KORVET'e and other machines for 5 sectors of 1024 bytes. And such should recognize the common format. Descriptors catalog consisted of 32 bytes, 16 of which the latter is clearly described in the blocks which were placed bytes. It was only much later that I learned some details. This pore I walked into the library and set himself this emulator System: MYZ80 v 1.0 by Simeon Cran. True, he used the virtual disk, which is not quite similar to real ones. But Some interesting things I learned from there. Then I detail examined the documentation and KORVET'u a lot of things figured out. All having the most difficult different units of measurement: from the records of 128 bytes to extents, and blocks of 16KB, and 4K. And it seems that all dimensions differ depending on the version. But the general principles do not change. Somewhere on the disk directory is located: the PROFI - on the second track, the ROBOTRON'a - on the third. The file on the 32-byte but in older systems has been and 33. Descriptor contains a string of bytes - the 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 Maximum hard drives referred to the length reached 8MB. Also limited by the size and disk: about 256MB. But this problem can be overcome by increasing the size of the blocks. Also mentions the possibility of creating a chain of several descriptors for a single file total to 16. A separate pieces large files are called extents. The next descriptor previously pointed out the 33rd byte. Later, it became responsible for bytes another number. Directories in the system is not supported. But there a remarkable opportunity. The fact that the earlier one machine comes on set users. And even a flexible and moreover, hard drives have been small. We had to decide whether sharing of data on disks. It was therefore decided to partition a disk a few USER-areas to only 16, but theoretically up to 255. Directory was shared, but descriptor of each file contained the tag file belonging to a certain area. So way, one disk There was some logic, as in MS-DOS. But the drive for This was considered as a single whole and how to load, write and delete files, as well as cleaning tools, 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: 0th byte: it just contains the number and USER-field to which the file belongs. Using it can not organize a of spreading, but very comprehensive directory structure. All systems limit the number of regions to 15, but with small alterations this figure can be increased to 255. If the file is deleted, then its zero byte is # E5. 1.8 bytes contain the file name, and bytes 9-11 - its enlargement. Y KORVET'a significant bits of these bytes contain the attributes: 9th - read-only, 10th - System file. Bytes 13-15 contain system information. On older systems, and on the emulator is used only byte 15. It contained a long file in the records of 128 bytes each. The balance of the sector can be filled with code # E5. In KORVET'a Byte 12 - number of the current extent, number of that 16-kilobyte file block, which corresponds to the current descriptor. 13 bytes from him indicates the number of bytes in the last record file, the total number of which also contained in byte 15. Bytes 16-31 contain a map file location. It consists of eight pairs of bytes, each of which contains the values of the unit on which contains part of the file. In the emulator the block size is equal to 4096 bytes for ROBOTRON'e and KORVET'e - 2048 bytes. In principle, this information already sufficient to read and write files. Nevertheless, the older systems, the disk also placed bitmap to 243 bytes. Every bit of it was responsible 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 block. However, to record a new file is enough to scan directory, although this operation is not very convenient to implement in software, in addition, must pass deleted files. Better first create a table of free blocks in memory and do it at the first reading of the disc, and then using and adjusting it in memory, overwrite only directory changes. So I do not found no mention of more about a similar allocation table in later models of computers. Nevertheless, we can not say that the system uses the original method segmentation. Other Systems place information about segments either in the general table, and then catalog anyway Recalls One of its paragraphs. Other contain it in some sectors for each file and directory reference is made to such sector. But if you copy it would be reasonable to consider such sectors as the segments file. IS-DOS, in this sense is very original and uses and the table and sectors, and also allows create no segmentation sectors. The authors, apparently, learned CP / M, but passed on her way to the segmentation and was unique. The documentation on the corvette standard was also the most the first sector on the disk - its 128 bytes contain the size of all areas on the disk: size and sector, in bytes, the number of them tracks - and if this information together with the format of the directory is more or less standard, then we can try and write universal-reader-pisalku on drives all systems that claim on CP / M compatibility. It 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 size-diameter floppy disk (133mm) 8 0 96 tracks per inch (1 - 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 unexplained, where stored BLS - data block size (2048/4096) as such. But it can be calculated from the 19 th bytes - the mask data block. Time passed, and I also met the disks of other CP / M / MICRODOS systems: Vector-06C, ATM and Skorpionovskie. Under Vector-06C, I had an emulator with an external program MST, working with egoshnimi disks. But, unfortunately, naibollee buggy she 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 directory like standard. Under the ATM, I formatted disks Honey Commander'om V 1.0, what 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 bytes # E5 in naalnyh sectors. Work with them, in general, possible. Establishing the seventh bits first two-letter file extension match the attributes of READ ONLY and SYSTEM, that for the above Commanderie means HIDDEN: file takii with just a bit in the directory no longer displayed. Also As used in KORVET'e Bytes 12 and 15 of the file descriptor. By Scorpion CP / M adapted bre. MOA as much in 1992. It is bad, or No, but only a sample of such drive yet I have one called SEXDEMO - is it some pictures and Mouzon, a pair of executable files ... Only here Scorpion then I netuti under Emulsion rod Kaki something READING ERRORS 8 -!, And a detailed examination of the files in them have found either breaks, or holes, score zero. Yes, and the directory structure was markedly different from Standard: in plate descriptions mestonahozhleniya blocks of the file on disk was noticeable that in each block is not on a pair of bytes and one byte. This understood: when a block size of 4096 bytes of disk space to fit about 150. But these breaks in the directory, zero padding, forcing me to wait for the other samples or information. Thus, CP / M compatible computer says absolutely nothing about the breakdown of his disc. But in general, reduced Information should be sufficient to At least work with the standard KORVET'ovskimi disks. ASC SOUND MASTER And, they say, is so sly ASM - music editor. Not talking about his musical abilities, but I remembered that with some versions, he finally can have something else, and their known Only the author, disk format. And, of course, I have not found reasons to climb on asmovskih disks. Sobsno grya I needs to such a case netuti. Yes here does not compile Mouzon should always be under the address 49152. Wise coders, I suppose, would write his own compiler - because a lot of them under the ST has been written. A Here climb the tricky drive nobody wanted - rekompiler written under a different address. I'm also very busy did not, so maybe in the following description of the sho is not so - not tested until the special something. In brief breakdown of the disc was. Separate line quite tricky: the first 8 sectors of 512 bytes and Last - to 1024 bytes. Well the rest - well, 10 sectors of 512 bytes. At zero path is directory. Tors He can take I do not know when I last sector is always empty. At entry in the directory has 16 bytes. Zero entry - the first 16 bytes of disk - special. It contains the string: "ADS 1.00 (C) ASC "- for it is easy determine the membership drive to the order of "music". The remaining entries in the file: Bytes 0-7 - name. Bytes 8-10 - extension. It can be PAT, SAM, IMG, and maybe even some. The next byte, number 11, together with younger nibble 12-second bytes contain the number of first block (cluster) file. See below. The remaining bits of the 12 th byte - feature state of the file, namely if it contains a number of 1 - this is a normal file; 5 - protected from removal or record file; 0 - remote file. Then bytes 13-14 record - length of the file in bytes. Byte 15 - is always # 00! Now a few words about segmentation. Disc structure remarkably similar to the disk MS-DOS. Pieces file can occupy any space on the disk, and records of file specifies a 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 and offset to absoyutnogo sector. Finding the scattered disk these pieces is carried out here help with a similar table FAT 12 bit. Two copies of the table size by 5 sectors that are on the first track. When you need to read the file number of the first piece of which is recorded in the catalog, read the first this first piece, and then determine what is contained in Table in a cell with a number equal to the number the first piece of a file. And it contains a number of the second piece. Now he's read and repeat process with the third. And so to those long as the table will not number the next piece, a symptom end of file. When recording, the table look cells that contain a sign unallocated disk space, and write back number of the next found an empty place, and the sector, corresponding to the number cells of the table, write the desired portion 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 teams shift. The first cell of the table is always contains a number of # AC - mediadiskriptor for MS-DOS; # 000 - sign a blank space on the disk; # FFF - end of file - the last cell that contains a number of pieces of the file - the last piece. In short, to explain in words it is difficult, if anyone should understand - to learn in practice, and a short description I've finished. RT11 I have been more different drives. I have many long and hard digging. But, you see, without any information is difficult to understand chtolibo immediately. First of all, caught me in hand wheels of the 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 them just fine, uglyadyvalos name disk boot ... But there was no no hint of the presence of directory. In the future I will have access to these machines and an expert on it. But in the documents to them I did not find any polzitelnoy information on the theme you want, and even reformatting disc and recorded on the famous files with a known directory, I did not find it on the drive itself. There was only some kind of table structure resembles that whether the directory, or file allocation table, which by the way should not be, because of information obtained disk structure resembles SPEKTRUM'sky. Then, I still wound up emulator Running RT-11 is compatible with the format FODOS on UKNC, so even with konvertilka discs in that format. But again, no proof, no catalog, but only the stuff everyone. In Overall, there remains an open question, and while there is still some hope. Whole year, I hope these lived, and then again went into library. Break a whole bunch of books. Initially, it became clear that, in general, all proceeds from this same RT-11, and from it "otkopirovalis" all there RAFOS, RAFOS 2 FODOS, FODOS 2, OS DCK and something there yet - in short, everything that used on older machines SM and a series of "Electronics". On them, and, incidentally, on MS-DOS and on CP / M, seemed more important sovmestimot software. In result - again, secrets, and can - for shame someone ripoffs with foreign designs. Word of the disks of siih Compatible OS said little. The most detailed information I've found in the directory: Operating System SM computers RAFOS Compiled by: 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, this also affects the format of a cunning directory. Why is it nowhere seen? Yes, the fact is that all character strings are packaged in crafty (and it seems staryuschy) such a code - RADIX-50. Almost a small compression: three letters - in two bytes. But the set letters, incidentally, is not 32 characters - five bits letter, and even a bit in a pair of bytes remains, and all the decoded you simply shift - for a directory, like enough. But no, it uses a set of 40 characters: letters, numbers, and three special signs. It seems to need 6 bits symbol - in the two bytes do not squeeze. But this is - if you work shifts, and if multiplication - then get: 40 * 40 * 40 = 64 000 - well double-byte integer. And we get: Kod_Pervoy_Bukvy * 1600 + Kod_Vtoroy_Bukvy + * 40 + + Kod_Tretey_Bukvy = more # FFFF or no matter how obtained, If the code letter is in the range from 0 to 39! In the space bar code - zero, in letters A-Z - codes 1 through 26. Next are special characters: "a point in the circle" in our "$" - 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" - codes 30-39. Kodiovanie and decoding carried out the operations of multiplication and division. And then - easier. The entire disk is divided into blocks of 512 bytes on UKNC it - the size of sector, and these blocks are numbered from zero to nekotoroga maximum - the total number of blocks. Number it depends on the number of tracks 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 Number sides, tracks and sectors - is still unknown. Block 1 - includes: in the end - user name, drive and opreratsionnoy system, but in the beginning - the table of replacement of defective blocks. As it is encoded these bdoki bad - no one says, in addition, there presentedin something which is always constant 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 more segments - each with 1024 bytes - 2 blocks. The number of segments can be specified when initializing the disk. It is assumed that all information in the double-byte directory - a total of 512 words (pairs of bytes) in the segment. The first five words - service: Word 1 - the number of segments in directory. Word 2 - the number next segments: the segments form a list, the last segment is numbered zero. Word 3 - the number of employed segments, only changes in the first segment. Word of 4 - the number of additional bytes in each record on file. The system uses 14 bytes - 7 words in the file, but special programs may have their own segments with a length of the descriptor file. Word 5 - Number of primary block of the first file segment. Standard Recording File - 7 words: Word 1 - the type of record in the file: # 0100 - temporary File-It ispolzuessya word six # 0200 - deleted files - empty space in the CD # 0400 - a normal file # 8400 - READ ONLY # 0800 - the end of the segment, but not directory end of catalog determined if this segment - Last used transformations. Not necessarily used by all segment before the end of the transition to a new segment, perhaps with another length of the file descriptor, can happen anywhere. Words 2, 3, 4 - name and extension in the code RADIX-50 - 6 and 3 characters. Word 5 - length of the file or empty space. Word 6 - for a temporary file in the low byte channel number associated with the file problem number of which - in the high byte. The Word 7 - file creation date: Bits 0-4 - year-1972 (T.e.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 lengths of the files beginning with the first File this segment and file is going to be given, plus a fifth word of this segment. It looks like a winding ribbon of recorder on the counter, in other matters, this OS has its chronology with tape times. Naposdedok add that to the OS RAFOS possible virtual drives, files, whose structure repeats the breakdown of the disc.
Other articles:
Similar articles:
В этот день... 21 November