PDA

Просмотр полной версии : Винчестер УКНЦ



Страницы : [1] 2

nzeemin
02.03.2010, 11:50
Удивительно, но на непомню каком году написания эмулятора у меня появилась своя УКНЦ 8-)
Вместе с ней приехала платка контроллера с винчестером, вот такая (торопился, позже будут более подробные фото):
http://img-fotki.yandex.ru/get/3908/nzeemin.2/0_3b2dc_1cecd58d_M.jpg (http://fotki.yandex.ru/users/nzeemin/view/242396/)
Проводки идущие к винчестеру частично повреждены -- нужно восстанавливать, думаю заменить их на кусок шлейфа.

Но сначала хочется сделать дамп винчестера (он на 170 МБ). Подскажите чем лучше всего это сделать, предпочтительно под Windows XP -- в эту машину мне проще всего подключиться, ну или под DOS.

UPD: Нашёл вот такой инструмент http://sourceforge.net/projects/windd/ но неясно насколько он применим к RT-11 дискам.

UPD2: Сам контроллер похоже 1:1 тот же что описан у Арсения -- судя по картинкам, даже обозначение совпадает:
http://uknc.narod.ru/Suvorov/index.htm

form
02.03.2010, 13:46
UPD: Нашёл вот такой инструмент http://sourceforge.net/projects/windd/ но неясно насколько он применим к RT-11 дискам.

Думаю надо просто снять весь винт, а потом смотреть. RT-11 файловая структура ищется легко. Скорее всего там тупо используется начало диска, а остальное (если оно есть) пропадает :)

Alex_K
02.03.2010, 15:42
Но сначала хочется сделать дамп винчестера (он на 170 МБ). Подскажите чем лучше всего это сделать, предпочтительно под Windows XP -- в эту машину мне проще всего подключиться, ну или под DOS.

Дамп диска снять под Windows XP можно снять любым редактором диска, который позволяет получить доступ к секторам физического диска, например на выбор: http://en.wikipedia.org/wiki/Comparison_of_hex_editors. HxD это умеет.

Под DOS можно снять старым Norton Disk Edit, он позволяет получить доступ к секторам физического диска.

---------- Post added at 15:42 ---------- Previous post was at 15:15 ----------


Думаю надо просто снять весь винт, а потом смотреть. RT-11 файловая структура ищется легко. Скорее всего там тупо используется начало диска, а остальное (если оно есть) пропадает :)
Все данные там записаны инверсно. Не могу сказать ничего про винчестер от "Электронных работ", а винч от "Технокома" имел в самом первом секторе таблицу разделов, и загрузочное ПЗУ позволяло выбрать раздел для загрузки, так что в принципе и все 170 Мбайт могут быть заполнены, конечно если есть чем заполнять.

Arseny
02.03.2010, 17:07
HxD это умеет.
Подтверждаю. И читает, и пишет. Мы с Алексеем с ним экспериментировали: я снимал образ с одной CF, Алексей правил параметры, запихивали на другую CF и с нее все грузилось.

nzeemin
02.03.2010, 17:30
Подтверждаю. И читает, и пишет. Мы с Алексеем с ним экспериментировали: я снимал образ с одной CF, Алексей правил параметры, запихивали на другую CF и с нее все грузилось.

Я же правильно понимаю что у кого-то из вас уже есть КНЖМД приспособленный под CF?
Вам нетрудно будет сделать схему переделки? -- тоже так хочу 8-)

Arseny
02.03.2010, 17:41
Я же правильно понимаю что у кого-то из вас уже есть КНЖМД приспособленный под CF?
Вам нетрудно будет сделать схему переделки? -- тоже так хочу 8-)
К сожалению не припомню есть ли у Алексея контроллер. А свой я не переделывал - просто переходник воткнул. Контроллеру без разницы что в него воткнуто - винчестер или CF на переходнике, т.к. CF очень умело винчестером прикидывается.

Кстати, нельзя ли фоток контроллера внутри и снаружи наделать? Для истории.

KALDYH
02.03.2010, 17:41
Я же правильно понимаю что у кого-то из вас уже есть КНЖМД приспособленный под CF?
Вам нетрудно будет сделать схему переделки? -- тоже так хочу 8-)
Существуют пассивные переходники CF-IDE, только в магазинах они редко встречаются.

nzeemin
02.03.2010, 17:50
К сожалению не припомню есть ли у Алексея контроллер. А свой я не переделывал - просто переходник воткнул. Контроллеру без разницы что в него воткнуто - винчестер или CF на переходнике, т.к. CF очень умело винчестером прикидывается.

Кстати, нельзя ли фоток контроллера внутри и снаружи наделать? Для истории.

По фоткам -- всё будет, только до дома доберусь.

По адаптеру CF-IDE -- а вот если такой информацией воспользоваться и спаять -- моих силёнок (способности включить паяльник в розетку) я надеюсь таки хватит: http://pinouts.ru/DiskCables/ide2cf_cable_pinout.shtml

Arseny
02.03.2010, 17:50
Существуют пассивные переходники CF-IDE, только в магазинах они редко встречаются.
Oops! А они еще и активные бывают? Я вроде только пассивные и видел. Не считать же за активные элементы стабилизатор питания и индикаторы работы...

nzeemin
02.03.2010, 20:35
Обещаные фото, правда пока только с сотика:

Удалил, ибо плохое качество, см. более качественные ниже по треду.

KALDYH
02.03.2010, 20:44
Oops! А они еще и активные бывают?
Активным будет переходник CF-USB. А сказав про пассивный переходник, я просто хотел подчеркнуть, что другие типы флэшек просто так к IDE не подцепишь.

Нет ли в планах сделать реплику такого контроллера?

nzeemin
02.03.2010, 21:14
Фотографии в лучшем качестве:

http://img-fotki.yandex.ru/get/3812/nzeemin.2/0_3b42b_a4acefe6_L.jpg (http://fotki.yandex.ru/users/nzeemin/view/242731/)
http://img-fotki.yandex.ru/get/3814/nzeemin.2/0_3b42c_d0247010_L.jpg (http://fotki.yandex.ru/users/nzeemin/view/242732/) http://img-fotki.yandex.ru/get/3908/nzeemin.2/0_3b42d_c266b461_L.jpg (http://fotki.yandex.ru/users/nzeemin/view/242733/)

---------- Post added at 22:14 ---------- Previous post was at 22:07 ----------

Похоже, проводки оторвали когда подключали-отключали винчестер -- разъём сидит довольно очень плотно, и уже сильно пострадал от отвёртки.

С дампом пока приключился облом -- не нашёл шлейфа с коннектором для ноутбучного винта. "Будем искать..."

iscander_s
02.03.2010, 21:17
Рулезная весч! :v2_thumb: Проводки восстановил? Интересно что там записанного есть :)

nzeemin
02.03.2010, 21:18
Нет ли в планах сделать реплику такого контроллера?

Хорошо бы его доработать -- чтобы был разъём для винчестера плюс разъём для CF -- и тогда уже платы заказывать. Я бы с удовольствием взял плату + прошитую РФ5.

SKcorp.
02.03.2010, 21:22
Вобще - баян. У тнт23 сейчас такая отданная на снятия дампа.

falanger
02.03.2010, 21:33
nzeemin, кроме РФ5 там есть РЕ3, покупка и прошивка которой по теперешним временам - геморой. И без которой с одной РФ5 ничего работать не будет. Или надо переделывать под 2 РФ5 схему и прошивку.

AlecV
02.03.2010, 21:58
nzeemin, в Питере переходники CF-IDE рублей по 300. Но IDE большой. Кинуть в посылку ?

http://www.espada-tech.ru/pr_-25409.shtml

nzeemin
02.03.2010, 22:03
nzeemin, в Питере переходники CF-IDE рублей по 300. Но IDE большой. Кинуть в посылку ?

Спасибо, но не надо. Мы лёгких путей не ищем 8-)

UPD: Что-то дорогие у вас в Питере переходники.
http://www.dealextreme.com/details.dx/sku.711 -- $2.04

Arseny
02.03.2010, 22:29
Активным будет переходник CF-USB. А сказав про пассивный переходник, я просто хотел подчеркнуть, что другие типы флэшек просто так к IDE не подцепишь.Тогда нужно нормально подчеркивать. Переходники типа CF-USB или SD-IDE, понятное дело, будут активными, а CF для "перехода" на IDE ничего не нужно.


Нет ли в планах сделать реплику такого контроллера?Никто не хочет заниматься.


Вобще - баян. У тнт23 сейчас такая отданная на снятия дампа. Да это вообще мега баян Уже сейчас (даже без дампа того контроллера что у TNT23 и AlecV) есть 2 дампа, но лишним не будет - версии-то разные были. Может в этом самая последняя.

Никита, если есть возможность загрузиться с дисковода - сделай дамп ПЗУ контроллера. Программа для этого в приложении.

nzeemin
03.03.2010, 00:59
Никита, если есть возможность загрузиться с дисковода - сделай дамп ПЗУ контроллера. Программа для этого в приложении.

Возможности пока нет. Выяснил сегодня что блок питания (в корпусе, 220В) не пашет. Буду сначала чинить, не сам конечно.

AlecV
03.03.2010, 21:19
nzeemin, надеюсь дамп винта удастся снять на XP, без УКНЦ.

nzeemin
03.03.2010, 23:15
Ну что, похоже мне удалось. Слил 163 МБ.

В магазине "Радио" конечно никаких переходников не оказалось. В общем, отпаял разъём с контроллера, размахратил шлейф IDE и спаял. Питание взял с разъёма USB на плате.

http://img-fotki.yandex.ru/get/3812/nzeemin.2/0_3b4a7_6d50c3e6_L.jpg (http://fotki.yandex.ru/users/nzeemin/view/242855/)

Короче вот: WDC170.ZIP (60 МБ)
UPD: Убрал этот образ, уже есть вариант с инвертированными битиками, см. ниже по треду.

AlecV
03.03.2010, 23:18
nzeemin можешь его приделать к эмулятору ? ;) Дамп ПЗУ имеется и в эмуляторе пытается запускаться.

nzeemin
04.03.2010, 10:38
Дамп ПЗУ имеется и в эмуляторе пытается запускаться.

Alex_K, расскажи пожалуйста как контроллер винчестера выглядит с точки зрения программиста -- куда мапится ПЗУ, как оно читает/пишет данные на винт? А я бы это в эмуляторе нарисовал.

