Важная информация

User Tag List

Страница 155 из 155 ПерваяПервая ... 151152153154155
Показано с 1,541 по 1,547 из 1547

Тема: Эмулятор ДВК

  1. #1541
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,571
    Благодарностей: 2690
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    А зачем коэффициенты коррекции, к слову?
    Когда у часов реального времени нет доступа к атомным часам, а у пользователя есть - он может задавать часам коэффициенты коррекции, чтобы дрейф показаний за месяц (в сравнении с атомными часами) не превышал миллисекунды.

  2. #1542
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,571
    Благодарностей: 2690
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Грядущее появление эмулятора интерфейса часов реального времени HClock, реализуемого в виде эмулятора привода дискового устройства, подключаемого к контроллеру HD - означает не только необходимость создания API эмуляции приводов, но и то, что вторым кандидатом на реализацию в виде "магического дискового привода" становится интерфейс монтирования HMount.

    При реализации интерфейса монтирования в виде дискового устройства ( с номером привода 0432 = 282 ) принципиальным вопросом становится - отдавать пользователю весь список текущего монтирования одним "безразмерным блоком" с номером блока 0 или оформлять информацию о каждой точке монтирования отдельным блоком. Учитывая, что интерфейс монтирования допускает указание как относительных, так и абсолютных путей - превышение общим списком всех точек монтирования размера 64 Кб - выглядит вполне реальной возможностью, а раз так - есть смысл предусмотреть как возвращение пользователю всей информации монтирования одним блоком, так и возвращение информации о каждой точке монтирования отдельным блоком.

    Тогда спецификация работы с приводом HMount через контроллер HD будет выглядеть так:

    1. Для выбора интерфейса монтирования нужно задать контроллеру HD номер привода 282. Если контроллер HD не имеет доступа к интерфейсу монтирования - возвращается ошибка с кодом IE_OFL = "устройство offline".

    2. Запрос размера устройства возвращает количество доступных точек монтирования + 3.

    3. Все блоки HMount являются "безразмерными", поэтому содержат в первом слове размер блока в байтах. Правила чтения/записи блоков HMount совпадают с аналогичными правилами для таймблоков HClock.

    4. Блок 0 доступен для чтения и записи. При чтении возвращается блок информации о текущем монтировании в виде последовательности команд монтирования, разделённых байтами <CR><LF>. Если какой-то привод не смонтирован - сразу за символом '=' идут байты <CR><LF> Например:
    Код:
    HD0=HDSYS.DSK<015><012>HD1=<015><012>HD2=C:\Documents and Settings\WORK_DIR\<000>
    Если размер блока >= 64 Кб - слово размера блока содержит 000. Уместно напомнить, что количество реально передаваемых пользователю слов не может превышать текущее значение счётчика слов WordCount, задаваемое командой контроллера HD "установить счётчик слов". При записи программа посылает контроллеру блок аналогичного формата, содержащий произвольное количество команд монтирования, разделённых байтами <CR><LF>. Для размонтирования привода - команда монтирования не должна иметь аргумента. Например: "MX1=".

    5. Блок 1 предназначен для просмотра содержимого SD-карты ( подробнее ЗДЕСЬ ).

    6. Блок 2 доступен только для чтения и содержит список всех доступных точек монтирования в виде последовательности символов ASCII, разделённых байтами <CR><LF>. Например:
    Код:
    HD0<015><012>HD1<015><012>HD2<015><012>HD3<000>
    7. Все последующие блоки доступны только для чтения и содержат информацию о текущем монтировании точек из списка монтирования, возвращаемого при чтении блока 2, в порядке их присутствия в списке. Формат совпадает с форматом одиночной команды монтирования, если привод смонтирован, или команды размонтирования, если привод размонтирован. Например:
    Код:
    MX1=E:\ARHIV\PDP11.DSK\FRESH\MX40.DSK
    Нужно помнить, что все читаемые и записываемые блоки HMount имеют в первом слове размер блока в байтах.

    При невозможности выполнить переданную команду монтирования - возвращается ошибка с кодом IE_OFL, если указанное устройство недоступно для монтирования или IE_NUM = "параметр вне диапазона" ( 0356 ), если нарушен формат команды, монтируемый путь не найден или тип пути ошибочен ( например, не все эмулируемые контроллеры позволяют монтировать каталоги, вместо DSK-образов ). Если переданный блок монтирования содержит более одной команды - команды монтирования выполняются последовательно, безотносительно к успешности выполнения предыдущей команды, но при наличии хотя бы одной ошибочной команды - в итоге возвращается ошибка.

    - - - Добавлено - - -

    Пробелы и табуляции между именем точки монтирования, символом '=' и путём монтирования должны игнорироваться, поэтому передаваемые контроллеру команды монтирования могут выглядеть так:

    MX1 = E:\ARHIV\PDP11.DSK\FRESH\MX40.DSK

    - - - Добавлено - - -

    Если конкретный аппаратный контроллер, реализующий интерфейс HMount, может гарантировать, что размер нулевого блока с полным списком монтирования всегда может быть прочитан в буфер пользователя разумного размера - возможна сокращённая реализация интерфейса с обработкой только чтения и записи нулевого блока. В таком случае запрос размера устройства для привода 282 должен возвращать 1 ( если просмотр содержимого карты не поддерживается ) или 2 ( если блок 1 поддерживается ), а попытка задания больших номеров блока - возвращать ошибку "выход за пределы устройства".
    Последний раз редактировалось Patron; 16.10.2017 в 17:56.

  3. Этот пользователь поблагодарил Patron за это полезное сообщение:
    hobot (16.10.2017)

  4. #1543
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,117
    Благодарностей: 1931
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Несколько мыслей.
    Эмулятор активно развивается и показал себя весьма стабильным: RSX-11M+ проработал без перерыва почти год и проработал бы больше, да затеяли перестановки на сервере виртуальных машин. Но для полного счастья не хватает одной маленькой мелочи - поддержки модемных сигналов. Самый простой вариант - добавить поддержку DL(V)11-E. Это сразу резко расширило бы возможности эмулятора: появилась бы возможность запускать в нем online системы и выставлять их в интернет. Сравнительно несложно так же добавить мультиплексор DZ(V)11. Так же тут задавался вопрос про DU... DU вещь навороченная и сравнительно новая. Гораздо интереснее для начала было бы эмулировать DL (RLV контроллер): он и достаточно старый чтобы запустить многие системы в которых нет поддержки MSCP и поддерживает 22bit на Q-Bus...
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  5. Этот пользователь поблагодарил form за это полезное сообщение:
    hobot (16.10.2017)

  6. #1544
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,571
    Благодарностей: 2690
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    Для взаимодействия с интерфейсом просмотра каталогов в приводе HMount логично выделить блок 1. Если контроллер не поддерживает просмотр каталогов - при чтении и записи блока 1 должна возвращаться ошибка с кодом IE_NUM ( 0356 = параметр вне диапазона ), если контроллер поддерживает расширенные блоки, или с кодом IE_BLK ( 0354 = выход за пределы устройства ), если контроллер обслуживает только запросы к блоку 0.

    Для установки пути к просматриваемому каталогу программа производит запись пути в блок 1. Устройства не поддерживаются. Корневой каталог SD-карты ( или текущий каталог эмулятора ДВК ) выбираются заданием пути "\":

    Код:
    \
    Если заданный путь отсутствует - текущий каталог не изменяется, а запись завершается ошибкой с кодом IE_NUM ( 0356 = параметр вне диапазона ).

    Вложенные каталоги ( если есть ) выбираются записью абсолютного или относительного пути. Например:

    Код:
    \RT-11\NEW\
    Код:
    \
    Код:
    RT-11\
    Код:
    NEW\
    Запись ошибочного или пустого блока ( т.е. блока с нулевым словом размера блока ) в блок 1 или обращение к любому блоку, кроме блока 1 - не изменяет текущий каталог, но сбрасывает фазу возврата содержимого текущего каталога.

    Признаком абсолютного пути является символ '\' в первой позиции пути. Последним ( или единственным ) символом пути всегда должен быть '\'.

    Контроллер сбрасывает текущий каталог только при включении питания и при смене SD-карты.

    Первое чтение блока 1 после сброса фазы возврата содержимого текущего каталога - возвращает абсолютный путь к текущему каталогу. Каждое последующее чтение блока 1 возвращает очередное имя файла из текущего каталога. Если имя соответствует вложенному каталогу - последним символом имени должен возвращаться символ '\'. Когда имена всех файлов уже выведены - каждое последующее чтение блока 1 возвращает пустой блок ( т.е. блок с нулевым словом размера блока ) и ошибку с кодом IE_NUM ( 0356 = параметр вне диапазона ).

  7. Этот пользователь поблагодарил Patron за это полезное сообщение:
    hobot (16.10.2017)

  8. #1545
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    2,415
    Благодарностей: 796
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Patron, Возможно ли сделать нативный DX привод? Это для того чтоб эмулятор мог работать с прошивкой контроллера самого привода.
    ...
    Посмотрел платы ГМД7012 и RX02, RX01. ГМД7012 схематически похож на RX02. Возможно что ГМД70 будет схематически похож на RX01.

    Спасибо.

  9. #1546
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,571
    Благодарностей: 2690
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    Возможно ли сделать нативный DX привод? Это для того чтоб эмулятор мог работать с прошивкой контроллера самого привода.
    Для этого надо эмулировать процессор, выполняющий код прошивки. Пока таким путём реализован только эмулятор контроллера MY, потому что для выполнения кода прошивки там используется процессор, который уже сэмулирован.

  10. #1546
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  11. #1547
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    2,415
    Благодарностей: 796
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Для этого надо эмулировать процессор, выполняющий код прошивки.
    Это да. Зато это будет большой задел для таких контроллеров как RK,МТ, ещё и платы М5 Эл.60.

Страница 155 из 155 ПерваяПервая ... 151152153154155

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 3 (пользователей: 0 , гостей: 3)

Похожие темы

  1. Эмулятор
    от vladimir53 в разделе Орион
    Ответов: 12
    Последнее: 12.06.2011, 16:38
  2. Эмулятор ПЗУ.
    от ALKO в разделе Память
    Ответов: 8
    Последнее: 17.05.2011, 12:41
  3. Эмулятор AY на AVR
    от serkiri в разделе Звук
    Ответов: 52
    Последнее: 10.06.2010, 08:01
  4. Эмулятор для Mac
    от AlexBel в разделе Эмуляторы
    Ответов: 11
    Последнее: 02.05.2010, 17:53

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •