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

User Tag List

Страница 16 из 21 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя
Показано с 151 по 160 из 207

Тема: ПК8000 - Эмуляция и все что с ней связано

  1. #151
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,806
    Спасибо Благодарностей отдано 
    642
    Спасибо Благодарностей получено 
    1,773
    Поблагодарили
    1,023 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    emu перехватывает обращение к магнитофону по адресам, указанным в секции cas : tape-recorder файла конфигурации. В конфиге ПК8000 предполагается, что это пзу, но в VALLEY по этим адресам располагается и выполняется часть своего кода. Для однозначности нужно детектировать по комбинации адреса и win1.page. Но ПК8000 только один из конфигов, в других обращение к доп. памяти организовано иначе, т.е. вопрос в том, как сделать такой детект более универсальным.
    Можно, конечно, и игрушку хакнуть, но не очень хочется.

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

  3. #152
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    вопрос в том, как сделать такой детект более универсальным
    Эмулятор может сравнивать начальные байты перехватываемой процедуры (параметр check). Если они не совпадают, перехвата не будет.

  4. #153
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,806
    Спасибо Благодарностей отдано 
    642
    Спасибо Благодарностей получено 
    1,773
    Поблагодарили
    1,023 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо, это поможет не только VALLEY, но и ROTORS (можно не править тактовую). Правда у rotors (и еще у некоторых игрушек) есть еще проблемки отображения (пропадают спрайты), предположительно связанные с моментом прихода прерывания и быстродействием.
    Последний раз редактировалось ivagor; 14.06.2018 в 10:08.

  5. #154
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,806
    Спасибо Благодарностей отдано 
    642
    Спасибо Благодарностей получено 
    1,773
    Поблагодарили
    1,023 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проделал высокоинтеллектуальную работу по вбиванию чеков. В нагрузку идут правки организации внешней памяти.
    Вложения Вложения

  6. #155
    Member Аватар для scaraby
    Регистрация
    06.06.2015
    Адрес
    г. Раменское, Московская обл.
    Сообщений
    93
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  7. #156
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от scaraby Посмотреть сообщение
    emu - это эмулятор, который написан уважаемым b2m? Если так, то существует ли возможность поделиться исходным кодом?
    Нет, исходники останутся закрытыми. По крайней мере пока.

  8. #157
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,165
    Спасибо Благодарностей отдано 
    254
    Спасибо Благодарностей получено 
    428
    Поблагодарили
    175 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Добавил поддержку ПК8000 в свой эмулятор.

    Никогда не сталкивался с этим компьютером, интересно было познакомиться с ним.
    Основную информацию по архитектуре удалось найти здесь на форуме и на сайтах XobbiMan и Mick.
    Осталось немного неясных моментов, не сказывающихся вроде бы на выполнении существующих программ, чуть позже сформулирую.

    Основная тема обсуждения эмулятора:
    https://zx-pk.ru/threads/27488-emu80-v-4.html

    Анонс последней версии в той же теме:
    https://zx-pk.ru/threads/27488-emu80...l=1#post991900

    Сборка последней версии под Windows:
    http://emu80.org/v4beta/Emu80qt_40313.zip

    Исходники (GPL v.3):
    https://github.com/vpyk/emu80v4


    Особенности эмуляции ПК8000 и основные моменты при работе с эмулятором для тех, кто раньше с ним не сталкивался:


    Общие:

    - В эмуляторе используется средняя тактовая частота 1,8 МГц, вейты не реализованы

    - Чтобы увидеть бордюр, нажмите Alt-V либо соответствующую кнопку на тулбаре (показать видимую область).
    Alt-R переключает режим соблюдения соотношения сторон, Alt-S - сглаживание, кнопки также есть на тулбаре.
    В режиме отображения бордюра изображение слегка смещено влево по сравлению с реалом для устранения обрезания картинки справа.

    - Для ускорения работы эмулятора нажмите и держите клавишу Del

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


    Загрузка:

    - Встроенный загрузчик умеет загружать бинарные файлы (обычно загружаемые через bload) и токенизированные basic-файлы (обычно загружаемые через cload).
    Загружать через Alt-F3 (с автозапуском) или Alt-L (без автозапуска) либо через соответствующие кнопки на тулбаре или пункты меню.
    (Сделана также попытка поддержки загрузки файлов с автозапуском, но не всегда корректно работает почему-то).
    Работает также drag'n'drop в окно эмулятора, ну и bload и cload, конечно, тоже.

    - Выбор образов дисков A/B через Alt-A и Alt-B.

    - Wav-файлы загружаются только через команды basic или другой прикладной программы. Можно либо выбрать wav-файл при запросе вместо cas,
    либо предварительно запустить его воспроизведение с помощью Alt-W. Для записи wav-файла выберите тип файла wav в диалоге сохранения.
    Кроме wav поддерживаются также сжатые файлы csw (Compressed Square Wave), работа с ними аналогична wav. Также в настройках можно задать
    ускорение эмуляции при воспроизведении wav-файла.


    Клавиатура:

    - По умолчанию стоит "Умная" раскладка клавиатуры. Просто набираете текст в соответстви с раскладкой PC, язык также переключается системными средствами.
    При необходимости можно переключить раскладку на qwerty либо йцукен.

    - Джойстик пока не поддерживается

    - Назначение некоторых неочевидных клавиши:
    ГРАФ - F10
    АЛФ - Ins
    ФИКС - F8
    СТОП - F12
    SEL - F11
    Ъ/_ - F6
    СТРН - PgUp

    Предложения по переназначению на другие клавиши принимаются
    Последний раз редактировалось Pyk; 21.12.2018 в 01:11.

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

    По умолчанию

    Собственно, вот какие непонятные вопросы возникли по ходу реализации.
    Они вроде бы не влияют на выполнение существующих программ, но хотелось бы их разобраться и учесть в следующих версиях.

    1. Непонятно, отображаются ли как-то на память регистры цвета A0-BF либо они доступны только через порты?
    В документации указано фиксированное смещение 400 этих регистров в буфере. Если их можно читать или писать через память, что происходит в случае, если они пересекаются с областями знакогенератора или текстового буфера?

    2. Порты 92 и 93. В обсуждении пришли к выводу, что они инвертированы, мне же кажется более вероятным,
    что в документации просто перепутали их местами. Так и сделал в эмуляторе, но неплохо бы проверить... Могу набросать тест при необходимости.

    4. Что читается из не подключенного слота расширения? Слово состояния процессора?

    5. Защелкивается ли сигнал запроса прерывания? Будет ли запрос, пришедший во время запрещенных прерываний, обработан, как только прерывания будут разрешены?
    В каких существующих для ПК8000 программах вообще используются прерывания?

    6. Вот здесь:
    https://zx-pk.ru/threads/8376-pk8000...l=1#post967709
    ivagor публиковал исправленный конфиг для эмулятора b2m, из которого следует, что при обращении к слотам расширения запись всегда происходит фактически в ОЗУ.
    Либо я не понял идею, либо это не так: как хотя бы в таком случае будет происходить запись в порты контроллера НГМД?

  10. #159
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,806
    Спасибо Благодарностей отдано 
    642
    Спасибо Благодарностей получено 
    1,773
    Поблагодарили
    1,023 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    1. Непонятно, отображаются ли как-то на память регистры цвета A0-BF либо они доступны только через порты?
    На память регистры цвета не отображаются. Штатное пзу в screen 1 раз в 16 прерываний переписывает эту область из памяти в порты.
    Цитата Сообщение от Pyk Посмотреть сообщение
    В каких существующих для ПК8000 программах вообще используются прерывания?
    Во многих, например в штатном пзу.

    Вопрос про курсор вниз - на какой он клавише?
    И вроде все же при старте должен быть английский регистр.

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

    Цитата Сообщение от Pyk Посмотреть сообщение
    ivagor публиковал исправленный конфиг для эмулятора b2m, из которого следует, что при обращении к слотам расширения запись всегда происходит фактически в ОЗУ.
    Насколько я помню, в идеале запись
    1) Всегда идет во внутреннее озу
    2) +может параллельно идти наружу, если там есть куда писать.
    Конфиг emu такое вроде не позволил сделать, поэтому ни штатный конфиг, ни мой правленый не на 100% соответствует реалу.

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

    Цитата Сообщение от Pyk Посмотреть сообщение
    Защелкивается ли сигнал запроса прерывания? Будет ли запрос, пришедший во время запрещенных прерываний, обработан, как только прерывания будут разрешены?
    Насколько помню - да. По крайней мере в финальных тестах быстродействия ПК8000 этот момент я отрабатывал.

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

    Цитата Сообщение от Pyk Посмотреть сообщение
    2. Порты 92 и 93. В обсуждении пришли к выводу, что они инвертированы, мне же кажется более вероятным,
    что в документации просто перепутали их местами.
    Тогда их перепутали как минимум
    1) В описании портов
    2) В описании оператора BASE
    3) В реализации оператора BASE
    Мне такие 3 перепутывания кажутся маловероятными
    Последний раз редактировалось ivagor; 21.12.2018 в 07:49. Причина: исправил

  11. #160
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,165
    Спасибо Благодарностей отдано 
    254
    Спасибо Благодарностей получено 
    428
    Поблагодарили
    175 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Вопрос про курсор вниз - на какой он клавише?
    На стрелке вниз. Что-то не так?

    Цитата Сообщение от ivagor Посмотреть сообщение
    И вроде все же при старте должен быть английский регистр.
    Какой в Windows по умолчанию установлен, такой и будет:
    Цитата Сообщение от Pyk Посмотреть сообщение
    По умолчанию стоит "Умная" раскладка клавиатуры. Просто набираете текст в соответстви с раскладкой PC, язык также переключается системными средствами.
    Цитата Сообщение от ivagor Посмотреть сообщение
    Насколько я помню, в идеале запись
    1) Всегда идет во внутреннее озу
    2) +может параллельно идти наружу, если там есть куда писать.
    У меня это возможно в конфиге, могу сделать. Неплохо бы только уточнить на реале конкретно на портах КНГМД...

Страница 16 из 21 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. ДВК (и всё, что с ними связано)
    от Grand в разделе ДВК, УКНЦ
    Ответов: 4524
    Последнее: 25.02.2024, 16:02
  2. PAL/GAL и все что с ними связано.
    от Mick в разделе Клоны на ПЛИС, МК и БМК
    Ответов: 487
    Последнее: 01.12.2023, 00:30
  3. ПК8000 - Общие вопросы
    от Mick в разделе ПК8000
    Ответов: 596
    Последнее: 19.04.2023, 21:02
  4. Ответов: 183
    Последнее: 21.07.2022, 07:20
  5. Ответов: 71
    Последнее: 25.02.2010, 22:40

Ваши права

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