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

User Tag List

Страница 155 из 183 ПерваяПервая ... 151152153154155156157158159 ... ПоследняяПоследняя
Показано с 1,541 по 1,550 из 1821

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

  1. #1541
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  2. #1542
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 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 в 16:56.

  3. #1543
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 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

  4. #1544
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 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_BLK ( 0354 = выход за пределы устройства ).

    ...

    Расширенные возможности работы с блоком 1

    1. Если переданная строка оканчивается символами *\ - это маска для вывода списка папок в текущем каталоге.

    2. Если записанная строка не оканчивается символом '\' - это маска для вывода списка файлов и папок.

    3. Если записанная строка содержит символ ':' после имени файла - это запрос на создание файла. Если символ ':' находится в конце строки - должен быть создан образ с дефолтным размером. Если после символа ':' находятся цифры - это размер в байтах для создаваемого файла.

    4. Если после символа ':' находится буква 'D' ( :D ) - это запрос на удаление файла ( например: XXX.DSK:D ).


    Маска для вывода списка файлов может содержать относительный или абсолютный путь ( например: WorkDir\* ). При выводе списка файлов с путём в маске - этот путь должен добавляться к каждому выводимому имени файла:

    Код:
    .MNT DIR WORKDIR\
    \
     
    WORKDIR\XXX\
    WORKDIR\YYY\
    WORKDIR\WWW.DSK                              819'200
     
    .


    При создании и удалении файла также может указываться относительный или абсолютный путь:

    Код:
    .MNT CREATE WORKDIR\XXX.DSK:1234567
    \
     
    WORKDIR\XXX.DSK                            1'234'567
     
    .MNT DIR WORKDIR\
    \
     
    WORKDIR\XXX\
    WORKDIR\YYY\
    WORKDIR\WWW.DSK                              819'200
    WORKDIR\XXX.DSK                            1'234'567
     
    .MNT DEL WORKDIR\XXX.DSK
     
    .MNT DIR WORKDIR\*.DSK
    \
     
    WORKDIR\WWW.DSK                              819'200
     
    .
    Последний раз редактировалось Patron; 11.11.2017 в 23:37.

  5. #1545
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Спасибо.

  6. #1546
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  8. #1547
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #1548
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Пока таким путём реализован только эмулятор контроллера MY, потому что для выполнения кода прошивки там используется процессор, который уже сэмулирован.
    Имеется контр-предложение, а именно
    слепить достаточно качественный и насовсем прилепить к эмулятору ДВК один сетевой БК(модификация на выбор
    БК0010Ш, БК0010-01, БК-11М) что бы была возможность гонять КУВТшный софт, проверять сетевые программы и
    улучшить поддержку реальных БК во всём мире, виртуальный БК скорее должен работать с ч\б выходом на свой
    собственный 6105 монитор с полной по возможности точной реализацией, что так же позволило бы любому желающему
    попутно продемонстрировать отечественные графические игры (коих не мало и весьма качественных) для PDP совместимых Ангстремовских процессоров. Не слишком суровое предложение? Тут ещё актуальность задачи помимо прочего в том, что полностью отлаженных эмуляторов БК0010-01 к примеру нет до сих пор. Везде что то немного не работает. Софт вроде бы есть не много под это дело, я думаю можно по КУВТ софту ещё раз попросить считать всё
    самое сетевое актуальное боевое Стаса @SKcorp. при всей его не любви к эмуляторам ) Стас, пожалуйста считай КУВТ софт для сети ДВК-БК что нибудь актуальное ? Кроме
    тех образов, что уже имеются, если помнишь у тебя на видео есть загрузочная сетевая программа
    ДВК>>>БК в виде таблицы - вот хорошо бы эту систему к архиву подшить !!!
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  10. #1549
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Все ромы для БКашки какие попадались мне с различными эмуляторами
    http://archive.pdp-11.org.ru/BKGAMES/ROM/ там конечно дубли просто с разными именами файлов,
    совпадают как правило определяющие наполнение слова, а расширения авторы разное могут использовать
    в своих проектах.

    Уточняю (на всякий случай), что в последних двух сообщениях речь идёт только о виртуальном
    железе - то есть об эмуляции.
    Последний раз редактировалось hobot; 23.10.2017 в 20:25.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  11. #1550
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,130
    Спасибо Благодарностей отдано 
    468
    Спасибо Благодарностей получено 
    516
    Поблагодарили
    410 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не будет ли возможности разработать специальный конфиг для ДВК (все модели) - 1801ВП1-128 на адресе 177130 / 17777130 и ПЗУ 1801РЕ2 - 326 в адресах пользователя 160000 - 167777 ( 17760000 - 17767777 ).
    Загрузка - 160000G
    Описание точек входа в ПЗУ 326 - см. Руководство системного программера от БК11М.
    Драйвер BY.SYS, или он же с программой TESTBY.SAV ( есть на моем диске к блоку ВМ3А ).
    Разумеется, из драйвера BY.SYS надо удалить все следы аппаратуры и софта БК11М.
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]

Страница 155 из 183 ПерваяПервая ... 151152153154155156157158159 ... ПоследняяПоследняя

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

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

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

Похожие темы

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

Ваши права

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