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

User Tag List

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

Тема: Эмулятор Союз-Неон ПК-11/16 - NEONBTL

  1. #1
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,994
    Спасибо Благодарностей отдано 
    1,057
    Спасибо Благодарностей получено 
    1,220
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Эмулятор Союз-Неон ПК-11/16 - NEONBTL

    Благодаря совместным усилиям участников этого форума - @xolod, @Alex_K, @Titus и моих - создаётся второй эмулятор Союз-Неона!

    Репо: https://github.com/nzeemin/neonbtl
    Скачать: https://github.com/nzeemin/neonbtl/releases



    Состояние:
    Загружается до командной строки RT-11. Заработала запись на диск. Загружаемся в Аспект.
    Есть поддержка IDE HDD (драйвер HZ).
    Заработал Covox.

    Недоделки:
    - Зависает на демо на передаче файла мелодии в устройство SN.
    - Звук с ВИ53 пока не работает.
    - Не сделана запись в память по маске - проявляется на демо в тенях надписей, в игре Tetris.

    Маппинг клавиатуры:
    К1..К5 = F1..F5
    ПОМ УСТ ИСП = F6..F8
    СБРОС = F11, СТОП = F12
    АР2 = Esc, ЗБ = Backspace
    Таб = Tab, ВВОД = Enter
    НР = LShift, УПР = LCtrl
    АЛФ = RShift, ГРАФ = RCtrl

    Руководство пользователя эмулятора:
    https://github.com/nzeemin/neonbtl/b...r-manual-ru.md — русский
    https://github.com/nzeemin/neonbtl/b...r-manual-en.md — английский

    Веб-версия эмулятора: https://nzeemin.github.io/neonbtl-wasm/index.html?run=1
    Последний раз редактировалось nzeemin; 03.06.2023 в 16:56.

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

    Alex_K (07.01.2023), ALS (12.01.2023), Doronetty (10.01.2023), Oleg N. Cher (08.01.2023), Radon17 (08.01.2023), shattered (09.01.2023), Titus (07.01.2023), UncleDim (07.08.2023), Ynicky (08.01.2023), yur (08.01.2023), ZEman (07.01.2023)

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

  4. #2
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    345
    Спасибо Благодарностей получено 
    606
    Поблагодарили
    398 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не грузится диск System.dsk, который я передавал с IOSCAN. Сначала ошибка записи файла LD.SYS потом вообще останов по ошибке загрузки системы. Сам образ диска чуть больше 800 Кб.

    Не различает устройства FD0 и FD1, идёт обращение на FD0.

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

    Да, если была попытка записи, то она завершается с ошибкой, а после перестаёт работать и чтение.

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

    nzeemin (07.01.2023), Oleg N. Cher (08.01.2023)

  6. #3
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,994
    Спасибо Благодарностей отдано 
    1,057
    Спасибо Благодарностей получено 
    1,220
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Не грузится диск System.dsk, который я передавал с IOSCAN. Сначала ошибка записи файла LD.SYS потом вообще останов по ошибке загрузки системы. Сам образ диска чуть больше 800 Кб.
    Сделал заглушку на запись, получил результат IOSCAN под эмулятором. Для сравнения, справа реал.
    Но под эмулятором я не делал Ctrl+C, Ctrl+C - потому что не размаплено ещё )



    В эмуляторе с убраным STARTS.COM:


    И для комплекта ещё - как в эмуляторе Титуса:
    Последний раз редактировалось nzeemin; 08.01.2023 в 15:14.

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

    Alex_K (08.01.2023), Oleg N. Cher (08.01.2023), Radon17 (08.01.2023)

  8. #4
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,994
    Спасибо Благодарностей отдано 
    1,057
    Спасибо Благодарностей получено 
    1,220
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Похоже, "неиспользуемые" регистры в диапазоне 161000-161776 при запросе отдают младший байт адреса:


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

    Alex_K (08.01.2023)

  10. #5
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    345
    Спасибо Благодарностей получено 
    606
    Поблагодарили
    398 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    В эмуляторе с убраным STARTS.COM:
    Да, есть ещё куда работать. И особенно с сигналами внешних прерываний - ACLO, EVNT, HALT и VIRQ. Особенно с сигналами радиальных прерываний (которые по уровню) HALT и VIRQ. ACLO и EVNT защёлкиваются по обратному фронту и с ними таких проблем нету. А вот с HALT и VIRQ есть проблема в том, что процессор начинает их обрабатывать с запаздыванием на одну команду. Если я не ошибаюсь, регистр прерываний формируется в начале исполнения команды и уже после исполнения команды, когда происходит обработка прерываний с учётом маскирования, то используется этот регистр. Т.е. командой выставили требование HALT или VIRQ, то оно не исполнится сразу после команды, а после следующей. Вот поэтому при обращении к эмулируемым регистрам после команд, стоят NOP. Это кстати не сделано и в UKNCBTL, поэтому там и отсутствует прерывание по неполучению адреса вектора прерывания (SEL274).
    И кстати, IOSCAN-а лучше сделать два. Один классический без NOP, а второй с NOP, чтобы видеть разницу между аппаратным TRAP4 и эмулируемым.

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

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Похоже, "неиспользуемые" регистры в диапазоне 161000-161776 при запросе отдают младший байт адреса:
    А точно из всего диапазона? 1610XX - это реально присутствующее оборудование, 1612XX - регистры UR и HR, 1614XX - RTC. Сигналы для выбора диапазонов 1611XX, 1613XX, 1615XX заводятся на внешние разъёмы. В схеме есть формирование сигнала 161XXX, а вот сигналов 1616XX, 1617XX нет.

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

    nzeemin (08.01.2023)

  12. #6
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,549
    Спасибо Благодарностей отдано 
    1,211
    Спасибо Благодарностей получено 
    1,742
    Поблагодарили
    679 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Да, есть ещё куда работать. И особенно с сигналами внешних прерываний - ACLO, EVNT, HALT и VIRQ
    Как ни странно, софт на ПК11 оказался гораздо менее критичным, чем на УКНЦ.
    Даже на моем эмуляторе работает весь софт, который имеется в наличии, хотя эмуляция далека от точного повторения железа.

  13. #7
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,994
    Спасибо Благодарностей отдано 
    1,057
    Спасибо Благодарностей получено 
    1,220
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    https://github.com/nzeemin/neonbtl/r...preview-99.zip

    Клавиатура размаплена на клавиатуру PC почти полностью.
    Экранная клавиатура размаплена полностью.
    Сделана заглушка на запись на диск, чтобы не давало ошибок.

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

    Aleks1985 (09.01.2023), Alex_K (08.01.2023), Radon17 (09.01.2023)

  15. #8
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,994
    Спасибо Благодарностей отдано 
    1,057
    Спасибо Благодарностей получено 
    1,220
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию



    Ну, в общем, на Союз-Неон можно поиграть в патченую версию Сталкера.
    В начале я воткнул Esc-последовательность для переключения VT100 -> VT52, так оно всё показывает.
    Единственное только, числовая клавиатура даёт не цифры, а странные коды, поэтому ходить надо обычными цифрами.
    Вложения Вложения

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

    Alex_K (10.01.2023), Radon17 (10.01.2023)

  17. #9
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    345
    Спасибо Благодарностей получено 
    606
    Поблагодарили
    398 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Единственное только, числовая клавиатура даёт не цифры, а странные коды, поэтому ходить надо обычными цифрами.
    Это дополнительная клавиатура работает в режиме ДКЛ (альтернативный). В VT-52 включается через <Esc>= (Escape равно), выключается - <Esc> > (Escape больше). Но, если судить по документации, у Союз-НЕОН отсутствует команда отключения режима ДКЛ и допклавиатура всегда работает в режиме ДКЛ. Наверное не всё смогли впихнуть в сжатый блок, потому так и сделали. Эту клавиатуру используют редакторы KED/KEX/K52. Редактор KED, который идёт с дисками для Союз-НЕОН на самом деле является адаптированной специально для Союз-НЕОН версией редактора KEY. А сам редактор KEY является расширенной версией оригинальных редакторов KED/K52, писался у нас в СССР.

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

    nzeemin (10.01.2023)

  19. #10
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    345
    Спасибо Благодарностей получено 
    606
    Поблагодарили
    398 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Борьба с переходом через границу памяти в прошивке ПЛМ P3.

    Собственно известно, что в Союз-НЕОН 22-разрядный физический адрес памяти образуется сложением соответствующего регистра диспетчера памяти, где располагаются разряды с 21 по 12, и виртуального адреса, откуда берутся разряды с 12 по 0. Как видим, общими являются разряды 12, а значит при сложении возможен перенос. В ТО написано, что перенос осуществляется в разряды 13-19, но по анализу прошивки P3 это не так. Сам перенос осуществляется в разряды с 13 по 20. А вот с последним 21-м разрядом интересная ситуация. Если в нём будет реализован полноценный перенос, то он может очистится и физический адрес будет указывать на самое начало памяти, что может привести к её порче, а там находятся регистры виртуальных устройств. Поэтому разработчики поступили следующим образом, вот логическое выражение формирования 21 разряда физического адреса: MMBA21*/PG7+MMBA15*MMBA14*MMBA20*/PG7*CA14*MMBA17*MMBA16*MMBA19*MMBA18. Суть в том, что он будет в единице в том случае, если он уже был в единичном состоянии или был перенос в него. В нулевом состоянии он останется, если он уже был в нулевом состоянии и не было переноса в него. Таким образом не будет портится самое начало памяти, а будет портится, в случае чего, самое начало 2 Мб.
    Последний раз редактировалось Alex_K; 10.01.2023 в 22:59.

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

    CodeMaster (11.01.2023), nzeemin (11.01.2023), Radon17 (11.01.2023), Titus (10.01.2023)

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

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

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

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

Похожие темы

  1. Эмулятор Союз-Неон ПК-11/16 - EmuStudio
    от Titus в разделе Эмуляторы отечественных компьютеров
    Ответов: 333
    Последнее: 15.02.2024, 02:56
  2. Союз-Неон ПК-11/16 описания и доработки
    от pilgrim в разделе ДВК, УКНЦ
    Ответов: 96
    Последнее: 07.11.2023, 15:29
  3. Программирование для ПК 11/16 «Союз-Неон»
    от MacBuster в разделе ДВК, УКНЦ
    Ответов: 149
    Последнее: 11.01.2021, 21:10
  4. Проект рабочей реплики Союз-Неон ПК-11/16
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 4
    Последнее: 10.08.2018, 12:31
  5. ПК-11 'Союз-Неон'
    от Keeper в разделе ДВК, УКНЦ
    Ответов: 12
    Последнее: 16.10.2013, 05:07

Ваши права

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