Универсальный эмулятор ATA/ATAPI устройств

Описания, советы, ремонт, эксплуатация старых IBM PC-совместимых ПК
geg
Advanced Member
Сообщения: 12303
Зарегистрирован: 21.11.2010,12:04

Универсальный эмулятор ATA/ATAPI устройств

Сообщение geg » 15.07.2021,01:11

ATauenis писал(а): 14.07.2021,22:21 Также было бы интересно взглянуть на работу в MHDD разных версий (в LBA и CHS режимах).
Давайте уж и виндовую версию вики. :)
sintech писал(а): 14.07.2021,22:34 я использую device id например от QUANTUM LPS420A
Вооот, кстати, если есть возможность сделать, то: хотелось бы, чтобы эмулировалось устройство с определёнными
1. наименование модели накопителя
2. серийный номер накопителя
3. версия firmware накопителя
3. геометрия CHS накопителя
4. LBA накопителя
и, скажем, всё это лежало в тхт файле рядом с образом и при монтировании образа подставлялось в эмуль.

pahan
Advanced Member
Сообщения: 4455
Зарегистрирован: 13.03.2015,14:23
Откуда: Химки, М.О.

Вклад в сообщество

Универсальный эмулятор ATA/ATAPI устройств

Сообщение pahan » 15.07.2021,09:30

При выборе образа HDD его размер делится на 512/16/63 и получается количество цилиндров. Соответственно головок 16, секторов 63.
Все это записывается в слова 1, 3 и 6 ID. Затем тоже самое копируется в слова 54, 55, 56, в 58:57 записывается общее кол-во секторов.
В 60:61 записывается кол-во секторов для LBA28. Если размер образа больше 8 с лишним гбайт то поддерживается только LBA.
Все в соответствии с ATA-5.
Я немного не так сформулировал вопрос. По описанию получается, что надо иметь некий существующий жёсткий диск, образ которого будет слит и загружен в эмуль.

Возможно ли создать прямо в эмуле пустой образ диска с произвольной (в пределах спецификации конечно) геометрией, чтобы затем осистемить его с дискет на целевой машине, как если бы это был настоящий диск? Считайте заявкой на доработку - мне в первую очередь хочется применить его на самых старых 286х, где в Биосе вообще нет пользовательского типа (или он вроде как есть, но параметры просто невозможно задать).

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26861
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Универсальный эмулятор ATA/ATAPI устройств

Сообщение Rio444 » 15.07.2021,10:03

aleksvolgin писал(а): 15.07.2021,01:11 Вооот, кстати, если есть возможность сделать, то: хотелось бы, чтобы эмулировалось устройство с определёнными
1. наименование модели накопителя
2. серийный номер накопителя
3. версия firmware накопителя
3. геометрия CHS накопителя
4. LBA накопителя
и, скажем, всё это лежало в тхт файле рядом с образом и при монтировании образа подставлялось в эмуль.
Зачем это нужно?
Не представляю другого назначения, кроме каких-то мошеннических схем.
Чтобы продавать убитые HDD с идеальным тестом поверхности.
Электронка: Изображение копия Изображение

Jager
Advanced Member
Сообщения: 1469
Зарегистрирован: 10.11.2018,21:27

Универсальный эмулятор ATA/ATAPI устройств

Сообщение Jager » 15.07.2021,10:56

Еще на правах идеи - поддержка форматов mds/mdf/mdx для эмуляции CD, при условии что это не потребует серьезных затрат времени, дабы можно было отказаться от использования софтовых эмуляторов.

geg
Advanced Member
Сообщения: 12303
Зарегистрирован: 21.11.2010,12:04

Универсальный эмулятор ATA/ATAPI устройств

Сообщение geg » 15.07.2021,11:04

Не по теме
Jager писал(а): 15.07.2021,10:56 Еще на правах идеи - поддержка форматов mds/mdf/mdx для эмуляции CD
Ага, старфорс "противный". :biggrin:
И ещё вопрос: какой zip эмулируется 100/250/750?

sintech
Junior Member
Сообщения: 129
Зарегистрирован: 23.08.2015,16:00
Откуда: Moscow

Вклад в сообщество

Универсальный эмулятор ATA/ATAPI устройств

Сообщение sintech » 15.07.2021,12:25

aleksvolgin писал(а): 15.07.2021,01:11 Вооот, кстати, если есть возможность сделать, то: хотелось бы, чтобы эмулировалось устройство с определёнными
1. наименование модели накопителя
2. серийный номер накопителя
3. версия firmware накопителя
3. геометрия CHS накопителя
4. LBA накопителя
и, скажем, всё это лежало в тхт файле рядом с образом и при монтировании образа подставлялось в эмуль.
Сейчас это можно сделать только через правку бинарного дампа IDENTIFY DEVICE.
Но планируется сделать именно так как вы описали, положить рядом с образом файл в котором можно переопределить любые параметры "IDENTIFY DEVICE".
Мое устройство задумывалось как инструмент хакинга, в котором можно менять все что угодно и смотреть на результат.
pahan писал(а): 15.07.2021,09:30 Я немного не так сформулировал вопрос. По описанию получается, что надо иметь некий существующий жёсткий диск, образ которого будет слит и загружен в эмуль.

