- Образ винта с самарского контроллера
-
? Дмитрий - 24.04.2010 23:56
Есть у кого-нить сабжик? И нужна инфа по формату записи самарского контроллера. У меня только АльтПро'шный. Надоело пользоваться всякими утилитками для работы с образами, дисками и винтами БК. Решил сделать все в виде единой программы "а-ля ТоталКомандер". В принципе прога почти готова, только вспомнил, что кроме АльтПро был довольно распространен и самарский контроллер. А ни инфы по формату, ни образа для тестов нет. Если у кого есть - выложите образ и инфу.
-
? Terra - 26.04.2010 15:26
я вот свою прогу создал http://t-h-s.ru/bk/bkhdd.cpp разберётесь по исходнику с форматом?
-
? Дмитрий - 26.04.2010 19:57
Неа. Чтоб не городить огород желательна инфа и образ для проверок. Форматы похожи (я так думаю), но MBR разный - это я заметил в исходнике. Если вы взяли на себя труд растолковать что и как - было бы проще, чем разбирать код. Инфа важнее - на крайний случай по описанию формата создам образ и буду тестить с ним. Ну а потом пользователи укажут на ошибки.
-
? Terra - 26.04.2010 20:54
Я сам по исходнику на асме восстанавливал. Как такового mbr как у Альтпро - нет, есть таблица разделов в 1 секторе (0й пустой! содержание пословно: усторойство загрузки, ко-во дорожек, кол-во головок в мл. байте, секторов в старшем, далее идёт сама таблица разделов в формате lba: 2 слова - номер начального сектора ld). Каждый логический диск начинается с заголовочного сектора первые слова которого: номер ld (2 -С...), длина ld в блоках, адрес загрузки загрузчика, адрес блока параметров для загрузчика, состояние регистра страниц. Со следующего блока идёт сам раздел. На чём вы пишете? Может проще было плагин для Far или Total сделать? Сам давно хотел, но кроме асма на писи, до недавнего момента ничего не использовал.
-
? Дмитрий - 27.04.2010 00:52
ФАРом не пользуюсь - надоел ДОСовский вид еще со времен 486-х. Тотал в плане организации плагинов убог и сделано там через... русский универсальный интерфейс. Пытался для него сделать плагин для чего-то другого - плюнул и бросил это дело. Больше под него не писал и не собираюсь (если канеш не припрет), хотя самим активно пользуюсь.
¤
Как я понял нулевой сектор пустой, первый служебный - в нем:
¤
2 байта номер boot-раздела
2 байта кол-во дорожек винта
1 байт кол-во головок
1 байт кол-во секторов
¤
зачем последние 2 байта - не пойму. Все винты в то время были 16 головок и 255 секторов. Идем далее. Следом идет таблица разделов. На каждый раздел запись содержит только 2 байта - номер начального сектора раздела. В этом секторе хранится инфа о разделе в составе:
¤
2 байта номер раздела
2 байта размер раздела в секторах
2 байта адрес загрузки загрузчика
2 байта адрес блока параметров для загрузчика (это-то нафига?? и какие там параметры)
2 байта состояние регистра страниц (грубо копия регистра 177716, хотя достаточно байта - по сути менеджер страниц "находится" по адресу 177717)
¤
Остальное пустое. Кол-во разделов получается нигде не хранится. Затем идет сам раздел (для простоты - фактически копия дискеты). Зачем было городить пустой блок ради 10 байт, когда их можно было бы записать в таблицу разделов?
¤
Формула CHS-to-LBA, если память не изменяет
¤
LBA=((CYL*16+HEAD)*255)+SECT-1
¤
Или изменяет?
¤
Пишу на Паскале (щас полетят помидоры :) ). В свое время как на него сел, так и не слезал. Си оставил на потом с его ипанистической структурой и дикой неудобочитаемостью листингов. Но так особо и не добрался. Все что надо - легко ваялось на паскале.
¤
Почему не плагин? Слишком много функций: создание образов (дискет, винтов), работа с винтами в формате БК и их образами, свободное копирование разделов как образов на любой носитель (на винт как раздел, на дискету как образ и т.д. и т.п.) и наоборот, любая работа с файлами внутри образов, перекодировка текста на лету, форматирование дискет под формат ОС прямо под виндой и еще много чего - всего не помню.
-
? Terra - 27.04.2010 01:23
Я так вообще на асме все конвероторы образов писал. Интерес к си возник на почве изучения микроконтроллеров, вот и решил перевести все свои наработки на си, заодно и потренироваться. А вот такую прогу для работы с образами и прочими примочками хотелось бы (а то лежат 3 архива с разных винтов...)... ну а теперь по существу: не все винты были с такой конфигурацией, и не я это формат разделов придумал, так что будем придерживаться стандарта, если хотите обсудить конкретные детали прошу в почту andrey.terra(тяв)gmai.com
-
? Дмитрий - 27.04.2010 03:13
Давай на "ты". Так проще. Не обращай внимания мои комментарии по поводу формата - это так, мысли вслух :). Формат АльтПро тоже не самый удобный (но более компактный) - "защищенность" разделов сделана непонятно как и кем, ибо она не согласуется с идеологией: если раздел будет создан за пределами 1Гб (дальше 2047-й дорожки) - он автоматом станет защищенным (бит 7 равен 1 - признак защищенного раздела). А если снять этот признак с такого раздела - получится глюк, причем не самый приятный. Самарский вариант получается работал с винтами любой ёмкости, а АльтПро - только до 2Гб. Если я прально понял, то самарский вариант также как и АльПрошный хранил на винте инвертированные данные?
-
? anonymous - 27.04.2010 03:39
О пересчете LBA: в те времена у людей были винты в большинстве своем не имевшие LBA-режима и с количеством секторов 17/37/52/63, головок тоже было произвольное число. У меня, например, есть с тех времен SSD на 40Мб от SanDisk, он с LBA, но рапортует 64 головки и 32 сектора при пустом первом секторе, иначе он сам для себя читает 0й блок и рапортует геометрию, прописанную в соответствии с ДОСовской таблицей разделов. :) Потому в таблице для получения LBA, из-за разнообразия экземпляров экзотических в бестиарии хардовом, ввели параметры для указания количества головок/секторов, и считается оно как cyl*hd*sec-1 (если это не scsi, т.к. на scsi вообще еще и размер сектора задается, от пустого до 16 мегабайт на сектор, произвольно пользователем при форматировании. Впрочем, scsi только под ОСБК работал и не имел таблицы разделов, все разделы были по 32мб-1к, т.е. 65534 блока по 512 байт, последний килобайт был неиспользуемым по стандарту)
-
? Terra - 27.04.2010 10:53
я может тоже где с самарским форматом не прав. Реального образа и машины нет, а вот 1 товарищ никак не может снять образ, просил так же на http://zx.pk.ru/showthread.php?t=11541&page=2. Да данные инверсные, а 2Гб и щас за глаза хватает, кстати вот исходник именно hdd'шной части http://t-h-s.ru/bk/hdd_drv.txt
-
? Дмитрий - 27.04.2010 14:24
Очепятался, поздно уже было. Защищенный раздел имеет не 7 бит равный 1, а 15 ессно.
-
? Аноним - 27.04.2010 14:54
Terrik ;)
Зашли этому товарищу (http://zx.pk.ru/showthread.php?t=11541&page=2) сфою софтинку,
а он в свободное время, в празжники, снимет образ винта через внешнюю USB-IDE коробочку,
(кстати - чем его лучше снять для этих целей), и потестит ее.
-
? Terra'rist - 27.04.2010 16:24
кому слать то не понятно, да и моя прога это конвертор образов и отдельных дисков, а сам образ винта можно снять прогой dd - обсуждалась здесь http://bk0010.org/forum/?id=3451&page= на всякий случай архивчик тут http://t-h-s.ru/bk/dd.zip Только вы с ней ПОАККУРАТНЕЙ, если что я не виноват.
-
? Terra - 07.04.2014 16:38
Снял образ самарского диска, но что-то он мне не нравится, как-то блоки повторяются и не похоже на структуру описанную Дмитрием - 27.04.2010 00:52 и по моим соображениям правильную. Я кстати не видел ни в одном образе CSIDOS программы разбивки диска srv.exe, хотя описание попадалось. Вообщем выкладываю начальную часть образа (всё не могу пока) как есть на диске http://t-h-s.ru/bk/st905_part и уже проинвертированную http://t-h-s.ru/bk/st905_invert_part
-
? MSV - 07.04.2014 18:17
###Могу попробовать на своём железе снять.
-
? gid@ - 07.04.2014 19:46
почему-то в не инвертированном куске, в первых 153 секторах повторяются строки "Missing operating system"
"Invalid partition table", "Error loading operating system" что говорит о том, что какая-то ПСшная прога в лучшем случае при снятии образа искала ПСшную разметку винта и не находя портила образ, и в худшем случае - попортила данные на самом винте.
-
? Дмитрий Николаевич@ - 07.04.2014 20:44
> не видел ни в одном образе CSIDOS программы разбивки диска srv.exe
¤
HDD Service v0.31 (c) АльтПро 1995 (service.exe)
-
? Terra - 07.04.2014 21:51
Да видел писишные сообщения, но я точно туда ничего не писал. Service.exe работает только с контроллером АльтПро.
2 MSV сними обязательно.
-
? MSV - 08.04.2014 02:37
Наличие текста "Invalid partition table", "Error loading operating system" - огорчает, часть данных явно утрачена. Предлагаю не экспериментировать самостоятельно. Присылай железо. Могу забрать у *****`а, проездом мимо его метро. Позже отпишу в ****е.
-
? Terra - 08.04.2014 08:13
Образ снимался у Карцева с машины Панфилова, так-что железо у него. Причём пробовались разные способы dd (под виндой и линуксом) и ещё разные способы под виндой. Может есть у кого-то ещё машины с Самарским контроллером?
- << Форум