Перейти к содержанию
Old Phone Forum

bugbug

SGH Open Club
  • Постов

    113
  • Зарегистрирован

  • Посещение

  • Победитель дней

    3

bugbug стал победителем дня 15 ноября 2019

bugbug имел наиболее популярный контент!

Репутация

2 Обычный

Информация о bugbug

Дополнительные поля

  • Модель телефона
    B5722

Информация

  • Пол
    Мужчина
  • Город
    Санкт-Петербург

Посетители профиля

1 568 просмотров профиля
  1. Проблема была, скорее всего, в многократных прошивках, теперь она самоустранилась Добавил в TalkerClock_manual: LDR R0, =gs_KeyLockInfo LDRB R0, [R0] CMP R0, 1 BNE TalkerClock_manual_exit Получил результат, который хотел. Стал проверять остальные опции и оказалось, что не работает чекбокс "Только на десктопе или при погашенном экране". ; разрешено говорить только если телефон не используется MOV R0, cfg_options LDRB R0, [R5, R0] LSL R0, R0, opt_only_idle_or_blank BPL TalkerClock_auto_no_blank ; разрешено говорить только на десктопе LDR R0, =gs_KeyLockInfo LDRB R0, [R0] CMP R0, 1 BEQ TalkerClock_auto_no_blank ; экран заблокирован LDR R0, =gv_MainLcdLight LDRB R0, [R0] CMP R0, 0 BEQ TalkerClock_auto_no_blank ; подсветка не горит BL lkcore16_IsIdleScreen CMP R0, 1 BNE TalkerClock_auto_end_free ; подсветка горит и активен не десктоп TalkerClock_auto_no_blank: Выяснилось, что у меня нет данной функции lkcore16_IsIdleScreen. Чем можно заменить ее?
  2. Говорящие часы: обнаружилось несколько проблем, хотелось бы узнать есть ли они на вашем телефоне? 1. Если автопроизношение или ручной режим задействуется во время входящего звонка (до поднятия трубки или во время разговора), то звук динамика пропадает и собеседника не слышно. Однако если в телефоне был установлен бесшумный режим, такой проблемы не возникает. 2. Громкость предварительного звука (7) достаточно большая, на улице слышно при любом шуме. Голос (14) практически не слышно на улице нигде. Пробовал увеличить громкость специальной программой, но появляются большие шумы. 3. Для ручного режима предусмотрена функция произнесения времени при заблокированной клавиатуре и незаблокированной одновременно. Но почему-то не было сделано отдельно при заблокированной и при незаблокированной (два чекбокса). Моя проблема связана с тем, что все клавиши где-либо уже задействованы: если удерживать фото (то запускается камера, а однократное нажатие - снимок), если однократно фото при включенной опции ScreenShot - скриншот.
  3. Там где используются переходы BL add_volume заменил кодом, похожим на "спинбокс выбора звука предшествующего сигнала" с незначительными изменениями. Теперь звук сохраняется. Однако при компиляции появляется: Не удалось разместить данные gv_ImageTitleIconStart. Попробуйте использовать тег .data ближе. Из-за чего это происходит?
  4. add_volume: PUSH {R0,R3,LR} SUB SP, 0x100 ADD R3, 1 ; диапазон 0...14 = 15 позиций STR R3, [SP] MOV R3, #0x32 MOV R2, 2 MOV R1, R5 MOV R0, R4 BL lk_AddFocus LDR R0, [SP, 0x100] BL lk_get_my_text2 STR R0, [SP] MOV R3, #0xA MOV R2, 0 STR R2, [SP, 4] MOV R1, R5 MOV R0, R4 BL lk_AddFocusItem MOV R6, #0x0 loc_123: MOV R2, R6 ADR R1, ="%d" ADD R0, SP, #0x10 BL sprintf ADD R0, SP, #0x10 STR R0, [SP] MOV R2, #0x0 STR R2, [SP, 4] MOV R2, R6 MOV R1, R5 MOV R3, #0x11 MOV R0, R4 BL lk_AddFocusItem ADD R6, #0x1 CMP R6, #0xF BCC loc_123 MOV R1, R5 MOV R0, R4 BL lk_SetCurSpinIndex ADD SP, 0x108 POP {PC} Сделал громкость с помощью цифр, громкость меняется, но не сохраняется при выходе. Где-то я пропустил что-то важное :-)
  5. Java-приложения у меня никогда не запрашивали сертификаты. Вопрос о сертификатах при входе в интернет через стандартный браузер. При входе https://google.com выскакивает сообщение: "Ошибка защиты: не имеющий доверия сертификат сервера". Файл _main.ks имеет отношение к этой проблеме?
  6. В файловой системе есть файл _main.ks. Как я понял здесь хранятся сертификаты для java браузера, а не для встроенного браузера (в прошивке есть свои сертификаты) . В теме "Все о Samsung Sgh-e200/e200b" говорилось о том, как его прочитать. А как его редактировать и нужно ли :-) ? Посмотрел прошивку B5722, там кроме _main.ks есть еще папка java_Cert.
  7. Нашел адреса emctr1_32SemEmailIntervalTimer: 0x2055231C и emctr1_33SemEmailIntervalProcess: 0x20DE4110. Поменял часы на минуты (0x000BDD80 на 0x000032A0). И все получилось. Спасибо!
  8. Хочу изменить интервал получения e-mail сообщений (у меня 1 час, 3 часа, 6 часов, 12 часов, а хотелось бы установить в минутах). На сайте не нашел такого патча. На какой-то мобиле (видел где-то на сайте) был уже предустановлен интервал в 15 мин. и т.д. В патче Изменение времени работы подсветки, чтобы найти время его достаточно было перевести в милисекунды, а здесь переводил и не нашел. Видимо здесь другой алгоритм.
  9. В телефоне все время отстают часы. Корректируется ли ход часов патчем? В Палихе, например, есть корректировка часов.
  10. Нижеприведенный код используется в ProfileSheduler_menu_fn.asm и Talker_menu_enter.asm. В нем есть функция lk_DisplayFocusBG. В моем телефоне я нашел только lk_DisplayMenuFocusBG. Можно ли ее чем-то заменить, сократить или убрать? И обязателен ли этот код для построения меню? LDR R4, =fx_pos MOV R1, 5 STRH R1, [R4, #0] ; fx_pos MOV R2, 22 STRH R2, [R4, #6] ; f_height LDRH R1, [R5, #6] LDRH R0, [R5, #2] BL lk_GetCenterPos ; v_Start,v_Total,v_Part STRH R0, [R4, #2] ; fy_pos MOV R0, 220 STRH R0, [R4, #4] ; f_width LDR R0, =0x00000816 STRH R0, [R4, #8] ; f_font MOV R1, 0 MOV R0, R6 BL lk_MenuFontColor ; v_Active,v_HideState CMP R6, 1 BNE loc_201815A0 MOV R0, R5 BL lk_DisplayFocusBG ; p_Pos loc_201815A0: CMP R6, 0 BEQ loc_201815EC ; рисовалка невыбранной строки ; рисовалка выбранной строки (со скроллом невлезающего текста) LDR R2, =0x00001001 ; (4097) MOV R1, 0 MOV R0, 3 BL lk6_ClearOneRestoreProc ; v_ContextType,v_CtxIdx,v_WidgetType BL lk6_look_dsptext_register MOV R2, 0 STR R2, [SP, #0x10] ; invalidate STR R7, [SP, #0xC] ; SrcData - текстовая строка MOV R3, #0x1D ; 29 STR R3, [SP, #0x8] ; ExtInfo_Index STR R0, [SP, #0x4] ; p_DspText STR R2, [SP] ; DspTarget LDRH R3, [R4, #6] ; f_height LDRH R2, [R4, #4] ; f_width LDRH R1, [R4, #2] ; fy_pos LDRH R0, [R4, #0] ; fx_pos BL lk_TextDisplay ; x,y,w,h,DspTarget,p_DspText,ExtInfo_Index,SrcData,invalidate loc_201815E8: ADD SP, 0x100 POP {R4-R7,PC} loc_201815EC: ; это вывод невыбранного пункта, скролла нет и потому строку надо обрезать с учётом размера фонта MOV R0, R7 BL strlen MOV R6, R0 ADD R0, #0x4 BL RtkGetMemory MOV R5, R0 ADD R1, R6, 2 ;MOV R0, R5 BLX __rt_memclr MOV R1, R7 MOV R0, R5 BL strcpy LDRH R3, [R4, #6] ; f_height LDRH R2, [R4, #4] ; f_width LDRH R1, [R4, #8] ; f_font MOV R0, R5 BL StringAbbreviation ; p_String,v_FontId,v_Width,v_Height MOV R0, R5 BL strlen MOV R1, R0 MOV R3, 0 STR R3, [SP] MOV R2, #0x81 MOV R0, R5 BL lk4_10WriteWindow ; v_String,v_StrLen,v_Format,v_Invalid,v_LcdId MOV R0, R5 BL RtkReleaseMemory B loc_201815E8 .data
  11. Данные эквиваленты используются в Talker_listen.asm (патч Talker B5722). .equ set03_StopSound 0x21A0C0E8 .equ set03_StopMidiSound 0x21D354C8 .equ set03_StopTimer 0x216A79E8 Не могу понять, где их искать в моей прошивке.
  12. Это был просто пример блока write_num2, конечно же регистры я поменял. Получается, что в B5722 при мультисъемке остаются стандартные имена?
  13. В телефоне есть мультисъемка. Решил сделать имя для фото, чтобы действовала и мультисъемка. Взял Filename_DateTime_v27_M3510XEHJ2.asm. Сделал следующее: .equ buff_foto 0x3011AB3F .equ __rt_udiv10 0x2151EEE0 .equ GetCurrentTimeAndDate 0x2161AEB4 .start new_mcc_task_tab+0x00*4 ; функция №00h .word metka0+1 .start 0x216BE51C .mcc mcc_transf 0 0 0 0 metka_mcc2 ; камера (перехват в момент фотки) .start 0x20C2B650 metka_mcc2: .mcc MCC_TASK 0x22 0 .mcc MCC_MULTI_TRACKING 0x20 0x32 0 0 0x216BE59C .mcc MCC_TRANSF 0 0 0 0 0x216BE52C ;------------------------------------------------------- metka0: PUSH {R0-R3} SUB SP, SP, 0x8 MOV R0, SP BL GetCurrentTimeAndDate MOV R2, SP LDR R7, =buff_foto LDRB R0, [R2, 6] ; год ADD R0, #0x30 ; 2008 = 07D8, D8 = 216 а надо 08: 0xD8+0x30=0x108=0x08 MOV R1, #0xFF AND R0, R1 BL write_num LDRB R0, [R2, 5] ; месяц BL write_num LDRB R0, [R2, 4] ; число BL write_num MOV R0, #0x2D ; "-" STRB R0, [R7] ADD R7, 1 LDRB R0, [R2, 2] ; час BL write_num LDRB R0, [R2, 1] ; минута BL write_num MOV R0, 0 ; EOL STRB R0, [R7] B m_exit mov r0, '.' ; дописывает '.jpg',0x0 strb r0, [r7, 0] mov r0, 'j' strb r0, [r7, 1] mov r0, 'p' strb r0, [r7, 2] mov r0, 'g' strb r0, [r7, 3] mov r0, 0 strb r0, [r7, 4] m_exit: ADD SP, SP, 0x8 POP {R0-R3} ADD SP, SP, #0x100 POP {R4-R7,PC} write_num: PUSH {R2,R4,LR} BLX __rt_udiv10 ADD R0, '0' ADD R1, '0' STRB R0, [R7] STRB R1, [R7, 1] ADD R7, 2 POP {R2,R4,PC} .data Имя получилось формата ГГММДД-ЧЧММ-NNNN.jpg. У меня никак не получается здесь прописать год полностью ГГГГММДД-ЧЧММ-NNNN.jpg. Пробовал вставить блок write_num2 из B5722, мобила перезагружается. Не могли бы Вы подсказать, как прописать блок с годом. Заранее благодарю!
  14. Спасибо, получилось сделать имена файлов для диктофона, радио, видеокамеры. А для фотокамеры имя остается прежним. При помощи CGSN определил, что лежит в gv_CameraJpegFileFullPath: 2F652F496D616765732FD0A4D0BED182D0BE2D303030312E6A7067 /e/Images/Фото-0001.jpg (+10 - пропуск пути) в ga_PhotoDefaultName: D0A4D0BED182D0BE00D09400000000000001010000000000002B000200000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000D0A4D0BED182D0BE2D303030362E6A7067 Фото.Д.......+.....Фото-0001.jpg в ga_CameraPhotoFileName: D0A4D0BED182D0BE2D303030372E6A7067 Фото-0001.jpg Далее определил mcc_camera_capture_mode_select: B5722 A9200100020000007C275B2000000000 151D1E00010000000000000000000000 161D010001000100F8494F2000000000 171D010002000100F8494F2000000000 171D0E0001000100F8494F2000000000 161D050001000000384A4F2000000000 1A00000000000000884A4F2000000000 6D63635F63616D6572615F6361707475 mcc_camera_captu 72655F636865636B5F74696D65720000 re_check_timer J210 9F203200000000009CE56B2100000000 18232B000100010024E1A52000000000 1820620001000000BCA4E92000000000 17202B00010000000000000000000000 17200400000000000000000000000000 1B00000000000000A8F61E2000000000 1820040001000000BCE56B2100000000 1C0000000000000058CE612000000000 6D63635F63616D6572615F6361707475 mcc_camera_captu 72655F636865636B5F74696D65720000 re_check_timer B5722 151D4600000000000000000000000000 161D010001000000246A4F2000000000 171D010002000000F4684F2000000000 171D0E0001000000E84B4F2000000000 1800000000000000D84A4F2000000000 190000000000000034514F2000000000 J210 17209400000000000000000000000000 182001000100000090DCA32000000000 192001000200000080DBA32000000000 192001000300000018E6A32000000000 19200C0001000000B8CE612000000000 1A00000000000000847FE92000000000 .equ gs_CameraStatus 0x3011AB18 .equ gv_CameraJpegFileFullPath 0x301415F0 .equ ga_PhotoDefaultName 0x3011AB3F .equ MP 0x22 .equ MPCode 0x12 .equ new_mcc_task_tab 0x20C279D0 .equ strcpy 0x20470F2C .equ strncpy 0x208B267C .equ strlen 0x20470F7C .start 0x2061CE58 ; mcc_camera_capture_mode_select .mcc MCC_TRANSF 0 0 0 0 mcc_set_photo_fullname .start new_mcc_task_tab+4*MPCode .word set_photo_fullname+1 .start 0x20C2B650 mcc_set_photo_fullname: .mcc MCC_TASK MP MPCode .mcc MCC_TASK 0x20 0x94 ; компенсация врезки .mcc MCC_TRANSF 0 0 0 0 0x2061CE58+0x10 set_photo_fullname: ; проверка режима фотокамеры LDR R0, =gs_CameraStatus ; 0,2,3 - единичные кадры, 1 - мультисъёмка LDRB R0, [R0] ;[R0,#0xC] CMP R0, 1 BEQ photo_multi ; если мультисъёмка - то патч пока её не поддерживает, будет старое имя LDR R5, =gv_CameraJpegFileFullPath+10 ; Пишем в начале строки дефолтное имя LDR R1, =ga_PhotoDefaultName BL print_header ; пишем дату BL print_datetime photo_normal_1: ; пишем расширение MOV R1, 'j' STRB R1, [R5, 1] MOV R1, 'p' STRB R1, [R5, 2] MOV R1, 'g' STRB R1, [R5, 3] photo_multi: ADD SP,SP,0x100 POP {R4-R7,PC} print_header: PUSH {LR} MOV R2, 0xB ; максимальный размер дефолтного имени. LDRB R3, [R1] CMP R3, 0 BEQ skip_header ; если дефолтное имя пустое MOV R0, R5 BL strncpy BL strlen ADD R5, R0, R5 MOV R1, '-' STRB R1, [R5] ADD R5, R5, 1 skip_header: POP {PC} print_datetime: PUSH {R0-R4,R6-R7,LR} SUB SP, SP, 0x10 ; Запрос текущего времени MOV R0, SP BL hcl_06GetCurrentTimeAndDate MOV R6, SP LDRH R0, [R6, 6] ; год BL write_num2 LDRB R0, [R6, 5] ; месяц BL write_num1 LDRB R0, [R6, 4] ; число BL write_num1 MOV R0, '-' STRB R0, [R5] ADD R5, R5, 1 LDRB R0, [R6, 2] ; час BL write_num1 LDRB R0, [R6, 1] ; минута BL write_num1 LDRB R0, [R6, 0] ; секунда BL write_num1 MOV R0, '.' ; точка после имени, перед расширением STRB R0, [R5] MOV R1, 'p' ; поскольку у нас обычно расширения mp3/mp4/jpg - общую букву сразу впишем STRB R1, [R5, 2] MOV R0, 0 ; EOL после расширения (расширение впишем потом) STRB R0, [R5, 4] ADD SP, SP, 0x10 POP {R0-R4,R6-R7,PC} write_num1: ; печатает число 00-99 PUSH {LR} BLX __rt_udiv10 ADD R0, 0x30 ; "0" ADD R1, 0x30 ; "0" STRB R0, [R5] STRB R1, [R5, 1] ADD R5, R5, 2 POP {PC} write_num2: ; печатает число 0000-9999 (год, и частоту тюнера) PUSH {LR} BLX __rt_udiv10 ADD R1, 0x30 ; "0" STRB R1, [R5, 3] BLX __rt_udiv10 ADD R1, 0x30 ; "0" STRB R1, [R5, 2] BLX __rt_udiv10 ADD R1, 0x30 ; "0" STRB R1, [R5, 1] ADD R0, 0x30 ; "0" STRB R0, [R5, 0] ADD R5, R5, 4 POP {PC} ;------------------------------------------------------- .data Вроде все правильно сделал.
×
×
  • Создать...