Inferno #04
22 июня 2003

Sofтинка - MEMDISK - файловая система для хранения файлов в областях памяти.

<b>Sofтинка</b> - MEMDISK - файловая система для хранения файлов в областях памяти.
  MEMDISK - файловая система для памяти

MEMDISK  разработан  для хранения файлов в
областях памяти. Память может быть фрагме-
нтирована, поэтому несколько микросхем I2C
EEPROM  могут  быть  использованы как один
диск. Это  также  полезно  для рамдисков в
страничном  ОЗУ  или  файлов,  хранимых  в
EPROM.

Структура MEM/0 была первой идеей.В перес-
мотренной версии MEM/1 были добавлены ука-
затели на родителя.Так что сейчас достато-
чно одного указателя для оперирования фай-
лом  или  каталогом  и нет необходимости в
запоминании указателей на элементы пути.

Это упрощает, например,удаление файлов или
перемещение в другой каталог.

            Структура диска

  содержимое  длина       описание 
+0  "MEM",#01    4   имя файловой системы 
+4 3 символа+#0  4   имя физического диска 
+8  structure F Є26  дескриптор файла 
... structure D Є26  дескриптор каталога 
... structure A Є7   дескриптор области 
                    данных

Первый дескриптор файла (structure F) при-
сутствует всегда. Указывает на первый файл
или директорию на диске, содержит количес-
тво  полезного  свободного  пространства и
указатель  на  цепочку  свободной  области
(structures A). Также  может  указывать на
родительскую директорию - значение 0 озна-
чает,что это корень.
Таким образом,пустой диск содержит 8-байт-
ный заголовок,одну structure F и как мини-
мум одну structure A.

               Структуры

Structure F - file descriptor 
Structure D - directory descriptor 
Structure A - data area 

длина  содержимое      примечания для:
 байт              str.F   str.D   str.A 
+0  4 указатель     следующий файл  only A 
     на следующую  или каталог в
     структуру     этом каталоге 
+4  2 длина этой     от 20 до 64   от 1 до 
     структуры                      65535 
+6  1 номер версии   #00     #80   ┌─────┐ 
+7  1 флаги                        │     │ 
+8  4 указатель на  каталог,содер- │     │ 
     родительскую  жащий данный   │обла-│
     структуру     файл / каталог │ сть │ 
+12 4 параметр      длина          │     │ 
                   файла          │ дан-│ 
+16 4 указатель на  only A  первый │ ных │ 
     порождаемую           элемент│     │
     структуру             subdir.│     │ 
+20 4 дата и время    упаковано    │     │ 
+24 Є2 имя с        имя     имя    │     │ 
     #00 в конце   файла  каталога└─────┘

Все указатели и поля длины лежат в формате 
little Endian (менее значащий байт первым) 

        Пример - пустой 8kB диск

Выбранным для примера устройством является
M24C64  -  I2C 8kB EEPROM, подключенный  к
AY-3-8912.

База указателя #E0A0, что означает: память
подключена к AY (#E0 - bit 0  порта A  это
SDA, bit 1 это SCL.) и внутренний  номер -
#A0. Номер соединения #E2  используется на
компьютерах TC2068 и означает: bit 4 порта
A это SDA, bit 5 это SCL. Внутренний номер
для микросхем M24C64 может быть в диапазо-
не #A0..#AE (только чётные значения) и ус-
танавливается с помощью входов E0, E1 и E2
микросхемы.

адрес   содержимое         описание 
#0000   4D 45 4D 01   имя файловой системы 
                     "MEM/1" 
#0004   45 45 30 00   физическое имя диска 
                     "EE0" (с нулевым
                     кодом в конце) 
#0008 F 00 00 00 00   нет следующего эле- 
                     мента каталога (тут
                     начинается
                     structure F) 
