Загрузка операционной системы с виниловой пластинки

habr.com — Заголовка вполне хватит
Картинки, Юмор | Trubach 18:10 01.12.2020
2 комментария | 64 за, 0 против |
#1 | 18:43 01.12.2020 | Кому: Всем
Ох этот звук!!! Сколько часов было убито за ZX Spectrum... ))) Когда с другом ковыряли код программ и игр на ассемблере - если игра не была шифрована (xor или разные вариации защиты) по звуку можно примерно определить, где код, где данные, где пустые не занятые участки данных. )

Самое интересное - эксперименты по скоростной загрузке программ с модифицированным загрузчиком и ускоренным воспроизведением. )
#2 | 06:09 02.12.2020 | Кому: split
> похожа на то, как выглядит экран zx spectrum, если в область памяти экрана загрузить некий код.

У нас с другом был самописный просмотрщик памяти, в котором вывод в ширину можно уменьшать - уменьшаешь, бац, спрайт становится плохо различим - ещё уменьшаешь, чёткий спрайт из игры. Удобно было в Диззи просмотреть спрайты вещей и понять, что как можно дальше пройти - бумажного руководства к игре, которое прилагалось на Западе при продаже, не было. :) Графические ресурсы можно было выдирать, а используя код хождения на экране из Dizzy - подменяешь спрайты и вместо Яйца уже ходит твой набор спрайтов. Причем для хождения использовалась парный набор спрайтов - маска для очистки (накладываемая по AND на экран и собственно сам Dizzy, накладываемый по OR). Сама подложка копировалась и при следующей перерисовке - восстанавливалась обратно, не нужно было перерисовывать экран полностью. Вообще ковыряние в коде игр дало много знаний на будущее. ))

Если смотреть распечатку - первая 1/12 часть - это код на ассемблере (точки расположены хаотично), потом идут какие-то структурированные данные - характерные вертикальные повторяющиеся линии, таких блоков несколько, между которыми похоже есть код. А вот в самом конце что-то похоже на рисунок, растянутый в ширину. Если оцифровать, то можно посмотреть подробнее, что там было засунуто. )))

Объем данных - на моем экране примерно 124 мм в ширину, один байт примерно 4 мм ~ 31 байт в ширину. Высота тоже 124 мм, примерно 1 байт = 1 мм. Итого 124 * 31 ~ 3 КБ кода и данных. Для загрузчика на ассемблере норм. Это же не операционная система.
Войдите или зарегистрируйтесь чтобы писать комментарии.