User Tag List

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

Тема: Повышаем качество эмуляции Львов ПК-01

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

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

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,384
    Спасибо Благодарностей отдано 
    409
    Спасибо Благодарностей получено 
    660
    Поблагодарили
    258 сообщений
    Mentioned
    27 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А по сбросу судя по всему на адрес 0000 временно подключается ПЗУ - до записи в какой-нибудь порт (сигнал I/O W на D 5.1), что сразу же и происходит - команда OUT 00h по адресу E800...

    Исправленная конфигурация для Emu80:
    http://emu80.org/temp/lvov.conf.7
    (временное подключение ПЗУ не реализовано: по сбросу управление сразу передается на E800, думаю, это не очень критично, хотя реализовать несложно)

    Проверять на реале будем? Или поверим, что так оно и есть?

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

  3. #2

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    до записи в какой-нибудь порт (сигнал I/O W на D 5.1)
    а посмотри что может вызывать зависание компа при in ($00)

    какоето объяснение нашел
    осталось его переварить

    Любая операция IN или OUT в порты 0 - 191 будет подвешивать компьютер, из за снятия сигнала READY на CPU.
    В руководстве по Бэйсику для команды OUT указано, что разрешенные порты 192 - 255.
    Плохо, что:
    - не пояснили причин
    - не сделали проверки и защиты от подвисания.

    Причина кроется в следующем:
    Арбитр доступа к видео ОЗУ построен на микросхемах D1.1 D1.2 D5.2 D4
    Он Реагирует на доступ по адресам A14 = A15 = 1 но неразличает доступ к ОЗУ или портам!
    CPU на командах IN и OUT дублирует A0-A7 на A8-A15

    Почему так сделано? Х.З.
    Доработать можно включением пары вентилей в цепь сигнала D5.2-12
    Но думаю такой цели нет. Надо просто знать и правильно эмулировать.

    PS сканировать порты ненадо!
    во Львове нет ничего кроме двух ВВ55 по адресам
    С0-С3 и D0-D3
    + при эмуляции надо учесть, что A2 игнорируется !
    т.е. С0-С3 эквивалентно С4-С7
    и D0-D3 эквивалентно D4-D7

    + есть безадресный порт на запись
    триггер D5.1

    устанавливается при сбросе
    и сбрасывается при первой записи в любой порт

    это схема начального старта
    процессор ВМ80 стартует с нулевого адреса, соответственно выбор ПЗУ на старте не такой как в нормальном состоянии.
    триггер блокирует участие в выборе А14 и А15.
    т.е. код из ПЗУ которое в нормальном состоянии C000 времменно сидит на 0000
    первые команды должны быть типа

    jmp C003
    out A,(xx)

    но совсем необязательно переключать сразу

    для коректной эмуляции надо продолжать мапить адреса по другому пока не пройдет первая команда out
    ----------
    2 дополнения:
    - на схеме Львова ОПЕЧАТКА D28-3 подключен не на А3, а на А5 !!!
    - D28 выбирается так же как и D9 схемой начального сброса,
    т.е. после сброса до прохождения первой команды OUT дешифрация адреса для портов неработает. Думаю на практике это ничего незначит.
    Первая команда типа OUT C3,xx достигнет своей цели, просто сигнал CS
    будет немного задержан.
    -----------
    ответы на вопросы:
    > что происходит на реале, когда мы обращаемся к портам
    > 0xE0 - 0xFF? В эмуляторах они есть зеркалятся на порты 0xC0 - 0xDF.
    > Насколько верно такое поведение?

    отвер на вопрос: неверно.
    там есть 4 линии выбора портов на D28
    С0-С7
    D0-D7
    E0-E7
    F0-F7

    первые 2 заведены на ВВ 55 и поскольку А3 игнорируется, то
    С0-С3 = С4-С7
    D0-D3 = D4-D7

    все 4 линии выведены на коннектор ВНЕШ1
    Последний раз редактировалось NEO SPECTRUMAN; 22.03.2021 в 20:34.

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

    Pyk(22.03.2021)

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

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

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

Похожие темы

  1. Качество картинки с английского Spectrum (82 года)
    от c55fun в разделе Зарубежные модели
    Ответов: 11
    Последнее: 30.04.2019, 13:36
  2. Качество изображения УКНЦ
    от S_V_B в разделе ДВК, УКНЦ
    Ответов: 95
    Последнее: 23.05.2018, 11:07
  3. Качество контактов панелек PLCC...
    от SoftFelix в разделе Несортированное железо
    Ответов: 6
    Последнее: 24.04.2018, 10:21
  4. Ответов: 36
    Последнее: 23.03.2016, 22:10

Ваши права

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