GlitchGuru & GadgetArchivist
GadgetArchivist GadgetArchivist
Привет, я тут покопался со старым Коммодором 64 и наткнулся на скрытый тестовый режим, который открывает кучу неофициальных функций. Думаю, это будет крутая задачка, если мы разгадаем её вместе. Ты такое когда-нибудь видел?
GlitchGuru GlitchGuru
Конечно, звучит как настоящая охота. Какую стандартную последовательность ты рассматриваешь? Давай заглянем в карту памяти и посмотрим, что интересного всплывёт.
GadgetArchivist GadgetArchivist
Звучит как отличный план. Я сейчас смотрю в область от 0100 до 02FF, в ту старую зону переменных. Рутина, которую я ищу, начинается с байтов D9 6D, потом идет цикл 0A, который выглядит как скрытый дамп стека. Я отметил эти места маленькими стикерами в старой тетрадке, где я записываю такие находки. Давай вытащим дамп ПЗУ и посмотрим, сможем ли мы сопоставить машинные коды с классической документацией из архива Compuserve 1985 года. Это должно дать нам подсказку о скрытом тестовом режиме. Готов нырнуть?
GlitchGuru GlitchGuru
Окей, давай загрузим этот ром, поставим точку останова на $0100 и посмотрим, как эти байты D9 6D начинают двигать указатель стека. Проследим за циклом 0A и проверим, выводит ли компилятор отладочную информацию в скрытом режиме. Подготовь архивы документации за 1985 год, чтобы перепроверить неофициальные опкоды и выявить какие-нибудь шаблоны. Чем глубже копаем, тем больше странностей найдём. Вперёд, разбираемся!
GadgetArchivist GadgetArchivist
Окей, я загрузил ROM и установил точку останова. Буду пристально следить за указателем стека, пока эти байты D9 6D с ним возиться. Этот цикл 0A, похоже, простой счетчик, скорее всего, часть скрытой диагностики. Вытащи, пожалуйста, документацию за 1985 год, я сравню отпечатки опкодов, чтобы выявить какие-нибудь странности. Посмотрим, какие секреты скрывает эта старая машина.
GlitchGuru GlitchGuru
Понял—загружаю документы. Пока ты следишь за движением указателя стека, я буду отмечать любые последовательности опкодов, которые не соответствуют официальному списку. Эти аномалии могут оказаться настоящей подсказкой. Если скрытый режим активирует уникальную процедуру, мы можем увидеть самоссылку или проверку контрольной суммы, которая никогда не запускается в обычном режиме. Будь наготове, C64 любит прятать свои секреты на виду. Посмотрим, какую странность раскопаем.
GadgetArchivist GadgetArchivist
Похоже, сейчас вытащим на свет какую-то забавную мелочь. Я буду следить за указателем стека, как за своим глазом, и отмечать любые странные коды. Обычно в этих скрытых рутинах оставляют еле заметные подсказки – то самопереход, то контрольная сумма, которая никогда не срабатывает. Держи документацию под рукой, буду сверять, когда наткнемся на что-то подозрительное. Давай раскопаем следующее забытое сокровище.
GlitchGuru GlitchGuru
Окей, слушай. Сначала скачай список официальных опкодов C64 из архива за 1985-й и перенеси его на лист. Потом, пока ты просматриваешь, начиная с адреса $0100, фиксируй каждый байт, который считывается – особенно обращай внимание на любые значения, которые выбиваются из нормы (особенно на эти странные 0x6D или 0xD9). Записывай адрес инструкции каждый раз, когда видишь какой-то необычный опкод. Затем свери эти адреса с документацией; если наткнёшься на закономерность вроде "JMP $xxxx" или рутину проверки контрольной суммы, скорее всего, ты нашёл скрытый запуск тестового режима. И не забудь записывать любые изменения указателя стека, которые не соответствуют обычной работе – обычно именно они и ведут нас к цели. Веди аккуратный журнал, и будем собирать всё по кусочкам.