Это не требуется. В ленинградском мониторе используется не высокоуровневый протокол MSX, т.е все те же служебные байты, заголовки и т.п. что есть в компьютере MSX. А лишь заменяется низкоуровневый формат. А протокол, т.е пилотон, синхробайт, байты D9, имя файла и т.п - всё остаётся как и ранее. Т.е можно также выводить и по W и по O и затем соответственно грузить по R или I.Сообщение от Pyk
А на слух после нажатия на НР+F3 просто меняется звук, вместо шипа идет более приятный тональный сигнал. Но MSX двухчастотный формат несмотря на всю известность менее надёжный, чем двухфазный и ничуть не быстрее. Точнее при одной и той же скорости передачи MSX требует более высокого качества лентопротяга и ленты и вдвое большей полосы канала.
Что меняется оттого, что одна подпрограмма вывода байта заменяется на другую подпрограмму вывода байта? Причём так можно менять на любой формат, в том числе и проводной программный и проводной аппаратный (это с ВВ51). А т.к точки входа LDBYTE/SVBYTE не меняются, то если перехватывать именно эти точки, то ничего больше делать не надо.
Смотреть не надо... Точнее это бесполезно. Никогда по такому алгоритму эмуляции не загрузить программу защищённую от копирования. B2M кстати тоже нихрена не грузит, а вот проверьте на реале и убедитесь, что всё грузится.Сообщение от Pyk
Там только первые блоки идут в стандартной кодировке. Первый блок первичный загрузчик грузится в экран и выводит мигающую надпись "DO NOT STOP TAPE !". Второй блок - это основной загрузчик, он тоже грузится ещё в двухфазной кодировке. А следующий блок идёт уже в двухчастотной кодировке, причём не в той же самой, что прошита в мониторе, а в вариации - на слух то же самое, но байты не грузятся стандартной подпрограммой. Обычно также используются ухищрения - типа загрузка кода в обратном порядке, т.е от старших адресов к младшим, с перестановкой байтов с шагом 2 или 4 и XOR-ом вводимых байтов с E6.
Поэтому самОй SP-COPY её саму не скопировать. Этот копировщик берёт только двухфазный формат. Но он позволяет легко копировать примитивные защиты, что были в ходу в начальные годы. Защита была основана на том, что первый блок после загрузки и автостарта меняет константу ввода перед вводом второго блока и считает паузу до начала второго блока. Время паузы является ключом при декодировании второго блока. Это самая простая, но вполне эффективная защита и эмуляторы её тоже не берут.
Такой формат никак не скопировать вручную. А SP-COPY делал идентичную копию таких программ. Он запоминал константы ввода для каждого блока и паузы между блоками. Но есть некопируемая разновидность этого метода, когда константа ввода меняется прямо в ходе загрузки, изменясь при вводе очередных 128-ми байтов плавно или по случайному закону.
SP-COPY работает из экрана, отдавая под буфер ввода все 36 кб. А орионовская версия имеет буфер в 48 кб. Но гораздо круче копировщик работающий с электронным диском. Он грузит не в ОЗУ, а сразу во внешний эл.диск и позволяет копировать многоблочные программы любого размера.
У меня было много защищённых от копирования программ СПЕЦИАЛИСТА, в т.числе и ценные. Они не сохранились, сохранились лишь те, к которым я имел авторский инсталятор. Так пропали адаптации ZX-игр. Инсталяторы тоже, кстати, нихрена не работают в эмуляторах, т.к в них не используются стандартные подпрограммы вывода.
Это не позволит грузить многоблочные программы, т.к между загрузками блоков нет вызовов подпрограмм опроса клавиатуры (особенно C803, C81B ещё может быть для контроля на аборт), а программы написанные виртуозами не используют для опроса клавиш стандартные подпрограммы.Сообщение от Pyk




Ответить с цитированием