В итоге "зоопарк" устройств.. для каждого пишем свой драйвер.. и одно не чем не лучше другого.. ну хотя бы по буквам что значит.. X,Y,Z,W
В итоге "зоопарк" устройств.. для каждого пишем свой драйвер.. и одно не чем не лучше другого.. ну хотя бы по буквам что значит.. X,Y,Z,W
Добро пожаловать в реальный мир
Вопрос к авторам устройств. В некоторых случаях (DZ DW) советский клон назван по названию оригинала.
Как автор, пример выбора имени ZF.
Отталкивался от CF. Дальше составил список уже использованных имён. И что бы не пересекаться по имени сейчас и при обновлении списка - было выбрано имя ZF
- - - Добавлено - - -
Кстати, в RT-11, возможно, ещё проблема. Точно не скажу, надо доку листать. Но на память - вроде как обычный драйвер обслуживает только один контроллер. Соответственно, два контроллера - нужно ДВА файла драйвера с ДВУМЯ разными именами для (одинакового вплоть до железа) устройства. Хотя, возможно, в поздних версиях и можно написать многоконтроллерный драйвер.
В RSX с этим проще, но и там можно упереться в теоретический предел количества устройств (ОДНОГО ИМЕНИ) в системе - 256. Больше 256 - тоже нужны разные имена. При этом есть понятие логический номер (с точки зрения системы) и физический номер (с точки зрения контроллера). А ещё вроде как аппаратно не загрузиться с устройства с физическим номером большем 127.
То есть нет какой-то иерархии. X,Y.. дисковые.итд... а если придумал двадцатьпятое устройство..
- - - Добавлено - - -
Просто меня смущают сообщения типа.. исправил драйвер DX, а чем он отличается от DY?
- - - Добавлено - - -
Если сделали устройство AZ.. значит больше устройств не будет? Или последнее будет ZZ?
676 разных имён. Некоторые заняты.
Документация.
Вопрос к авторам
Могу сказать только за ZF - будут использованы ещё ZA, ZB, ZC, ZD, ZE и ZF - потому что (уже) есть плата контроллера, поддерживающая 4 CF, ещё один контроллер в МС1201.2018 ну и ещё одно имя на всякий случай
Анархия в итоге...
Даже нет возможности узнать... что это за устройство.. (быстрое-медленное)
Ну как бэ DEC не имеем , а насчет УКНЦ все перечитал... AZ, XY.. и прочего не нашел
Единтсвенный вариантКод:.LOOKUP #AREA,#3,#SPLASH ;ОТКРЫТЬ ФАЙЛ
BCC 111$
.PRINT #NOFILE ;ФАЙЛА НЕТ
.EXIT
111$:
- - - Добавлено - - -
HUNTA. вот ты свои машины запускаешь... и что дальше с ними делаешь??
Или запустить это сверх-идея?
Ну как бэ на УК-НЦ работает RT-11 (типа - разработки DEC) - и для неё можно найти документацию. А благодаря драйверам блочного устройства сам интерфейс взаимодействия и с самим устройством и с файловой системой на нём будет одинаков - оригинальный ли там RK11 или MZ местного разлива.
Для AZ здесь бродят авторы - все вопросы к ним.
Системный софт и программы для своего развлечения пишу
А для общего развлечения??? Я вот даже на игруху замахнулся... вот только от таких помощников... только каломет смплошной..
А ничё, что мне ипотеку платит, семью содержать? И свободного времени кот наплакал. И у меня как бы ещё и свои интересы есть.
Как то игрописательство никогда меня особо не интересовало. Тем более - для более чем устаревших в физическом плане устройств. Когда не знаешь - когда оно при очередном включении не включится. Вот будет у меня отлаженная плата МС1201.2018 и к ней хотя бы КЦГД.20?? - тогда, может быть, можно будет и на игрушки посмотреть.
- - - Добавлено - - -
А Вы за помощь согласны платить?
У Вас все так плохо? Однако имеете возможность покупать.. задорого рухлядь...... Я жду помощи бесплатно, поскольку сам за рабту денег не прошу.
- - - Добавлено - - -
Если у вас есть возможность подсказать человеку.... не нужно сразу выпячивать свое ЭГО... и далее говорить РТФМ... это он и без вас может догадаться.
У меня с деньгами более менее (можно было догадаться, раз имею возможность покупать), а вот со временем свободным. Только на себя любимого и хватает.
Нюню
Аха, заметно
Последую этой мысли и перестану тратить своё время на ненужные мне дела. Типа помощи людям, которые привыкли только требовать
КЛИНИКА
итого - запайка хвоста с IDC40 на плату УКНЦ под широкий разъем прошла успешно
готовлю фотоинструкицию
- - - Добавлено - - -
Я начал с изучения альтернатив - те можно ли как-то меньшей кровью подключить к СА что-то
Примерка:
ISA vs CA
https://pic.maxiol.com/thumbs/156562...5619.caisa.jpg
видно смещение - те ISA разъем может дать кз
пробую примерить альтернативу - те двойную линейку 2х30 (как подвид разъема IDC)
виден сдвиг
https://pic.maxiol.com/thumbs/156562...a2x60shift.jpg
в принципе можно припаять
https://pic.maxiol.com/thumbs/156562...619.ca2x60.jpg
теперь примерим - а есть ли столько места ?
https://pic.maxiol.com/thumbs/156562...5619.samp2.jpg
походу места нет - те ответная часть упрется в пластик и придется ломать корпус
в принципе вариант рабочий если спилить 5мм на разъеме платы УКНЦ, но я сомневаюсь, что все пойдут на такое
соответственно остается чистая запайка
берем шлейф IDE
отрезаем разъем с шлейфом длиной 80мм
зачищаем, лудим и маркируем для исключения ошибок
https://pic.maxiol.com/thumbs/156562...dcmaxiol01.jpg
https://pic.maxiol.com/thumbs/156562...dcmaxiol02.jpg
к сожалению эта заготовка оказалась бракованной (те прозвонка шлейфа показала что нет контакта по одному пину)
соответственно был взят еще один кусок и также подготовлен
запаиваем
вид сверху
https://pic.maxiol.com/thumbs/156562...dcmaxiol03.jpg
вид снизу
https://pic.maxiol.com/thumbs/156562...dcmaxiol04.jpg
соответствие контактов
https://pic.maxiol.com/thumbs/156562...9.uknc6040.png
все неиспользуемые - обрезаем как на фото
в сборе
https://pic.maxiol.com/thumbs/156562...dcmaxiol05.jpg
https://pic.maxiol.com/thumbs/156562...dcmaxiol06.jpg
итог получается аккуратный и контроллер можно снимать-устанавливать без разбора машины
Современные шлейфы (сами провода) из магазина помягче оригинальных, может с ними удобнее будет.
Было бы здорово на контроллер ставить IDC с рычажками для выдавливания шлейфа - будет удобнее его вынимать, чем вытасиквать разъем коротюсенького шлейфа... зак что там ухватиться?
Есть возможность о пространству поставить туда разъем с рычажками? Рычажки не будут упираться во что-нибудь?
Кстати, о шлейфах. Последние IDE-шлейфы были 80-проводными. Ни они, ни их разъемы не годятся ни при каком раскладе. Предпоследние IDE-шлейфы были 40-проводными, но у них отверстие для 20-й ноги заткнуто кусочком пластика (дополнительный ключ - у IDE-винчестеров, если помните, 20-й ноги нет). Выковырять его, конечно, можно, но не факт, что когда его заталкивали, не повредили (не смяли) контактный лепесток. То есть нужны старые IDE-шлейфы, у которых гнездо для 20-й ножки не заткнуто. А таких можно и не найти.
Возможно, будет проще купить новую маму IDC-40, кусок нового 40-проводного шлейфа и прорезать его. Прорезать проще всего в обыкновенных параллельных тисках. Это, конечно, если у вас нет специальных клещей (кримплера) для этого дела. Покупать эти клещи не имеет смысла, а тиски в хозяйстве найдутся почти у каждого.
я как то насаживал шлейф флопа (для амиги) без тисков и кримпера обошлось :)
Макс уже отметил, что при таком деле высока вероятность оборвать дорожки контактов - на советских платах они держатся не очень хорошо. Ну, и все равно, паять. Если СА уже был припаян, то, конечно, кроме пайки вариантов нет. А вот если сохранился шлейф СА, с разъемами ОНП-НГ-57-60, то можно попробовать припаять к этому разъему, а не к плате. Вроде-бы, контактные пластины этого разъема довольно прилично контачат с дорожками краевого разъема мамы УКНЦ. А вот прорезать в него ленточный кабель нельзя категорически - этот узел разъема сделан неправильно - то ли материал не тот, то ли размеры неправильные, не знаю, но хорошего контакта с проводами ленты от него не дождешься.
А вот завести в этот "ласточкин хвост" облуженный проводок и аккуратно припаять его можно и попробовать.
Ну, а если этих ОНП-НГ-57-60 нет, то только паять. Ну, или, для тех, кому совершенно нечего делать, можно купить вот такой разъем (выбрать позицию 2х30) и пытаться напялить его на УКНЦ. Да шаги разные, 2.54 против 2.50, но если постараться, то можно добиться, чтобы все контакты разъема были соединены (допустимое смещение менее 0.2 мм). Зато можно обойтись без пайки, один конец прорезать лентой, второй - по одному проводку, распустив ленту на отдельные проводки.
Но, конечно, проще просто припаять и не морочить голову.
В связи с поступающими вопросами про версию контроллера для УКНЦ с широким СА, появился еще один аргумент.
Итак - смысла делать под широкий СА нет еще по очень важной причине:
машины с широким СА - 8ми цветные, что хорошо заметно даже в оболочке RC (ADOS)
тогда как более новые, с IDC разъемом для СА, снабжены более новым контроллером памяти и могут отображать 16 цветов
https://forum.maxiol.com/index.php?showtopic=4799
Проверил новую версию:
фото контроллера v 1.01
https://pic.maxiol.com/thumbs/156916...9.azuk1011.jpghttps://pic.maxiol.com/thumbs/156916...9.azuk1012.jpg
Конструкторы в наличии на Барахолке
В таблице перехода с 60 на 40 пиновый кабель ошибка. В кабеле 40 пин дважды указан 13 пин - на 50 и на 19 пины 60 пинового кабеля.
А почему в таблице перехода с 60 на 40 пиновый кабель такое странное перекрещивание выводов 1-2, 39-40 и 59-60? Логичней же сделать 1-1, 2-2, 39-59, 40-60 ... Тогда кабели сращиваются практически линейно - только 12(40) "перепрыгивает" на 24(60).
Я вообще предполагал, что эта плата плата будет устанавливаться "вверх ногами" в УКНЦ с широким разъемом , тогда шлейф вообще должен был идти почти плоско. Но Макс перевернул шлейф и поставил плату правильно и оказалось, что никаких проблем не возникает. А то я побаивался, что будут сложности с "впихиванием" - щель-то там, как я помню, довольно узкая...
S_V_B, опишите свой опыт пользования устройством, как независимое от производ. лицо,
какие и как разделы там размечаете и какие подводные камни ожидают счастливых владельцев,
картинки\фотки приветствуются )
Спасибо.
:redface:
- - - Добавлено - - -
AFZ, если есть образ с AZ-драйвером - желательно иметь драйвер обоих "полов" под соотв. мониторы или один "универсальный" , пожалуйста скиньте мне для заливки в УК-НЦ раздел хламника. По поводу приобретения буду писать отдельно и наверное через борохолку?
Всё уже есть:
Ссылки:
Основная страничка поддержки проекта [инструкции, техническое описание, обновления фирмвари]
Контроллер псевдодиска на MicroSD
Контроллер псевдодиска на MicroSD на шину МПИ: особенности версии для УКНЦ
Контроллер псевдодиска на MicroSD для УКНЦ: сборка и наладка конструктора контроллера
Продажа
Версия контроллера для УКНЦ
Версия контроллера для ДВК
Добавлю, что для УКНЦ не подходят драйвера с поддержкой ДП, которого у нее нет - т.е. AZX.SYS и AZ.TSX, к ней подходят только AZ.SYS. И, учитывая, что многозадачность для УКНЦ не особо актуальна, достаточно драйвера с ожиданием "прополкой" (Polling), драйвер с ожиданием в прерываниях работать будет, но разумной пользы с него не ожидается...
Наконец-то собрал переходник "40-60 пин" и попробовал запустить AZ-контроллер. Пока - все Ок. На выходных буду пробовать дальше...
В общем-то это не так просто, но понять можно. Вот, выполняется программа пользователя, естественно, в режиме "задача". Вот ей понадобилось прочитать что-то с диска. Для этого она исполняет макрокоманду .READ, .READW или .READC. То есть, формирует из аргументов макрокоманды таблицу в памяти, заносит в R0 адрес этой таблицы и исполняет машинную команду EMT с соответствующим кодом. Эта команда вызывает прервыание с вектором 030, включается состояние "система", соответствующие компоненты резидентного монитора выполнят кучку действий, в конце которых поместят этот запрос в очередь к соответствующему драйверу.
Когда подойдет очередь этого запроса (или сразу, если очередь была пуста) запускается драйвер. Он подготавливает операцию. Для дисков, допустим, надо переместить головки, дождаться нужного сектора и т.д. Все это требует времени, но устройство способно сделать это самостоятельно. Поэтому драйвер выдает устройству команду на эти действия и вынужден ждать. Классический вариант - сообщить устройству, что по выполнении этих действий надо будет сделать прерывание, после чего выйти назад в систему. Система продолжит исполнение текущей задачи (если макрокоманда была .READ или .READC) или запустит другую задачу, если была макрокоманда .READW.
Когда механика отработает, аппаратура контроллера пошлет сигнал прерывания, исполняемая задача будет приостановлена, включится состояние "система" и начнется передача данных. Когда все данные будут переданы, драйвер вернет управление системе специальным образом, сигналя "операция завершена". По этому сигналу будет взобновлено исполнение ожидающей задачи. Это, конечно, сильно упрощено, но где-то так. Примерно таким образом работает, допустим, драйвер DW. Есть и другие варианты, но это для другой аппаратуры, об этом я умолчу.
Так вот, все это имеет смысл (1) для относительно медленных устройств и (2) для реальной многозадачной работы. Тот же винчестер - у него перемещение головок занимает не один десяток мс, прямой смысл отдать это время исполнению других задач. SD-карточка - устройство быстрое, время от выдачи команды чтения до готовности передавать данные имеет порядок 200 мкс, за это время выполнится, дай бог, сотни полторы команд, то есть не факт, что система успеет хотя бы переключить задачи (там довольно много действий). При записи оно чуть хуже, но тоже, максимум, 1-2 мс. Поэтому я первый вариант драйвера сделал по-простому: выдал команду "читать сектор" и в цикле жду, когда появится бит "сделано", не возвращая управление системе. Вот это самое ожидание путём многократного опроса бита готовности (пока он не появится) и называют "Polling", а на жаргоне - "прополка".
Я сделал драйвера с "прополкой", в основном, потому, что у меня еще не был готов тот кусок фирмвари, который обслуживает прерывания со стороны STM32. Как только я его сочинил, так сразу сделал и вариант драйверов с ожиданием посредством прерываний, но, в общем-то, особой разницы не обнаружилось, не считая того, что драйвера с прерываниями по размеру больше - естественно, для обработки прерываний нужен и дополнительный код, и дополнительные поля...
А на УКНЦ, к тому-же, практически, не имеет смысла пускать многозадачную ОС - нормальным многозадачкам нужен диспетчер памяти и не менее 248К этой памяти. Те меньшие цифры, которые называют для "больших" ОС - это только чтобы эта ОСь кое-как запустилась, для нормальной работы минимум - 248К. Единственная многозадачка, которая более-менее нормально работает на УКНЦ - это RT11FB, но что под ней гонять на УКНЦ - непонятно. На ДВК оперативным заданием изредка гоняли спулер - вывалил большой листинг в файл, пустил QUEUE.REL, она печатает этот листинг на принтер, а ты в фоне делаешь что-то другое. Сейчас ни на УКНЦ, ни на ДВК никто этого делать не будет, а, значит, и RT11FB загружать бесполезно...
Закинул драйвер AZ в образ диска на контроллере Ярика - AZ устройства видны без проблем. Причем, можно перезагрузиться с AZ и тогда будут видны и AZ, и "MZ" диски.
Словил забавный глюк - если перезагрузить УКНЦ ресетом, то может появиться надпись * Загрузка из сети *.
ЗЫ: Все ломаю голову - как сделать аккуратный перевертыш для кабеля. Очень не хочется в корпус запихивать перекрутку из "макарон" :-(
То есть, в памяти ПП остался эмулятор MZ, который туда загружает контроллер Ярика, да? Или он "железно" эмулирует MZ ?
Может таки перевернуть контроллер? Бог с ним, карточку можно и на перевернутом сменить. Мы тогда прикидывали, между стойками с резьбой и платой надо проложить дистанционные втулочки (толстые шайбы) чтобы разъемы оказались на той же высоте, тогда лента от ЦП идет почти прямо.
Естественно. В общем-то, RT11FB - изделие весьма специфическое. Возможно, его планировали для АСУТП ? Типа, оперативные задачи рулят оборудованием, а фоновая общается с оператором и с "верхним этажом" АСУ?..
С другой стороны, мне для всех тогдашних задач хватало RT11SJ. Собственно, и RT-11 мне была нужна только для обмена с дисками - все управляющие действия, включая мультипрограммизмы, я делал своими средствами. А вот загрузить задачу, сохранить в файле собранные данные и т.п. - это я с удовольствием перепоручал RT-11. Я, правда, занимался не АСУТП, а автоматизацией эксперимента, но это близко.
А сидеть и программировать под RT11FB имело смысл в единственном случае - когда у вас машинка без ДП, а второй (оперативной) задачей запущен спулер, который печатает что-то большое и не требует внимания - других оперативных задач под FB просто нет. Ну, не считать же за нужную задачу регистрацию ошибок? Ладно, на "большой" машинке, вроде СМ-1420, иногда еще имело какой-то смысл регистрировать ошибки - встречались организации, не имеющие у себя инженерной службы и пользующиеся для этих дел услугами сторонних организаций, типа СоюзЭВМкомплекс - вот, если что-то барахлит, предъявить им этот лог ошибок - самое то. Но и тогда, если там и была RT-11, то XM, а не FB. И ни на каких машинках без ДП никто и никогда этого не делал. Если кто из любопытства и генерил систему с регистрацией, то, попробовав пару раз, ее просто забывали.
Так вот, сижу я, правлю исходники на фоне печатающего спулера. Выправил, пускаю компиляцию, и начинаю громко употреблять ненормативную лексику: вместо привычных пары минут оно трещит дисками минут 10-15, из-за того, что мало памяти (MACRO-11), или вообще валится (Си)... Под XM оно без вопросов - и редакторы, и компиляторы, и большинство остальных программ, прекрасно работают в Virtual Mode, то есть XM предоставляет любой из них хоть 56К, хоть вообще 60К или даже полные 64К, как настроишь, а вот под FB...