nzeemin
04.03.2010, 13:29
Короче вот: WDC170.ZIP (http://narod.ru/disk/18447540000/WDC170.ZIP.html) (70 МБ)

Инвертировал битики, перезалил, вот:
WDC170INV.ZIP (http://narod.ru/disk/18459482000/WDC170INV.ZIP.html)

---------- Post added at 14:29 ---------- Previous post was at 13:54 ----------


Alex_K, расскажи пожалуйста как контроллер винчестера выглядит с точки зрения программиста -- куда мапится ПЗУ, как оно читает/пишет данные на винт? А я бы это в эмуляторе нарисовал.

И сразу ещё вопрос -- как прошивка контроллера винчестера рассматривает винчестер -- логическое деление, упомянутые выше загрузочные разделы итп? Имея эту информацию можно доработать RT11DSK на работу с образами винчестеров.

Alex_K
04.03.2010, 13:32
Кстати, таблица разделов в образе диска не соответствует реальному положению дел. Кто-то до этого видно запускал IDINST.SAV и переразбил таблицу разделов. Но вся информация сохранилась. Сейчас анализирую образ и вытягиваю все разделы.

AlecV
04.03.2010, 13:42
nzeemin, Насколько понимаю, ПЗУ видится как обычное ПЗУ юзеровского картриджа вставленного в слот ПП. Образы тут выкладывали, даже в двух вариантах. Адрес окна вроде как зависит от номера слота. Содержимое копируется по адресу 000000 ПП и запускается.

Вот тут а его начинал дизассемблировать:

http://zx.pk.ru/showpost.php?p=254244&postcount=41

Адрес регистров IDE - 17667x, назначение увы не знаю, надо копать.

Alex_K
04.03.2010, 14:28
Alex_K, расскажи пожалуйста как контроллер винчестера выглядит с точки зрения программиста -- куда мапится ПЗУ, как оно читает/пишет данные на винт? А я бы это в эмуляторе нарисовал.
Адресное пространство контроллера винча входит в окно 100000-117777. Подключается контроллер сбросом бита 0 в регистре 177054 (он отключает одновременно системное ПЗУ в диапазоне 100000-117777), и установкой или сбросом бита 3 в том же регистре (указывает номер слота). Само загрузочное ПЗУ расположено в диапазоне 100000-107777. В диапазоне 110000-117777 расположены регистры IDE. Собственно сама шина QBUS инверсная, поэтому инверсны и адреса IDE и данные, которые читаются и пишутся (собственно для самих записываемых и считываемых данных это по барабану, инвертировалось сначала при записи, обратно при чтении, а вот для команд это играет роль). Для адресации регистров контроллера используются линии AD1, AD2 и AD3.
Соответствие регистров на PC и УКНЦ:
1F0 110016
1F1 110014
1F2 110012
1F3 110010
1F4 110006
1F5 110004
1F6 110002
1F7 110000
Регистров, которым на PC соответствуют 3F6 и 3F7, нет.

---------- Post added at 13:55 ---------- Previous post was at 13:53 ----------


Адрес регистров IDE - 17667x, назначение увы не знаю, надо копать.

AlecV, 17667x - это не регистры контроллера IDE, это регистры канала 2 со стороны ЦП.

---------- Post added at 14:08 ---------- Previous post was at 13:55 ----------


И сразу ещё вопрос -- как прошивка контроллера винчестера рассматривает винчестер -- логическое деление, упомянутые выше загрузочные разделы итп? Имея эту информацию можно доработать RT11DSK на работу с образами винчестеров.

Да, в самом первом секторе записана таблица разделов. В первых двух байтах записаны кол-во секторов в дорожке и кол-во сторон в дорожке, эта информация нужны для вычисления номера дорожки при переводе номера блока в RT-11 в CHS. Далее идут размеры разделов, каждый элемент занимает одно слово (два байта), размеры указаны в блоках RT-11. В самом конце сектора два слова контрольной суммы. Есть еще кое-какие поля, все это можно глянуть в программе wdx.c, которую как-то выкладывал Arseny.

---------- Post added at 14:28 ---------- Previous post was at 14:08 ----------

Реально в образе оказалось только 6 разделов. Вырезал в виде .dsk-файлов, скачать можно здесь: http://narod.ru/disk/18462449000/WDC170.rar.html.

nzeemin
04.03.2010, 17:54
nzeemin, в Питере переходники CF-IDE рублей по 300. Но IDE большой. Кинуть в посылку ?

AlecV, если успеете кинуть в посылку разъём для 2.5" винчестера (44 пина) -- было бы просто шедеврально.

---------- Post added at 17:56 ---------- Previous post was at 17:14 ----------


Адресное пространство контроллера винча входит в окно 100000-117777. Подключается контроллер сбросом бита 0 в регистре 177054 (он отключает одновременно системное ПЗУ в диапазоне 100000-117777), и установкой или сбросом бита 3 в том же регистре (указывает номер слота).

Тогда правильно я понимаю что загрузка с винта инициируется выбором пункта меню "2 - кассета ПЗУ" и выбором в нём номера слота куда вставлен винчестер? и соответственно уже выбор этого режима сбрасывает бит 0 (отключает системное ПЗУ) и выбирает значение бита 3?

---------- Post added at 18:54 ---------- Previous post was at 17:56 ----------

Да, так и есть -- через "кассета ПЗУ".
Увидел надписи прошивок:

WDROM V01.10 by Oleg H.

и

HDBOOT V04.00
IDDRIV V02.00
(C) 1994,1995 ТОО Электронные работы тел. (095) 939-34-94

AlecV
04.03.2010, 19:22
Alex_K, PUTR читает эти диски в режиме MSCP:


PUTR V2.01 Copyright (C) 1995-2001 by John Wilson <[email protected]>.
All rights reserved. See www.dbit.com for other DEC-related software.

COPY mode is ASCII, SET COPY BINARY to change
(C:\UKNC\WDC170~1)>mount wd0: WDC170_0.DSK /MSCP /RT11
(C:\UKNC\WDC170~1)>dir WD0:

Volume in drive WD0 is RT11A DIMA
Directory of WD0:\*.*

04-Mar-2010
SWAP .SYS 27P 13-Oct-1988
TT .SYS 12 10-Dec-1999
LD .SYS 8P 12-Apr-1989
UN .SYS 2P 10-Mar-1994
RT11SJ.SYS 78P 26-May-1992
ID .SYS 2P 23-Mar-1994
TESTMZ.SAV 15 21-Aug-1987
MZF .SAV 12 05-Aug-1992
DSKMAN.SAV 51 25-Mar-1992
MZFORM.SAV 6 11-Jun-1989
DZ .ASC 4 21-Sep-1987
DZUK .ASC 4 17-Nov-1992
BOOT6 .SAV 2 11-Nov-1988
BINCOM.SAV 24 06-Feb-1984
UNPACK.SAV 15 09-Apr-1990
PACK .SAV 16 09-Apr-1990
TSA .SAV 8 04-Jan-1989
RUS .SAV 2 16-Oct-1994
EDK .SAV 21 06-Feb-1991
DUMP .SAV 9 12-Apr-1989
UNDRIV.SAV 5 30-Jun-1995
DMP .SAV 2 22-May-1989
RULON .SAV 2 14-Sep-1989
XDIR .SAV 12 05-Jun-1991
DATI .SAV 3 07-Sep-1987
NET128.SAV 10 26-Apr-1994
NET128.DRV 4 30-Jun-1995
RBMEM .SAV 4 06-Sep-1995
RBMEM .COM 1 06-Sep-1995
IDDRIV.SAV 5 10-Mar-1995
MZ .SYS 4P 15-Jan-1990
ME .SYS 2P 19-Feb-1992
MEDRIV.SAV 7 25-Apr-1994
ME .COM 1 26-Jan-1993
SETTY .SAV 3 30-Jul-1991
B .COM 1 17-Feb-1992
UCL .DAT 4 02-Apr-1991
TMZ .SAV 4 04-Apr-1991
RDWR .SAV 3 14-Nov-1987
U1DLCS.SAV 6 01-Nov-1992 и так далее.

Andrnow
04.03.2010, 20:30
С 155РЕ3 прошивку считайте. Хочется повторить схему.

AlecV
05.03.2010, 10:46
nzeemin, раскладку адресов IDE у вас есть. В документации эти регистры называются "Task File", если не найдете доков - выложу. Готовые реализации эмулятора IDE в исходниках есть практически в любом эмуляторе современных железок : QEMU, GXEMUL и т.д. разной степени навороченности, от старого ISA IDE (то что надо нам) до ATAPI и IDE PCI (нам не надо :) )

Еще такое пожелание, чтобы эмулятор УКНЦ позволял собирать образ IDE "на лету" из "томов" (т.е. разделов). Насколько понимаю максимальный размер "тома" в RT-11 - 32Mb. Т.е. нулевой сектор IDE пусть будет "виртуальным"

nzeemin
05.03.2010, 11:15
nzeemin, раскладку адресов IDE у вас есть. В документации эти регистры называются "Task File", если не найдете доков - выложу.

Доки не проблема -- найду. Больше интересуют всякие особенности УКНЦ в этом вопросе. Думаю, в эмуляторе винчестер будет выглядеть также как картридж (выбор ПЗУшки) плюс обслуживание указанных портов.

Насколько я понимаю, два винчестера одновременно использовать невозможно -- из-за того что набор портов не зависит от слота картриджа.

ZEman
05.03.2010, 11:24
а что именно находится в образе, игры, программы ?
это диск от обычного пользователя укнц или из какогото учебного заведения ?

nzeemin
05.03.2010, 11:47
это диск от обычного пользователя укнц или из какогото учебного заведения ?

Винчестер крутился на АРМ преподавателя в классе УКНЦ -- походу, обучающий центр в какой-то московской школе, в период с 1990 по 1999.

Arseny
05.03.2010, 11:57
Насколько я понимаю, два винчестера одновременно использовать невозможно -- из-за того что набор портов не зависит от слота картриджа.Неправильно понимаешь. 2 винчестера использовать можно, только дрова придется использовать разные - для одного WD, для другого ID (к примеру).

Alex_K
05.03.2010, 12:22
Еще такое пожелание, чтобы эмулятор УКНЦ позволял собирать образ IDE "на лету" из "томов" (т.е. разделов). Насколько понимаю максимальный размер "тома" в RT-11 - 32Mb. Т.е. нулевой сектор IDE пусть будет "виртуальным"
А если кто-то запустит утилиту разбивки на разделы (IDINST.SAV или WDX.SAV), как быть в этом случае?

---------- Post added at 12:22 ---------- Previous post was at 12:20 ----------


Насколько я понимаю, два винчестера одновременно использовать невозможно -- из-за того что набор портов не зависит от слота картриджа.
Нет, набор портов зависит от слота картриджа, поэтому при обращении к портам IDE надо включать необходимый слот разрядом 3 регистра 177054.

AlecV
05.03.2010, 13:36
А если кто-то запустит утилиту разбивки на разделы (IDINST.SAV или WDX.SAV), как быть в этом случае? Вероятно надо чтобы "менеджер томов" перехватывал запись в нулевой сектор, т.е. переразбивку и обслуживал такую ситуацию, манипулируя реальными файлами томов.

С другой стороны сначала пусть заработает хоть простой режим, а потом можно сделать выбор "Raw IDE Image" и "Advanced Volume Manager". ;)

nzeemin
05.03.2010, 14:16
С другой стороны сначала пусть заработает хоть простой режим, а потом можно сделать выбор "Raw IDE Image" и "Advanced Volume Manager". ;)

По-моему -- встроить работу с разделами в утилиту RT11DSK и на этом ограничиться.

AlecV
05.03.2010, 14:44
встроить работу с разделами в утилиту RT11DSK и на этом ограничиться. Тоже неплохо.

Кстати, нет ли RT11DSK в виде командной строки Unix ? А то PUTR не очень удобная и под DOS. Перерыл весь googlecode, не нашел исходников.

nzeemin
05.03.2010, 14:56
нет ли RT11DSK в виде командной строки Unix ? А то PUTR не очень удобная и под DOS. Перерыл весь googlecode, не нашел исходников.

RT11DSK лежит в исходниках -- ничего не мешает если не просто скомпилить то поправить и скомпилить под юниксами. Кстати, было бы интересно услышать о возникших проблемах.

http://code.google.com/p/ukncbtl/source/browse/#svn/trunk/src/rt11dsk

olegh
05.03.2010, 15:36
Господа хорошие,
я Олег Ховайко -- тот, от которого WDROM ... by Oleg H.
Задавайте вопросы по винчестеру - постараюсь ответить.

Сейчпм же сообщу, что все исходники, за исключением программы WDROM,
выложены здесь:
http://uknc.narod.ru/Suvorov/index.htm

Программа WDROM предназначена для изготовления образа РФ2 из SAV-файла WDBOOT.SAV. Если действительно нужна, могу снять УКНЦ с полки, и поискать там.

Экземпляр УКНЦ, вместе с винчестером и дебаг-контроллером винта,
ранее принадлежавший моему отцу, я передал Арсению. Так что спрашивайте его, если что.

nzeemin
05.03.2010, 15:56
Задавайте вопросы по винчестеру - постараюсь ответить.
Программа WDROM предназначена для изготовления образа РФ2 из SAV-файла WDBOOT.SAV. Если действительно нужна, могу снять УКНЦ с полки, и поискать там.

Как я уже говорил выше, интересны особенности подключения винчестера к УКНЦ, из того что ещё не упомянуто Alex_K.
Исходники программы зашитой в РФ2 конечно не помешали бы.
Также интересны те версии прошивки, которых у нас сейчас нет.

Alex_K
05.03.2010, 16:03
А то PUTR не очень удобная и под DOS. Перерыл весь googlecode, не нашел исходников.

AlecV, если вы о PUTR V2.01, то исходники можно взять здесь: http://www.dbit.com/pub/putr/, но они, к сожалению, на ассемблере.

---------- Post added at 16:03 ---------- Previous post was at 15:57 ----------


Господа хорошие,
я Олег Ховайко -- тот, от которого WDROM ... by Oleg H.
Задавайте вопросы по винчестеру - постараюсь ответить.

Сейчпм же сообщу, что все исходники, за исключением программы WDROM,
выложены здесь:
http://uknc.narod.ru/Suvorov/index.htm

Программа WDROM предназначена для изготовления образа РФ2 из SAV-файла WDBOOT.SAV. Если действительно нужна, могу снять УКНЦ с полки, и поискать там.

Экземпляр УКНЦ, вместе с винчестером и дебаг-контроллером винта,
ранее принадлежавший моему отцу, я передал Арсению. Так что спрашивайте его, если что.
Здравствуйте, Олег! Очень рад видеть Вас на этом форуме.
Программа WDROM есть, ее исходники мне передавал Арсений. А интересуют последние исходники WDBOOT, по ссылке сверху там версия 1.07, а у Арсения в ПЗУ зашита версия 1.10. Также программа разбивки на разделы WDX - исходники версии 1.00, а бинарники версии 1.14.

olegh
05.03.2010, 16:13
Хочу понять, зачем вам это надо.

Если только для эмулятора - то проще драйвер ещё один написать, специально
под псевдоустройства, создаваемые эмулятором.

Если же есть желание восстановить разработку "в железе" - тогда да, надо копаться с УКхой.

По поводу более свежих версий --
Я попробую сделать ревизию, чего у меня имеется на эту тему.

Кстати, имейте в виду, что моя разработка поддерживает до 24х разделов - WD/WE/WF. Должны быть где-то ещё драйвера WE/WF.
WE/WF - не bootable, только для данных...

Alex_K
05.03.2010, 16:20
Хочу понять, зачем вам это надо.

Если только для эмулятора - то проще драйвер ещё один написать, специально
под псевдоустройства, создаваемые эмулятором.

Если же есть желание восстановить разработку "в железе" - тогда да, надо копаться с УКхой.

По поводу более свежих версий --
Я попробую сделать ревизию, чего у меня имеется на эту тему.

Кстати, имейте в виду, что моя разработка поддерживает до 24х разделов - WD/WE/WF. Должны быть где-то ещё драйвера WE/WF.
WE/WF - не bootable, только для данных...
Восстановить в железе.
По поводу WE/WF: есть исходники WE, но в нем для доступа к дополнительным разделам присутствует параметр SUBSET, т.е. SET WE SUBSET=1 обеспечивает доступ к разделам 8-15.
Есть еще вопрос: что такое скрытый раздел? В чем его смысл?

rzk
05.03.2010, 16:26
Винчестер крутился на АРМ преподавателя в классе УКНЦ -- походу, обучающий центр в какой-то московской школе, в период с 1990 по 1999.
по 2001вый, в школе #76 САО г. Москвы, на диске весь софт который пользовался для обучения детей, работы детей, игры и кое-какие базы данных. еще была куча дискет с этим же софтом, но они утеряны.

был еще один точно такой же диск с контроллером, с подобным содержанием, из этой же школы, но до моих (а в последствии и до рук nzeemin) он не дошел, его забрал какой-то товарищ-спец по УКНЦ в том же году, как их списали.

olegh
05.03.2010, 16:33
1. WE - хорошо, что у вас есть! Значит, не потерялось.
Чтоб сделать WF - надо просто переименовать и установить subset=2

2. Касаемо скрытого раздела:
Смысл в том, что если вам попал в руки винтовод с локально размещённой группой BAD-блоков (например, царапина на блине), то можно битые блоки вынести в отдельный раздел, и после того - обьявить раздел скрытым. В результате, винт для пользователя выглядит полностью исправным.
Последующие разделы при этом смещаются на -1.

AlecV
05.03.2010, 17:05
rzk, а файлы с расширением *.CEF - это что ?

olegh
05.03.2010, 17:26
Так, господа хорошие...

Полез на полку делать ревизию - нашёл два винчестера, два КЖД, монитор, БП - но самой УКхи не нашёл!!! Не знаю, куда делась! Буду искать.

Скажите, можно ли как-то в эмуляторе прицепить винт или образ винта к PC, и получить доступ к файлам rt-11? Или какие есть ещё варианты слить инфу с винтов? Инфа, насколько я помню, примерно одинакова - один из них был backup.

Есть такая идея: могу слепить образ винта 1:1, залить его на filefactory.
Если у Вас есть кжд - пропишите образ на другой винт. Скорее всего, должно потом заработать.
Касаемо геометрии - по идее, котроллер читает мастер-блок, вынимает оттуда ожидаемую геометрию,
и программирует винт под эту геометрию, и далее с ней работает. Поэтому винт даже с другой
геометрией наверное будет работать корректно тоже.

nzeemin
05.03.2010, 17:30
Скажите, можно ли как-то в эмуляторе прицепить винт или образ винта к PC, и получить доступ к файлам rt-11? Или какие есть ещё варианты слить инфу с винтов?

Процесс тут в треде в общем уже описан:
1. Прицепить винчестер к PC
2. Утилитой HxD снять полный дамп
3. Инвертировать битики в дампе
4. Выделить разделы в отдельные .dsk-файлы
5. Дальше с .dsk-файлами можно работать утилитами PUTR или RT11DSK

Ну либо просто выложите слитый дамп, дальше мы сами 8-)

rzk
05.03.2010, 18:03
а загрузится с снятых dsk образов эмулятором возможно? так я бы и вспомнил что за CEF файлы там.

извиняюсь за нубняк, если что. (:

upd: попробовал, не получается.

nzeemin
05.03.2010, 19:26
а загрузится с снятых dsk образов эмулятором возможно? так я бы и вспомнил что за CEF файлы там.
Эмулятор не работает с такими огромными дисками.
Используйте утилиту rt11dsk из комплекта эмулятора, например:

rt11dsk.exe e WDC170_0.dsk rossia.pnt

Alex_K
05.03.2010, 21:38
а файлы с расширением *.CEF - это что ?
Это файлы от графического редактора AHEAD, они содержат Esc-последовательности графики, их можно выводить на экран командой TYPE.

nzeemin
06.03.2010, 22:40
В эмуляторе для простоты управления в эмуляторе сделаю так:
1. командой Cartridge 1 или Cartridge 2 выбирается HDD ROM image (.bin)
2. после этого командой Hard Drive 1 или Hard Drive 2 выбирается HDD image (.img?) и слот переключается в режим эмуляции жёсткого диска.

Doronetty
06.03.2010, 23:38
Очень надеемся вскоре увидеть новую версию эмулятора ;)

ZEman
07.03.2010, 06:41
да, тоже жду с большим нетерпением, давненько новенького не ыло :)

nzeemin
07.03.2010, 15:15
Касаемо геометрии - по идее, котроллер читает мастер-блок, вынимает оттуда ожидаемую геометрию,
и программирует винт под эту геометрию, и далее с ней работает. Поэтому винт даже с другой
геометрией наверное будет работать корректно тоже.

Насколько геометрия критична для эмуляции?
То есть есть образ слитый в порядке секторов LBA -- можно ли назначить количество цилиндров/головок/секторов от балды, лишь бы их произведение * 512 давало полный объём диска?

Alex_K
07.03.2010, 19:45
Насколько геометрия критична для эмуляции?
То есть есть образ слитый в порядке секторов LBA -- можно ли назначить количество цилиндров/головок/секторов от балды, лишь бы их произведение * 512 давало полный объём диска?
В данном случае критична, так как резидентный драйвер в ПП работает с регистрами IDE в режиме CHS, а не LBA. Если бы работа шла в режиме LBA, то и проблем бы не было.

nzeemin
07.03.2010, 19:57
В данном случае критична, так как резидентный драйвер в ПП работает с регистрами IDE в режиме CHS, а не LBA. Если бы работа шла в режиме LBA, то и проблем бы не было.

А, увидел -- первые два байта это spt и heads, проблемы нет.

nzeemin
08.03.2010, 13:15
Со стороны UI эмуляцию сделал, порты IDE читаются и пишутся, геометрию из образа получаю, осталось сделать эмуляцию на уровне реакции на чтение/запись портов, реализацию команд.

Застрял пока вот на этом -- крутится в цикле по адресам 001264--001274, ожидая статуса BUSY (код прошивки Олега):

001250 MOV #000006, R0
001254 MOV #177014, R1
001260 CALL 001406
001264 CALL 001402
001270 MOVB @#110000, R4 ; Чтение статуса IDE
001274 BPL 001264 ; Проверяем бит 7 == BUSY, переход если сброшен
...

001372 MOV R5, @#177054 ; Отключение портов IDE
001376 MTPS R0
001400 RTS R2
001402 JSR R2, 001372
001406 MOV @#177054, R5
001412 MTPS (PC)
001414 MOV #000006, @#177054 ; Включение ПЗУ и портов IDE
001422 RETURN
Но я тут не вижу причин почему бит BUSY должен возникнуть -- команд в IDE до этого не передавалось, сброса тоже не было.
С моей стороны возвращается статус 000100 (DRIVE_READY).

UPD: Блин, я идиот -- передаваемые данные же инвертируются шиной QBUS, здесь ожидается снятие сигнала BUSY а не установка!

Atari
08.03.2010, 14:34
Насколько мне помнитсо, ждать BUSY вечно нельзя...

Код, правда, для Protect386, но суть байки от этого не меняется.


wait_busy:
push eax ecx edx
mov ecx,timer_tic
add ecx,deley
loc1:
cmp ecx,timer_tic
jb wb_err
mov dx,3f6h
in al,dx
test al,80h
jnz loc1
wb_exit:
pop edx ecx eax
ret
wb_err:
or byte ptr ide_s[ebp].ide_num,40h
jmp wb_exit

b2m
08.03.2010, 15:21
Насколько мне помнитсо, ждать BUSY вечно нельзя...
Можно. Но смысла нет. :)

nzeemin
08.03.2010, 19:34
В первый раз прочитал сектор -- команда 20h начала работать:

http://img-fotki.yandex.ru/get/3810/nzeemin.2/0_3b70a_ed95a038_XL.jpg (http://fotki.yandex.ru/users/nzeemin/view/243466/)

На прошивке Олега, правда, пока ничего не получилось.

rzk, а ты не помнишь какой загрузчик использовался с этим винчестером -- этот или Олега?

rzk
08.03.2010, 19:59
кажется Олега, я помню строчку про Oleg H., но я не уверен.

Alex_K
08.03.2010, 21:00
rzk, а ты не помнишь какой загрузчик использовался с этим винчестером -- этот или Олега?
Вообще-то в этих образах везде драйвер ID.SYS от "Электронных работ", а драйвера WD.SYS от Олега Ховайко нигде нет.
Кстати, там еще подпорчена таблица разделов, их реально 6, а не 8, как в таблице. Еще размеры реальных разделов другие. Надо подправлять таблицу и контрольную сумму в конце первого сектора.

AlecV
09.03.2010, 00:14
nzeemin, как понимаю, драйвер Oleg H требует чтобы команда IDENTIFY работала.

http://www.win.tue.nl/~aeb/linux/Large-Disk-10.html#identify

nzeemin
09.03.2010, 00:38
nzeemin, как понимаю, драйвер Oleg H требует чтобы команда IDENTIFY работала.

http://www.win.tue.nl/~aeb/linux/Large-Disk-10.html#identify

Да до этого не доходит даже, там что-то другое совсем.
А команды я реализую по мере необходимости.

Alex_K
09.03.2010, 09:33
На прошивке Олега, правда, пока ничего не получилось.
А прошивка от Олега спотыкается на этом кусочке кода:


TstHDD = :.+2
11$: mov #-1,r0
bmi 11$

tstb r0
beq 14$
cmpb r0,#377
bne 17$
.Eprint NoPwr
14$: .Eprint NoCab

17$: Call sb$r ; Читаем мастер-блок

.................................................. .............................

mov #TstHDD/2,@#Rap
mov @#110000,@#Rdp


Тут такое дело, что регистры с 1F1 по 1F7 являются 8-битными, т.е. старший байт не задействован. По идее он (старший байт) висит в воздухе, а это электрически "единица", QBUS инвертирует их в логический "ноль". Так что надо, чтобы в эмуляторе регистры с 110000 по 110014 читались с нулевым старшим байтом.

olegh
09.03.2010, 18:43
Cчас доступа к полному исходнику у меня нет, поэтому отвечаю по памяти, что за 10 лет не выветрилось.
Тот кусок кода:

TstHDD = :.+2
11$: mov #-1,r0
bmi 11$

Смысл его такой:
Крутим цикл ожидания до тех пор, пока другой процесс из ПП не заменит "-1"
внутри команды "mov" на код возврата. Тогда этот цикл разблокируется и бежит анализировать код возврата. Там действительно, насколько я помню, при копировании старший байт передаётся как 0, что сбрасывает флаг N и разблокиркет цикл, так как BMI не срабатывает.

Извините за несколько "лихой" стиль программирования, но когда писал драйвер - стремился выжать его как по скорости, так и по обьёму. А что эмулятор будет - тогда догадаться не мог...
Кстати, когда сравнивал быстродействие своего драйвера с ЭРовским, мой на ~20% быстрее работал при прямом копировании.
И мой ЦП не завешивает в ожидании завершения I/O. Всё честно через виртуальное прерывание сделано, по Power Halt...

nzeemin
09.03.2010, 20:34
При загрузке ПЗУшкой от "Электронных работ" (трасса записи в порты винчестера):

HDD Write 1f4 <-- 0xffff
HDD Write 1f4 <-- 0xff00
HDD Write 1f4 <-- 0xffff
HDD Write 1f4 <-- 0xff00
HDD Write 1f6 <-- 0xff00
HDD Write 1f5 <-- 0xff00
HDD Write 1f4 <-- 0xff00
HDD Write 1f3 <-- 0xff01
HDD Write 1f2 <-- 0xff01
HDD Write 1f7 <-- 0x0020
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=1, SC=1
HDD Write 1f2 <-- 0xf522
HDD Write 1f6 <-- 0x0009
HDD Read sector complete
HDD Write 1f7 <-- 0x0091
HDD COMMAND 91 (SET CONFIG): H=9, SC=33

Вот здесь непонятка -- получается что сначала задаются параметры следующей команды, но затем завершается передача сектора, что приводит к декременту sector_count (SC, порт 1F2). В результате команда 91h получает параметр SC=33, что конечно неверно и в дальнейшем приводит к ошибкам позиционирования.
Либо я тут неправильно понимаю логику SC и он должен уменьшаться до завершения передачи данных сектора -- но неясно в какой момент.

Если быть точным, то установка параметров команды 91h происходит сразу же после чтения первых двух байт сектора:
HDD Read 1f7 0xffd0
HDD Read 1f7 0xffd0
HDD Read 1f7 0xff58 ; Снят сигнал BUSY
HDD Read 1f7 0xff58
HDD Read 1f0 0xf5dd ; Прочитаны первые два байта 1-го сектора
HDD Write 1f2 <-- 0xf522 ; Установка параметров команды 91h
HDD Write 1f6 <-- 0x0009
HDD Read 1f0 0x5d4d
HDD Read 1f0 0x5d4d

UPD: В общем, сделал пока декремент счётчика непосредственно перед началом чтения -- вроде как работает.

Сейчас уже загружает ряд блоков, но в итоге всё равно выпадает в СТОП:

HDD COMMAND 20 (READ MULT): C=0, H=0, SN=1, SC=1
HDD COMMAND 91 (SET CONFIG): H=9, SC=34
; Тут выбор раздела 0
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=2, SC=1 ; 0-й блок тома: начальный загрузчик
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=4, SC=4 ; 2-5 блоки: загрузчик монитора
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=8, SC=2 ; 6-7 блоки: каталог
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=10, SC=2
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=12, SC=2
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=14, SC=2
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=16, SC=2
HDD COMMAND 20 (READ MULT): C=0, H=3, SN=23, SC=1
HDD COMMAND 20 (READ MULT): C=0, H=5, SN=27, SC=1
HDD COMMAND 20 (READ MULT): C=0, H=5, SN=27, SC=2
HDD COMMAND 20 (READ MULT): C=0, H=3, SN=22, SC=1
HDD COMMAND 20 (READ MULT): C=0, H=3, SN=26, SC=33
HDD COMMAND 20 (READ MULT): C=0, H=3, SN=25, SC=1

Alex_K
09.03.2010, 21:39
Вот здесь непонятка -- получается что сначала задаются параметры следующей команды, но затем завершается передача сектора, что приводит к декременту sector_count (SC, порт 1F2). В результате команда 91h получает параметр SC=33, что конечно неверно и в дальнейшем приводит к ошибкам позиционирования.
Либо я тут неправильно понимаю логику SC и он должен уменьшаться до завершения передачи данных сектора -- но неясно в какой момент.

Если быть точным, то установка параметров команды 91h происходит сразу же после чтения первых двух байт сектора:
HDD Read 1f7 0xffd0
HDD Read 1f7 0xffd0
HDD Read 1f7 0xff58 ; Снят сигнал BUSY
HDD Read 1f7 0xff58
HDD Read 1f0 0xf5dd ; Прочитаны первые два байта 1-го сектора
HDD Write 1f2 <-- 0xf522 ; Установка параметров команды 91h
HDD Write 1f6 <-- 0x0009
HDD Read 1f0 0x5d4d
HDD Read 1f0 0x5d4d
Действительно странно как-то, чувствую надо дизассемблировать IDDRIV.SAV для того, чтобы понять логику работы.

HDD COMMAND 20 (READ MULT): C=0, H=0, SN=1, SC=1
// Читается мастер-блок с информацией о разделах
HDD COMMAND 91 (SET CONFIG): H=9, SC=34
; Тут выбор раздела 0
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=2, SC=1
// Чтение первичного загрузчика (он же содержит драйвер чтения)
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=4, SC=4
// Чтение вторичного загрузчика
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=8, SC=2
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=10, SC=2
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=12, SC=2
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=14, SC=2
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=16, SC=2
// Чтение каталога. Здесь вторичный загрузчик ищет сам файл операционной системы, драйвера
HDD COMMAND 20 (READ MULT): C=0, H=3, SN=23, SC=1
// Чтение доп.части вторичного загрузчика
HDD COMMAND 20 (READ MULT): C=0, H=5, SN=27, SC=1
// Чтение нулевого блока драйвера винча ID.SYS
HDD COMMAND 20 (READ MULT): C=0, H=5, SN=27, SC=2
// Чтение всего драйвера ID.SYS. Здесь вторичный загрузчик должен переместить его в ОЗУ ближе к 160000, примерно 157*** с чем-то
HDD COMMAND 20 (READ MULT): C=0, H=3, SN=22, SC=1
// Чтение доп.части вторичного загрузчика
HDD COMMAND 20 (READ MULT): C=0, H=3, SN=26, SC=33
// Чтение самой операционной системы. Читается KMON, USR и RMON
HDD COMMAND 20 (READ MULT): C=0, H=3, SN=25, SC=1
// Чтение доп.части вторичного загрузчика

Alex_K
10.03.2010, 00:22
Ошибочка при исполнении этой команды:
HDD COMMAND 20 (READ MULT): C=0, H=3, SN=26, SC=33
Здесь запрашивается чтение файла операционной системы : читается с блока 0176(8) 020142(8) слов по адресу 0117270(8). Соответственно с адреса 117270 по 130267 данные расположены на 0-м цилиндре 3-й стороны, с адреса 130270 должно читаться с 1-го сектора 4-й стороны 0-го цилиндра, а фактически начинает читаться с 34-го сектора 3-й стороны 0-го цилиндра, т.е. неправильно осуществляется переход на следующую сторону/цилиндр.

Нашел ошибку в void CHardDrive::NextSector() : при переходе на следующую сторону надо m_cursector = 1;, а не 0. Загрузилась система, но эмулятор вылетел по ошибке - нет отработки команды с кодом 30 (собирал как Release, а не Debug).

Alex_K
10.03.2010, 08:34
Еще надо в файле образа заменить таблицу разделов на вот такую:

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000 22 0A EE D8 ED D8 ED D8 ED D8 ED D8 ED D8 00 00
00000010 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00

В данном случае она отражает реальное состояние дел. Загрузиться можно только с разделов с 0 по 4, на 5-м разделе "No boot on volume".

nzeemin
10.03.2010, 08:40
Нашел ошибку в void CHardDrive::NextSector() : при переходе на следующую сторону надо m_cursector = 1;, а не 0. Загрузилась система, но эмулятор вылетел по ошибке - нет отработки команды с кодом 30 (собирал как Release, а не Debug).

Исправил. Если соберёшь в режиме Product -- то мы уже загружаемся, показывается интерфейс настройки драйвера печати, затем выходим на командную строку, и команда DIR даже работает.

http://img-fotki.yandex.ru/get/3908/nzeemin.2/0_3b7cf_57387365_XL.jpg

Во вложении -- прошивки и exe-файл. Также выложил новую бету эмулятора на сайте.

Alex_K
11.03.2010, 19:29
HDD Write 1f6 <-- 0xff00
HDD Write 1f5 <-- 0xff00
HDD Write 1f4 <-- 0xff00
HDD Write 1f3 <-- 0xff01
HDD Write 1f2 <-- 0xff01
HDD Write 1f7 <-- 0x0020
HDD COMMAND 20 (READ MULT): C=0, H=0, SN=1, SC=1
HDD Write 1f2 <-- 0xf522
HDD Write 1f6 <-- 0x0009
HDD Read sector complete
HDD Write 1f7 <-- 0x0091
HDD COMMAND 91 (SET CONFIG): H=9, SC=33

Вот здесь непонятка -- получается что сначала задаются параметры следующей команды, но затем завершается передача сектора, что приводит к декременту sector_count (SC, порт 1F2). В результате команда 91h получает параметр SC=33, что конечно неверно и в дальнейшем приводит к ошибкам позиционирования.
Либо я тут неправильно понимаю логику SC и он должен уменьшаться до завершения передачи данных сектора -- но неясно в какой момент.

