@ mako возможно ты и прав, но ведь там действительно много чего полезного. Если не поленится и покапатся в исходниках пару часов, то можно многое чего понять. Я считаю, что если спрашивать про каждую мелочь, которая итак расписана в самом удобном виде для понимания (большое спасибо Freeman, за исходники), то никогда ничего делать сам и не научишься. но это имхо Вот для примера отрывок из исходника ImagineMenu. За правильность интерпретации не ручаюсь, разбирал на скорую руку LoadMainBlockBg: ldr r0,=0x9A86 bl lk_StoreBlockPicture ;какая-то функция ldr r0,=0x9A8A bl lk_StoreBlockPicture ldr r0,=0x9A88 bl lk_StoreBlockPicture ldr r0,=0x9A72 bl lk_StoreBlockPicture ldr r0,=ColorTheme ; в r0 адрес переменной со сначением актуальной цветовой схемы ldrb r0,[r0] ; в r0 значение этой переменной adr r7,sk_bg_file_01 ; в r7 адрес текстового ресурса с названием картинки cmp r0,0 ; цветовая схема 1? beq q1 ; если да то дальше с q1 adr r7,sk_bg_file_02 ;если нет то грузим картинку для второй схемы q1: adr r0,sk_bg_path ; в r0 адрес текстового ресурса (путь к папке в тфс) mov r1,r7 ; в r1 адрес к названию картинки bl mmitfs4_CheckFileExist ; вот и первая функция работы с тфс, видимо проверяет существует ли картинка r1 в папке r0, в r0 возвращается ответ cmp r0,1 ; существует? beq q2 ; если да то дльше с q2 bl DrawSoftkeyBgBitmap ; если нет, то выполняется стандартная функция прошивки, которая загружает стандартную картинку b q3 q2: mov r0,240 ; наверное ширина картинки str r0,[sp] ; сохраняем в стек mov r0,34 ; наверное высота картинки str r0,[sp,4] ; сохраняем в стек adr r0,sk_bg_path ; путь к папке в тфс mov r1,r7 ; в r1 адрес к названию картинки mov r2,0 ;какой-то параметр mov r3,255 ;какой-то параметр add r3,31 ; прибавляем 31 bl lk_DrawIFG ; функция видимо рисует в буфере картинку IFG формата с даными параметрами q3: ldr r1,=vScreenMem ;буфер в котором размещена загруженая картинка ldr r0,=gv_BlockBg ;буфер для картинки софт-полосы ldr r2,=153600 ; размер буфера blx j___rt_memcpy ;копирование блока памяти R0 - адрес назначения, R1 - адрес откуда копировать, R2 - длинна блока. a1: mov r2,9 ; mov r1,1 ; ldr r0,=0x18343100 ; какието-параметры, надо копать lk_CreateMenu bl lk_CreateMenu ldr r0,=0x111B92C8+1 bx r0 .data sk_bg_path: .string "/a/images/widget/title/" .align 4 sk_bg_file_01: .string "set01_blocksoft_key_area.ifg" .align 4 sk_bg_file_02: .string "set02_blocksoft_key_area.ifg" Вот и всё, если немножко постарться, то можно понять, как используются и многие другие функции