User Tag List

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

Тема: Emu80 v.4

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

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

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    перенос из темы "игра Элитэ на КР580", т.к там это оффтопик.

    Цитата Сообщение от Pyk
    можно... добавить прерывания в Специалист... назвать как-нибудь эту доработку (условно "Специалист 2017"), опубликовать спецификацию
    Новую платформу из-за нескольких резисторов объявлять не нужно. Чем больше платформ, тем меньше на них пользователей. Зачем платформа, если на ней будет только её автор? Пользователей СПЕЦИАЛИСТА осталось 3 человека (надеюсь после настройки плат новоделов станет чуть больше).

    Цитата Сообщение от Pyk
    Тогда если я или автор другого эмулятора заявит поддержку "Специалиста 2017"
    Вот смотрим эмулятор АМИГИ. В нём можно поменять кучу всего, процессоры, периферийные БИС, ROM, память, дисководы, винчестер. Всё настраивается во вкладках. Так сложилось оттого, что было много моделей и не проблема смена комплектации в конкретной машине.

    Почему же в отечественных эмуляторах надо вводить платформы. Нужен один эмулятор, но в нём вкладки, где всё дополнительное можно задать. Для СПЕЦИАЛИСТА тоже было бы удобно задавать во вкладках:

    - 3 типа цвета и один монохром
    - конструкция ПЗУ (многостраничное или нет)
    - выбрать содержимое ПЗУ
    - определить ОЗУ или ПЗУ в верхней области выше ПЗУ C000...CFFF
    - выбрать тип КНГМД
    - задать винчестер
    - задать контроллер на 'microSD'
    - задать ROM-диск и его содержимое
    - задать число доп.банок ОЗУ
    - задать внешний электронный диск
    - задать наличие прерываний
    - задать тиккер на МГ-входе
    - задать ВИ53 на 3 канала

    Так удобнее, чем какие-то платформы. Каждый сможет быстро выбрать вариант для отладки своей программы под своё конкретное железо. У пользователя может быть сделана всего одна или две доработки.

    Если же делать платформы, то их число перевалит за тысячу. Из школы мы знаем, что число сочетаний равно "n-факториал". Считайте. Потому вкладки удобнее, чем платформы задаваемые конфиг-файлами. Но это лишь предложение исходя из того, как это делается в иностранных эмуляторах.

    Предположительно реализация не создаст особых проблем, т.к каждое устройство в Вашем эмуляторе задается несколькими строчками в текстовом файле. Потому перенастройка во вкладках просто заканчивается записью соответствующего текстового файла, избавляя пользователя вникать в устройсво конфиг-файлов разных эмуляторов. К тому же часть железа уже и так выбирается во вкладках (например цвет 4/8/монохром).
    Последний раз редактировалось barsik; 19.12.2017 в 12:45.

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

  3. #2

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    401
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    barsik, спасибо, я понял идею (в этом плане хорошо организованы настройки в эмуляторе Orion/Z от Error404).
    В планах подобное есть, но, увы, не в самых ближайших.

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

  4. #3

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Недавно мне понадобился эмулятор СПЕЦИАЛИСТА работающий с РК-КНГМД. И естественно, выбор пал на великолепный много-платформенный эмулятор EMU80 от Pyk.

    В попытке проверить RAMDOS, RAMDOS-Commander, защищённые от копирования программы, их инсталляторы, МГ-компоновщик и SP-COPY, я столкнулся с проблемой загрузить программу с автостартом. На СПЕЦИАЛИСТЕ это делается без всяких директив, просто по сбросу.

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

    В итоге пришёл к выводу, что такой возможности в эмуляторе EMU80 вообще нет из-за использованного алгоритма. А даже если бы такая возможность была, это всё-равно не позволило бы грузить МГ-программы защищённые от копирования и даже просто многоблочные программы. Т.к принцип эмуляции магнитофона здесь основан на перехвате единственной подпрограммы LDBYTE (C377, С806). Причём предполагается, что эта подпрограмма вызывается из подпрограммы ввода массива, в которой передаются адреса для ввода блока, а в конце массива следует контрольная сумма.

    Но в многоблочных программах только первый блок, что является программным загрузчиком остальных блоков, идёт в таком формате, а остальные блоки не содержат ни адресов, ни контрольных сумм (т.к первичный загрузчик их и без того знает).

    При такой концепции эмуляции магнитофона, магнитофон эмулируется не в реальном времени, оттого ни МГ-константы ввода/вывода CLD и CSV, ни скорость CPU вообще не играют роли, а в самом ПЗУ весь код подпрограммы ввода байта можно забить любой информацией (это даёт удобство при модификациях ROM-BIOS специально для эмулятора).

    А вот эмуляция обоих типов дисководов в эмуляторе EMU80 сделана полноценно, в реальном времени. Поэтому, кстати, такт эмулируемого CPU в конфиге понижать нельзя, - перестаёт работать дисковод. Потому в EMU80 работают форматёры дисков, а в EMU форматёры не работают.

    Но даже и в такой концепции, полагаю, нет проблемы сделать и автостарт одного блока и ввод многоблочных программ. Но надо вводить все байты идущие с ленты. Пилотоны можно опустить, а вот все синхробайты E6, необходимы. Таким образом именно отсутствие в формате RKS байта E6 приводит к неприятностям. Именно по этой причине в формате GAM все байты E6 были сохранены.

    При этом желательно эмулировать подпрограмму C377 с той же скоростью, с какой она прогоняется в реальной ЭВМ (для чего надо "посмотреть" на CLD в ячейке 8FFF). Однако концепция перехвата LDBYTE не позволит грузить МГ-файлы использующие нестандартный низкоуровневый формат записи. Потому имеющиеся возможности ленинградского монитора по чтению МГ-формата ZX-Spectrum и МГ-формата MSX не могут работать в эмуляторе EMU80.

    А пока процедура ввода по первому вызову C377 просто открывает файл с заданным именем, интерпретирует первые 4 байта как адреса блока и считав файл, далее, вероятно, по понижению стека на 1 уровень (что соответствует RET из п/п-ммы C414 ввода массива) а скорее всего по выходу на конкретный адрес делается возврат в программу 8-ми разрядки. Этим объясняется, что лениградский монитор СПЕЦИАЛИСТА (в котором 100% совмещены все стандартные входные точки, но также и все нестандартные точки), не работает на ввод с магнитофона.

    Можно и не зацикливаться на подпрограммах ввода байта (C377 и C806), а перехватывать подпрограммы ввода блоков - C3F9, c414, С422 и C824. Тогда по LDBYTE будет читаться служебная информация, а по входу в процедуры ввода блока читаться блок данных из файла.

    Предположив, что возможно удастся загрузить и автозапустить по сбросу файл в WAV-формате с помощью нажатия на ALT-W, я попробовал грузить те WAV-файлы, что без проблем грузились в эмулятор от b2m. Но почему-то получил сообщение, что формат файлов неправильный, хотя эти записи нормально грузятся и в реале.

    Вот такая ситуация по работе с магнитофоном. Выяснилось, что RAMDOS, даже если эмулировать внешний эл.диск на РУ7 или заменить его на внутренний RAM-диск из доп.ОЗУ, использовать на EMU80 не получится не только потому, что там другой формат магнитофона, но и потому, что программы там грузятся по сбросу.

    Пока получается, что для программ работающих с дисководом надо использовать EMU80 от Pyk, а для магнитофонных программ работащих в реальном времени - эмулятор EMU от b2m.

    Надеюсь, что описание возможностей упомянутых эмуляторов не вызовет озлобление их авторов в мой адрес. Если я кардинально заблуждаюсь и просто не умею пользоваться чужими программами без документации, прошу прощения и подробных инструкций.
    Последний раз редактировалось barsik; 24.12.2017 в 13:03.

  5. #4

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    401
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    В попытке проверить RAMDOS, RAMDOS-Commander, защищённые от копирования программы, их инсталляторы, МГ-компоновщик и SP-COPY, я столкнулся с проблемой загрузить программу с автостартом.
    К сожалению, я не сталкивался с подобными программами. Если поделитесь, я попробую посмотреть, что можно сделать. Какой-то принципиальной невозможности грузить подобные файлы я не вижу.
    Кстати, по умолчанию с эмулятором поставляется модифицированный Монитор, в котором отключена загрузка по сбросу, чтобы не выдавался запрос rks-файла сразу после сброса. Если восстановить оригинальный Монитор, загрузка по сбросу работает.

    Цитата Сообщение от barsik Посмотреть сообщение
    Т.к принцип эмуляции магнитофона здесь основан на перехвате единственной подпрограммы LDBYTE (C377, С806). Причём предполагается, что эта подпрограмма вызывается из подпрограммы ввода массива, в которой передаются адреса для ввода блока, а в конце массива следует контрольная сумма.
    Нет, это не предполагается. Например, без проблем работает бейсик, который вызывает отдельно подпрограмму для загрузки байта и не использует ввод массива.

    Цитата Сообщение от barsik Посмотреть сообщение
    Пилотоны можно опустить, а вот все синхробайты E6, необходимы. Таким образом именно отсутствие в формате RKS байта E6 приводит к неприятностям. Именно по этой причине в формате GAM все байты E6 были сохранены.
    Да никакой особой проблемы: при записи пропускается только самый первый синхробайт, а при чтении учитывается признак поиска синхробайта. Можно считать это более или менее логичным, но однозначность в любом случае сохраняется и ни к каким неприятностям не приводит. Пока не было времени это проверить.

    Цитата Сообщение от barsik Посмотреть сообщение
    имеющиеся возможности ленинградского монитора по чтению МГ-формата ZX-Spectrum и МГ-формата MSX не могут работать в эмуляторе EMU80
    Эмулятор поддерживает формат CAS для формата MSX, интересно было бы попробовать перехватить также и эти вызовы. А для ZX остается загрузка wav.

    Цитата Сообщение от barsik Посмотреть сообщение
    лениградский монитор СПЕЦИАЛИСТА (в котором 100% совмещены все стандартные входные точки, но также и все нестандартные точки), не работает на ввод с магнитофона
    Почему не работает Ленинградский Монитор я проверю и отдельно отпишусь.

    Цитата Сообщение от barsik Посмотреть сообщение
    я попробовал грузить те WAV-файлы, что без проблем грузились в эмулятор от b2m. Но почему-то получил сообщение, что формат файлов неправильный, хотя эти записи нормально грузятся и в реале.
    Пожалуйста, пришлите примеры этих файлов, интересно будет посмотреть, что с ними не так.

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

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

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

Похожие темы

  1. Emu80, старые версии
    от Pyk в разделе Эмуляторы отечественных компьютеров
    Ответов: 68
    Последнее: 11.03.2017, 00:33

Ваши права

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