User Tag List

Показано с 1 по 10 из 473

Тема: Китайский универсальный конвертер видео

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #10

    Регистрация
    27.08.2019
    Адрес
    г. Ростов-на-Дону
    Сообщений
    1,034
    Спасибо Благодарностей отдано 
    467
    Спасибо Благодарностей получено 
    194
    Поблагодарили
    125 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Доброго времени дорогие друзья !

    Хочу поделиться наработками по прошивке GBS 82XX. Так случилость, что само устройство сейчас мне не доступно, я нахожусь в Индии, а девас я продал, и заказал еще один, и он сейчас идет из китая в Ростов, как раз приеду и он будет на месте. Тем не менее, мне удалось многое найти и изменить в прошивке устройства. Первое что сразу хотелось бы сказать, разобрался с цветными шрифтами, они представляют собой всего 32 символа, которые состоят из трех дампов по 32 символа красного, зеленого и синего цветов. Оригинально решение по их размещению в теле бинарника шрифтов.

    И так...

    На каждую из 18 строк используется 2 байта (12 бит/точек в 1 байт не влезут). Поэтому 36 байт на символ. в 1 строке 64 байта, Из них 36 байта записан основной символ, потом 14 байт для чего то резервированно, а последние 16 байт - это как раз поле для 32*3 цветных символов, по 32 на каждый цвет. Каждый символ разбит на 3 строки по 16+16+4 байта, последняя строка дозаполненна нулями, четвертая строка - нули, следующие 4 строки - следующий символ.
    Это можно наблюдать на скрине из HEX редактора, там 64 битные строки, хорошо видны основные символы, и цветные, между ними 14 бит пустоты.

    В целом, цветные символы начинают кодироваться примерно с 2000h адреса шрифтов, или с 12000h адреса прошивки. Вызов цветных шрифтов осуществляется по их номерам, с 1E0H по 1FFH,... и вот тут затык... Пока, в коде прошивки я не нашел места, в котором выводится двухбайтовые номера шрифтов, на данный момент на экран (теоретически) выводятся только шрифты с однобайтным номером. Экспериметны на реальном устройстве могут прояснить ситуацию, имено для этого все иероглифы (всего их было 230), которые я не заменил на работоспособные или важные символы - заменены на номера, порядковые десятичные и имена шестнадцатиричные. НА опыте возможно проявится, как они выводятся, хотя по памяти - вроде выводилось на экран то, что было с 1 байтными номерами позиции.

    Соответственно, написал прямой парсер на PHP который позволяет из дампа прошивки (вырезаю сразу 10000-17FFF в файл *.bin) делать задание для програмы Myson OSD редактор шрифтов, парсит весь шрифт, включая цветные шрифты. Тут тоже имеет место сдвиг обратно, на 4 байта, для чего то программа написана таким образом, чтобы работать именно со сдвинутым на 4 байта относительно реального файлом задания. Обнаружил в дампах стандартных прошивок несколько цветных символов, причем, из трех имеющихся у меня дампов, скачаных из стандартных устройств - в одном не оказалось вообще цветных символов, во втором они были только в копии шрифтов, которая была по адресам 18000- 1FFFF, а в третьем дампе в обоих копиях. И так как код прошивки во всех трех дампах идентичен - скорее всего цветные символы не выводились на экран. Стандартные цветные символы из прошивок на маленьком скрине в конце. Не помню, чтобы где то такие символы мелькали в меню или на экране...

    Так же написал обратный парсер, который обрабатывает *.bin файл, выводимый из Myson OSD редактора шрифтов. Парсер сдвигает дамп на 4 байта, и еще дублирует, и этот файл можно сразу копировать в HEX редакторе и вставлять в прошивку, с адреса 10000 по адрес 1ffff. То есть процесс редактирования в целом закрыт.

    Далее, нашел в прошивке кусок, который содержит 36 байтные строки меню, и отредактировал их, так чтобы не затрагивать исполняемый код, в итоге получил полностью англо - русскую прошивку, использовал кодировку Macintosh ASCII-437, потому что это расположение кирилицы возможно вставить до кубиков с картинкой заставки в прошивке, влазеет все кроме 4х последних букв, их засунул сразу после картинки заставки (это видно на скрине с набписью Версия 0F) - что соответствует прописным этим же буквам в кодировке, в итоге, отредактировал шрифты, так, чтобы были только большие буквы, шрифт стилизовал под digital, прошивка русифицированна, иероглифов нет.
    В некоторых пунктах меню сделал пиктограмки, пока не цветным шрифтом а обычным однотонным, может разберусь с выводом двухбайтных имен, поменяю на цветные, а может и нет, не сильно много толку от этого.

    Дизассемблировл код прошивки, частично он мне не понятен, потому как я никогда не работал с ассемблером специализированного МПУ, и мне некоторые вещи тут не понятны, отличаются от ассемблера обычных CPU широкого применения. Но в целом, кое что стало понятно и в следствии разбора прошивки.

    На сколько я понимаю, тема реверс - инжиниринга GBS8220 мало кому интересна, в основном всех интересует исключительно качество видео от GBS, по этому текст парсеров не прилагаю, если что, пишите в личку. Несколько скринов приложу.

    И вопрос, конечно же... НЕ могу пока разобраться, как выводить на экран шрифты с двухбайтовым номером, если кто знает, подскажите пожалуйста.. Все символы, их 512 - выводятся по номерам, и теоретически, без экспериментов я не могу пока ответить на этот вопрос, а устройства под рукой нет, чтобы проверить предположения, по этому, кто знает, как это реально осуществить - пишите.

    Ну и может кому нужно подредактировать прошивку, сменить картинку, шрифты, русифицировать и т.д. - тоже пишите в личку. (В целом, не думаю что кому то это нужно,.... X) )

    Повторяю, что на данный момент проработка теоретичская, и проверить на реальном устройстве не могу, но, в работоспособности уверен, потому как код не тронут, переходы ассемблерного кода не нарушены, и измененные участки не могут сказаться на работоспособность кода, менялись только элементы информационных массивов (db) и код шрифтов. Тем не менее, когда проверю на реальном устройстве - опубликую практический отчет !

    Всем прекрасного настроения !





    Последний раз редактировалось electroscat; 12.02.2020 в 05:34.

    Эти 3 пользователя(ей) поблагодарили electroscat за это полезное сообщение:

    crackintosh(27.12.2020), creator(10.02.2020), LeoN65816(10.02.2020)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. уНИверсальный вьювер
    от Руслан в разделе Софт
    Ответов: 3
    Последнее: 16.10.2011, 10:53
  2. Ответов: 0
    Последнее: 20.06.2011, 11:43
  3. NES 110В - Китайский адаптер
    от REMR в разделе Nintendo
    Ответов: 2
    Последнее: 04.04.2010, 08:25

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •