IPB

Здравствуйте, гость ( Вход | Регистрация )

> Контроллер псевдодиска на MicroSD на шину МПИ, ДВК-1; ДВК-2; ДВК-3; ДВК-4; Электроника-60; Электроника 60М; Славутич ПК-1; УКНЦ
SuperMax
сообщение 14.5.2019, 13:01
Сообщение #1


Администратор
*****

Группа: Root Admin
Сообщений: 6 291
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



Совместными усилиями разработан контроллер псевдодиска на MicroSD

Данный контроллер предназначен для современной и надежной замены КЖД (DW) в компьютерах серии ДВК-1; ДВК-2; ДВК-3; ДВК-4; Электроника-60; Электроника 60М; Славутич ПК-1 и им аналогичные PDP-11 совместимые.

Фото контроллера на МПИ:
v1.00
Прикрепленное изображение
v1.01
Прикрепленное изображение

v2.00
Прикрепленное изображение
Прикрепленное изображение
Фото контроллера на QBUS:
v1.00
Прикрепленное изображениеПрикрепленное изображение


Также разработана версия контроллера для УКНЦ
v1.00
Прикрепленное изображение
Прикрепленное изображение
v1.01
Прикрепленное изображение
Прикрепленное изображение

v2
Прикрепленное изображение
Прикрепленное изображение
Контроллер псевдодиска на MicroSD на шину МПИ: особенности версии для УКНЦ




Технические характеристики:
  • Эмуляция 8ми дисков объемом 65534 блока для корректной работы RT-11; таким образом общая используемая емкость накопителя 262136К;
  • Контроллер поддерживает MicroSD- и MicroSDHC; Карточки SDXC нашим устройством не поддерживаются;
  • Поддерживается возможность установки 2х контроллеров с разными адресами;
Инструкция по эксплуатации
Предлагаемый контроллер эмулирует до восьми дисковых устройств AZ на одной микроSD-карточке. Каждый эмулируемый диск (псевдодиск) представлен на карточке файлом с точки зрения PC, поэтому не возникает никаких вопросов в размещении псевдодисков на носителе большого объема - просто помещаем карточку в кардридер, подключаем к PC, копируем на карточку файлы нужного объема (и с нужным содержимым), переставляем ее в контроллер, и всё! Более того, поработав с карточкой на ДВК, можно извлечь ее из контроллера, снова поместить в кардридер и скопировать наработанные файл-образы дисков на PC, где с ними можно работать любыми средствами - например, подключить к эмулятору, заархивировать и сложить куда-нибудь на хранение, отправить в конференцию, и т.п. Также не представляет особого труда скопировать какой-то материал, найденный в сети, на карточку, переставить ее в контроллер и использовать этот материал на ДВК/УКНЦ.

Контроллер занимает на МПИ адреса 177220-177226 (словные, байтовый доступ запрещен). 177220 - регистр команд и состояния (РКС, CSR), 177222 - регистр данных, 177224 и 177226 - регистры (однословные ПЗУ) начальных загрузчиков.

Контроллер поддерживает MicroSD- и MicroSDHC-карточки. Мы испытывали SDHC-карты разных производителей и объемов, разница наблюдалась только в скорости записи на псевдодиск. С трудом удалось найти древнюю микро-SD (не HC) на 512М, да, пишет медленно, но работает и скорость чтения почти такая же, как и у SDHC. Карточки SDXC нашим устройством не поддерживаются.

Перепишите на MicroSD-карточку файл-образы дисков AZ0-AZ7. Это файлы AZ000.DSK - AZ007.DSK. Вставьте карточку в гнездо на контроллере, до щелчка.

Вставьте контроллер в корзину ДВК/Э-60 (или в слот CA на УКНЦ).При установке в корзину ДВК/Э-60/PDP-11 необходимо соблюдать путь прерываний - те "змейку", так как контроллер использует прерывания.