#000C   19 00         длина элемента 
                     (#0027-#000E) 
#000E / 00 00         элемент без установ- 
                     ленных флагов 
#0010   00 00 00 00   нет родительской 
                     структуры 
#0014   D3 1F 00 00   полная длина свобод- 
                     ного места 
#0018   27 00 A0 E0   указатель на 
                     A structure, которая
                     начинается с #0027 
#001C   B5 44 22 2C   дата и время 
                     форматирования:
                     2002-01-02 08:37:42 
#0020  45 45 44 48 53 4B 00 
                     имя диска "EEDISK"
                     (с нулём в конце) 
#0027 A 00 00 00 00   нет следующих струк- 
                     тур (structure A
                     начинается здесь) 
#002A   D3 1F         длина области 
                     (#2000-#002D) 
#002D / FF FF FF FF FF ... 
                     пустая область -
                     #1FD3 байт 
#1FFF  FF            последний байт пус- 
                     той области памяти 
------------------------------------------ 
(c) 2002-08-28 Jarek Adamski 
{zxvgs@yarek.com},{http://zxvgs.yarek.com} 
 



Другие статьи номера:

События - Об окончании первой части виртуального музыкального пати The Compo.

Sofтинка - Об операционных системах для спектрума ChAOS и ZXVGS.

Inferno - Авторы журнала.

Pentagon - Инструкция по активации незадействованной (нулевой) банки пзу в компьютере Пентагон.

Pentagon - Инструкция по переделке Пентагона-128 для выхода по Reset'у в 0-ю банку ПЗУ 27512.

Gameland - Прохождение игры Черный Ворон: Неизвестные Отгрузки. Диск 1.

Gameland - Прохождение игры Черный Ворон: Неизвестные Отгрузки. Диск 2.

Sofтинка - Описание графической оболочки для дисковой системы TR-DOS - ChAOS.

Inferno - Об оболочке.

Sofтинка - Редактор двухэкранной графики DouBleScreen Editor v0.4.

Sofтинка - Операционная система ZXVGS. Состав версий, софт.

Inferno - Вступление от редакторов.

Железо - Итоги освоения кодеров RGB - PAL/NTSC, на конец 2002 года.

Gameland - Об играх King's Bounty 3, Чёрный Ворон: Неизвестные Отгрузки.

Others - Об анкетировании.

For Coderz - Макросы под ассемблер Alasm v4.4x.

Математика - Фрактал Мандельброта.

Sofтинка - Музыкальный редактор Pro Tracker v3.71. Особенности программы.

Sofтинка - Формат RAR 2.x. Техническая информация.

Others - Зарегистрированные пользователи ZXVGS и CPM22QED.

Sofтинка - Типы файлов, определённые в ОС ZXVGS.

Sofтинка - Функции операционной системы ZXVGS.

Sofтинка - Внешний вид операционной системы ZXVGS.

Sofтинка - IDEDOS - доступ к жёстким дискам в ОС ZXVGS.

Sofтинка - Описание операционной системы ZXVGS.

Sofтинка - MEMDISK - файловая система для хранения файлов в областях памяти.

Sofтинка - Релизы ОС ZXVGS и их различия.

Sofтинка - Резидентные Расширения Системы (RSX) в ZXVGS.

Sofтинка - Список версий новой операционной системы для спектрума ZXVGS.

Железо - Расширенная клавиатура для sinclair-совместимых персональных компьютеров.

For Coderz - Алгоритм нахождения целой части квадратного корня.

События - Номинанты виртуального музыкального пати The Compo.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Юмор - Юнoсть Билла Гейтсa.
Обратная связь - контакты редакции.
Ассемблер - Секреты TR-DOS: о методах пределения наличия дисководов.
Ответы на письма №50-55.
Обзор - новые игры: RETURN TO HOME 4, CITADEL, KLADEMINER, BRIDGE PLAYER, CRUSHER, AMERICAN TURBO KING, RAD RAMP RACER, KUNG FU MASTER, CHOY LEE, SIDERAL WAR, ARKARUM, DIRT TRACK RACER, DOUBLE DRAGON 2, NIGHT BREED, THE CYCLES, MOONTORC, KOMMANDO 2.

В этот день...   19 мая