P.S. Желательно каждый патч заливать по очереди с проверкой патча. Во время залития патча, возможно увидите предупреждающий диалог, который предупреждает вас о риске изменения некоторых данных
Если вы ставите аналогичный патч (похожий на тот что уже стоит, например была первая версия, ставите вторую или третью), то прежде чем ставить новую версию, отмените старый патч!
mov r6,r0 ; сохраняем хэндл открытого файла на будущее
sub sp,sp,4 ; читать будем в стек, выделяем место в стеке для этого
mov r3,r0 ; для чтения хэндл в r3 должен быть mov r2,1 ; размер элемента для чтения mov r1,4 ; число элементов для чтения mov r0,sp ; адрес, куда будем читать, ячейка в стеке bl FSX_Read ; читаем ; тут можно поставить проверку на ошибки чтения ldr r7,[sp] ; получаем в регистре r7 прочитанное значение
add sp,sp,4 ; восстанавливаем стек
mov r0,r6 ; хэндл мы сохраняли в r6, берём сохранённое значение bl FSX_Close ; закрываем файл
если ты хочешь всякие подсветки или другие настройки сохранять, то не лучше ли это делать в гдфс? найти неиспользуемые переменные проще простого, и пользоваться несложно. да и вообще, гдфс для таких целей больше подходит. вот адреса для k300 r2at003:
den_po Спасибо огромное. Есть вопрос по исходным данным для гдфс. Как я понял в р1 идет адрес откуда(куда) записать(прочитать), в р2 - размер элемента, в р3 - не понял, но вроде постоянно 0. А в р0 я так понял должен идти адрес в гдфс? Но значение там постоянно находится через смещение от одного и того же адреса 44441ЕВВ (для R2CA001). Не мог бы ты пояснить, плиз.
den_po А зачем используется этот адрес, если потом он все равно вычитается? И по поводу номера переменной, как его узнать? Каждый блок в гдфс имеет свой номер?
IronMaster по этому адресу лежит какая-то таблица. возможна таблица переменных, которые не удаляются после мастер-ресета. может ещё что, не знаю. номер переменной состоит из двух частей. в двух старших байтах номер логического блока, в младших номер переменной в блоке. например 00020CD4 (total call timers) - 2й логический блок, переменная номер CD4 данные хранятся в блоках с номерами 0..6. список всех существующих в теле переменных можно получить например с помощью gdfstool2, если выбрать setool_script и read
Joker_XT свободное место на самом деле не обязательно с нулями. и повторюсь, не нужно пользоваться этим способом для нахождения свободной памяти. лучше портируй под свою прошивку "сдвиг кучи" и получи стабильно свободное, а не редкоиспользуемое, место в памяти.
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.