Включите компьютер. Если он автозапускается по какой-либо причине (это возможно при наличии альтернативных прошивок для ВМ2/3 или загрузочного ПЗУ на какой-то из дополнительных плат), остановите его, т.е переведите его в связь с пультовой программой (нажать дважды кнопку "ОСТ" на ДВК-3/Квант-4, опустить и поднять снова флажок "Программа/Пульт" на ДВК-2/3М2/Э-60.

Скорее всего, на экран будет выдано 6 восьмеричных цифр и, в следующей строке, значок "@", курсор будет мигать рядом с ним. Это сигнал о том, что процессор находится в состоянии "Останов" (Halt-Mode) и ждет от вас пультовой команды.

Подадим ее. Команда такая:
Код
177226G

Это указание процессору начать исполнение программы с адреса 177226. По этому адресу располагается однословное ПЗУ программы запуска ОС с диска AZ0. Должна запуститься RT-11. После этого можно перезагрузиться с любого другого диска командой BO AZx:
также можно использовать команду полного адреса:
Код
177777226G


Запуск на УКНЦ: в меню выбираем "отладка"
Код
177226<ИСП>



Есть альтернативная команда - запуск с адреса 177224, т.е 177224G. Пока ее действие точно такое же, как и основной команды запуска, но далее планируется кое-какие изменения, в частности, одна из них будет просто запускать ОС с AZ0, а вторая будет спрашивать, с какого диска загрузиться.

Размер каждого из дисков (файлов с точки зрения PC) должен быть строго 32767К (65534 блока), таким образом общая емкость накопителя будет 262136К. В ближайшей новой версии прошивки будет добавлена смена дисков (файл-образов) прямо из RT-11, специальной программой, тогда на микро-SD можно будет иметь столько файл-образов, сколько туда влезет, однако, одновременно будут доступны только 8 из них, т.е. 262136К, это ограничение RT-11.

Возможна установка двух контроллеров, для этого предусмотрен альтернативный набор адресов контроллера, переключение производится DIP-переключателем №1 на плате контроллера. Основной набор адресов (177220-177226) действует при выключенном состоянииэтого переключателя, альтернативный (177200-177206) - при включенном (ON). Остальные переключатели зарезервированы для дальнейшего расширения функционала.


Перспективы развития продукта
Данный контроллер снабжен достаточно мощным микроконтроллером STM32F407VET6, что позволяет реализовывать расширение возможностей контроллера без изменения аппаратной платформы.

Соответственно обозначу примерный набор функционала для развития:

1. реализовать сетевое подключение при помощи внешней сетевой карты на базе ENC28J60 [реализовано]
1.1 подключение позволит получить удаленный доступ к данным на SD-карте - те это будет FTP-сервер WEBDAV-сервер [реализовано]
посредством которого можно будет изменять информацию на диске удаленно [реализовано]
1.2 FTP-сервер WEBDAV-сервер будет предоставлять доступ на уровне самой FS RT11 [реализовано]
1.3 Обновление прошивок через Интернет
1.4 Управление настройками сети через ini-файл

2. Развитие функционала монтирования образов через ini-файл
2.1 Монтирование образов через команду SET AZ
2.2 Монтирование образов на SMB/NFS-шаре
2.3 Увеличение объема поддерживаемых дисков для работы RSX-11
2.4 Обновление через образ на SD карте
2.5 Внешний загрузчик, те пользовательский код который закачивается в машину и запускается (удобно для разработки своих расширений на базе AZ - к примеру меню загрузки)

3. Часы

4. Разработка драйвера AZX.SYS для монитора XM [реализовано]

5. Разработка драйвера для RSX

Актуальная firmware(прошивка) для контроллера

ТУТ



Устаревшее
2019.05.14
Прикрепленный файл  AZ707_2.RAR ( 18.11 килобайт ) Кол-во скачиваний: 1876

2019.05.19
Прикрепленный файл  AZ707_2_2019_05_19.RAR ( 18.35 килобайт ) Кол-во скачиваний: 1913

Комплект дисков
RT11 + ADOS + коллекция софта
Прикрепленный файл  HD2019_05_19.RAR ( 14.93 мегабайт ) Кол-во скачиваний: 1961

Версия для УКНЦ - добавлены драйвера AZ
и ADOSSJ для УКНЦ на AZ6:
Прикрепленный файл  HD_2019_08_09.RAR ( 16.63 мегабайт ) Кол-во скачиваний: 2060



Ссылки:

Приобрести контроллер для ДВК можно тут
Приобрести контроллер для УКНЦ можно тут

Процедура обновления firmware (прошивки) контроллера

Контроллер псевдодиска на MicroSD ДВК: подключение сетевой карты

сборка и наладка конструктора контроллера для ДВК печатная плата версии v1.01
Контроллер псевдодиска на MicroSD для УКНЦ: сборка и наладка конструктора контроллера

Контроллер псевдодиска на MicroSD на шину МПИ: особенности версии для УКНЦ

Страницы разработки на ZX-PK
УКНЦ + AZ - вариант контроллера псевдодисков на микро-SD для УКНЦ.
Контроллер псевдодиска на SD-карте для ДВК



--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
AFZ
сообщение 29.6.2019, 21:10
Сообщение #2


Пользователь
**

Группа: Продвинутые
Сообщений: 21
Регистрация: 2.6.2019
Пользователь №: 35 247



Обнаружилась проблема, о которой мы просто не подумали. Для платы КЖД с подключенным MFM-винчестером существует много разных драйверов, и, несмотря на то, что все они называются DW.SYS, не все они совместимы между собой. То есть винчестер, инициализированный и записанный с одним драйвером, ведет себя совершенно непредсказуемо при попытке работать с ним через другой драйвер.

Для тех, кто не в теме, рассказываю подробно.

Во-первых, есть два варианта интерпретации дорожки. У КЖД, в отличие от PC-шных контроллеров сектора нумеруются с нуля (у PC с единицы). Всего их 16 шт, номера их, соответственно, 0-15. DEC заняли сектор 0-0-0 (цилиндр 0, дорожка 0, сектор 0) какой-то служебной информацией, и остальное просто сдвинули на один блок вперед. Нулевой блок, таким образом, получил адрес 0-0-1, первый - 0-0-2, ... блок 14 окажется на секторе 0-0-15, а блок 15 - на секторе 0-1-0, блок 16 - 0-1-1 и т.д.

Это в интерпретации DEC. Наши позаимствовали у DEC расположение нулевого блока - как и у DEC, 0-0-1, а дальше, не то по ошибке, не то от скверности характера, положили блок 15 не на 0-1-0, как по алгоритму DEC, а на сектор 0-0-0, туда, где у DEC была служебная информация. Блок 16, как и у DEC, ляжет на 0-1-1, и т.д, по 30-й, а вот 31-й ляжет не на 0-2-0, как в алгоритме DEC, а на 0-1-0.

На первый взгляд сложно, но, в общем-то все просто. По алгоритму DEC надо сначала прибавить единичку к номеру блока и только потом разбивать его на C-H-R (Cylinder-Head-Record aka srctor), а ДВК-шный вариант - сначала разбиваем номер блока на C-H-R и только потом прибавляем единичку к номеру сектора. Ну, и отбрасываем вышедший за пределы четырех разрядов бит, то есть, если исходный номер был 15 (0b1111), то получается 16 (0b10000), старший бит отбросили, получилось 0b0000, т.е. ноль. Кто не знает, такое действие называется сложением по модулю 16. В общем, по алгоритму ДВК, блок, в двоичном представлении номера которого последние 4 бита - единицы, "заворачивается" на нулевой сектор той же дорожки, где лежит предыдущий блок, а по алгоритму DEC этот блок ложится в нулевой сектор следующей дорожки.

Так вот, есть драйверы, которые интерпретируют дорожку по алгоритму DEC, но есть и те, которые используют алгоритм ДВК. В первую очередь это родные квантовские драйверы, с которыми этот ДВК-шник пришел с завода. И какой "винегрет" получится, если у вас на винчестере данные расположены по алгоритму DEC, а драйвер c AZ будет интерпретировать это по алгоритму ДВК ?

Во-вторых, MFM-винчестеры тоже разные. У них разное количество дисков (поверхностей) и разное количество цилиндров. И, если количество цилиндров особых вопросов не вызывает - максимум, будет недоступна часть диска), то количество поверхностей - вопрос очень острый, при несоответствии возможны всякие чудеса.