Если быть точным, то установка параметров команды 91h происходит сразу же после чтения первых двух байт сектора:
HDD Read 1f7 0xffd0
HDD Read 1f7 0xffd0
HDD Read 1f7 0xff58 ; Снят сигнал BUSY
HDD Read 1f7 0xff58
HDD Read 1f0 0xf5dd ; Прочитаны первые два байта 1-го сектора
HDD Write 1f2 <-- 0xf522 ; Установка параметров команды 91h
HDD Write 1f6 <-- 0x0009
HDD Read 1f0 0x5d4d
HDD Read 1f0 0x5d4d
А вообще-то все правильно. Запрашивается команда чтения одного сектора, он прочитывается во внутренний буфер винчестера, и если не было ошибок при чтении, то SC устанавливается в ноль и в регистре статуса соответствующие биты. А далее уже программа должна прочесть из буфера эти 256 слов. А так как в самом первом слове находится геометрия, то соответственно она подготавливает данные для выполнения команды с кодом 91h.
Если предположить, что буфер имеет размер одного сектора, то он сначала целиком читается в буфер, уменьшается CS, устанавливаются соответствующие биты в регистре статуса и далее с регистра данных считываются данные. При записи соответственно сначала надо заполнить буфер, а потом уже винчестер записывает нужный сектор, декрементирует SC и устанавливает в регистре статуса и ошибок результат записи сектора.

nzeemin
12.03.2010, 21:51
Реализовал команду 30h (WRITE MULTI) -- это было уже совсем просто.
Так что на прошивке ide_hdbootv0400.bin уже загружается, пишет в файлы и каталог.
Серьёзных тестов не делал, поэтому осторожнее, делаем бэкапы образа винчестера.

UKNCBTL.exe во вложении.

P.S. Принимаю заявки на реализацию других IDE-команд -- только говорите сразу какие программы их генерируют и при каких условиях -- чтобы проверять.

Alex_K
12.03.2010, 22:45
Реализовал команду 30h (WRITE MULTI) -- это было уже совсем просто.
Так что на прошивке ide_hdbootv0400.bin уже загружается, пишет в файлы и каталог.
Серьёзных тестов не делал, поэтому осторожнее, делаем бэкапы образа винчестера.
С ide_wdromv0110.bin запись тоже заработала, да и грузится стало.

P.S. Принимаю заявки на реализацию других IDE-команд -- только говорите сразу какие программы их генерируют и при каких условиях -- чтобы проверять.
Наверное 21h - работает так же как и 20h, и соответственно 31h - аналогично 30h. Надо ECh(Identify drive), эту команду должны употреблять IDINST.SAV от "Электронных работ" и WDX.SAV от Олега Ховайко.
Можно еще ввести в команды чтения и записи выход по ошибке с установкой бита ABRT в регистре ошибок, если запрашиваемая геометрия выходит за пределы.
Еще можно ввести работу с инверсными образами, определить автоматом по смещению 0x1F0-0x1FB в мастер-блоке - если там 0xFF - то и образ инверсный. Можно также по геометрии, если кол-во сторон и секторов больше 128, то также образ можно считать инверсным.

falanger
12.03.2010, 23:09
Начал бы кто печатки рисовать и схему править под 2х2716..

nzeemin
12.03.2010, 23:15
С ide_wdromv0110.bin запись тоже заработала, да и грузится стало.

У меня только один образ есть, с диска rkz. С него через wdboot не грузится, говорит -- ?WDROM-F-Некорректный boot-блок

Кстати, а по инструкции Арсения можно загрузочный образ создать? пригодилось бы.

olegh
12.03.2010, 23:19
Да.
indentify (autodetect) необходим для программы WDX.
Мало того - по-моему, какая-то последняя версия wdboot-a при чтении мастер-блока использует эту команду. А то некоторые винчестеры вообще отказываются работать, пока в них герметрию не загрузишь - даже мастер-блока не отдают.

Помнится, я делал нечто в таком роде -- читал конфигурацию autodetect-ом,
тут же назад её в винчестер загружал, и после того - читал мастер-блок
и снова перегружал геометрию - уже из последнего...

---------- Post added at 15:19 ---------- Previous post was at 15:16 ----------


У меня только один образ есть, с диска rkz. С него через wdboot не грузится, говорит -- ?WDROM-F-Некорректный boot-блок
.

Если диск доступен через ID, а надо сделать загрузчик для WD, то работает такая команда:

copy/boot ID1:rt11sj.sys,ID1:wd.sys ID1:

Gryphon
14.03.2010, 12:45
Можно поинтересоваться-планируется ли выпуск таких плат?

falanger
14.03.2010, 16:03
Во-во! Я бы купил печатку и комплект деталей для сборки IDE-контроллера УКНЦ дорого, 1-2 тыс.р. бы не пожалел.

Gryphon
16.03.2010, 00:33
Ну, 2000р. это довольно много, конечно, но ради такого удовольствия можно было-бы найти деньги. Главное, чтоб печатку сделали и РТшки прошили. Вот основная беда.

iscander_s
16.03.2010, 09:24
Присоединяюсь к falanger, я бы тоже купил контроллер. Может какой нибудь знающий человек организует мелкую партию контроллеров?

Gryphon
16.03.2010, 10:38
iscander_s, э... Я тоже не против купить :).

felix
28.03.2010, 09:50
Начал бы кто печатки рисовать и схему править под 2х2716..

Дорисовал я всё-таки схему на Compact Flash -- вот лежит : http://ukncbtl.googlecode.com/files/schematics-rom.pdf

Вопросы такие:
-- рисовать ли схему на одной флешке вместо двух 2716? (флешку естесно программить будет сама УКНЦ)
-- то-же на SDCard?

Плату разведу позже -- для неё мне нужны точные замеры разъёма, ибо УКНЦ живьём у меня нет. (Кто-нить продать хочет?)

Ещё была идея сделать контроллер флопповода на современной базе вместо К1801ВП1-128 : по идее дешевая CPLD+82072 позволят сделать его с малой кровью.... или FPGA но по дороже и труднее паять в домашних условиях. В общем жду коментариев. Кстати -- схемка будет оптимизирована, так что следите за svn в проекте.

Arseny
28.03.2010, 10:40
Плату разведу позже -- для неё мне нужны точные замеры разъёма,
У Tnt23 возьми :v2_thumb:

dk_spb
28.03.2010, 13:40
felix,
Вообще было бы шикарно сделать платку с двумя 2716 или флешкой под IDE.
Переходники IDE-CF и IDE-SD легко доступны, а терять "универсальность" платы не хотелось бы.

felix
28.03.2010, 16:34
felix,
Вообще было бы шикарно сделать платку с двумя 2716 или флешкой под IDE.
ок. как насчет варианта -- 40пин для IDE и разъем для CF на одной плате --
кому надо всунет CF, кому не надо - шлейф.
я начал платку рисовать, посмотрю -- если влезет, сделаю флеш и 2716 на одной плате.

dk_spb
28.03.2010, 17:15
felix,
Не, я за универсальность: IDE 40 pin по мне так и достаточно.
Захотел - винт прикрутил, захотел - CF или SD переходник.
А гдездо под CF сожрет место - винт не влезет.
Место под винт тоже хотелось бы оставить ...

felix
28.03.2010, 20:00
felix,
А гдездо под CF сожрет место - винт не влезет.

гнездо под CF -- с обратной стороны платы, IDE 40 со стороны деталей. всё влазит. вот только места по винт 3.5" я там не видел... и ставить винт не вижу смысла -- CF256MB хватит за глаза, а они дешевые (у нас 10 штук $10 стоят) -- не забудь что максимальный размер раздела =32мб, и максимум 8 разделов = 256МБ

dk_spb
28.03.2010, 20:08
гнездо под CF -- с обратной стороны платы, IDE 40 со стороны деталей. всё влазит. вот только места по винт 3.5" я там не видел...
Фото с винтом (как вроде было в оригинале) в первом же посте этой ветке.
Странно что не видел ;-)

Гнездо под CF с обратной стороны - будет ли после этого плата влезать в стандартный корпус?

И вообще я становлюсь противником CF - у меня в ноуте CF нету ;-)
А вот SD- совсем другое дело, правда переходник IDE-SD подороже, но зато и удобств ощутимо больше.

Alex_K
28.03.2010, 20:16
Я тоже сторонник с двумя 2716 и разъемом IDE-40. Размер платы можно уменьшить за счет этого, дешевле в изготовлении будет. А CF и SD можно и через переходник, кому надо. Все равно переходник понадобится, если CF будут к PC подключать.
А по поводу максимального объема в 256 метров, то это неверно. Олег Ховайко написал драйвер и код в ПЗУ, который поддерживает 24 раздела, итого 768 Мб. А если поставить две 2716, то для кода в ПЗУ будет больше места, можно написать другой код с поддержкой 64 разделов (2 Гига), поддержкой Master-Slave.

felix
28.03.2010, 23:13
А если поставить две 2716, то для кода в ПЗУ будет больше места, можно написать другой код с поддержкой 64 разделов (2 Гига), поддержкой Master-Slave.

Верно, но это не меняет факта что 4гига карточка стоит около $20 и компактнее и надежнее любого харда Кроме того, с целью компактности можно сделать SD адаптер на CPLD и вся плата будет в высоту SD разъема

falanger
29.03.2010, 00:05
IDC40 обычного IDE и CF на плате меня устроит, вы главное разберитесь с таймингами CF и её регистрами дополнительными. Хотя вместо CF приятнее был бы 2,5" винт, но нет так нет. А вот против SD на плате я категорический, кому надо - прицепит отдельный модуль.
IDE-контроллер должен быть на DIP-ах, с IDC40 и 2716 или флешкой, а ПЛИС и прочие SD - нах-нах.

Vamos
18.05.2010, 15:51
А кто выложит еще образы HDD для тестирования?

Жека:)
23.06.2010, 18:28
Господа, кто-нибудь займется репликой контроллера?

dk_spb
23.06.2010, 20:20
Я готов не только заняться, но и оплатить трудозатраты на создание .pcb файла.
Вопрос за малым

Жека:)
23.06.2010, 20:31
И за чем же?
Желающие явно ведь есть!

dk_spb
23.06.2010, 20:48
Желающие явно ведь есть!
Желающие сделать .pcb файл?
Где? Пальцем покажи?

Жека:)
23.06.2010, 22:00
http://uknc.narod.ru/Suvorov/index.htm
Это не то разве?

Arseny
23.06.2010, 22:03
http://uknc.narod.ru/Suvorov/index.htm
Это не то разве?
То, но оно требует доработки "напильником". Вот для этого и нужен специалист.

Жека:)
23.06.2010, 22:19
НУ у Pribora есть человек, который в PCAD шарит. Но нужно знать что и как допиливать.

Arseny
23.06.2010, 23:19
НУ у Pribora есть человек, который в PCAD шарит. Но нужно знать что и как допиливать.

В общем, все вот это и тормозит появление реплики контроллера. Т.е. - пока не появится энтузиаст желающий со всем этим возиться - дело с мертвой точки не сдвинется.
Особо нетерпеливые могут взять сканы с печатной платы, подчистить там разъемы в размер (если требуется) и сделать плату с помощью ЛУТ.

dk_spb
23.06.2010, 23:40
Я готов материально компенсировать трудозатраты на разводку платы в PCAD.
Все дальнейшие тусовки сделаю в лучшем виде.

pilgrim
25.06.2010, 21:55
Какое примерно время отводится на разработку платы в PCAD'е?

dk_spb
25.06.2010, 23:43
pilgrim,
Плата в .pcb есть, её надо доразвести.
А может и заново сделать. По времени ограничений нет.
Вопрос в сумме. Насколько я понимаю, за 10 т.р. сделают завтра и оближут. и будут благодарны.

pilgrim
26.06.2010, 00:15
pilgrim,
Плата в .pcb есть, её надо доразвести.
А может и заново сделать. По времени ограничений нет.
Вопрос в сумме. Насколько я понимаю, за 10 т.р. сделают завтра и оближут. и будут благодарны.
Денег я не прошу, просто по интересу сделаю. Интересно в каком PCAD'е была сделана схема. Хотя думаю, что проще сделать заного, но тем не менее, когда есть готовая база элементов - проще. Я её тут уже начал делать, но столкнулся с тем, что несколько отличаются фото голой платы и платы с элементами, на голой плате не нашёл место под один из конденсаторов. На данный момент пока сделал библиотеку ИМС. Теоретически, сделать плату - дело одного дня, но у меня столько времени нет заниматься, поэтому и спросил про время разработку. Сам же думаю за неделю - две осилю.

Arseny
26.06.2010, 00:48
Интересно в каком PCAD'е была сделана схема. Хотя думаю, что проще сделать заного, но тем не менее, когда есть готовая база элементов - проще.PCAD из очень старых (90-е годы все-таки). И сделать "с нуля" и проще, и правильней. Точнее, я это вижу так: взять схему за основу, на фото печатной платы развесить элементы, переносить (читай "рисовать с нуля") схему в программу уточняя непонятные моменты по фото печатки. Мне, к сожалению, не хватает знаний по работе с программами, что бы заняться. Но если нужно будет что-то глянуть на живой плате - обращайтесь.
Кстати, сейчас более внимательно сравнил голую печатку и контроллер - таки да, пара-тройка конденсаторов добавилась.


Теоретически, сделать плату - дело одного дня, но у меня столько времени нет заниматься, поэтому и спросил про время разработку. Сам же думаю за неделю - две осилю.
Оно больше года с мертвой точки не движется - ты только не бросай, а остальное не так важно.

pilgrim
26.06.2010, 01:11
Мне, к сожалению, не хватает знаний по работе с программами, что бы заняться. Но если нужно будет что-то глянуть на живой плате - обращайтесь.


Хорошо, когда дойду до установки элементов, тогда посмотрю уже что не понятно.

Жека:)
26.06.2010, 10:02
Поддерживаю! Надо развивать проект.
А как у нас обстоит дело с прошивкой К155РЕ3? Возможно?

Alex_K
26.06.2010, 12:14
Поддерживаю! Надо развивать проект.
А как у нас обстоит дело с прошивкой К155РЕ3? Возможно?

Да, проект надо развивать. И поэтому схему надо переделывать. Отказаться от 155РЕ3, сделать на двух 27C16 (573РФ2/5), а также можно и на 28C16. В случае с 28C16 возможно их запрограммировать и на самой УКНЦ. В этом случае надо сигнал записи подавать на 28C16, если адрес в диапазоне 100000-107777. После этих переделок контроллер останется аппаратно совместимым со старой версией, а увеличенная емкость ПЗУ позволит написать новое firmware.

Arseny
26.06.2010, 13:06
Да, проект надо развивать. И поэтому схему надо переделывать.В общем, все опять упирается в наличие заинтересованного электронщика-схемотехника ...

dk_spb
26.06.2010, 19:32
Alex_K, Чего все так боятся РЕ3?

Arseny
26.06.2010, 20:47
Alex_K, Чего все так боятся РЕ3?
Потому что их крайне ... "интересно" программировать :-/

dk_spb
26.06.2010, 21:46
Arseny, Просто программатор нужен. Он есть.
А термотренировкой можно и пренебречь

Alex_K
26.06.2010, 22:17
Alex_K, Чего все так боятся РЕ3?
Проблема запрограммировать - это раз, во вторых у этой микросхемы выход с открытым коллектором, так вот вопрос - данные выдаются в прямом или инверсном коде. Кодом там занята только половина микросхемы, адреса подаются в инверсном виде, так что придется еще прожечь не одну микросхему, чтобы узнать какие данные - прямые или инверсные. Еще там схема очень интересно построена - при выборе диапазона регистров IDE 155РЕ3 должна выдавать на шину 0xFF.
Для того чтобы переделать схему на две 27C16 особых схемотехнических знаний не требуется, а для переделки на 28C16 с поддержкой записи, то да, здесь надо немного подумать, тем более при проектировании контроллера очень старались удешевить его и сделать с минимальным количеством корпусов. Так что для переделки на 28С16 может парочка и добавиться.

