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

User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 18 из 18

Тема: Где найти информацию по форматам хранения образов для эмуляторов?

  1. #11
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,746
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    265
    Поблагодарили
    199 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а какая в принципе разница?
    может не по логике 8080
    но зато линейно и по человеческой логике (слева на право)
    потому что ld hl,(nnnn) берет сначала младший потом старший байт
    потому что тип процессора должен на это указывать

    а то как хранится слово указывает что для автора ближе серия M68000

    как именно она находится
    и в какой последовательности байты?
    во во тут же возникают странные вопросы
    а так такого вопроса даже бы не возникло
    С уважением,
    Jerri / Red Triangle.

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

    По умолчанию

    Там странный немного алгоритм подсчета КС. Приведу просто кусок кода, рассчитывающий КС по этому методу:
    Код:
    uint16_t cs = 0;
    for (uint16_t i = 0; i < fileSize - 1; i++) {
        cs += buf[i];
        cs += (buf[i] << 8);
    }
    cs = (cs & 0xff00) | ((cs + buf[fileSize - 1]) & 0xff);
    Ну или смотрите оригинал в Мониторе хотя бы того же РК-86 - точка входа 0F82AH.

    Последовательность - опять-таки, сначала старший байт.

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

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    потому что ld hl,(nnnn) берет сначала младший потом старший байт
    потому что тип процессора должен на это указывать
    да какая разница если вводятся\выводятся то они по одному байту

    я тоже обычно стараюсь придерживаться правильной последовательности
    но если по ошибке выходит обратная я ее никогда не исправляю(про всякие 16 битные таблицы)...

    Цитата Сообщение от jerri Посмотреть сообщение
    во во тут же возникают странные вопросы
    а так такого вопроса даже бы не возникло
    да нет
    этот вопрос должен возникать постоянно
    чтоб неначто с деревянным черенком не наступить стоя по колено в воде
    Последний раз редактировалось NEO SPECTRUMAN; 10.03.2017 в 22:22.

  4. #14
    Activist
    Регистрация
    14.05.2013
    Адрес
    г. Москва
    Сообщений
    254
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В Микроше по-другому считается, и у ЮТ-88 по-своему.

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

    А в Специалисте, если я правильно помню, обратный порядок байт.

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

    По умолчанию

    Цитата Сообщение от uart Посмотреть сообщение
    В Микроше по-другому считается
    так что он не может из коробки загрузить РК-шную прогу???

    оно ж должно вроде было делаться совместимым
    ладно ют88...

  6. #16
    Activist
    Регистрация
    14.05.2013
    Адрес
    г. Москва
    Сообщений
    254
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    NEO SPECTRUMAN, у неё и скорость записи различается, и контрольная сумма без сикхробайта идёт. Ну и сама не совместима, частично в лучшую сторону, частично нет.

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

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

    По умолчанию

    Казалось бы, что за прошедшие 20 лет (когда доступны эмуляторы отечественных БК) форматы МГ-файлов для эмуляторов всех типов бытовых ЭВМ давно устоялись. Похоже, что так это есть для ОРИОНА, РК86 и клонов.

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

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

    Однако формат А.Волкова был неудобен для ориентации в записях на кассетах, т.к не содержит никакой информации об имени файла (отчего это имя приходилось говорить в микрофон). Потому, как только был опубликован орловский монитор, то его формат с именем (по директивам I и O) стал основным форматом применяемым на кассетах СПЕЦИАЛИСТА.

    Какие-же форматы имеются для виртуализации МГ-записей СПЕЦИАЛИСТА ?

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

    Эмулятор EMU от b2m не ориентируется на расширение файла, он работает в реальном времени прогоняя саму программу 8-ми разрядки, вводящую файл. Поэтому ему всё-равно каким расширением пользователь назовёт свои файлы.

    Работа в реальном времени это очень большое достоинство эмулятора EMU, потому что это позволяет грузить программы защищённые от копирования МГ-форматом или просто многоблочные программы в обычной двухфазной кодировке. Для правильного ввода важно лишь, чтобы сам пользователь знал в каком формате его файлы и не пытался вводить по директиве I файлы выгруженные по директиве W в формате волковского монитора и наоборот. Причём этот эмулятор также великолепно читает и пишет в формате WAV, хотя и надо знать некоторые нюансы по пользованию эмулятором для ввода программ по сбросу.

    Итак, из-за отсутствия двух разных расширений для двух разных форматов, встречаются МГ-файлы с расширением RKS в формате волковского монитора и встречаются МГ-файлы с расширением RKS в формате орловского монитора. Естественно взглянув на первые байты в дампе эти форматы легко различить. Файлы в формате волковского монитора имеют в начале блок адресов, а файлы для орловского монитора имеют в начале 3 байта D9 и затем имя файла длиной до 17-ти байт, после чего идет второй пилотон и далее остальная дребедень.

    Т.к эмулятор EMU от b2m не зависит от расширения файла, предлагаю для МГ-формата орловского монитора использовать расширение SPT (ну или любое другое, желательно характерное). От слов Specialist Tape, можно и TSP. Тогда сразу будет ясно, что для ввода такого файла надо использовать директиву I.

    В эмуляторе EMU от b2m работа с магнитофоном сделана просто великолепно, сто-процентное качество эмуляции, всё как в реале. Ввод по сбросу делается запуском магнитофона и, как только пошёл пилотон, запуском или директивы 'B', или, если монитор не имеет такой директивы, то запуском по GC000<ВК>. А красная кнопка сброса не срабатывает, т.к по ней ошибочно останавливается магнитофон. Это позволяет программе автоматически запуститься по окончании ввода. А для ввода по сбросу файла в формате WAV надо сначала выбрать отмену, а во-второй раз выбрать файл WAV.

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

    В случае волковского формата расширение RKS абсолютно оправдано, т.к соответствует логике форматов RKR, RKP, RKA, RKV, RKL и других RK?-форматов. К сожалению почему-то оказалось, что в этом эмуляторе не работает процедура ввода по сбросу или я просто не понял как это делается. Похоже, причина в неудачном алгоритме МГ-эмуляции (но зато EMU80 идеально эмулирует дисководы). Об этом напишу в теме EMU80.

    Итак, суть поста в том, чтобы уговорить пользователей и авторов эмуляторов использовать два типа файлов для эмулятора - в формате волковского монитора (RKS) и в формате орловского монитора. Как указано выше, для EMU ничего делать не надо, достаточно просто переименовать имеющиеся МГ-файлы, чтобы не было путаницы.
    Последний раз редактировалось barsik; 24.12.2017 в 14:37.

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

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    уговорить пользователей и авторов эмуляторов использовать два типа файлов для эмулятора - в формате волковского монитора (RKS) и в формате орловского монитора
    Можно ещё уговорить хранить файлы в разных каталогах. А можно и не уговаривать.

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

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

    Есть, правда, пара недостатков:
    - при записи wav-файла нужно как и раньше тыкать в кнопку на тулбаре после окончания записи, чтобы остановить запись файла
    - некоторые компьютеры имеют отдельные процедуры чтения/записи пилот-тона, обычно они просто пропускаются, если активен перехват, и к сожалению, если отключить перехват в момент открытия файла, то будет уже поздно, так что в этих случаях придётся действовать по старинке: сначала запускать проигрывание wav-файла, а потом давать команду чтения/записи
    Последний раз редактировалось b2m; 26.12.2017 в 17:45.

Страница 2 из 2 ПерваяПервая 12

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

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

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

Похожие темы

  1. Ответов: 15
    Последнее: 17.03.2020, 23:37
  2. Где найти ZX игры для мобилы?
    от KiN0 в разделе Разный софт
    Ответов: 6
    Последнее: 02.07.2008, 08:16
  3. Ответов: 19
    Последнее: 29.10.2005, 21:52
  4. Re^2: помогите найти информацию по людям
    от Danil Davydov (2:5050/151.11) в разделе Пресса
    Ответов: 7
    Последнее: 01.10.2005, 17:55

Ваши права

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