Возможно ли создать прямо в эмуле пустой образ диска с произвольной (в пределах спецификации конечно) геометрией, чтобы затем осистемить его с дискет на целевой машине, как если бы это был настоящий диск? Считайте заявкой на доработку - мне в первую очередь хочется применить его на самых старых 286х, где в Биосе вообще нет пользовательского типа (или он вроде как есть, но параметры просто невозможно задать).
Нет, привод которым представляется эмулятор и образ с данными это две разные сущности. Их можно комбинировать друг с другом в пределах совместимости.
Например вставить образ ISO в привод HDD можно, но работать это не будет.
Создать пустой образ в эмуляторе нельзя, но можно сделать это на PC и записать его на SD карту (я использую OSFMount).
Как рассчитываются сейчас параметры геометрии я написал. Но с появлением возможности их переопределить, можно будет задавать свои кастомные значения CHS.
Jager писал(а): 15.07.2021,10:56 Еще на правах идеи - поддержка форматов mds/mdf/mdx для эмуляции CD, при условии что это не потребует серьезных затрат времени, дабы можно было отказаться от использования софтовых эмуляторов.
А есть описание этих форматов?
Если сектора там хранятся в сыром виде, то это сделать довольно несложно, а если их надо как-то конвертировать на лету, то это будет сильно медленнее.
aleksvolgin писал(а): 15.07.2021,11:04 И ещё вопрос: какой zip эмулируется 100/250/750?
Пока только 100, у меня есть дампы инфы с привода ATAPI 250, но нет дампов служебной информации с дисков 250.
Про 750 даже и не думал, они вообще существовали для ATAPI интерфейса?

Пара фоток victoria с образом 1гб в двух разных приводах. Скорость на втором скриншоте это по сути скорость чтения с SD карты + оверхед ATA т.к. передачи данных не производилось (команда 0x40 - READ VERIFY SECTORS).
► Показать

geg
Advanced Member
Сообщения: 12303
Зарегистрирован: 21.11.2010,12:04

Универсальный эмулятор ATA/ATAPI устройств

Сообщение geg » 15.07.2021,12:39

Не по теме
sintech писал(а): 15.07.2021,12:25 Про 750 даже и не думал, они вообще существовали для ATAPI интерфейса?
Да, действительно, не подумал об этом. :rolleyes:
И ещё по SMART для hdd: есть/будет? :rolleyes:

sintech
Junior Member
Сообщения: 129
Зарегистрирован: 23.08.2015,16:00
Откуда: Moscow

Вклад в сообщество

Универсальный эмулятор ATA/ATAPI устройств

Сообщение sintech » 15.07.2021,12:56

aleksvolgin писал(а): 15.07.2021,12:39 И ещё по SMART для hdd: есть/будет?
Сейчас нет, все SMART команды отклоняются.
А как вы себе это представляете? Реального диска нет откуда брать значения атрибутов?
Приходит в голову только тот же текстовый файл в котором можно задать конкретные значения атрибутов и передавать их в ответ на SMART команды.
Всякие логи и тесты не вижу смысла делать. Если только заглушки типа команда принялась ответ успешный.

Jager
Advanced Member
Сообщения: 1469
Зарегистрирован: 10.11.2018,21:27

Универсальный эмулятор ATA/ATAPI устройств

Сообщение Jager » 15.07.2021,12:57

sintech,
mdf вроде просто "сырой образ", там главное mds - идея примерно как у cue, это доп информация о том, как данные расположены на диске.
https://www.old-games.ru/wiki/StarForce

comp_86
Junior Member
Сообщения: 100
Зарегистрирован: 14.12.2018,13:57

Универсальный эмулятор ATA/ATAPI устройств

Сообщение comp_86 » 15.07.2021,13:43

sintech писал(а): 15.07.2021,12:25 поддержка форматов mds/mdf/mdx
https://en.wikipedia.org/wiki/Media_Descriptor_File
https://cdemu.sourceforge.io/about/libmirage

pahan
Advanced Member
Сообщения: 4455
Зарегистрирован: 13.03.2015,14:23
Откуда: Химки, М.О.

Вклад в сообщество

Универсальный эмулятор ATA/ATAPI устройств

Сообщение pahan » 15.07.2021,14:45

Про 750 даже и не думал, они вообще существовали для ATAPI интерфейса?
Да.
нет дампов служебной информации с дисков 250
Как и чем она снимается? Это не деструктивно? Дискетой могу поделиться на время, но привод у меня только под lpt.

Ответить