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

Позитрон

Участники
  • Постов

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

  • Посещение

Сообщения, опубликованные Позитрон

  1. Проблема аналогичная указанной выше.

     

    Началось с того, что иногда во время фотосъёмки, когда нажимаешь "Сфотографировать", выходила ошибка "Сбой камеры". Фотографии при этом не сохранялись. Затем периодически при входе в режим камеры вместо изображения дисплей окрашивался зелёным цветом (через раз), а иногда всё работало нормально. Теперь камера вообще не работает, появляется сетка, появляется "прицел" фокуса, и выходит ошибка "Сбой камеры". Иногда во время выхода ошибки ещё врубается вспышка, которая тухнет, когда выбрасывает в главное меню.

     

    Главное, что меня интересует, причина этого - программная, или аппаратная? Прошивка S7350XEID1.

  2. Попробовал поиграться в Дэнди на своём Samsung S7350

     

    Всё сделал, как в главном сообщении описывает товарищ DarkSoul.

     

    Из его же сообщения скачал Fast_vNes_J2ME_v1.2.rar и кейген.

     

    Ну что сказать... Изначально FPS был 15-16. После того, как поигрался с настройками и поизменял значения - FPS возрос до 30, но выше не поднимался. С такой скоростью комфортно играть нереально. И не воспроизводятся MIDI звуки, увы.

     

    Также при нажатии на кнопку "5" игра полностью зависала, пока её не перезапустишь.

     

    Если кто захочет посмотреть на своих телефонах - я ниже прикрепил приложение Dendy.jar - в нём содержится три игры - МАРИО, Чёрный Плащ, и Чип и Дэйл.

    Dendy.jar

    • Like 1
  3. Такой вопрос.

     

    У меня телефон Samsung S7350, и всё бы хорошо, но на нём не предусмотрено клавиши стирания (нету на нём "C").

     

    Это создаёт большие неудобства, когда сидишь в JIMM. Во время написания сообщения постоянно меняется сеть с EDGE на 3G и на 3G+ , скачет туда-обратно. В эти моменты в приложении обновляется экран и печатается много лишних паразитных ненужных символов. А кнопки стирания на телефоне нету! Можно конечно залезть в меню, там выбрать пункт "Стирание", а потом "Стереть один символ", но это жутко неудобно, тем более когда одновременно много символов стираешь - приложение может зависнуть.

     

    Есть ли приложение, где кнопка стирания символов вынесена на какую-нибудь софт-клавишу?

     

    Или есть ли JIMM с исходными кодами? Потому что знания JAVA на j2me мне хватит, чтобы под себя немного переделать код обработки клавиш и посадить функцию стирания символа на какую-нибудь неиспользуемую кнопку.

  4. Здрасте! А не подскажете как тут громкость увеличить. А то ваше не устраивает. Будильник орёт как резанный, и когда разговариваешь,вся улица знает с кем и о чём ты говоришь. А когда звонят, телефон вообще не слышно, че делать :28:

     

     

    А что, стандартное регулирование громкости не помогает?

     

    Лезешь в Настройки --> Профили. Выбираешь "Обычный" (к примеру) и жмёшь "Изменить". Там ж 7 уровней громкости доступно.

  5. Купил на днях эту модель, остался доволен.

    Хотелось бы уточнить - можно ли с имеющимся софтом (выложенные прошивальщики, редактор BinEdit и т.п.) написать и вшить патчи в телефон?

     

    Хотел бы сделать фонарик, местами уменьшить время отображения окон информации и ещё кое-что по мелочи.

     

    Думаю, опыта ковыряния прошивок и знаний ассемблера должно хватить, но впринципе есть ли программное обеспечение, которым можно патчить прошивку, записывать изменения как разность прошивок и т.п. ?

     

    А то напишу патч, а применить его не получится.

  6. Всем привет! Я ещё не опоздал?

     

    Размещаю свою работу - МР3-композицию собственного сочинения и исполнения!

     

    За вокал прошу не ругать, я в первую очередь барабанщик, а не вокалист, но к делу подошёл со всей душой.

     

    Ranger_Pobediteli.mp3

    • Like 6
  7. Джим каких версий ставили?

     

     

    Ставил:

     

    jimm 0.6.0beta;

     

     

    jimm-MIDP2-full_август_2009;

     

     

    Jimm от Хаттаба, датированную 06.02.2009;

     

     

    И пробовал тестовую версию 0.6.091219;

     

     

    Сейчас стоит Jimm2009 версия 1.0

     

     

    Год назад какие только ни ставил версии - работали все. Сейчас ничего не работает.

  8. У меня телефон Samsung D500E, прошивка D500XEEG3.

     

    Раньше я спокойно сидел в JIMM с телефона, не испытывая затруднений, но несколько месяцев назад все приложения jimm буквально отказались выходить в сеть. То есть запускаешь приложение, нажимаешь "Подключиться", и через 15 секунд выходит сообщение "Сервер не отвечает". И в ооочень редких случаях начинается подключение, доходит до середины и выходит ошибка (вроде №114) "Исходит слишком много пакетов с вашего клиента".

     

    Что я пробовал?

    Прежде всего, сам GPRS на телефоне работает, то есть через стандартный браузер я могу выйти в интернет, лазать по сайтам. Когда в JIMM нажимаешь "Подключение", сбоку также загорается значёк G, говорящий о том, что запрос отсылается. Интернет значит работает. Хм, возможно, проблема в настройках? Я пробовал менять SIM- карты на МТС и Билайн, заказывал настройки у этих операторов - в интернет выходит, но Jimm не работает.

    Точки APN пробовал всякие, какие только ни пробовал. Версии jimm менял на старые и новые, в настройках менял адреса серверов и порты - тоже не помогло. Ставил прошивку на стандартную (с применением патча для поддержки этих jimm-приложений) - также не работает.

     

    Что ещё попробовать - не знаю. Кстати у моего друга телефон той же линейки (D600E) - у него тоже в тот же период времени перестало выходить в Jimm (хотя раз в месяц всё-таки ему удаётся, но у него EDGE).

     

    Я вообще не шарю в сетевых технологиях, но может ли это быть связанно с тем, что данные телефоны морально устарели, или как-то запрос со старых телефонов отклоняется сервером?..

  9. ... есть кто еще из патчмейкеров у кого есть х700?

     

     

    Почему не рассматриваются D500 \ D600 ? Много в них есть однотипного с Х700, и вполне реально перепортировать туда-сюда патчи между этими телефонами (ну, если объём с сложность патча в разумных пределах)

     

    Да и задача не будет гигасложной, если разработчики не будут скупиться на исходники патчей, а ещё лучше - на комментарии к участкам кода в своих исходниках.

  10. Дорогие друзья!

     

    Выражаю вам огроменную благодарность за то, что вы есть на этом форуме, за то, что бескорыстно помогали, отвечали на нудные расспросы и допросы и т.п.

     

    Чтобы сказать вам спасибо - посвящаю эту песню про друзей форуму SGH!

     

    Все линии и текст песни собственного сочинения. Извиняюсь, вокал у меня чудовищный, пардон.

    My_song_for_SGH.part1.rar

    My_song_for_SGH.part2.rar

    My_song_for_SGH.part3.rar

    My_song_for_SGH.part4.rar

    My_song_for_SGH.part5.rar

    My_song_for_SGH.part6.rar

    • Like 17
  11. Патч для D500XEEG3

     

    Название: Красивые окантовки в меню яркости дисплея

     

    Автор: Позитрон ака Рейнджер

     

    Версия: 2

     

    Предназначение:

     

    - Оптимизация кода функции MCC 170A case 0x0034

    - Улучшение оформления в меню "Яркость дисплея".

     

    Дополнения в версии 2:

     

    - Исправлен недостаток: теперь правый край верхней рамочки не залазиет за правый край экрана (если кто заметил конечно)

     

    - Изменено оформление кубиков, которые отображают уровень яркости дисплея, и к ним добавлена тень.

     

     

    В архиве патч и исходный текст, кое-где даже раскомментировал.

    Nice_color_in_LCD_contrast_2.zip

    • Like 9
  12. Вопрос у меня по поводу стека.

     

    Есть в прошивке D500XEEG3 такая функция Draw_Box, предназначенная для вычерчивания пустых прямоугольных рамок на экране.

     

    Я пишу исходный код с использованием этой функции и вот с какой проблемой столкнулся.

     

    Есть например такой участок кода

     

    MOV R2, #0x1

    STR R2, [sP, #0x4]

    STR R2, [sP, #0x8]

    STR R2, [sP, #0xC]

    STR R2, [sP]

    ...

    ...

    ADD R0, SP, #0xD4

    BL Draw_Box

     

    Всё бы хорошо, да функция меняет значения регистров R0-R2 после выполнения. А мне как раз ну ооооочень надо, чтобы после выполнения функции значения регистров были такими же, как и до её вызова.

    Сразу оговорюсь, что код у меня написан так, что сохранить временно эти регистры например в R5-R7 возможности нету, используются все 8 штук.

     

    Хотелось бы сохранить R0-R2 в стек лёгким мановением PUSH {R0,R1,R2} но как я понял - тогда затираются параметры, передаваемые функции через стек со смещениями 0, 4 и 8.

     

    Так вопрос - как можно сохранить регистры в стеке, не затирая параметров которые передаются функции через тот же стек, и после её завершения восстановить их?

  13. Патч для D500XEEG3

     

    Название: Красивые окантовки в меню яркости дисплея

     

    Версия: 1

     

    Предназначение:

     

    - Оптимизация кода функции MCC 170A case 0x0034

    - Улучшение оформления в меню "Яркость дисплея".

     

    Подробные разъяснения:

     

    - После применения патча оптимизируется и сокращается внушительный кусок функции MCC 170A case 0x0034, которая отвечает за отображение на дисплее красочного оформления в пункте меню "Яркость дисплея".

    Мой код занимает на 512 байт меньше, чем скомпилированный корейцами (то бишь по размерам сокращается больше чем в 5 раз). Высвобождённое место забивается нолями.

     

    - Теперь в пункте меню "Яркость дисплея" окантовки цветных квадратиков зависят от выбранной цветовой схемы. Если выбрана зелёная схема - то рамочки эти зелёные, если фиолетовая - то и они фиолетовые.

    Раньше тоже была зависимость, но оттенок менялся практически незаметно для глаза.

     

     

    P.S. В архиве с патчем прилагается и исходный код. Сразу предупреждаю, что упор я делал далеко не на удобочитаемость, неопытным код лучше не трогать, хотя портировать патч на другие старые SWIFT элементарно, надо найти эквиваленты всего лишь 2-х адресов.

     

    P.S.S. Скоро выйдет следующая версия :)

    Nice_color_in_LCD_contrast.zip

    • Like 11
  14. Патч для D500XEEG3

     

     

    Патч смещает дату, отображаемую на рабочем столе, немного левее, ближе к левой части экрана телефона.

     

    На мой взгляд, дата слишком уж загораживает заставку на заднем фоне. Поэтому я решил немного подвинуть её (дату).

     

    Патч ни с чем не конфликтует!

    Move_data_to_left.zip

    • Like 12
  15. Патч для D500XEEG3

     

    Расширенная версия патча "Momental Backlight OFF", автор которого является [AlaSToR] (причём эта версия написана мною с нуля независимо от него).

     

     

    После применения патча происходит вот что:

     

    После того как вы положительно отвечаете на вопрос о блокировке клавиатуры - подсветка экрана горит ещё в течение 3-х (а не 5-ти) секунд с ОЧЕНЬ НИЗКОЙ ИНТЕНСИВНОСТЬЮ, чтобы не сажать батарею. Сделано для тех, кто после блокирования клавиатуры любит секунду-другую задержать взгляд на заставке, или посмотреть напоследок на уровень приёма сигнала.

    Подсветка клавиатуры (если включена) отключается сразу же, не дожидаясь пока потухнет дисплей. Через 3 секунды телефон уходит в ждущий режим.

     

    Разумеется, патч не допускается ставить вместе с "Momental Backlight OFF", и надо будет его отменить, если вы решите пользоваться моей версией.

    EnergoSpasitely_1.zip

    • Like 15
  16. Патч для D500XEEG3

     

    Данный патч - переписанный код функции strlen.

     

    После применения патча код функции strlen оптимизируется и сокращается, и занимает после этого в 4 раза меньше места по равнению с оригинальной strlen.

     

    P.S. Для тех кто не знает: функция strlen рассчитывает сколько символов содержится в той или иной текстовой строке. И вызывается эта функция всегда, когда вы входите в какой-либо пункт меню (и даже чаще!), поэтому только к лучшему, если выполняться она будет быстрее, что и происходит с ней после применения патча.

     

    Оставшийся кусок старой функции забивается нолями.

     

    Ещё одна прелесть патча - он универсальный для любого телефона аналогичного D500 (например X700).

    Просто в исходнике, который прилагается в архиве - надо поменять адрес размещения кода на тот адрес, по которому располагается функция strlen в вашей прошивке.

    Optimization__STRLEN_.zip

    • Like 17
  17. Скачал сегодня дамп с D600E.

     

    В BinEdit пишется "Не удалось определить тип прошивки". Соответственно, могу лишь любоваться байт-кодом прошивки, даже таблицы с адресами МСС нету. Это поправимо? Версия прошивки D600EXEFA1

  18. IM-J, спасибо большущее, всё полноценно выводится на экран!

     

    Причём, самое интересное, никаких принудительных задержек мне делать не пришлось, весь экран, как я и хотел, заполняется плавно, сверху вниз примерно ~ 20 пикселей (по высоте) в секунду.

  19. Вопрос у меня не по патчеписанию, а вообще по ассемблеру.

     

    На всяких экспериментах изучаю работу кода и функций.

     

    Сделал такой код, он выводит на весь экран череду разноцветных полосок.

    Сначала на самом верху чертится полоска толщиной в 1 пиксель, затем меняется цвет и чуть ниже выводится следующая и таким образом весь экран заполняется переливающимся цветом.

    Прошу не тыкать меня носом в полную неоптимизированность кода, так как я на это пока не смотрю.

     

    PUSH {R0-R7, LR}

    SUB SP, SP, #8

     

    MOV R4,220 ; число повторений цикла

    LDR R6, =0xf300aa ; первая полоска синего цвета

    MOV R0, #0

    MOV R1, #0

     

    OKRASKA:

     

    STR R6, [sP]

    STR R0, [sP, #4]

    MOV R3, #1 ; толщина линии = 1 пиксель

    MOV R2, #176 ; ширина - во всю ширь экрана

    BL DrawHLine

    CMP R4,0

    BEQ EXIT

    SUB R6,0x000081 ; цвет следующей полоски будет другой

    ADD R1,1 ; координата по Y следующей полоски будет на 1 больше

    SUB R4,1 ; уменьшить счётчик цикла

    B OKRASKA

     

    EXIT:

     

    MOV R0, #0

    STR R0, [sP]

    STR R0, [sP, #4]

    MOV R3, #220

    MOV R2, #176

    MOV R1, #0

    BL lk4_9LcdInvalidate ; собственно, вывести всё на экран

     

     

     

    ADD SP, SP, #8

    POP {R0-R7, PC}

    .data

     

     

    Код рабочий, и на экран всё полноценно выводится.

    Суть его в том, что сначала все полоски как бы "условно вычерчиваются", а потом всё это дело махом за раз выводится на экран.

     

     

     

    Я хотел сделать, чтобы начертилась одна, тут же lk4_9LcdInvalidate выводит её на экран и тоже самое для следующих (в дальнейшем собираюсь сделать так, чтобы всё плавно выводилось на экран), и вот какой код сделал

     

     

    PUSH {R0-R7, LR}

    SUB SP, SP, #0xC

     

    MOV R4,220

    LDR R6, =0xf300aa

    MOV R1, #0

    MOV R0, #0

     

    OKRASKA:

    STR R1,[sP,#8]

    STR R6, [sP]

    STR R0, [sP, #4]

    MOV R3, #1

    MOV R2, #176

    BL DrawHLine

    LDR R1,[sp,#8]

    MOV R0, #0

    STR R0, [sP]

    STR R0, [sP, #4]

    MOV R2, #176

    BL lk4_9LcdInvalidate

    CMP R4,0

    BEQ EXIT

    SUB R6,0x000042

    ADD R1,1

    SUB R4,1

    B OKRASKA

     

    EXIT:

     

     

    ADD SP, SP, #0xC

    POP {R0-R7, PC}

    .data

     

    Вот только тут вычерчивается первая, потом где-то на 30 пикселей ниже вычерчивается ещё одна и начинает переливаться всеми цветами радуги и всё тут.

     

    Очень прошу глянуть кому не лень,что же тут за ошибка)

    И ещё вопрос, воообще стек я правильно использовал в обоих случаях?

  20. Ещё один вопрос, подобный моему предыдущему.

     

    Есть участок кода

    ....

    ....

    ADD R3, SP, #0x0

    STRH R2, [R3, #40]

    STRH R1, [R3, #42]

    ....

     

    То бишь в R3 помещаем верхушку стека и используем его как посредника, чтобы записать в стек+смещение параметры R2 и R1.

     

    А что изменится, если сделать вот так:

     

    ....

    ....

    STRH R2, [sP, #40]

    STRH R1, [sP, #42]

    ....

    ....

     

    ?

  21. Прошу подсказать мне по 2м вопросам.

     

    1.

     

    Допустим у меня есть функция. Я знаю начальное значение регистров.

    Подскажите программное обеспечение или каким отладчиком можно воспользоваться, чтобы можно было открыть там эту функцию, ввести начальное значение регистров, быстренько выполнить её до конца и посмотреть конечное значение регистров. И чтобы можно было поглядеть что в стеке творится.

     

    Я по своей неопытности делаю это методом "в уме да на листике".

     

     

     

    2.

     

    Иногда при просмотре прошивки нахожу куски кода типа такого (комментари мои :bs: )

     

    // .... какой-то код

    // .....

    ADD R0, #0xB5 ; пусть в регистре был 0. Теперь там 0xB5

    LSL R0, R0, #16 ; сдвигает биты, теперь в R0 лежит 0xB50000

    LSR R0, R0, #16 ; сдвигает биты обратно, теперь в R0 опять 0xB5 !!!!

    // .... продолжение кода

     

    Скажите, какой смысл в этом блоке, если в R0 так и осталось 0xB5 ?? Можно же одним ADD обойтись.

  22. Довольно интересная проблема появилась с моим D500.

     

    У меня есть ноутбук, я подключаю к нему через кабель свой D500 как модем и таким образом выхожу в интернет...точнее, выходил.

    Недавно ни с того ни с сего, как только устанавливалось интернет-соединение - телефон стал виснуть и перезагружаться, причём сначала соединение некоторое время работало, а только потом телефон перезагружался, а чуть спустя как только нажимаю "Соединить" - он уже в перезагруз уходил. Мало того, 3 или 4 раза в момент повиса телефона на ноутбуке возникал синий экран со всякими устрашающими надписями.

     

    Я подумал, ну мало ли, может прошивка заглючила, стёр нафиг свой D500XEEG3 и просто для эксперимента поставил турецкую D500BVDK8 - ничего не изменилось, телефон при соединении перезагружается.

     

    Но и это ещё не всё! Опять спустя некоторое количество попыток телефон сам по себе при каждом включении перезагружается, как только возникает "рабочий стол" и проходит несколько секунд, когда иконка GPRS становится зелёной, опрашивает он что ли что-то при включении, не знаю.

     

    Я вставил чужую СИМ-карту БИЛАЙН (а вообще у меня МТС) - телефон включается нормально. Вставляю обратно МТС - перезагружается. Я вот что сделал - со вставленным билайном набрал *#4777*8665# , оттуда вообще отключил GPRS - и телефон нормально включается со всеми СИМ-картами.

     

    Вот и терзаюсь теперь в догадках, чего это с ним такое произошло?....

  23. Верно, спасибо!

    Я неверно понял, в какой переменной должно содержаться значение интенсивности подсветки. Оказалось, это gv_MainContrastLevel. Теперь всё работает))

  24. Ребята, помогите с таким вопросом.

     

    Хотел себе сделать, чтобы при блокировке клавиатуры при нажатии "ДА" сразу отключалась, если включена, подсветка клавиатуры и яркость подсветки экрана становилась минимальной.

     

    Вот что я написал

     

    ....

    ....

     

    .start 0x11373BDA

     

    bl enable_LCD_light_with_economy_battery

    b 0x11373444

     

    enable_LCD_light_with_economy_battery:

    LDR R0,=0x18AC986E ; переменная LcdPattern, 0 - минимальная яркость, 4 - максимальная

    mov r1,1

    STRB R1, [R0]

    mov r0,0

    mov r1,r0

    mov r3,r0

    mov r2,5

    bl lk4_BackLight_On

    .data

     

    Всё бы хорошо, и клавиатура гаснет, и яркость уменьшается... но! После блокировки часть графики становится от 2й цветовой схемы! Цвета курсоров, нижних софт-полос становятся от второй цветовой схемы, а остальное от первой (ну или какая выбрана).

     

    Я думал, что ошибка в том, что я записываю в LcdPattern цифру 1, и это же число записывается в какую-нибдь рядом расположенную переменную, но ведь такое не может быть, если я использую запись одного байта командой STRB, так что в чём тут ошибка?

×
×
  • Создать...