AlecV
27.06.2010, 11:43
Alex_K, Данные в РЕ3 и РФ2 записаны в инверсном виде.

РЕ3 есть коробка 20 штук чистых.

Alex_K
27.06.2010, 13:30
В архиве схема контроллера IDE для УКНЦ и предварительный набросок схемы с использованием 28C16. Появляется еще один элемент. Теоретически можно обойтись и без него, но для лучшей защиты схемы лучше ввести.
Что вводится нового:
1. Схема должна работать только во время адресного обмена, поэтому на 8И-НЕ подается через инвертор сигнал SYNC, т.к. он активен в течение всего цикла чтения-записи.
2. Выбор ROM осуществляется сигналами A12 и сигналом выбора схемы с 8И-НЕ, ранее ROM выбирался только A12.
3. На 8И-НЕ подаются через 2И-НЕ сигналы CE1 и CE2, т.к. по-хорошему схема выбора должна работать когда установлен хоть один сигнал выбора кассеты ПЗУ.

Жека:)
27.06.2010, 15:37
Будете доделывать, а потом, надеюсь, в производство:)?

Alex_K
27.06.2010, 17:44
Обнаружил в схеме две ошибочки: в цепи выдачи RPLY и в выборе CS ROM. Перекладываю.


Будете доделывать, а потом, надеюсь, в производство:)?
Но вот здесь у меня такая же проблема - в PCAD я не умею работать, так что если найдется кто разведет схему, то тогда и в производство.

dk_spb
27.06.2010, 19:34
pilgrim и джентельмены.
Давайте не будем изобретать велосипед.
Нам до победы - один шаг: доразвести плату в PCad, при этом даже сканы готовой платы есть.
Мне кажется придумывать что-то, чтобы не было РЕ3 - это придумывать лишние проблемы. Я готов заказать платы и прошить РЕ3 и РФ. При это предпочитаю делать всё по заведомо рабочей схеме и плате.
Конечно, 28с16 - это круто, особенно по доступности и по цене. :-(

pilgrim
27.06.2010, 22:47
pilgrim и джентельмены.
Давайте не будем изобретать велосипед.
Нам до победы - один шаг: доразвести плату в PCad, при этом даже сканы готовой платы есть.
Мне кажется придумывать что-то, чтобы не было РЕ3 - это придумывать лишние проблемы. Я готов заказать платы и прошить РЕ3 и РФ. При это предпочитаю делать всё по заведомо рабочей схеме и плате.
Конечно, 28с16 - это круто, особенно по доступности и по цене. :-(

Делаю плату и схему согласно сканам, замену РЕ3 не произвожуна другие ИМС, т.к. считаю, что в этом случае лучше сразу на ПЛИС, а это уже не является репликой. Тем более нашёл в инете схемы для программатора РЕ3, причём программатора на базе ZX-Spectrum, с программой на бейсике. Ничего там сложного нет, да и в продаже есть как ре3 так и её полный аналог.

AlecV
28.06.2010, 11:01
Коллеги, контроллер флопа УКНЦ и эмулятор флопа от tnt23 полностью заменяют контроллер винта и даже читает/пишет образы с флеша SD, совместимые с эмулятором. ;)

http://www.sensi.org/~tnt23/megadrive/index.html

Alex_K
28.06.2010, 11:11
Коллеги, контроллер флопа УКНЦ и эмулятор флопа от tnt23 полностью заменяют контроллер винта и даже читает/пишет образы с флеша SD, совместимые с эмулятором. ;)

http://www.sensi.org/~tnt23/megadrive/index.html
Только там объем тома ограничен 800 килобайтами, да и скорость передачи остается 250 килобит в секунду. Так же иногда программа работы с дисководом в системном ПЗУ склонна к зависанию, а винчестер все-таки имеет собственный контроллер, дал команду, он ее выполнил и передал результат.

AlecV
28.06.2010, 11:15
программа работы с дисководом в системном ПЗУ склонна к зависанию Можно подумать что программа в ПЗУ контроллера IDE сильно лучше :)

Alex_K
28.06.2010, 11:24
Можно подумать что программа в ПЗУ контроллера IDE сильно лучше :)
А это смотря как написана. Есть два варианта - от "Электронных работ" и от Олега Ховайко. Можно опробовать оба варианта.
Тут еще проблема в том, что резидент сидит в ОЗУ ПП, а не все задачи, к сожалению, выполняют требования по загрузке в ОЗУ ПП (выделить память, загрузить, исполнить код, освободить память), некоторые прямо грузяться с адреса 24000 и затирают все что было в ОЗУ ПП.

pilgrim
29.06.2010, 22:10
Итак, плату развёл. Разводил один к одному по сканам платы. Должен отметить, что, как итог, в приведённой ранее схеме и схеме которая у меня получилась по плате есть небольшие отличия, хотя и незначительные, стоит отметить, что часть из них логична, т.е. в схеме ранее были заведомо непонятные моменты. Но есть и такие исправления, которые касаются распиновки разъёма под HDD, а именно добавлен один вывод GND, и другие выводы на +5В. Поэтому имеет смысл свериться с распиновкой HDD, на тот случай если уже в самой плате были ошибки, а не в схеме. Ниже привожу архив со схемой (скорректированной по плате), разведённой платой и библиотекой элементов. Всё было сделано в PCAD-2006.
Добавлю ещё одно отличие, про которое забыл упомянуть ранее - в окончательной схеме на 2 конденсатора меньше.
Исправление 1:

dk_spb
29.06.2010, 23:15
pilgrim, Завтра изучу и, если всё ОК, готов заказать на этой неделе.
Не возражаете?
Вам плата и ПЗУшки бесплатно ;-)

pilgrim
30.06.2010, 08:15
pilgrim, Завтра изучу и, если всё ОК, готов заказать на этой неделе.
Не возражаете?
Вам плата и ПЗУшки бесплатно ;-)

Если обнаружите ошибки, то, естественно, всё подправлю.

Alex_K
01.07.2010, 23:20
Итак, плату развёл. Разводил один к одному по сканам платы. Должен отметить, что, как итог, в приведённой ранее схеме и схеме которая у меня получилась по плате есть небольшие отличия, хотя и незначительные, стоит отметить, что часть из них логична, т.е. в схеме ранее были заведомо непонятные моменты. Но есть и такие исправления, которые касаются распиновки разъёма под HDD, а именно добавлен один вывод GND, и другие выводы на +5В. Поэтому имеет смысл свериться с распиновкой HDD, на тот случай если уже в самой плате были ошибки, а не в схеме. Ниже привожу архив со схемой (скорректированной по плате), разведённой платой и библиотекой элементов. Всё было сделано в PCAD-2006.
Добавлю ещё одно отличие, про которое забыл упомянуть ранее - в окончательной схеме на 2 конденсатора меньше.
pilgrim, хочу предложить несколько уточнений по схеме.
Для начала несколько фоток реальных контроллеров от "Электронных работ":
http://photofile.ru/users/mr_sanders/3771237/86884394/full_image/
http://photofile.ru/users/mr_sanders/3771237/86884392/full_image/
http://img-fotki.yandex.ru/get/3908/nzeemin.2/0_3b42d_c266b461_orig
http://img-fotki.yandex.ru/get/3814/nzeemin.2/0_3b42c_d0247010_orig
1. В верхней части платы сделать "ушко", для того чтобы закручивать туда разъем IDCC-40:
http://kisly-alexey.pisem.net/UKNC/A1.png http://kisly-alexey.pisem.net/UKNC/A2.png
2. 21 вывод IDE отсоединить от земли и оставить висеть в воздухе. Этот вывод используется в более поздних моделях для запроса DMA, а УКНЦ-шный контроллер этого не использует:
http://kisly-alexey.pisem.net/UKNC/A3.png http://kisly-alexey.pisem.net/UKNC/A4.png
3. 38 вывод IDE присоединить к +5 вольтам. Это вход CS1, используется для выбора регистров Alternate status/Device control и Drive address (соответственно 3F6 и 3F7 на PC). В контроллере выбор этих регистров не реализован и лучше этот вывод присоединить к +5, а то неизвестно как будет реагировать некоторые модели винчестеров и CF-карт на висящий в воздухе вывод:
http://kisly-alexey.pisem.net/UKNC/A5.png http://kisly-alexey.pisem.net/UKNC/A6.png
4. Ну и соответственно добавить один конденсатор емкость 680 nF для задержки сигнала SYNC, присоединяется между выводами 10 (GND) и 11 (C) регистров 1533ИР22. В разводке от "ЭР" этого кондера нет, его припаивали потом на задней стороны платы к выводам регистра, по всей видимости не на всех экземплярах УКНЦ контроллер работал устойчиво без этого конденсатора:
http://kisly-alexey.pisem.net/UKNC/A7.png http://kisly-alexey.pisem.net/UKNC/A8.png

dk_spb
01.07.2010, 23:41
А я бы очень настоятельно просил переделать платку под разъем для HDD типа LBH ("лежачий" IDC).
Кому надо - воткнет туда кабелек и в HDD, а другие могут воткнуть туда сразу переходник на CD или CD. То есть разъем контактами должен смотреть вглую платы со стороны деталей. Такое возможно? Или трудоемко? Ну всё-равно лучше под разъем, даже если он будет смотреть в другую сторону.

pilgrim
02.07.2010, 10:54
pilgrim, хочу предложить несколько уточнений по схеме.
Для начала несколько фоток реальных контроллеров от "Электронных работ":
http://photofile.ru/users/mr_sanders/3771237/86884394/full_image/
http://photofile.ru/users/mr_sanders/3771237/86884392/full_image/
http://img-fotki.yandex.ru/get/3908/nzeemin.2/0_3b42d_c266b461_orig
http://img-fotki.yandex.ru/get/3814/nzeemin.2/0_3b42c_d0247010_orig
1. В верхней части платы сделать "ушко", для того чтобы закручивать туда разъем IDCC-40:
http://kisly-alexey.pisem.net/UKNC/A1.png http://kisly-alexey.pisem.net/UKNC/A2.png
2. 21 вывод IDE отсоединить от земли и оставить висеть в воздухе. Этот вывод используется в более поздних моделях для запроса DMA, а УКНЦ-шный контроллер этого не использует:
http://kisly-alexey.pisem.net/UKNC/A3.png http://kisly-alexey.pisem.net/UKNC/A4.png
3. 38 вывод IDE присоединить к +5 вольтам. Это вход CS1, используется для выбора регистров Alternate status/Device control и Drive address (соответственно 3F6 и 3F7 на PC). В контроллере выбор этих регистров не реализован и лучше этот вывод присоединить к +5, а то неизвестно как будет реагировать некоторые модели винчестеров и CF-карт на висящий в воздухе вывод:
http://kisly-alexey.pisem.net/UKNC/A5.png http://kisly-alexey.pisem.net/UKNC/A6.png
4. Ну и соответственно добавить один конденсатор емкость 680 nF для задержки сигнала SYNC, присоединяется между выводами 10 (GND) и 11 (C) регистров 1533ИР22. В разводке от "ЭР" этого кондера нет, его припаивали потом на задней стороны платы к выводам регистра, по всей видимости не на всех экземплярах УКНЦ контроллер работал устойчиво без этого конденсатора:
http://kisly-alexey.pisem.net/UKNC/A7.png http://kisly-alexey.pisem.net/UKNC/A8.png

Я совершенно не против данных уточнений. Сам платку разводил по той, которая представлена на сайте у Арсения и все изменеия на схеме делал под неё, другие варианты просто до этого не видел. Да и не знаю всех нюансов по работе УКНЦ-ного HDD. Я так понимаю, вы уже все эти изменения внесли и в PCB и SCH сами, т.е мне самому уже ничего не надо подправлять?

Alex_K
02.07.2010, 11:12
Я совершенно не против данных уточнений. Сам платку разводил по той, которая представлена на сайте у Арсения и все изменеия на схеме делал под неё, другие варианты просто до этого не видел. Да и не знаю всех нюансов по работе УКНЦ-ного HDD. Я так понимаю, вы уже все эти изменения внесли и в PCB и SCH сами, т.е мне самому уже ничего не надо подправлять?

Существуют две версии контроллера HDD для УКНЦ.Авторы схемы и первой разводки - ТОО "Электронные работы". На сайте Арсения представлена пустая плата их конструкции. Автор второй версии - Олег Ховайко, была немного переделана разводка, написано новое firmware, на сайте Арсения именно эта ревизия в собранном виде и файлы pcb и sch.
Изменения в PCB и SCH не вносил, т.к. PCAD не стоит, да и работать я в нем не умею. Изменения внесены в графическом редакторе.

pilgrim
02.07.2010, 23:15
Существуют две версии контроллера HDD для УКНЦ.Авторы схемы и первой разводки - ТОО "Электронные работы". На сайте Арсения представлена пустая плата их конструкции. Автор второй версии - Олег Ховайко, была немного переделана разводка, написано новое firmware, на сайте Арсения именно эта ревизия в собранном виде и файлы pcb и sch.
Изменения в PCB и SCH не вносил, т.к. PCAD не стоит, да и работать я в нем не умею. Изменения внесены в графическом редакторе.
В сообщении выше, где вложения со схемой и платой, теперь подправленная версия с учётом найденых неточностей и пожеланий.

Жека:)
05.07.2010, 08:48
Господа, ну что, когда будем воспроизводить?

dk_spb
05.07.2010, 10:12
Жека:), Ну почему все такие нетерпеливые?
Я выпал-то всего на пару дней....
На этой неделе будет заказ сделан.

Жека:)
05.07.2010, 10:43
Ну нетерпеливые мы, что ж поделаешь:)
Очередь желающих формировать будем? А то как с контроллерами к БК окажется...

dk_spb
05.07.2010, 10:46
Очередь желающих формировать будем?
Вот нет чтобы просто написать "занимаю очередь на Х плат"...
Нет, сразу быка за рога, вопрос ребром и т.д.

---------- Post added at 10:46 ---------- Previous post was at 10:46 ----------

Кстати, уже на три платы народ записался.
Так что делёж шкуры неубитого медведя идёт полным ходом. ;-)

Жека:)
05.07.2010, 13:50
4 платки тогда мне пожалуйста:) В комплект будут включены прошитые ПЗУ, логические микросхемы, разьемы и т.д.?

Gryphon
05.07.2010, 15:23
О, мне тогда тоже одну (и если будут, то еще прошитые ПЗУ и логика).

ivmiha
05.07.2010, 19:36
На прошлой неделе раздобыл МС 0511.
Если почтой рассылаться будет. Платку и прошитые ПЗУ, заказываю.[COLOR="Silver"]

viktstep
05.07.2010, 20:56
dk_spb, помоему пора уже делать список заказывающих плат. Не забудь пожалуйста про меня (одна плата и микросхемы ПЗУ)

Жека:)
05.07.2010, 21:22
Господа, а этот контроллер поддерживает работу в качестве винчестера CF-карты через переходник?

Arseny
05.07.2010, 23:31
Господа, а этот контроллер поддерживает работу в качестве винчестера CF-карты через переходник?
В целом - да, но возможны коллизии - в зависимости от переходника и от карты.