Кроме того, RT-11 поддерживает, максимум, 32-М диски, а КЖД может адресовать до 64М. Поэтому для того, чтобы использовать винчестеры, объемом более 32М, для RT-11 их разбивают на два - DW0 и DW1. И, опять же, есть два варианта разделения - по головкам (поверхностям), и по цилиндрам. То есть, в первом варианте, допустим, для диска с шестью поверхностями (тот же ST251), поверхности 0-2 отдают DW0, поверхности 3-5 - DW1; во втором из 820 цилиндров того же 251-го цилиндры 0-409 отдают DW0, 410-819 - DW1. Это если делить ровно пополам, а могут ведь и не пополам поделить? Кроме того есть драйверы, позволяющие разбить и без того невеликий объем (64М макс.) на большее число DWx, до восьми, и находятся отдельные личности, пользующиеся этой возможностью.

Таким образом, у вас может оказаться любой из этих вариантов И даже если у вас стоит обычный ST225 или даже болгарский 10М диск, не помню как его зовут, не факт, что предыдущий владелец не запихал туда какой-то особенный драйвер DW и не настроил его каким-то специфическим образом. По этому, если у вас есть устройство DW и ваш ДВК с него загружается, то наилучшим решением будет загрузиться с этого DW и скопировать ваш рабочий драйвер DW.SYS на какой-то совместимый носитель, а потом загрузиться с AZ и скопировать на него драйвер с этого носителя.

