User Tag List

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

Тема: Emu80 v.4

Древовидный режим

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

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

    По умолчанию

    Цитата Сообщение от Pyk
    А для формата MSX кроме подпрограмм ввода/вывода байта нужно еще перехватывать чтение и запись заголовков. Я пока не смотрел, как это сделано в ленинградском Мониторе, но думаю, что найти их адреса для перехвата также можно.
    Это не требуется. В ленинградском мониторе используется не высокоуровневый протокол MSX, т.е все те же служебные байты, заголовки и т.п. что есть в компьютере MSX. А лишь заменяется низкоуровневый формат. А протокол, т.е пилотон, синхробайт, байты D9, имя файла и т.п - всё остаётся как и ранее. Т.е можно также выводить и по W и по O и затем соответственно грузить по R или I.

    А на слух после нажатия на НР+F3 просто меняется звук, вместо шипа идет более приятный тональный сигнал. Но MSX двухчастотный формат несмотря на всю известность менее надёжный, чем двухфазный и ничуть не быстрее. Точнее при одной и той же скорости передачи MSX требует более высокого качества лентопротяга и ленты и вдвое большей полосы канала.

    Что меняется оттого, что одна подпрограмма вывода байта заменяется на другую подпрограмму вывода байта? Причём так можно менять на любой формат, в том числе и проводной программный и проводной аппаратный (это с ВВ51). А т.к точки входа LDBYTE/SVBYTE не меняются, то если перехватывать именно эти точки, то ничего больше делать не надо.

    Цитата Сообщение от Pyk
    загрузились все образцы wav-файлов как в формате по "I", так и по сбросу, кроме SP-COPY. Там какой-то свой формат записи - надо смотреть, почему не грузится
    Смотреть не надо... Точнее это бесполезно. Никогда по такому алгоритму эмуляции не загрузить программу защищённую от копирования. B2M кстати тоже нихрена не грузит, а вот проверьте на реале и убедитесь, что всё грузится.

    Там только первые блоки идут в стандартной кодировке. Первый блок первичный загрузчик грузится в экран и выводит мигающую надпись "DO NOT STOP TAPE !". Второй блок - это основной загрузчик, он тоже грузится ещё в двухфазной кодировке. А следующий блок идёт уже в двухчастотной кодировке, причём не в той же самой, что прошита в мониторе, а в вариации - на слух то же самое, но байты не грузятся стандартной подпрограммой. Обычно также используются ухищрения - типа загрузка кода в обратном порядке, т.е от старших адресов к младшим, с перестановкой байтов с шагом 2 или 4 и XOR-ом вводимых байтов с E6.

    Поэтому самОй SP-COPY её саму не скопировать. Этот копировщик берёт только двухфазный формат. Но он позволяет легко копировать примитивные защиты, что были в ходу в начальные годы. Защита была основана на том, что первый блок после загрузки и автостарта меняет константу ввода перед вводом второго блока и считает паузу до начала второго блока. Время паузы является ключом при декодировании второго блока. Это самая простая, но вполне эффективная защита и эмуляторы её тоже не берут.

    Такой формат никак не скопировать вручную. А SP-COPY делал идентичную копию таких программ. Он запоминал константы ввода для каждого блока и паузы между блоками. Но есть некопируемая разновидность этого метода, когда константа ввода меняется прямо в ходе загрузки, изменясь при вводе очередных 128-ми байтов плавно или по случайному закону.

    SP-COPY работает из экрана, отдавая под буфер ввода все 36 кб. А орионовская версия имеет буфер в 48 кб. Но гораздо круче копировщик работающий с электронным диском. Он грузит не в ОЗУ, а сразу во внешний эл.диск и позволяет копировать многоблочные программы любого размера.

    У меня было много защищённых от копирования программ СПЕЦИАЛИСТА, в т.числе и ценные. Они не сохранились, сохранились лишь те, к которым я имел авторский инсталятор. Так пропали адаптации ZX-игр. Инсталяторы тоже, кстати, нихрена не работают в эмуляторах, т.к в них не используются стандартные подпрограммы вывода.

    Цитата Сообщение от Pyk
    перехватывается подпрограмма ввода с клавиатуры с ожиданием нажатия - если ждем нажатия клавиши, подразумевается, что все прочитали или записали, и файл можно закрывать
    Это не позволит грузить многоблочные программы, т.к между загрузками блоков нет вызовов подпрограмм опроса клавиатуры (особенно C803, C81B ещё может быть для контроля на аборт), а программы написанные виртуозами не используют для опроса клавиш стандартные подпрограммы.
    Последний раз редактировалось barsik; 26.12.2017 в 09:03.

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

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

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

Похожие темы

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

Ваши права

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