dk_spb
11.07.2010, 14:36
Господа!
Нужна Ваша помощь, а то что-то я совсем запутался.
В идеале было бы поставить на плату сразу 44 ногую маму прямой угол с шагом 2mm.
Чтобы в неё сразу втыкать винт или адаптер CF.
Но таких разъемов вроде как вообще в природе нет (BH2-44FR вроде не бывает).
Alex_K предлагает кабелем переходить на IDCC-40, но почему тогда сразу не впаять LBH-40R? Тогда в него сразу удачно адаптер CF встает 40-ка пиновый.
Или может всё-таки делать кабелем переход на IDC2-44F (он же IDC2.0-44F) чтобы его сразу в винт втыкать? Но с кабелем не очень охота связываться...
В общем прошу помочь определиться, тем более сроки очень поджимают.

---------- Post added at 14:36 ---------- Previous post was at 14:24 ----------

Не, я их, конечно, нашел...
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=S5753-22-ND
Но доступность и цена....
Или всё-таки на такие будем ориентироваться?

Arseny
11.07.2010, 15:12
Первое: а после устатовки разъема на плате туда винчестер-то влезет?
Второе: я понимаю что так было, но сейчас-то с какой целью нужно городить туда именно вичестер? В чем выгода?
На 9-10 странице это уже обсуждалось.
Мое мнение: гребенка под IDE 40 и разметка для гнезда CF (кому надо - припаяют). Можно заодно и размер платы уменьшить (дешевле будет?).

dk_spb
11.07.2010, 15:51
Arseny, 1) Вроде влезает, если вырез убрать и разъем туда сдвинуть.
2) Если под переходник - еще удобнее сразу в плате разъем.
C гнездом под CF - проблем много, лучше переходник. Причем именно с IDE 44 (там и питание есть)

Arseny
11.07.2010, 19:36
C гнездом под CF - проблем много, лучше переходник.Проблемы с гнездом - это одноразовые проблемы (сделал и забыл). Переходник (ЛЮБОЙ) - это источник произвольных проблем и глюков в будущем, т.к. вносит в цепь ненужные соединения. Если перспектива борьбы с глюками в будущем никого не пугает - бог в помощь.


Причем именно с IDE 44 (там и питание есть) Угу. Это означает либо геморрой с поиском гнезда на шлейф (для прямого кабеля), либо, опять таки, очередной переходник - с 44 на 40. Никак не пойму - зачем? А питание можно взять и в схеме контроллера - для CF (в отличии от винта) много не надо.

dk_spb
11.07.2010, 23:20
Проблемы с гнездом - это одноразовые проблемы (сделал и забыл). Переходник (ЛЮБОЙ) - это источник произвольных проблем и глюков в будущем, т.к. вносит в цепь ненужные соединения. Если перспектива борьбы с глюками в будущем никого не пугает - бог в помощь.
Как раз в данном случае скорее наоборот. Так как пропаять и закрепить CF гнездо уже непросто, а вдруг CF будет на 3,3В и т.д.
Лучше взять переходник промышленного изготовления за 100 рублей с доставкой и забыть.


Угу. Это означает либо геморрой с поиском гнезда на шлейф (для прямого кабеля), либо, опять таки, очередной переходник - с 44 на 40. Никак не пойму - зачем?.
Не, я перестал Вас понимать :-(
То Вы совсем против подключения винта (Ваш вопрос зачем двумя постами Выше), то Вы собрались переходник на 40 пин делать.
Мне кажется, что "гнутый" разъем мама 44 пин c пайкой на плату решил проблемы как с подключением CF (через переходник, который чуть ли не дешевле разъема) и HDD 2.5". Пока смущает только доступность такого разъема.
Если же ставить 40 пин, то как туда HDD втыкать?
Тут вот еще какой момент: если думать о размещени этого всего в корпусе, то имеет смысл думать только про HDD 2,5 и CF. Соответственно под них и надо делать разъем. А для HDD 3.5 - можно и кучу переходников - всё-равно уже в корпус "углублять" не придётся.

Arseny
12.07.2010, 00:34
Как раз в данном случае скорее наоборот. Так как пропаять и закрепить CF гнездо уже непросто,Как бы непросто не было - это делается ОДИН (ровно один) раз.

а вдруг CF будет на 3,3В
Вот здесь: CompactFlash Frequently Asked Questions (http://www.compactflash.org/faqs/faq.php) пишут:
"Dual Voltage Support?
CompactFlash cards support both 3.3V and 5V operation and can be interchanged between 3.3V and 5V systems. This means that any CF card can operate at either voltage. Other small form factor flash cards may be available to operate at 3.3V or 5V, but any single card can operate at only one of the voltages"
Я правильно понял что там написано?

Не, я перестал Вас понимать :-(Это не так сложно на самом деле. Просто подумайте не только о СВОИХ возможностях, но и возможностях ДРУГИХ людей. Лично у меня есть и любые винты, и CF, и переходники разные ... Но это у меня.

То Вы совсем против подключения винта (Ваш вопрос зачем двумя постами Выше), то Вы собрались переходник на 40 пин делать.
Я по прежнему против, но имея гребенку 40 пин в контроллере любой, абсолютно любой, человек сможет найти что туда повесить без всяких проблем. У кого есть CF и ноутные винты с переходниками - повесят их, у кого нет даже обычного IDE - легко найдут что-нибудь в себя в городе (у знакомых, по объявлениям) за даром или за копейки. Т.е.: днем - получил/собрал контроллер, вечером - уже в RT-11 на УКНЦ работаешь.

Мне кажется, что "гнутый" разъем мама 44 пин c пайкой на плату решил проблемы как с подключением CF (через переходник, который чуть ли не дешевле разъема) и HDD 2.5".
Отлично! Человек заказал плату или контроллер, заказал (за деньги) переходник IDE-CF, купил CF ... и обломался - или переходник не работает, или карта не подходит, или контроллер глючит, или х.е.з. что... В результате он вынужден будет или искать новые переходник и CF, или ноутный винт, или переходник IDE 44->40... И возможно развитие событий повторится (см. выше). Это что - такой извращенный способ поиздеваться над энтузиастами, которых и так не много (вопрос риторический, отвечать и обижаться не нужно)? Или может у каждого дома завалялась парочка винтов на 2,5"? Где смысл-то? Я до сих пор не вижу НИКАКИХ преимуществ в использовании 2,5" винта сейчас. Кто-нибудь может составить список преимуществ и недостатков каждого из вариантов (3", 2", CF) - может так сможем понят что лучше.

Если же ставить 40 пин, то как туда HDD втыкать?Э? Не понял, что значит - "как"? Шлейфом. На 40 или 80 пин - какой под руку подвернется. Если кто-то желает поизвращаться - можно купить разъемы и шлейфы или отрезать от старого шлейфа кусок с разъемом и припаять на выходе любой разъем под что понравиться. Вот тут уже вариантов - море.

Тут вот еще какой момент: если думать о размещени этого всего в корпусе, то имеет смысл думать только про HDD 2,5 и CF. Соответственно под них и надо делать разъем.В стандартный корпус (без его уродования) 2,5" не влезает, вот я и предлагаю предусмотреть CF гнездо.
Впрочем, я все равно не смогу вас остановить - как сделаете, так и будет.

dk_spb
12.07.2010, 01:14
CompactFlash cards support both 3.3V and 5V ...
Я правильно понял что там написано?
В моем переходнике есть джампер 3/5V и пока правильно не выставишь - не работает :-(


Просто подумайте не только о СВОИХ возможностях, но и возможностях ДРУГИХ людей.
.....
Это что - такой извращенный способ поиздеваться над энтузиастами, которых и так не много (вопрос риторический, отвечать и обижаться не нужно)? Или может у каждого дома завалялась парочка винтов на 2,5"? Где смысл-то? Я до сих пор не вижу НИКАКИХ преимуществ в использовании 2,5" винта сейчас.
Ээээ, ну как Вам сказать. Если не считать что винту не 2.5" ТОЧНО потребуется внешнее питание, да еще и на пару напряжений, то еще неизвестно что большая издевка ;-)


Э? Не понял, что значит - "как"? Шлейфом. На 40 или 80 пин - какой под руку подвернется.
Ну да, винты 2.5 дома ни у кого не валяются, а кабель 40 пин на 44 - у каждого в запасе ;-) Кстати, винты 2.5" IDE до сих пор есть в продаже и их даже продолжают выпускать.

Арсений, я Вас прекрасно понимаю, у Вас не только и винты валяются, у Вас и контроллер есть ;-) Поэтому мне интересно услышать мнения и других товарищей, уж извините за прямоту. По мне если делать что-то сейчас для дальнейшего использования - то только CF, а IDE нужно для очень редких случаев вытаскивания информации со старых винтов. И уж если у кого есть такие винты - значит и переходной кабель сделают для 40 пин. А для CF переходники и на 40 и на 44 встречаются одинаково. Только 44 - удобнее, так как там и питание есть.
Делать плату меньше может и правильно, но без корпуса её потом фиг из слота вытащишь - корпус УКНЦ будет мешать.

Arseny
12.07.2010, 02:18
В моем переходнике есть джампер 3/5V и пока правильно не выставишь - не работает :-(
Честно скажу - поножовщину на CF не смотрел, но могу предположить что питание просто приходит на разные ноги - со всеми вытекающими ...



Ээээ, ну как Вам сказать. Если не считать что винту не 2.5" ТОЧНО потребуется внешнее питание, да еще и на пару напряжений, то еще неизвестно что большая издевка ;-)
Не уверен, что внешнее питание для винта это минус, а не плюс. CF жрет 70 мА, а 2" диск - 300-700 (в зависимости от режима). Думаете, БП УКНЦ (на который много жалоб) "обрадуется", если на него еще почти ампер повесят?


Поэтому мне интересно услышать мнения и других товарищей, уж извините за прямоту.Составить список доводов за и против для каждого варианта и все станет ясно. Но если время терпит - подождем пока отпишутся все желающие. Или такой вариант - все, кто делал предварительный заказ, отпишутся по типу: CF - нет, 2" - да, 3" - нет. По сумме вариантов станет понятно что желает видеть на контроллере общественность.

ivmiha
12.07.2010, 02:54
3'' не проблема, CF купить смогу, а вот 2'' в нашей деревне проблема, так что:
3''-да
2''-нет
CF-да

pilgrim
12.07.2010, 08:00
На счёт переделки платы скажу так: если переделывать плату с применением на ней IDC разъёма, то в таком случае лучше плату совсем заного сделать с учётом новой элементной базы, если делаем реплику, значит она должна быть такой как была. И думается мне, что если делать и тот и другой варианты, то народ, возможно возмёт оба варианта. А к полностью новому варианту можно было бы сразу добавить и разъём для подключения SD и работать с ней как с HDD.

Жека:)
12.07.2010, 08:19
Если будет реплика, то только CF.

AlecV
12.07.2010, 23:39
Предлагаю развести все 3 разъема, желающие сами впаяют нужный коннектор (или несколько).

Вдобавок получится универсальный переходник, если не запаивать детали :) :)

falanger
24.07.2010, 14:08
Меня тоже в очередь на контроллер включите. Интересует.

dk_spb
24.07.2010, 14:45
ok.
Я прошу прощения за задержку, медицинские издержки, в понедельник дадут премию и вопрос будет форсирован.

falanger
24.07.2010, 15:25
Хоккей, жду результатов.

Жека:)
25.07.2010, 13:08
И так какая же разводка платы у нас планирнуется как финальная?

dk_spb
25.07.2010, 13:16
Жека:), Ну зачем же так сразу кирзачом да по больному месту?????

Жека:)
25.07.2010, 14:03
Ну уж какой есть я:), впредь буду осторожнее;)

olegh
31.08.2010, 05:02
Господа хорошие, а в вашем проекте я могу хоть чем-то помочь?
Может, что-то написать надо, или на вопросы ответить...
Всё-таки на этот винчестер я много сил в своё время потратил,
и опыта с ним набрался... Авось что от меня и пригодится...

nzeemin
31.08.2010, 10:26
Господа хорошие, а в вашем проекте я могу хоть чем-то помочь?
Может, что-то написать надо, или на вопросы ответить...
Всё-таки на этот винчестер я много сил в своё время потратил,
и опыта с ним набрался... Авось что от меня и пригодится...

Опиши что там на нём есть интересного, и в каких разделах. Было бы весьма полезно.

olegh
31.08.2010, 14:27
На нём - это на образе винчестера, который я Алексею передал?
Надо мне, конечно, в руках всё иметь, а то 10 дет прошло, я точно не помню,
что там такого интересного. Если бы список файлов был перед глазами - прокомментировал бы.
Но так, навскидку, что должно быть в архивах.

FMZ - мой форматёр MZ-дисков. Всё в исходниках, компилябельное.
Куча функций, в том числе - возможность задавать interlive.
Что интересно, он написан на смесь ассемблера и моём языке ELF - это интерпретатор байт-кода, а-ля Forth of Java, который линкуется вместе с программой, и интерпретируется. Сам интерпретатор занимает ~20 байт,
находится в файле kernel.mac

FCU - лучший архтватор для УКхи, и вообще любой PDP-машины

LZSAV - аналог LZEXE для MSDOSa - сжимает исполняемую программу.

Утилиты MARK+TEST - слабая пародия на unix-ный make.
Совместно с .com-файлами, позволяют перекомпилить только те файлы,
которые редактировались

TURBO(?) - исходники Турбо-Бейсика от Олега Герасимова.

(Имя не помню) - заготовка-шаблон для писания драйыеров.

(Имя не помню) -- от покойного Никитина -- RT-11 с поддержкой
субдиректориев. Он там глубоко rt-11sj перехачил, можно логические
имена на поддиректории назначать. Правда, всякие программы типа PAF-командера там глючат...

vir57.mac - исходник резидентного вируса для rt-11.

Много чего ещё есть, просто счас как-то не вспоминается...
Если у вас будет возможность распатронить мой диск по файлам, и мне
всё в эмуляторе отдать - сделайте, пожалуйста, я тогда с новыми силами
покопаюсь в архивах.

Я просто что имел в виду -- вроде вы решили контроллер в железе восстанавливать, я могу например, далее драйвер сопровождать...

dk_spb
31.08.2010, 15:05
Вся ерунда позади.
Завтра сдаю в изготовление такую плату
http://fincoins.spb.ru/3/ide2.jpg
Ваши пожелания, комментарии и т.д.

falanger
31.08.2010, 16:35
Мне один набор для сборки забейте, как тогда с контроллером дисководов. Сколько будет стоить?
Ну и КМД бы тоже надо бы и дискеты с софтом и ОС.

Жека:)
31.08.2010, 21:34
Мне минимум 2 комплекта, это точно. Возможно, потом еще добавлю!

Mifody
07.09.2010, 23:16
И на меня одну платку запишите...

MV1971
07.09.2010, 23:25
Если есть возможность, мне 1 плату тоже отложите.

Жека:)
11.09.2010, 00:11
Ну что там с заказом платок?

Mifody
17.09.2010, 16:23
А где взять прошивки РЕ3 и РФ2 от этого контроллера?

dk_spb
17.09.2010, 17:07
Mifody, Была же ссылка в этом форуме http://zx.pk.ru/showpost.php?p=254244&postcount=41

Mifody
20.09.2010, 16:04
сорри. Недоглядел... Чёт всё равно не понятно, там 4 файла. Какой из них заливать в РФ2, а какой в РЕ3? Для РЕ3 даже по размерам ничего не подходит...

dk_spb
20.09.2010, 17:13
Mifody, Там же вроде всё расписано.
От бОльшего файла отрезаете первые 0x1000 байт (в файле одно и то же много раз)
Нечетные - рф5, четные много раз повторенные 32 байта от ре3.
Не забываем что для заливки адреса и данные надо инверсить

falanger
04.10.2010, 16:58
Так что там с платами и контроллерами? Я жаждю! :)

