Вход

Просмотр полной версии : Есть ли у кого-нибудь описание формата файловой системы ОПТОК или ПЗУ от контроллера?



dk_spb
19.04.2022, 15:46
Есть ли у кого-нибудь описание формата файловой системы ОПТОК или ПЗУ от контроллера?

Есть пара образов диска, хочется из них файлики вытащить.
Или может подскажете эмулятор БК, который такие образы дисков понимает......

gid
24.05.2022, 10:56
Если ещё актуально, то формат такой.
На физическом уровне поддерживаются режимы SD (5 секторов на дорожке) и DD (9 секторов на дорожке)
Для 9-ти секторов возможна запись на дорожку без интерлива, с интерливом таким (1,6,2,7,3,8,4,9,5) и таким (1,4,7,2,5,8,3,6,9), это задаётся параметрами ключа /Z
В документации дано не полное описание параметров, на самом деле их 5, а не три, 4-й параметр задаёт предположительно 40/80 дор. дискеты, а 5-й - тип и наличие интерлива.

Описание формата для логической структуры диска в блоках:
блок 0: не используется
блоки 1..8 - каталог (т.е. вся нулевая дорожка стороны 0).
начиная с блока 9 - данные
Насчёт формата SD непонятно, возможно там будет начало с блока 5, эти тонкости я не уяснял пока.

Формат записи о файле каталога:
размер одной записи - 040 байтов.
первая запись каталога - служебная.

формат служебной записи


смещ. размер назначение
000 002 "**" - сигнатура
002 032 не используется, все нули
034 002 номер блока, с которого начинается область данных
036 002 количество свободных блоков на диске
(значение уменьшается по мере добавления файлов в каталог)


формат записи о файле.


смещ. размер назначение
000 020 имя файла
020 002 признак действующей записи
030 002 адрес загрузки
032 002 размер файла в байтах
034 002 начальный блок
036 002 предположительно контрольная сумма

если запись удалена, то имя - все нули, и признак записи по смещению 020 тоже 0. сама запись из каталога не удаляется.
Видимо должна быть специальная утилита сквизирования диска для сборки мусора.

dk_spb
24.05.2022, 11:38
Спасибо!

>020 002 признак действующей записи
>030 002 адрес загрузки
А между - не используется?

- - - Добавлено - - -

"Выуживальщик" файлов из образов дискет никто не писал еще?

gid
24.05.2022, 12:33
А между - не используется?
там нули, и скорее всего эта область не используется.
Я написал частичный эмулятор Оптока, с пока ещё сильными ограничениями, и немного поигрался с ним в запись на дискету и удаление, поэтому получилось описать формат, продираться через дизассемблированный код оказалось слишком муторно.


"Выуживальщик" файлов из образов дискет никто не писал еще?
Планирую добавить работу с этой ФС в BKDE. Просто там 9 секторов, а у меня вообще везде по умолчанию подразумевается 10 секторов на дорожке, поэтому надо сперва что-то придумать.

Я вот, увидев, что Опток форматирует дискеты в интерливе, вспомнил, что однажды видел где-то у себя образ с интерливным расположением секторов. Причём это был образ с сырыми данными, там и межсекторное расстояние и заголовки секторов кажется были.
Но второй раз уже не нашёл, его у себя же.

dk_spb
24.05.2022, 13:43
Но второй раз уже не нашёл, его у себя же.
Есть .imd образ. Если ускорит доработку BKDE - могу прислать.

gid
24.05.2022, 14:57
Не, не ускорит, а наоборот, замедлит. Потому что я с ходу не нашёл описания формата imd, и чтобы ввести его поддержку, придётся сперва повозиться с определением его структуры. А потом ещё придумать, как скомбинировать работу с обычными бинарными образами, и потрековым imd.
Так то образ простой дискеты в формате Опток я могу сгенерировать в эмуляторе.

dk_spb
24.05.2022, 15:06
А потом ещё придумать, как скомбинировать работу с обычными бинарными образами, и потрековым imd.
В .imd можно нужные данные посмотреть, а к нему идет конвертилка в бинарные образы, так что для выуживания файлов можно и бинарный образ взять.

gid
24.05.2022, 20:06
а к нему идет конвертилка в бинарные образы
если так, то тогда давайте, особенно будет полезно, если там будет софт, предназначенный для работы с контроллером.

dk_spb
25.05.2022, 11:40
http://oldpc.su/0/8.rar
imdu /B /E TMP3.IMD tmp3.dsk

photon
25.05.2022, 23:15
А чем такой потрековый образ записать на настоящую диску? Далее дискету готов скормить живому ОПТОКу...

dk_spb
25.05.2022, 23:37
IMD 1.18
Но он под дос.

photon
26.05.2022, 20:54
Но он под дос.
А не беда! ) Вот содержимое образа TMP3.IMD
запись делал на первопне 233МГц
https://pic.maxiol.com/thumbs2/1653587584.1398871206.20220526203543.jpg (https://pic.maxiol.com/?v=1653587584.1398871206.20220526203543.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1653587587.1398871206.20220526203553.jpg (https://pic.maxiol.com/?v=1653587587.1398871206.20220526203553.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1653587591.1398871206.20220526203605.jpg (https://pic.maxiol.com/?v=1653587591.1398871206.20220526203605.jpg&dp=2)

dk_spb
26.05.2022, 21:21
Отлично!

shattered
11.11.2025, 20:31
формат записи о файле.

Из документации на диске с PanSoft:


Система поддерживает стандартный каталог формата:

0 16 байт имени
20 слово: 0 - файл стерт, 177777 - файл существует
22 слово: маска 1 - 1 - файл защищен от удаления
маска 2 - 1 - файл содержит BAD-блоки
маска 4 - 1 - файл запускается с отказом
от дисковода
иначе - нулевые биты
24 слово: адрес переноса дисковой области при запуске
26 слово: не задействовано (пока)
30 слово: адрес загрузки файла
32 слово: длина файла в байтах
34 слово: номер первого сектора файла
36 слово: контрольная сумма файла

ПРИ ЗАПУСКЕ ПРОГРАММ СИСТЕМА ВОССТАНОВЛЕНИЕ ЯЧЕЙКИ
34 (ВЕКТОР TRAPов). ЕСЛИ ИМЯ ФАЙЛА НАЧИНАЕТСЯ С БУКВ PS,
СИСТЕМА ЗАПУСКАЕТ ЕГО, КАК УТИЛИТУ, ТО ЕСТЬ НЕ ПРОИЗВОДЯ
НИКАКИХ ИНИЦИАЛИЗАЦИЙ ТИПА EMT 14.
Адрес для утилит, использующих все TRAPы - 6300,
TRAPы первой части - 3600.