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

User Tag List

Страница 1 из 7 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 67

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

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

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

    собственно сабж

    эмуляция Львова долгие годы мягко говоря SUXX
    и это надо как то уже менять...
    а для этого нужно проведение тестов на реале


    ну и начнем с карты памяти при подключенной видео памяти
    в известной документации не описано что именно находится по адресам $0000...3FFF
    Однако
    следует помнить, что при таком переключении от шин МП отключа-
    ется область основного ОЗУ 0000H-7FFFH
    а разные эмуляторы эмулируют оно по разному
    Цитата Сообщение от Pyk
    b2m - ПЗУ
    Emulator3000 - ОЗУ (но не с 8000, а с 0000)
    Эмулятор HW - похоже, что вообще пусто - считываются нули из этой области
    но из схемы есно что включение видеопамяти в адрессное пространство происходит принудительной установкой A15
    а сама видео память в обычном режиме просто "прячется" под ПЗУ

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




    [свернуть]

    изза чего по адресам 0000...3FFF должно быть зеркало 8000...BFFF
    что очень полезно (вощем я уже это использую не дожидаясь результатов : )
    так как это позволит использовать свой набор rst при включенной видео памяти
    включать видео память без дополнительного перехода в 8000...BFFF
    да и вообщем это несколько критичный момент изза которого на эмуляторе может все прекрасно работать а на реале нет

    ну а чтоб выяснить что именно подключается туда на само деле
    запилен тест
    MEMORY MAP TEST
    https://www.mediafire.com/file/w1she..._r0000.7z/file
    который читает все 64К с подключенной видео памятью и без
    и выплевывает сплющенно на экран

    так же

    пофикшенный конфиг для emu от b2m-а
    https://www.mediafire.com/file/1six5...config.7z/file

    ожидаемый на реале результат
    Последний раз редактировалось NEO SPECTRUMAN; 22.03.2021 в 19:31.

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

    Cooper (24.03.2021), Pyk (22.03.2021)

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

  4. #2
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,180
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 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, думаю, это не очень критично, хотя реализовать несложно)

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

  5. #3
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    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.

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

    Pyk (22.03.2021)

  7. #4
    Master
    Регистрация
    21.08.2006
    Адрес
    Ижевск
    Сообщений
    910
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    272
    Поблагодарили
    149 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    запилен тест
    MEMORY MAP TEST
    Цитата Сообщение от Pyk Посмотреть сообщение
    Проверять на реале будем?
    Обязательно!

    Вот, что получилось на моём экземпляре https://drive.google.com/file/d/103h...ew?usp=sharing
    Последний раз редактировалось DDp; 22.03.2021 в 22:18.
    D356 47C0 35F8 F55E 8A52 A88F F3F8 B003 03EB 3D7F

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

    kolk (23.03.2021), NEO SPECTRUMAN (23.03.2021), Pyk (22.03.2021)

  9. #5
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,180
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну что, считаем гипотезу об адресном пространстве подтвержденной?

  10. #6
    Member
    Регистрация
    10.06.2016
    Адрес
    г. Киев, Украина
    Сообщений
    87
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DDp Посмотреть сообщение
    Обязательно!

    Вот, что получилось на моём экземпляре https://drive.google.com/file/d/103h...ew?usp=sharing
    Чем видео захватывали?

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

    По умолчанию

    Цитата Сообщение от DDp Посмотреть сообщение
    Вот, что получилось на моём экземпляре
    так же видно что ПЗУ-шка не очень то и зануляет память при включении
    можно даже будет пару раз выгрузить содержимое памяти после включения
    и подставлять оно в эмулятора

    я думал что память не очищается только при наличии своего обработчика ресета

  12. #8
    Master
    Регистрация
    21.08.2006
    Адрес
    Ижевск
    Сообщений
    910
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    272
    Поблагодарили
    149 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от kolk Посмотреть сообщение
    Чем видео захватывали?
    Behold TV H8
    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    ...пару раз выгрузить содержимое памяти после включения...
    Во вложении.
    Вложения Вложения
    D356 47C0 35F8 F55E 8A52 A88F F3F8 B003 03EB 3D7F

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

    NEO SPECTRUMAN (23.03.2021)

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

    По умолчанию

    Цитата Сообщение от DDp Посмотреть сообщение
    Во вложении.
    о крута!

    тут своя шахматка




    можно даже проэкстраполировать до конца
    и получить то что якобы и должно быть и в видео памяти при старте




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

    Цитата Сообщение от DDp Посмотреть сообщение
    Во вложении.
    как говорится
    "я смотрю ты прям напрашиваешься на закидывание тебе каких то тестов"

    ...но сначала их надо придумать и написать...
    те что были нужны за 7 лет забылись...
    Последний раз редактировалось NEO SPECTRUMAN; 23.03.2021 в 20:07.

  15. #10
    Master
    Регистрация
    21.08.2006
    Адрес
    Ижевск
    Сообщений
    910
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    272
    Поблагодарили
    149 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    ...что якобы и должно быть и в видео памяти при старте
    https://drive.google.com/file/d/1rYe...ew?usp=sharing
    D356 47C0 35F8 F55E 8A52 A88F F3F8 B003 03EB 3D7F

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

    NEO SPECTRUMAN (23.03.2021)

Страница 1 из 7 12345 ... ПоследняяПоследняя

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

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

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

Ваши права

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