dk_spb
04.10.2010, 21:05
Подскажите чайнику:
1) нужны ли РФ2 и Ре3 для работы WDX.SAV ? Или ПЗУшки нужны только для загрузки с HDD?
2) можно ли из монитора ЦП (выбор пункта 6-отладка загрузочного меню) как-то проверить наличие регистров контроллера?

Arseny
04.10.2010, 21:10
1) нужны ли РФ2 и Ре3 для работы WDX.SAV ? Или ПЗУшки нужны только для загрузки с HDD?
Не очень. Вместо них можно загрузить WDBoot.sav

dk_spb
04.10.2010, 21:15
Запускаю WDX на контроллере без ПЗУшек.
Получаю:
?MON-F-Trap to 10 007125
Чтобы это значило?
Без контроллера эффект такой же. Хотя по идее должна быть надпись что контроллера нету.

Arseny
04.10.2010, 22:27
Запускаю WDX на контроллере без ПЗУшек.
Получаю:
?MON-F-Trap to 10 007125
Чтобы это значило?
Без контроллера эффект такой же. Хотя по идее должна быть надпись что контроллера нету.
WDBOOT перед ним запускать пробовал? А WDXR?

dk_spb
04.10.2010, 23:09
Arseny, По инструкции WDX (он же WDXR в русском варианте) запускается без всякой подготовки.
На другой УКНЦ тоже самое. Плату по схеме прозвонил.
Завтра попробую прозвонить на свежую голову.
Попробовал залить ПЗУ. Лучше не стало, но возник вопрос: правильно ли понял что 32 байта РЕ3 это два раза по 16? В смысле в РЕ3 старшая и младшая половины равны?
00000000: A0 00 17 8D 80 00 C6 15 │ 00 80 C3 15 F3 00 C2 15 а ↨НА ╞§ А├§є ┬§
00000010: 1A 00 81 10 52 94 81 0A │ C3 7E C0 00 0B 00 02 00 → Б►RФБ◙├~└ ♂ ☻
00000020: 02 00 B7 8D 8A 00 85 15 │ 00 80 37 15 08 00 68 15 ☻ ╖НК Е§ А7§◘ h§
00000030: 00 00 DA 10 00 94 77 0A │ 08 7E 52 00 00 00 04 00 ┌► Фw◙◘~R ♦
Это вот из полного дампа. Видно что идет повтор 16-ти четных байт (старшего байта в слове).

dk_spb
05.10.2010, 12:02
Что-то есть у меня сомнения в работоспособности имеющихся у меня WDX и WDXR.
Независимо от наличия контроллера первый вываливается по 10-му трапу, а второй вообще пишет ОСТАНОВ. Хотя по идее должны как минимум вести себя одинаково.
Соответственно СРОЧНО ищется образ загрузочной дискеты с программами WD*.
Выручайте

Arseny
05.10.2010, 12:42
пробуй

dk_spb
05.10.2010, 22:30
Спасибо. С этого образа программы запускаютcя.
Но контроллера пока невидят. После командировки буду тыркаться осцилографом.
Да, я программы добавлял к образу утилитой от эмулятора УКНЦ. Сегодня попробовал еще раз - такая же кака - не работают. Толи я не так что-то делаю, толи утилита что-то делает не так.

dk_spb
14.10.2010, 10:15
Всю плату еще раз прозвонил - все соответствует схеме.
Вопрос знатокам: как WDX определяет наличие контроллера?
Обращается к винту или к ПЗУшкам? Или еще как-то?

Alex_K
14.10.2010, 15:52
Вопрос знатокам: как WDX определяет наличие контроллера?
Обращается к винту или к ПЗУшкам? Или еще как-то?
Если не видит самого контроллера, то это значит, что контроллер не отвечает сигналом RPLY, так что проблема или в дешифраторе адреса или в схеме формирования RPLY.
Проверка состоит в отключении системного ПЗУ по адресам 100000-117777 (бит 0 регистра 177054), подключении нужной кассеты по биту 3 регистра 177054 и тестировании диапазона 100000-117777.

dk_spb
14.10.2010, 15:57
Alex_K, Ok. СПасибо большое. То есть если ПЗУхи нет, но RPLY приходит - должно быть всё ОК?

Alex_K
14.10.2010, 16:36
Alex_K, Ok. СПасибо большое. То есть если ПЗУхи нет, но RPLY приходит - должно быть всё ОК?
Да, наличие ПЗУ и подключенного винчестера не обязательно.

А конденсаторы на плате для задержки SYNC и RPLY стоят?

dk_spb
14.10.2010, 16:42
Конечно. Всё согласно схеме. На выходных буду "подключать к работе" осцилограф и сравнивать с оригиналом.

---------- Post added at 16:42 ---------- Previous post was at 16:41 ----------

Кстати, по схеме на SYNC кондеров нет.

Alex_K
14.10.2010, 16:54
Кстати, по схеме на SYNC кондеров нет.
По схеме от ЭР конденсатора на SYNC нет, на на практике он припаивался на обратной стороне платы. Всё дело в том, что адрес на разъемы ВУ приходит через 1801ВП1-055, а значит с задержкой, а SYNC идет прямо. Хотя процессор и выставляет сначала адрес, а потом SYNC, но раз кондёр ставили, значит были проблемы. Так что ради эксперимента можно попробовать и без него. Слишком большая емкость тоже очень плохо, сигнал AR сформируется раньше, чем SYNC придет с задержкой и процессор снимет адрес с магистрали.

dk_spb
14.10.2010, 16:58
Alex_K, Я прям как знал что пока Вы не придёте снова в эту ветку - ничего у меня не получится. А какой емкости кондер обычно ставили? Не припомните?

AlecV
14.10.2010, 17:25
dk_spb, насколько помню на N-MOP больше 1000 пикофарад всё равно нельзя, иначе сильно подсаживается выходной пин.

dk_spb
14.10.2010, 17:30
AlecV, Там вроде вешается не на шину, а на выход 555ЛЛ1 уже внутри контроллера, непосрелственно перед 11-ыми ногами 1533ИР22. или я не прав?

Alex_K
14.10.2010, 17:31
А какой емкости кондер обычно ставили? Не припомните?

Увы, этого я не знаю, т.к. реального контроллера у меня нет. Лучше спросить у реальных владельцев - Arseny, nzeemin. На Полигоне призраков фото этого контроллера выкладывал sanders. Они хоть и выкладывали фото, но какой ёмкости там кондёр - не видно. А в схеме от Олега Ховайко его емкость равна 0,68 нФ.

dk_spb
14.10.2010, 17:36
Да, это я виноват, просмотрел.
У меня сделано как раз по схеме от Олега Ховайко и кондер там стоит (С4).
Соответствнно на плате он у меня тоже впаян.

dk_spb
16.10.2010, 21:00
В общем я в полной растерянности:
После удаления этого самого кондера задержки по SYNC (стоял пленочный с маркировкой 682. Или это не есть требуемые 0.68nF ?) контроллер распознается.
При попытке грузиться с него выдает строку копирайт и ошибки (винт-то неразмечен).
При запуске WDX выдает немеряно вопросов, но партиции создает и форматирует без ошибок. Когда предлагает сделать "load out" таблицу партиций отвечаю согласием.
Но дальше - плохо:
run wdr.sav ругается на superblock, хотя резидентную часть грузит.
init WD0: ничего не говорит, но после него dir wd0: говорит что плохая директория.
И еще замечено, что при автодетекте HDD или CF в модели и названии портит каждый второй байт.
Пойду курить схему. Если у кого будут добрые советы - буду рад.
-------------
Несколько раз подряд запустив wdx понял что есть проблема с записью или чтением (то есть wdx считывает из таблицы разделов не то, что туда записала).
Странно почему при этом init не ругается...

Alex_K
16.10.2010, 21:19
В общем я в полной растерянности:
После удаления этого самого кондера задержки по SYNC (стоял пленочный с маркировкой 682. Или это не есть требуемые 0.68nF ?) контроллер распознается.
Судя по этой ссылке (http://www.radiomaster.net/load/07-3/index.html) конденсатор имеет ёмкость 6,8 нФ, т.е. в 10 раз больше, поэтому и проблемы с SYNC. Надо с маркировкой 681.

При попытке грузиться с него выдает строку копирайт и ошибки (винт-то неразмечен).
При запуске WDX выдает немеряно вопросов, но партиции создает и форматирует без ошибок. Когда предлагает сделать "load out" таблицу партиций отвечаю согласием.
Но дальше - плохо:
run wdr.sav ругается на superblock, хотя резидентную часть грузит.
init WD0: ничего не говорит, но после него dir wd0: говорит что плохая директория.
И еще замечено, что при автодетекте HDD или CF в модели и названии портит каждый второй байт.
Пойду курить схему. Если у кого будут добрые советы - буду рад.
А на RPLY какой ёмкости кондер? Если большой, то тоже могут быть проблемы. И какой бит портится во втором байте, или они каждый раз разные?

dk_spb
16.10.2010, 22:10
Alex_K, Разные.
Наверно я там тоже с кондером ступил. Сейчас пойду поменяю.

---------- Post added at 21:44 ---------- Previous post was at 21:22 ----------

Поставил оба кондера 132 (1300пф) - ошибка чтения осталась.
Сейчас пойду попробую 330 пф (680 нет под рукой).

---------- Post added at 22:10 ---------- Previous post was at 21:44 ----------

Поставил вместо обоих конденсаторов последовательно два "132" (вроде это дает 650 пф). Эффект тот же. Схему до HDD прозвонил.
Должен заметить что очень похожий эффект (что-то типа случайной потери битов в каждом втором байте) я имел с обоими типами CF что есть у меня на КНЖМД в БК. Но мой HDD там работал. Там я просто подумал что надо искать совместимые CF, но теперь вижу что проблема глубже.

Alex_K
16.10.2010, 22:23
dk_spb, если не стоит 155РЕ3, то стоит снять резисторную сборку, но тогда надо ставить резистор подтяжки на выход 3 155ЛА13.
А если пустая 155РЕ3 выдает 0xFF, то можно поставить и её.

dk_spb
16.10.2010, 22:37
Новая порция чудес:
Переставил этот HDD в контроллер от Электронных систем.
Оказалось что разделы на винте правильные и даже директория (пустая) на wd0 есть!!!
То есть пишет собранный мной контроллер нормально, но не хочет читать нормально то что записал :-(
Я теряюсь.... Может кр1533ап6 надо на 555ап6 поменять!?!?!?
Или всё-таки поставить в схему генерации RPLY резисторы ровно на 2кОм (у меня стоят 2,2).
Или искать шамана с бубном.....

---------- Post added at 22:34 ---------- Previous post was at 22:33 ----------

Alex_K, Пзухи стоят и работают.
То есть при запуске с картириджа говорит что ошибка контрольной суммы в мастер блоке и предлагает ввести номер партиции для загрузки.

---------- Post added at 22:37 ---------- Previous post was at 22:34 ----------

Кстати, резисторная сборка у меня как и по схеме О.Ховайко 1 кОм. А в электронных системах стоит 2,2. Может тут собака порылась?

Alex_K
16.10.2010, 22:41
Alex_K, Пзухи стоят и работают.
А вторая половина 155РЕ3 заполнена 0xFF?

Кстати, резисторная сборка у меня как и по схеме О.Ховайко 1 кОм. А в электронных системах стоит 2,2. Может тут собака порылась?
Можно и на 2,2 кОма.

dk_spb
16.10.2010, 22:54
А вторая половина 155РЕ3 заполнена 0xFF?
Нет, а должна?
Щас попробую.

---------- Post added at 22:54 ---------- Previous post was at 22:43 ----------

Alex_K, И как же мне теперь с Вами рассчитываться?
Коньяк я вроде уже и так Вам должен за прошлый раз....
Все заработало после зачистки второй половины ре3.
Даже загрузилось сразу с винта.

Alex_K
16.10.2010, 22:55
Нет, а должна?
Щас попробую.
Ну да, там же вывод А4 ПЗУ подключен к адресному выводу А12, т.е. когда адрес в диапазоне 100000-107777, то выбирается одна половина ПЗУ, а когда адрес в диапазоне 110000-117777, то выбирается другая половина ПЗУ, но одновременно выбирается и винчестер, поэтому ПЗУ в этом случае должно выдавать 0xFF.

dk_spb
16.10.2010, 22:57
Alex_K, Огромное спасибо!!!!! Я выше уже отписал результат.
К сожалению, последнее время все приходится делать второпях.
И получаются косяки....

Alex_K
16.10.2010, 23:05
dk_spb, ОТЛИЧНО !!!
Теперь можно позаписывать громадные файлы на винч и сравнивать их BINCOM-ом (команда DIFF/BIN). Специальных тестов не знаю, так что и такой сойдет.

dk_spb
16.10.2010, 23:11
Alex_K, Это уже завтра. И с HDD и с CF грузимся, так что не думаю что при больших операциях полезут каки....

falanger
17.10.2010, 12:02
Хотеть хотеть хотеть контроллер собранный или полный набор для сборки! Сколько стоит?

dk_spb
17.10.2010, 13:28
Плату рисовал "студент", поэтому у этой партии (какое громкое слово для "пары" штук) есть ньюансы:
- с размером отверстий под м/c. Микрухи еще лезут, а панельки требуется вбивать
- с размером отверстий под разъем IDE. Тут вообще попа: или паять кабель, или очень бережно рассверливать отверстия
- в одном месте надо резать дорожку и ставить перемычку проводом (это уже мой косяк, я неопытной рукой разъем пытался двигать).
Вообще по уму конечно надо бы разъем или на 180 градусов развернуть или на другой край платы перенести. Но это мне не под силу, времени на освоение PCad пока нет совсем :-(
http://fincoins.spb.ru/5/board.jpg
http://fincoins.spb.ru/5/front.jpg
http://fincoins.spb.ru/5/back.jpg
http://fincoins.spb.ru/5/error.jpg
http://fincoins.spb.ru/5/fix.jpg

falanger
17.10.2010, 20:20
А кто-нибуть будет из переделывать то? Если да - я подожду новой партии. А если нет - припаялю шлейфик для 2,5" винта "на проводах" и не буду особо страдать. Мне главное чтобы вся все детальки для сборки были, особенно прошитые ПЗУ.

dk_spb
17.10.2010, 21:27
falanger, Надежда на переделку есть.
Но также есть поговорка про синицу и журавля.
Хотя первая партия маленькая, вряд ли Вам что-то достанется. Если только будут отказы от первоочередников.

falanger
18.10.2010, 01:46
Значит буду ждать, очень хочется винт на УКНЦ.

Жека:)
23.12.2010, 17:33
Запустили контроллер винчестера и установили систему!
Сначала он не заработал - определили в итоге, что была битая К155ЛА13, которую заменили и контроллер успешно заработал.
Похвастаюсь фотками УКНЦ с контроллером.

http://s015.radikal.ru/i330/1012/13/a0d3d0065d09t.jpg (http://radikal.ru/F/s015.radikal.ru/i330/1012/13/a0d3d0065d09.jpg.html)

http://s013.radikal.ru/i324/1012/e2/1312969b560ct.jpg (http://radikal.ru/F/s013.radikal.ru/i324/1012/e2/1312969b560c.jpg.html)

http://i032.radikal.ru/1012/7f/477d5b33c903t.jpg (http://radikal.ru/F/i032.radikal.ru/1012/7f/477d5b33c903.jpg.html)

http://s008.radikal.ru/i305/1012/a5/e508bce9d7cft.jpg (http://radikal.ru/F/s008.radikal.ru/i305/1012/a5/e508bce9d7cf.jpg.html)

http://s44.radikal.ru/i105/1012/7f/1089a4237cfct.jpg (http://radikal.ru/F/s44.radikal.ru/i105/1012/7f/1089a4237cfc.jpg.html)

---------- Post added at 17:33 ---------- Previous post was at 17:19 ----------

Господа, а кто-нибудь еще кроме нас и dk_spb собрал и запустил контроллер???

dk_spb
23.12.2010, 19:28
Есть один собранный КНЖМД на обмен. Если интересно - пишите в личку.

А Жеке моё большое человеческое ФИ. Я-то думал люди просто не успевают мне денежку выслать. А тут получаю письмо: "Контроллер винчестера заработал, теперь вышлем за него деньги". Видимо если бы не заработал - я бы был весело послан....
ЛА13 могу поменять по гарантии ;-)

Жека:)
23.12.2010, 19:54
Нифига:) Время реально нет - мы его 2 недели паяли:(
А деньги и ща время нет отправить:(
Но морально всё компенсируем (материально!).

dk_spb
23.12.2010, 20:39
Жека:), Да ладно, я всё понимаю. Я так, посетовал ;-) Сам не долго справлялся отправить. И не с первого раза отправить получилось

