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)