User Tag List

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

Тема: Emu80 v.4

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

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

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

    По умолчанию

    Цитата Сообщение от Pyk
    Не грузятся ни в моем эмуляторе, ни в твоем
    И в эмуляторе от b2m тоже не грузятся.

    Похоже, что в этих эмуляторах нет честной работы в реальном времени. Возможно там и при вводе WAV какая-то "химия", основанная на перехвате известных входов в подпрограммы, а не работа в реальном времени. А если с лентой работает другая подпрограмма с другими входами, тут эмуляторы обламываются.

    Хотя при вводе WAV-файла казалось бы всё должно быть честно. Иначе почему не грузит WAV-записи в другом низкоуровневом формате. И не выгружает - инсталяторы, которые пишут защищённые от копирования программы тоже не работают.

    В EMU80 от Pyk вообще нет записи WAV-файла. А в EMU от b2m якобы что-то пишется в WAV, но файл оказывается тишиной. Пока в EMU80 не проверить ввод WAV-файла и неизвестно сделан там ввод WAV-файла честно или тоже "химия" на перехвате входов.

    А вот мой MSDOS эмулятор на тормозной 386SX33, что в 500 раз тормознее современных PC все защищённые МГ-программы грузились прямо с реального магнитофона. Потому что там все команды ввода/вывода на МГ-порт 8-ми разрядки переадресовывались на реальный ВВ55, стоящий на самодельной платке втыкаемой в ISA-слот. И через обычный МГ-адаптер всё читалось. Можно и без платки c ВВ55, а читать всё через бит параллельного LPT-порта. Но это не работает на ПЕНТИУМЕ, даже на самом медленном, т.к там даже без Windows прерывания от интегрированных устройств на плате рвут прогон программы в реальном времени.

    А вообще-то и прекрасно, что эмуляторы нихрена не читают WAV-файлы в реальном времени. Это значит, что как и в 80-тые можно делать МГ-программы которые будет сложно кракнуть, просто потому, что их не ввести в эмулятор, чтобы воспользоваться волшебной кнопкой и слить всё ОЗУ с регистрами в RSS-файл. Т.е получается и на реале не кракнуть и в эмуляторе не обмануть.

    Цитата Сообщение от Pyk
    Цитата Сообщение от barsik
    Это не позволит грузить многоблочные программы, т.к между загрузками блоков нет вызовов подпрограмм опроса клавиатуры
    Как раз наоборот, если для многоблочной программы записать все блоки в один файл, то он будет успешно грузиться
    Вы хотите сказать, что по окончании загрузки первого блока путём вставки фиктивного пилотона большой длины, пользуясь тем, что нет чтения клавиш (что служит у Вас признаком конца МГ-ввода) Вы предотвратите закрытие файла. Верю.

    Но первый блок начинает работу с того, что ждёт начало пилотона второго блока и программно считает время паузы. Дождавшись пилотона, он фиксирует время паузы и стартует программа определения константы ввода. А у Вас это вообще не сработает, потому что подпрограмма определения константы ввода сама лезет в порт МГ, а не получает уже готовые байты из подпрограммы LDBYTE.

    Кстати именно поэтому ленинградский монитор ничерта не работает в EMU80, но работает с EMU от b2m. Это из-за автонастройки на скорость записи. Монитор просто виснет в подпрограмме автонастройки ожидая фронтов на МГ-входе, а в эмуляторе EMU80 фронты на входе МГ не эмулируются. Вот оттого ленинградский монитор и виснет в процедуре автонастройки. Вскоре попробую отключить автонастройку на скорость, тогда будет работать.

    А грамотно надо перехватывать не входы в подпрограмму LDBYTE, а команду КР580 читающую из МГ-порта ! Т.е честно эмулировать прогон программы в реальном времени. С таким алгоритмом эмуляция магнитофона будет 100% точно соответствующей реалу.

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

    Но при вводе не WAV, а RKS (т.е готовых кодов) объединение блоков в сплошной массив не поможет. Ведь суть много блочной программы заключается в том, что блоки стартуют. По концу загрузки первого блока он сразу стартует и начинает выполнять программу по загрузке второго блока. А если вы перехватите ввод в начале ввода первого блока, то вы просто сольёте в ОЗУ весь массив блоков, а что это даст? А надо, чтобы сразу по окончании ввода первого блока он стартанул. В концепции b2m с перехватом точки выхода из LDBYTE, это сработает, а с Вашей "химией" не сработает.

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

    Кстати, SP-COPY вообще не использует подпрограмм из ПЗУ, поэтому ПЗУ можно снять, а программа продолжит работать. Для крака в качестве ПЗУ ставится такое, что обеспечивает копирование кода SP-COPY из экрана на 0. Нажав сброс я получил сам код SP-COPY, но не знаю какая точка входа. В эмуляторе это узнать не проблема.

    А JET-SET это не защищённая программа, это просто многоблочная программа в обычном двухфазном формате. Она копируется с помощью SP-COPY. Чужие программы от копирования не защищались. Все игры из пакета SP580 были переделаны под стандартный СПЕЦИАЛИСТ, а некоторые, что стоили того, были сделаны многоблочными. Защищались от копирования только авторские программы, которых ещё ни у кого нет.

    Прилагаю инсталятор SP-COPY для ОРИОНА. Он работает на СПЕЦИАЛИСТЕ с ленинградским монитором 3.3 (!), но пишет на ленту защищённые копии для ОРИОНА. Нихрена не работает в эмуляторах. С орловским монитором работать не будет. т.к использует встроенный в ПЗУ драйвер MSX. Есть инсталяторы и других программ ОРИОНА. Кстати эти защиты программ для ОРИОНА форматом MSX никто так кракнуть и не смог. Надо на реальном СПЕЦИАЛИСТЕ сделать копию на ленту. Тогда это можно будет грузить на ОРИОН по I (управление вышибает).

    Про многоблочные программы и SP-COPY можно прочитать здесь.
    Вложения Вложения
    Последний раз редактировалось barsik; 28.12.2017 в 07:21.

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

  3. #2

    Регистрация
    14.05.2013
    Адрес
    г. Москва
    Сообщений
    264
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Он работает на СПЕЦИАЛИСТЕ с ленинградским монитором 3.3
    Монитор где взять?

  4. #3

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

    По умолчанию

    Цитата Сообщение от uart Посмотреть сообщение
    Монитор где взять?
    В вложении поста #216, в теме "Ленинградский монитор" или во вложении этого поста. В файле OOO.RAR также предыдущий монитор 2.7, он немного хуже, но в нём есть некоторые команды, которые иногда нужны при компоновке блочных программ (запись блока без адресов загрузки), а также запись в формате ZX. Описание команд монитора можно найти здесь. Перевложил сюда предыдущую выкладку монитора, там кажется исходники. Для эмулятора EMU от b2m файлы конфига переместите в каталог config, остальные файлы в каталог Specialist.

    В минимуме достаточно 2 ПЗУ (C000...CFFF), но лучше 3 ПЗУ РФ2 (C000...D7FF). Остальное - редактор, ассемблер и RAMDOS факультативно. На месте RAMDOS D800...DFFF вставлены коды FF, т.к внешнего эл.диска на РУ7-мых ни у кого нет и в эмуляторах он не эмулируется (хотя это несложно сделать).

    Попозже хотелось бы попробовать переписать RAMDOS так, чтобы носителем был не внешний эл.диск на РУ7-мых, а внутренний RAM-диск на базе запасных банок ОЗУ, коммутируемых портом F9. При переключении банки все 62 кб становятся ОЗУ другой банки. Но доступ в это ОЗУ только через п/п-ммы F836/39. Аппаратно это легко делается заменой РУ5 на РУ7, для чего ставится доп. КП12 и регистр номера банки на 155 ТМ2. Такой эл.диск в 186 кб больше, чем у ОРИОНА (60+60+48=168) и Корвета (144 кб).

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

    Хотел бы сделать для проверки эмуляторов простую много блочную программу с простейшей защитой изменением скорости и паузами между блоками, но забыл где встречал программку для конверсии файлов .RKx в WAV. Если кто в курсе киньте, пожалуйства, ссылку.

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

    Частично могут помочь программы вывода типа RKWIN.EXE, что выдают коды в WAV-формате на AUDIO-выход PC и мой магнитофон "Легенда-404" с пассиком из бытовой резинки. Но сначала надо как-то подготовить блоки в WAV-формате.

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

    Можно также вывести звуки не в магнитофон, а в реальный ОРИОН с работающим на нём копировщиком SP-COPY прямо с выхода PC на его МГ-вход. Но как назло SP-COPY не может работать на Z80, т.к использует недокументированные команды КР580 для защиты от кракеров.

    А для заставок при МГ-вводе нужны готовые заставки в формате экрана ZX-Spectrum. Есть подпрограмма вывода ZX-экрана на экран СПЕЦИАЛИСТА в монохроме. Но раз в эмуляторе есть цвет, то можно переделать её для вывода в цвете. Это не автоматизировать, раскраску картинок придётся делать вручную. Придётся написать специальную программку для раскраски, т.к цвет СПЕЦИАЛИСТА другой и сильно уступает в цветовых возможностях. Можно даже сделать, чтобы заставка при вводе с МГ грузилась также как на ZX, в виде неподряд выводимых линий.
    Вложения Вложения
    Последний раз редактировалось barsik; 27.12.2017 в 15:57.

  5. #4

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,376
    Спасибо Благодарностей отдано 
    407
    Спасибо Благодарностей получено 
    650
    Поблагодарили
    256 сообщений
    Mentioned
    27 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    barsik, у меня в эмуляторе при загрузке wav-файла никакой "химии" нет - просто честно эмулируется железо. Если sp-copy грузится на реале, но не грузится в эмуляторе, возможно, есть какие-то погрешности в эмуляции.

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

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

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

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

Похожие темы

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

Ваши права

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