dk_spb
24.01.2011, 23:02
Для заказа плат и КНЖМД прошу:
http://www.phantom.sannata.ru/forum/index.php?t=8216

falanger
26.01.2011, 16:19
Мне заверните один комплект для сборки контроллера IDE и один КМД для УКНЦ. На Призраках отписался в теме о заказе.

El_Ju
15.02.2011, 17:23
Добрый день! Мой контроллер IDE более-менее начал работать. В качесве "диска" используется CF аж 32 Мб, чего мне вполне достаточно. Но пока использовать на 100% страшновато. Есть ли какие-нибудь тесты стабильности для дисков. TESTMZ тут не помощник :-). Что бы можно было загрузить систему на пол дня и только изредка поглядывать на экран. Ну не писать же самому.

olegh
30.03.2011, 03:22
Господа,
произошла беда...

Идя навстречу пожеланиям трудящихся, я решил тут поднять УК-НЦ шный винт и глянуть, что там и как. Попробовал запустить машину - не запускается никак.
На экране - вертикальные полосы, и время от времени периодическое мигание-шевеление, и всё.

Короче, ситуация такая - винт есть, и вроде запускается. Контроллер есть тоже. А машины - нет. Подскажите, может что-то эмулятором можно сделать?
Я пробовал его запустить, но так и не понял, как ему подсунуть образ винчестера.
Если такое возможно, то подскажите, как.

nzeemin
30.03.2011, 03:35
Эмулятором вполне можно. Собственно, тот винчестер что у меня я так и использовал. Это описано в первых постах этого топика.

1. Берём машину с которой удобно слить винчестер побайтно -- в моём случае это была Windows XP. Цепляем винчестер так чтобы с него не гризилось, загружаемся.
2. Сливаем образ винчестера в файл. Я использовал утилиту HxD, говорят что ещё Norton Disk Edit подходит.
3. Данные в образе записаны инверсно -- это особенность контроллера. Поэтому нужно их инвертировать побайтно. Для этого я писал программку из 10 строк на на C#, в принципе задача легко решаема практически в любом языке.
4. В эмуляторе в качестве картриджа выбираем один из двух имеющихся образов прошивки IDE-контроллера -- ide_hdbootv0400.bin либо ide_wdromv0110.bin -- какой выбрать зависит от того какой у вас контроллер. Вместо дискеты подставляем образ винчестера. Запускаем эмулятор, грузимся. Для проверки можно использовать образ который я сюда выкладывал.

olegh
30.03.2011, 08:05
За инструкцию спасибо, в ближайшее время займусь.

Только такой вопрос -- а почему Вы не сделали инверсию битов
непосредственно в эмуляторе? Это ж каждый раз, когда образы дисков
туда-сюда гонять (эмулятор <-> машина) , их каждый раз надобно через
внешний инвертор пропускать.

А на PC в эмуляторе это сделать несложно, ибо данные
передаются блоками по 512байт,
и их можно инвертировать сразу 32х или 64х битовыми словами.

Если сможете сделать, чтоб эмулятор работал с "нативными" образами УК-винчестеров, я буду очень благодарен.

Далее. Я посмотрел, эмулятор, даже когда ничего не делает, пожирает 100% CPU.
Чтоб это не так выпирало, можно сделать старт-стоп режим. Например, выполнили
100 команд УКНЦ - уходим в usleep(1000). То есть отпускаем PC-процессор,
чтоб он и своими делами позанимался. Лучше чтоб размер блока команд задавать в конфиге.

Спасибо,

Oleg H.

AlecV
31.03.2011, 01:10
nzeemin, действительно, может добавить галочку "инвертированный образ IDE" ?

Жека:)
31.03.2011, 09:07
olegh, можете прокомментировать невозможность загрузки RT 05.07 с винчестера (вываливается в СТОП), хотя Фодос и RT 05.04 нормально грузятся?

nzeemin
31.03.2011, 13:45
nzeemin, действительно, может добавить галочку "инвертированный образ IDE" ?

Если бы в эмуляторе возникла поддержка реальных винчестеров -- тогда да, имеет смысл. А так, операция снятия образа однократная, смысла нет.

olegh
02.04.2011, 03:21
Для ЖЕКА:
Пока без понятия, вот на выходных попробую все это дело в эмуляторе поднять.
Могу сказать только, что мой WD-драйвер, с которым я работал, и RT-11 имели
бит поддержки TIMIO (4). Возможно, что имеет место какое-то несовпадение
параметров SYSGEN.
Firmware же от ЭР - довольно глючное, там баги есть, и авторы не хотели его
чинить. Что и подвигло меня в своё время свою альтернативу делать.

Для nzeemin:
Однократность - понятие условное. Раз народ контроллер в железе делает, то есть реальные винты и флешки, и у людей появится необходимость перегонять данные между эмулятором и нативной машиной.
Да, сейчас главное - под эмулятор втянуть то, что есть. Но другие задачи будут тоже. До тех пор, пока живы УК-хи с HDD-контроллерами.

nzeemin
13.05.2011, 17:28
Для nzeemin:
Однократность - понятие условное. Раз народ контроллер в железе делает, то есть реальные винты и флешки, и у людей появится необходимость перегонять данные между эмулятором и нативной машиной.

Очень не хотелось в интерфейсе ещё один флажок вводить, для инверсного образа винта. К счастью, вспомнил про то что говорил Алексей -- инвертированность можно автодетектировать по первому сектору. Реализовал это дело, будет со следующим релизом.

nzeemin
13.05.2011, 22:21
Такой ещё вопрос -- сколько теоретически может быть партиций на одном винчестере? Я так понимаю, это же от прошивки и драйвера зависит?

---------- Post added at 21:54 ---------- Previous post was at 21:04 ----------



00000000 22 0A EE D8 ED D8 ED D8 ED D8 ED D8 ED D8 00 00
00000010 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00


Выделенное слово 0x8000 -- это что? Правильно понимаю что это специфика драйвера от ЭР и у них только 8 партиций можно сделать?

С другой стороны, у Олега по адресам 0122 и 0124 лежат "Wait-time in ticks" и "number of hidden partition" -- судя по коду wdx.c.

Получается, нужно как-то различать первый сектор, сделанный под разные драйвера.

---------- Post added at 22:21 ---------- Previous post was at 21:54 ----------

Перечитал ещё раз тему, нашёл:

Кстати, имейте в виду, что моя разработка поддерживает до 24х разделов - WD/WE/WF.
Это согласуется с wdx.c, там тоже #define MAXPART (8*3).
Но вопрос о том как различать к какому драйверу относится первый сектор винчестера -- пока остаётся открытым.

olegh
17.05.2011, 01:07
> Но вопрос о том как различать к какому драйверу относится
> первый сектор винчестера -- пока остаётся открытым.

Да, по мастер-блоку не догадаешься однозначно. Извините, не подумал, когда проектировал. У меня в WD: есть обратная совместимость с ID:, но не более того.

И раз зашёл вопрос ID/WD, скажу тут, как на УК-хе копировать с винта на винт (контроллеры одинаковые):

1. WD-контроллер (основной) суём в cassette-1
2. контроллер с пустым винтом - в cassette-2
3. Boot WD0; Run WDX, разметили диск во втором контроллере.
4. Запускаем программу ID2.SAV - это хаченый резидент от ЭР.
Цепляется к кассете-2.
Должен быть на моих дисках-архивах, у меня была на SY:
5. install ID; Load ID
6. Init ID0:, etc
7. cop/sys wd0: id0:
8. cop/boot:id0:wd.sys id0:
Всё, загрузочный раздел скопирован на ID0. При загрузке - он будет использовать firmware WD:
ID в этом случае - просто вспомагательный драйвер...

nzeemin
17.05.2011, 10:07
Добавил в RT11DSK команду 'hl' -- показ списка партиций, например:
rt11dsk.exe hl WDC170.bin

Понимает как обычные так и инверсные образы.

dk_spb
17.05.2011, 10:42
nzeemin, Простите моё нахальство, а вот бы еще ключик постаничной разбивки.......... Типа /p

nzeemin
17.05.2011, 10:53
nzeemin, Простите моё нахальство, а вот бы еще ключик постаничной разбивки.......... Типа /p

Дык эта...
rt11dsk <params> | more

dk_spb
17.05.2011, 11:02
nzeemin, YEs, of course.
А вот теперь представьте что мне надо найти нужный файлик (rd.sys) в 5-6 образах.
Сказать rt11dsk l <name> rd.sys нельзя (что тоже было бы неплохо, особенно с wildcards)
Приходится перебирать образы просмотром.
Если бы было rt11dsk /p l <name> то стирать имя и менять его просто.
А так приходится каждый раз стирать не только имя, но и | more и перенабирать....

esl
17.05.2011, 11:27
rt11dsk <params> l grep rd.sys ?

dk_spb
17.05.2011, 12:22
esl, Да можно еще проще
rt11dsk <name> >gg и потом gg в текстовый редактор. И так вплоть до написания собственного rt11dsk ;-)
Но /p и в других ведь случаях может быть полезен при работе с несколькими .dsk

nzeemin
17.05.2011, 12:41
dk_spb, в плане сервиса конечно можно много ещё сделать. Но хочу сначала функциональность поднять и переносимость, удобства потом.
За последнее время в rt11dsk я устранил понятие дорожки диска (теперь есть только блоки), убрал почти все Win32-функции (когда уберу все можно будет собрать и под линуксом), сейчас занимаюсь поддержкой жёстких дисков.

Для поиска по набору дисков предлагаю использовать средства командной строки:
FOR %I in (*.dsk) DO rt11dsk l %I >> list.txt

Arseny
17.05.2011, 17:08
nzeemin, а при выгрузке по прежнему имя содержит пробелы в конце? Не знаю как другим - мне очень неудобно. Приходится править исходники и перекомпилировать.

nzeemin
17.05.2011, 17:50
nzeemin, а при выгрузке по прежнему имя содержит пробелы в конце? Не знаю как другим - мне очень неудобно. Приходится править исходники и перекомпилировать.

Сорри, видимо упустил этот момент, исправлю.

dk_spb
17.05.2011, 17:57
А никто не подскажет как rdrmc пользоваться?
Взял в начале темы, а он даже под эмулятором в стоп вываливается....

Arseny
17.05.2011, 18:18
А никто не подскажет как rdrmc пользоваться?
Взял в начале темы, а он даже под эмулятором в стоп вываливается....
Не, работает.

dk_spb
17.05.2011, 20:01
Arseny, Спасибо, у меня тоже получилось, а вот с sys1002.dsk не заработало.

nzeemin
19.05.2011, 15:38
Выяснил алгоритм подсчёта CRC для HDD home block, вот он:


Sb.Tst:
jsr r2,crcclc
.word 377
add (r3),r5
bis r4,r5
Return
Sb.clc:
jsr r2,crcclc
.word 376
; inc r5
; neg r5
com r5
neg r4
mov r4,(r3)+
mov r5,(r3)
Return
crcclc:
mov (r2)+,r0
mov #SbBuf,r1
mov r1,r3
clr r4
clr r5
2$: add (r3)+,r4
adc r5
sob r0,2$
Rts r2
Или, в переложении на C/С++:


static DWORD GetHomeBlockChecksum(void* buffer)
{
WORD* p = (WORD*) buffer;
DWORD crc = 0;
for (int i = 0; i < 255; i++)
{
crc += (DWORD) *p;
p++;
}
crc += ((DWORD)*p) << 16;

return crc;
}

Vamos
19.05.2011, 16:03
Кроме того, нужно поправить контрольную сумму, а то не заведётся:
00000001F0: 00 00 00 00 00 00 00 00 00 00 00 00 4A 60 FA FF

А у меня она такая и работает
00000001F0: 00 00 00 00 00 00 00 00 00 00 00 00 4F 60 FA FF

nzeemin
19.05.2011, 17:37
А у меня она такая и работает
00000001F0: 00 00 00 00 00 00 00 00 00 00 00 00 4F 60 FA FF

Странно, а в эмуляторе не хотела пока чексумму не поправил.

А, сорри, это я туплю -- не то вбил что Алексей написал. Всё верно, контрольная сумма та же.

---------- Post added at 17:37 ---------- Previous post was at 16:06 ----------

Сделал команду hx -- сохранение отдельной партиции из образа винта в .dsk-файл:
rt11dsk hx <HddImage> <Partn> <FileName> - extract partition to file

Дальше собираюсь делать hu -- это обратная операция, обновление партиции в образе из указанного .dsk-файла.

Vamos
19.05.2011, 17:46
Сделал команду hx -- сохранение отдельной партиции из образа винта в .dsk-файл:
rt11dsk hx <HddImage> <Partn> <FileName> - extract partition to file

Оболочку бы для rt11dsk, может у спектрумистов подсмотреть

nzeemin
19.05.2011, 21:01
В аттаче новая версия RT11DSK, добавлены новые команды для работы с образом жёсткого диска -- hx и hu. Поддерживаются как прямые так и инверсные образы.

Disk image commands:
rt11dsk l <ImageFile> - list image contents
rt11dsk e <ImageFile> <FileName> - extract file
rt11dsk a <ImageFile> <FileName> - add file
Hard disk image commands:
rt11dsk hl <HddImage> - list HDD image partitions
rt11dsk hx <HddImage> <Partn> <FileName> - extract partition to file
rt11dsk hu <HddImage> <Partn> <FileName> - update partition from the file
Parameters:
<ImageFile> is UKNC disk image in .dsk or .rtd format
<HddImage> is UKNC hard disk image file name
<Partn> is hard disk image partition number, 0..23
<FileName> is a file name to read from or save to

Также можно взять здесь: http://ukncbtl.googlecode.com/files/rt11dsk.zip

nzeemin
19.05.2011, 21:03
Оболочку бы для rt11dsk, может у спектрумистов подсмотреть

А ещё меня просили сделать утилиту переносимой, чтобы под линуксом и маком работала. Мне кажется, это важнее чем интерфейс.

nzeemin
21.05.2011, 18:21
Добавил также команду 'hi' -- инвертирование образа винчестера.
Дальше будет логично сделать работу с отдельными партициями винчестера как с обычными дисками -- получение каталога, извлечение/добавление файлов.

Arseny
21.05.2011, 19:16
Хорошо бы еще принять какое-то расширение для образов винчестеров УКНЦ. для автоматизации работы (в том же FAR и TC). наверное ...