Безусловно совместимым является VM. Это псевдодиск, располагаемый в расширенной памяти процессора 1801ВМ3, которую не используют RT-11SJ и RT-11FB, присутствующие на наших дисках AZ - для них эта память, в общем-то, недоступна. Так вот, чтобы ее хоть как-то использовать, в состав RT-11 включен драйвер VM. Он отображает эту память, как диск VM:, на который можно что-то записать и потом прочитать стандартными средствами системы, причем этот "диск" существенно быстрее всех реальных дисков ДВК, да и оригинальной PDP-11. Конечно, он временный, выключите машинку, и его содержимое пропадет. Тем не менее, иногда и такой "диск" полезен. Например, в нашем случае. Единственной причиной неудачи на этом пути может быть отсутствие драйвера VM.SYS на вашем винчестере. Ну, или (крайне маловероятный случай) - когда ЦП у вас не ВМ3, а ВМ1/2 или вообще Э-60 ЦП М2, но тогда как, спрашивается, вы загружались с DW ? У них же нет встроенного загрузчика с DW... smile.gif

Следующим (но не таким удобным) совместимым устройством являются дискеты. А именно - MY или MX. С MY все почти просто - у них может только оказаться разная настройка времени, отводимого на шаг головки. И, если ваши дисководы медленные, а драйвер настроен на быстрые, то дисковод будет пропускать шаги. Это можно будет подстроить на ходу. Еще может оказаться разная настройка количества дорожек, но для чтения это неактуально. У MX есть дополнительная сложность - при его наличии в корзинке не остаётся места для AZ, придется их вставлять по очереди.

Ну, и, пожалуй, всё. Если вдруг возникнет какая-то ситуация, что этого материала не хватит для решения проблем, пишите на ZX-PK, будем думать вместе.

