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

User Tag List

Страница 180 из 183 ПерваяПервая ... 176177178179180181182183 ПоследняяПоследняя
Показано с 1,791 по 1,800 из 1824

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

  1. #1791
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,996
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    перфоленточный загрузчик берёт из LDA-файла информацию о длине данных и загружает с ленты ровно столько данных, сколько там указано
    Не скажу за вышеуказанный загрузчик (но подозреваю, что ведёт себя так же), но,..

    Уточнения

    Вводная часть

    Формат абсолютного загрузчика (тот самый LDA) - это некоторое количество записей. Структура записи - слово-заголовок (фиксированно - 1, а по байтово - 0 и 1), слово-счетчик байт, слово-адрес загрузки, байты (без проблем может быть нечетное количество), байт контрольной суммы. В счетчик входят - заголовок, сам счётчик и адрес загрузки, но не входит контрольная сумма - то есть количество байт данных - это счётчик-6.

    Но есть нюансы.

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

    Если счётчик равен пяти (по документации, реально я таких файлов пока не видел и вроде как стандартный absloader это не поймёт) - адрес будет в один байт и там будут содержаться биты 16 и 17 (вроде, в битах 0 и 1) адреса - для загрузки больше 64 кб (понятно, пойдёт в расширенную) или (просто) в расширенную память.

    Про absloader

    Absloader написан так, что он грузит данные, пока не дойдет до записи с длиной 6 байт, после чего переходит (или не переходит, если адрес нечётный) по адресу из этой записи, а остаток ленты, соотвественно - absloader-ом просто игнорируется.

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

    И я встречал варианты LDA файлов, которые разные по длине, но если очистить вот от этих лишних нулей - будут один в один. Поэтому в DisAsm-11 неожиданно (он не планировался, но остался от исследований) получился функционал - он создаёт "очищенный" вариант LDA файла, в котором нет этих нулей и - нет хвоста файла за стартовой записью.

    Ну и DisAsm-11 не обрабатывает запись с длиной 5 - пока не понятно - чего с ней и как - в доках очень краткий абзац на эту тему. Попадётся или кто пришлёт - тогда и посмотрим - чего там

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

    Вдогонку. Посмотрел по исходника - уточнение - DisAsm-11 создаёт "очишенный" LDA - если что то удалось почистить - то есть или встретились "лишние" нули или за стартовой записью что-то было
    Последний раз редактировалось Hunta; 17.06.2023 в 16:24.

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

    По умолчанию

    Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_04.09.22_00-03

    Изменения:

    1. В модуль Main_module.em добавлен объект BinSender, позволяющий отправить двоичное содержимое любого файла размером до 128 Кб в байтовый канал (в терминальный порт эмулятора, в IP-порт или COM-порт). Если установить для состояния Load этого объекта начальное значение 1 - отправка файла будет начинаться сразу после выбора образа файла в меню кнопки подключения образов.

    Код:
    [BinSender.ini]
    InitialStateOf[Load] = 1
    Это позволяет не использовать отдельную интерфейсную кнопку для отправки подключенного файла, хотя создать и использовать такую дополнительную кнопку при желании можно.

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

    2. Пример использования объекта BinSender добавлен в файл конфигурации default.cfg. Добавлен файл конфигурации ДВК-1_MX40+PC.cfg, позволяющий потренироваться в запуске перфолент на ДВК-1 как через штатный перфоввод, так и через порт терминала.

    3. Образы перфолент в каталоге Paper Tapes\ заменены на совместимые с загрузкой через порт терминала.
    Последний раз редактировалось Patron; 04.09.2022 в 17:22.

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

    Aleks1985 (05.09.2022), BlaireCas (05.09.2022), Doronetty (04.09.2022), Hunta (04.09.2022), MiX (04.09.2022), Oleg N. Cher (04.09.2022), Radon17 (07.09.2022)

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    После начала отправки файла - прервать отправку или узнать о состоянии отправки невозможно, поэтому при отправке крупных образов перфолент по медленным каналам - нужно набраться терпения и понимать, что происходит.
    Если добавить в настройки BinSender > Dump для просмотра, разве не поможет?

    Цитата Сообщение от Patron Посмотреть сообщение
    так и через порт терминала.
    Для этого нужен загрузчик типа DD.

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

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    Если добавить в настройки BinSender > Dump для просмотра, разве не поможет?
    У адаптеров IP- и COM-портов в эмуляторе безразмерные буфера, куда они "мгновенно проглатывают" любые наборы байтов от объектов эмулятора из откуда уже по прерываниям передают через порты.


    Цитата Сообщение от MiX Посмотреть сообщение
    Для этого нужен загрузчик типа DD.
    Имелось в виду - запустить на ДВК-1 или ДВК-2 любую программу из образа перфоленты.


    Например, запуск перфоленточного Бейсика на ДВК-1 через порт терминала выглядит так:


    1. Набрать в пульте (при выключенном таймере) команду "177560L" :





    2. Выбрать в меню подключения образов для устройства BIN образ "Paper Tapes\LSI-11-AbsLoader.bin" :





    3. Нажать на клавиатуре клавишу <P> :





    4. Выбрать в меню подключения образов для устройства BIN образ "Paper Tapes\DEC-11-AJPB-PB.bin", после чего через 10 секунд запустится загруженный из образа перфоленты Бейсик :



    ==========

    Нужно отметить, что при запуске перфолент через устройство PC - порядок действий должен быть другим. Надо сначала выбирать образ ленты для устройства PC и только после этого вводить команды с клавиатуры. Т.е. сначала подключить "Paper Tapes\LSI-11-AbsLoader.bin" к PC, потом набрать с клавиатуры "177560L", затем после появления приглашения пульта - сначала подключить к PC образ "Paper Tapes\DEC-11-AJPB-PB.bin" и только потом нажать клавишу <P>.
    Последний раз редактировалось Patron; 07.09.2022 в 20:22.

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    2. Выбрать в меню подключения образов для устройства BIN образ "Paper Tapes\LSI-11-AbsLoader.bin" :
    Выбираю.
    Код:
    @177560L 157500
    @
    157502/024646
    157504/010705
    157506/062705 м
    халт инструцтион
    ю
    157510/000112 м
    халт инструцтион
    юб
    ¤Е
    юб
    ¤%
    юм
    халт инструцтион
    юю
    000112/000000
    000114/177777 ю
    177777/
    бус еррор
    юб
    ¤
     
    ю7м
    халт инструцтион
    юм
    халт инструцтион
    И всё, дальше не реагирует.

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

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    И всё, дальше не реагирует.
    Когда я готовил предыдущее сообщение - у меня почти так же получилось, но примерно через 15 секунд раздумий я понял, что пропустил пункт 3 - ПОСЛЕ появления промпта пульта @ и ДО выбора образа перфоленты с Бейсиком - нужно нажать на клавиатуре "P".
    Последний раз редактировалось Patron; 07.09.2022 в 21:29.

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Когда я готовил предыдущее сообщение - у меня почти так же получилось, но примерно через 15 секунд раздумий я понял, что пропустил пункт 3 - ПОСЛЕ появления промпта пульта @ и ДО выбора образа перфоленты с Бейсиком - нужно нажать на клавиатуре "P".
    К чему это сообщение? Я не доходил до пункта 3.

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

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    Я не доходил до пункта 3.
    Когда на экране появился адрес останова 157500 и промпт пульта @ - это означает, что весь код абсолютного загрузчика считан из порта терминала в память подпрограммой выполнения команды L пульта. Когда я грузил через порт терминала необрезанный образ перфоленты - следом продолжали сыпаться передаваемые в порт терминала не относящиеся к делу завершающие байты из образа ленты. Но когда я обрезал образ ленты загрузчика до 406 байт, после выхода команды L в пульт - дополнительного мусора уже не приходило.

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

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Когда на экране появился адрес останова 157500 и промпт пульта @ - это означает, что весь код абсолютного загрузчика считан из порта терминала в память подпрограммой выполнения команды L
    Тогда зачем абсолютный загрузчик загружать повторно? У меня выходит на адрес останова сразу после ввода 177560L.

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

    Цитата Сообщение от Patron Посмотреть сообщение
    и штатно вышла в пульт.
    Не совсем, нет перевода строки.

    @177560L 157500
    @

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

    Это относится к кофигурации ДВК-2, в кофигурации ДВК-1 удалось загрузить Бейсик.

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

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    Это относится к кофигурации ДВК-2, в кофигурации ДВК-1 удалось загрузить Бейсик.
    Для ДВК-2 надо сначала при нажатой кнопке "Пульт" нажать L, потом изменить содержимое памяти прошивки, затем продолжить выполнение прошивки командой P и лишь потом перейти к пункту 2 "методички загрузки перфоленты" :

    Код:
    @L 157744
    @157776/177550 177560
    @P 157500
    @P
    PDP-11 BASIC, VERSION 007A
    *O
    Последний раз редактировалось Patron; 07.09.2022 в 22:39.

  12. Этот пользователь поблагодарил Patron за это полезное сообщение:

    MiX (08.09.2022)

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

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

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

Эту тему просматривают: 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

Ваши права

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