Формат записи Лика на ленту следующий:
Все цифровые значения в таблице приведены в шестнадцатеричном виде.
В файлах RKS опущен первый синхробайт E6, то есть RKS начинаются сразу с адресов начала и конца буфера имени 70 8F 82 8F.
Имя файла должно быть в кодировке КОИ-7 Н2 и иметь максимальную длину 15 символов. Всё, что меньше, дополняется нулями. Имя файла может быть и пустым, то есть 16 нулей.
Контрольная сумма на Python вычисляется следующим образом:
Код:
cs = 0
for i in range(start, length):
cs += data[i]
cs += (data[i] << 8)
cs &= 0xffff
Старое сообщение
Сообщение от
CityAceE
Контрольная сумма от игр для Лика, зачастую не бьёт с расчётной. Думаю, что там либо другой диапазон считается (но я проверял с разными диапазонами и подогнать под сумму у меня не получилось), либо используется немного другой алгоритм расчёта. Точнее может подсказать анализ ПЗУ от Лика. А может быть кто-то уже и так знает в чём там дело?
Добрался до анализа расчёта контрольной суммы на Лике. Суть та же, что и в стандартном Мониторе, кроме завершения процедуры. И для закрепления полученных знаний написал скрипт перевода файлов из формата Лик в стандартный формат, хотя по сути расчёт контрольной суммы для Лика там и не требуется. А вот точно потребуется он для обратного перевода. Такой скрипт тоже в планах, так как хочу на своём Лике с его родным ПЗУ позапускать некоторые вещи. А пока к первому сообщению, чтобы не потерялся, прикладываю скрипт lik2spec.py.
Сообщение от
parallelno
А какие на специалисте использовались обычно клавиши чтобы начать игру?
Да всё стандартно там. Чаще всего это клавиши курсора и пробел.
[свернуть]