ROM-формат: "веселые" подблоки
Нигде не сказано, что подблоки в блоке ROM-файла должны грузиться последовательно и никак иначе. Дык надо проверить! Грузим подблоки нормально, инверсно, туды-сюды, внутрь, наружу, интерлейсно, случайным образом, чередуем это все по два блока. Работает! Реальное видео (из эмулятора, не фейк) http://www.youtube.com/watch?v=gleNQY-oDLk
Скроллинг имени и новая защита ROM-файлов
В некоторых загрузчиках и копировщиках отображается имя загружаемого ROM-файла. Возникла шальная мысль - сделать текстовый скролл, подставляя в поле имени ROM-блока какой-нибудь свой текст, постепенно смещая его на один символ влево от блока к блоку. Но, к сожалению, реализовать эту задумку не удалось, т.к. имя файла считывается и отображается всего один раз. Зато попутно выяснилось, что поле имени каким-то образом используется при вычислении адреса загрузки следующего блока. Т.е. если во втором блоке ROM-файла изменить всего один символ имени, то блоки уже могут загружаться через одну или несколько позиций. И это несмотря на то, что номер блока, их количество и начальный адрес указаны правильно! Надо подумать, можно ли это использовать как-нибудь.
Те 42 байта, которые я выкинул из ROM-блока в предыдущем сообщении, можно использовать для скрытой передачи данных и создать еще один метод защиты от копирования. В этом случае программа может поставляться в виде двух ROM-файлов.
Первый ROM-файл - это загрузчик (один блок, запускается по БЛК+СБР, как в кишиневском ROM1, или автозапуском), который "знает", что в обычно неиспользуемых полях ROM-блока есть полезная информация, например, ключ декодирования по XOR.
Второй ROM-файл - закодированная программа, ключ декодирования которой находится в неиспользуемых полях подблоков. Загрузчик, считывая подблоки, извлекает ключ дешифровки и загружает в память уже корректные данные.
Если скопировать второй закодированный файл обычным копировщиком, ключ будет утерян и программа будет неработоспособна.
Вложений: 2
Рисуем во время загрузки ROM-файла
Во время загрузки ROM-файла можно писать поверх загрузочной таблицы и даже рисовать. Правда всего лишь одним цветом. Но зато это работает в любом из табличных магнитофонных загрузчиков. В приложении WAV-файл, скриншот и можно посмотреть видео http://www.youtube.com/watch?v=-hU9__2JB00