Да, еще важный момент. Если вы сами набирали материалы на ваш винчестер и у вас есть копия всех этих материалов на PC, то никто не мешает вам самостоятельно скопировать ваш драйвер DW.SYS на псевдодиски AZ. Я ведь не зря пропагандирую свой основной тезис: диск ДВК на PC-совместимом носителе для PC должен быть файлом типа DSK, доступным для любых PC-средств. Таких, как эмуляторы или плагин для Тотального Командира выделки Патрона. Так вот, вставляем карточку микро-SD в PC-шный кардридер и тем самым Тотальным командиром спокойно копируем что надо в эти файлы .DSK на карточке.

Теперь о переносе драйвера DW.SYS через VM. Опять же, для тех, кто не в теме. VM - это псевдодиск, использующий расширенную память процессора 1801ВМ3. Если у вас этот процессор, т.е. при включении ДВК появляется надпись

**** Доступное ОЗУ 256 К *

(или 1 М, или сколько там, если плата ЦП нестандартная) и работает загрузка с винчестера пультовой командой B (oot), то это устройство вам доступно. Если, конечно, с винчестера не вычистили или не забыли туда положить драйвер VM.SYS.

Загружаем ДВК с винчестера и проверяем доступность устройства VM: командой

Код
LO VM


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

Следующая команда

Код
INI VM:


Система спросит, уверены ли вы? Соглашайтесь, там же ничего нет. Далее копируем ваш актуальный драйвер DW.SYS на этот псевдодиск VM, командой

Код
COP SY:DW.SYS VM:


Ключ /SYS здесь необязателен, поскольку указано полное имя файла, подлежащего копированию. Система расскажет, что она скопировала файл и на этом с винчестером все, пора перезагружаться с AZ. Для этого надо остановить машинку. Выключать ее нельзя, VM - это же, фактически, обычная память, она при выключении сбросится. Давить кнопку "УСТ" тоже нежелательно - черт его знает, как там с регенерацией ОЗУ на время бездействия сигналов установки (К ПИТН В и К ПОСТН В) - это не INIT, во время которого регенерация гарантировано продолжается. Лучше всего дважды нажать кнопку "ОСТ", чтобы светодиод "ОСТ" загорелся и погас снова. Машинка, естественно, остановится, после чего набираем команду загрузки с AZ, т.е. 177226G. Машинка должна загрузиться, и нам надо скопировать драйвер DW.SYS с VM на AZ. Если на AZ уже есть какой-то (неподходящий) драйвер DW.SYS, то его надо подготовить к удалению. Во-первых, его надо исключить из таблиц системы, во-вторых, он может оказаться защищенным от удаления. Делается это двумя командами

Код
REM DW
UNPRO SY:DW.SYS


Если драйвер не подключился или его там вообще нет, система об этом выругается, но ничего страшного. И, наконец-то копируем ваш актуальный драйвер DW.SYS с псевдоустройства VM на AZ, командой

Код
COP VM:DW.SYS SY:


Не забудьте только, какой из AZ у вас в этот момент системный. Посмотреть это можно командой SH без аргументов (SHow).

И все. Тот AZ, с которого вы загрузились, готов к работе с вашим DW. Его, правда, еще нет в таблицах системы, надо перезагрузиться. Ну, или подать команду INS DW. После этого можно сразу расписать его на остальные AZ, а можно сначала попробовать... Попробовав, распишите актуальный DW.SYS на остальные диски AZ. Если вдруг система ругнётся на защищенный файл DW.SYS на каком-нибудь AZ, сделайте этому файлу UNPRO.

Если вдруг на вашем винчестере не окажется драйвера VM.SYS, можно обойтись дискетами. Это, правда, сильно неудобно - где сейчас брать эти дискеты, а дискета нужна либо пустая, либо с абсолютно ненужным содержимым, поскольку далеко не факт, что при попытке записи дискета не испортится. И, если на ней было что-то, то это "что-то" отойдет в даль светлую...

