User Tag List

Показано с 1 по 10 из 1842

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию Тест правильности работы процессора

    Проверил сегодня тест правильности работы процессора ВМ2 для УКНЦ на эмуляторе ДВК, он практически замечательно там запускается. Единственные глюки - при ожидании ввода нажатия клавиши эмуль останавливается, загорается HOLD (почему?). И немножко лишних символов печатается.

    Теперь по сути теста. Тест по сути - полный перебор всех сочетаний аргументов и флагов команд.
    На реальном УКНЦ, EmuStudio и UKNCBTL - полностью работает.

    На эмуляторе ДВК (v 0.90), судя по тесту, неправильно эмулируется команда SBC.
    Что же касается команд деления и умножения, то их тестирование тоже проваливается, но, это, видимо, потому, что их попросту нет на ВМ1 (я с ним не очень знаком), и они эмулируются софтварно.

    Исходник и тест можно взять тут.

    Лог теста тут:

    Скрытый текст


    Код:
    Тест процессора КР1801ВМ2 v0.1a (c) by dr.Titus
     
    Тестирование правильности выполнения команд процессора:
     
            Однооперандные байтовые команды:
            NOP             - OK
            MOVB            - OK
            CLRB            - OK
            COMB            - OK
            INCB            - OK
            DECB            - OK
            NEGB            - OK
            TSTB            - OK
            ROLB            - OK
            RORB            - OK
            ASRB            - OK
            ASLB            - OK
            ADCB            - OK
            SBCB            - OK
            SXT             - OK
     
            Однооперандные словные команды:
            MOV             - OK
            CLR             - OK
            COM             - OK
            INC             - OK
            DEC             - OK
            NEG             - OK
            TST             - OK
            ROL             - OK
            ROR             - OK
            ASR             - OK
            ASL             - OK
            ADC             - OK
            SBC             - ERROR: 0x92CB / 0xFA3A
            SWAB            - OK
     
            Двухоперандные байтовые команды:
            CMPB            - OK
            BITB            - OK
            BICB            - OK
            BISB            - OK
     
            Двухоперандные словные команды (частичный тест):
            ADD             - OK
            SUB             - OK
            CMP             - OK
            BIT             - OK
            BIC             - OK
            BIS             - OK
            XOR             - OK
     
            Команды работы с флагами:
            CLx             - OK
            SEx             - OK
     
            Команды условных переходов:
            Bcc             - OK
     
            Команда умножения (частичный тест):
            MUL (even/even)         - ERROR: 0x14B4 / 0x534D
            MUL (even/odd)          - ERROR: 0xD23D / 0x7E18
            MUL (odd/odd)           - ERROR: 0xFD9A / 0x25ED
            MUL (odd/even)          - ERROR: 0x35BA / 0xF453
            MUL (table)             - OK
     
            Команды сдвига (частичный тест):
            ASH (test 1)            - OK
            ASH (test 2)            - OK
            ASHC (even)             - OK
            ASHC (odd)              - OK
     
            Команда деления (частичный тест):
            DIV (even)              - ERROR: 0x4B4E / 0x3AE8
            DIV (odd)               - ERROR: 0x7704 / 0x135F
            DIV (odd)               - ERROR: 0x7704 / 0x135F
    [свернуть]

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

  3. #2

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    при ожидании ввода нажатия клавиши эмуль останавливается, загорается HOLD (почему?).
    Возможно выполнена команда SET SL ON, а SL.SYS работает в режиме VT100 (в том числе родной старый SL для которого выполнено SET SL VT52 - не поможет).
    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. #3

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    судя по тесту, неправильно эмулируется команда SBC
    Действительно - там была ошибка. Повезло, что в эмуляции SBCB ошибки не было, поэтому исправить эмуляцию SBC оказалось легко.

  5. #4

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Действительно - там была ошибка. Повезло, что в эмуляции SBCB ошибки не было, поэтому исправить эмуляцию SBC оказалось легко.
    А что на счет того - пояснить, как сделать так, чтобы HOLD не включалось, и лишние символы не печатались? И какие команды убрать, как отсутствующие в ВМ1?

  6. #5

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    как сделать так, чтобы HOLD не включалось, и лишние символы не печатались?
    Не выводить управляющие последовательности KeyON и KeyOFF - без этого даже на УКНЦ работать не перестанет, но зато на всех остальных машинах не будет глюков.


    Цитата Сообщение от Titus Посмотреть сообщение
    какие команды убрать, как отсутствующие в ВМ1?
    В 1801ВМ1 нет команд MUL, DIV, ASH и ASHC.

  7. #6

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    В 1801ВМ1 нет команд MUL, DIV, ASH и ASHC.
    Как они эмулируются на ДВК?

    ---------- Post added at 00:59 ---------- Previous post was at 00:59 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    Не выводить управляющие последовательности KeyON и KeyOFF - без этого даже на УКНЦ работать не перестанет, но зато на всех остальных машинах не будет глюков.
    Зато при нажатии пользователем клавиши, будет портится вывод информации.

  8. #7

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Как они эмулируются на ДВК
    Драйвером EM.SYS, который включается командой SET EM ON

  9. #8

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию Тест правильности выполнения команд для 1801ВМ1

    Адаптировал тест под ВМ1 и ДВК.

    Теперь все работает окейно.

    Тест тут вместе с исходником

  10. #9

    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,072
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    81
    Поблагодарили
    65 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    который включается командой SET EM ON
    Не помогает. Тест не походит, возможно что вм2 как то иначе инструкции исполняет. Я как понимаю что драйвер ЕМ заменяет к примеру команду умножения на команду сложения.
    Типа
    2*2=2+2
    3*3=3+3+3
    Итак далее. Может как промежуточный вариант сделать поддержку умножения как в 1801ВМ1Г.

    Цитата Сообщение от Patron Посмотреть сообщение
    В файле конфигурации default.cfg параметры второго терминального порта изменены на следующие:
    Ну это под плату МС хотя эмулируются DL11W. Интересно другое, плата DL11W на сколько я знаю может делать HALT от сигнала BREAK. То есть вызов пульта с терминала. Можете поддержать это.

    Спасибо.

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

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

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

Похожие темы

  1. Эмулятор
    от vladimir53 в разделе Орион
    Ответов: 20
    Последнее: 03.09.2024, 13:24
  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

Ваши права

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