А так, действия те же, что и с VM - заменяйте в вышеуказанных командах буквы VM на MY или MX, и вперед. Единственное отличие, что дискеты, в отличие от оперативки, не теряют информацию при выключении компьютера. А в случае MX его обязательно придется выключить - я уже говорил, что в машинке с MX нет свободного места для контроллера AZ, да вы и сами это видите... smile.gif

Ну, еще, может быть, дискету не придется инитить. Или наоборот, перед тем, как ее инитить, ее придется отформатировать..

Не забудьте: винчестер, в отличие от AZ, готов к работе далеко не сразу после включения, если что - подождите его готовости перед тем, как загружаться с AZ. Или еще проще: загрузились с AZ, сунулись к DW, получили сообщение "Invalid device DW:", подаете команду INS DW и вперед! (Если он к этому времени успел раскрутиться...)

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

Сообщение отредактировал AFZ - 30.6.2019, 14:36
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
SuperMax   Контроллер псевдодиска на MicroSD на шину МПИ   14.5.2019, 13:01
AFZ   Вышел новый релиз фирмвари нашего контроллера. Буд...   8.6.2019, 18:06
AFZ   Подправил релиз 1.0. Новая версия 1.0.1. До этой в...   16.6.2019, 15:23
AFZ   Обнаружилась проблема, о которой мы просто не поду...   29.6.2019, 21:10
AFZ   Подготовлен багфикс к 1.0.1 - улучшение работы на ...   15.7.2019, 2:22
AFZ   Пофиксил мелкие баги, добавил команду отдельного у...   31.7.2019, 18:17
AFZ   Подправил кое-какие мелочи, вроде бы, всё отлажено...   10.8.2019, 22:31
AFZ   Выкладываю файл-образ с RT-11 5.01 - SJ (DS) и XM,...   20.8.2019, 23:53
SuperMax   Спасибо Hobot за подготовку сборника игр для УКНЦ ...   18.1.2020, 0:43
AFZ   Команды контролера AZ 1. Регистры контроллера. Ко...   3.4.2020, 14:58
SuperMax   На данный момент идет развитие сетевой поддержки, ...   27.4.2020, 15:35
AFZ   Выкладываю драйвер AZ для RT-11 (исходник). Я его ...   2.5.2020, 2:32
SuperMax   Подготовили релиз с [b]поддержкой сети [b][i][url...   24.5.2020, 12:08
SuperMax   Рекомендуемая процедура обновления при наличии сво...   24.5.2020, 16:01
SuperMax   Новая линейка контроллеров AZ V2 фото плат в сбо...   26.1.2021, 20:20
SuperMax   Прошивка ПЛИС EPM240 для AZ V2 от 26.01.2021 Ин...   26.1.2021, 20:41
SuperMax   Подготовили новый релиз прошивки от 27.01.2021 [...   26.1.2021, 23:07
SuperMax   Прошивка ПЛИС EPM240 для AZ V2 от 28.02.2021 Исп...   1.3.2021, 0:33
SuperMax   Подготовили новый релиз прошивки от 14.04.2021 [...   16.4.2021, 10:25
SuperMax   Подготовили новый релиз прошивки от 21.04.2021 [...   21.4.2021, 12:35
SuperMax   Обновление драйверов AZ. V05.00 [*]командный файл...   26.4.2021, 7:36
SuperMax   Выложил образ диска AZ с дистрибутивом RSX-11M-PLU...   4.5.2021, 11:47
SuperMax   Новые команды контроллеров AZ* Старые команды [b]т...   10.11.2022, 13:33
SuperMax   Прошивка V13 от 2022-11-26 (единая нумерация с AZ...   26.11.2022, 15:49
SuperMax   Новые команды контроллеров AZ* Старые команды [b]т...   20.3.2023, 13:59
rtype   привет Чистый образ с кучей драйверов (DU, DD, и ...   13.3.2024, 2:41


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 16.6.2024, 13:26