С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Доброго времени дорогие друзья !
Хочу поделиться наработками по прошивке 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.
crackintosh(27.12.2020), creator(10.02.2020), LeoN65816(10.02.2020)
Я чёта пропустил начало. Эти твои наработки для просто русификации заставки/меню GBS или это тренировка на кошках, что бы потом что-то поправить по изображению?
Вряд ли он проехал всю Индию (как и всю России), но гигантскую помойку можно найти и там и там. В Индии просто из-за климата "аромат" более насыщенный.
"Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.
Россия хоть и более менее стандарты чистоты поддерживает, но в духовном плане вакуум полнейший, только лозунги и внешние какие то показные признаки,.. В индии внешне конечно грязновато, но из за духовной полноты этого народа - в целом это и не заметно. Я приезжаю сюда не за чистотой, а за духовными переживаниями, в россии их нет вообще, ну или максимум спекуляции на тему, а в Индии народ этим живет, и с этой точки зрения - помойка конечно это Россия. В целом, на вкус и цвет фломастеры разные, по этому, кто что ищет, если едете в Индию за комфортом и чистотой - вряд ли найдете, но если за духовной составляющей - велком
Прошу прощения за сообщение не в тему форума _/|\_
- - - Добавлено - - -
Да изначально хотел иероглифы убрать с заставки, у меня плата в ретро компе из СССР используется, и совсем не понятно иероглифы при включении выглядят... Но в целом, интересное дело, и если так дальше пойдет, в идеале и с ассемблером разберусь, ну и с изображением можно будет тогда попробовать что то поменять...
Хотя в целом, все задачи, которые перед собой ставил - уже решил, иероглифов нет,.. даже перевыполнение, русифицировал девайс, вшил туда интереные, нестандартные шрифты... А проблемы с картинкой я порешал изменением в схеме видеоадаптера моего Вектора... Ну и собственно, основная проблема, которая тут у большинства - на векторе отсутствует, частота развертки его видеоадаптера 50 гц ровно, и нужно то было всего лишь выкинуть из видеосигнала вектора rgb, оставив только чистую синхронизацию, подключить все, включая синхросигнал - через разделительные конденсаторы, дабы не пускать постоянную составляющюю на GBS, и хорошо заэкранировать GBS и все кабеля сигнальные... После этого оставалось только убрать иероглифы, и это получилось, с перевыполнением.
А, еще, монитор поменял, потому что не все мониторы одинаково хорошо показали себя с GBS. Изначально ASER 17" был, он 4:3, картинку можно было настроить квадратом, но пиксел был сильно размазанный, не очень красиво сливались промежутки в 1 пиксел... А потом попробовал PHILIPS 19", и он заметно лучше справился с "пикселизацией" картинки.. Правда на нем картинка растянута слегка, соотношение сторон 16:9, а картинка Вектора получилась не квадратная а ширина процентов на 10 больше чем длинна, и справа и слева бордюр большой, а сверху и снизу в 1 пиксел... но меня в целом это не очень беспокоит.
Интересная штука - среди текстов меню есть пункты, которые в стандартном режиме англ. языка не доступны, по крайней мере на моем девайсе,.. там можно управлять соотношением сторон, разрешением входного сигнала, и еще некоторыми вещами, которые в стандартном варианте не доступны. Думаю еще и в эту сторону поэкспериментировать.. со временем... Хотя в процессе изучения кода все больше прихожу к выводу, что все что там есть не выводимого в меню - это не пункты меню, а просто готовые фразы, для вывода на экран и индикации определенного режима.
Да, всю Индю обьехать трудно за 2 месяца.. Побывал в Мумбае, Контрастно, небоскребы и дорогие машины, ягуары, мерседесы - и тут же бездомные спят под ветринами дорогих бутиков,.. причем все это сосуществует, и друг другу не мешает, удивительно...
Был в Дели, Калькуре, Ремуне, Сейчас в Маяпуре, Это пол индии от юга к центру. Через 6 дней лечу на север, Во Вриндаван и опять в Дели потом. Дели - тоже мегаполис контрастный, а все остальные города - они так, попроще, победнее... Но тут люди в целом не парятся, пользуются тем, что дано, и счастливы, очень интересно ))
Последний раз редактировалось electroscat; 12.02.2020 в 03:18.
Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).
К сожалению, не могу ничем помочь. Судя по моим изысканиям, пункты меню в прошивке управляются полностью автоматически, показываются и скрываются в зависимости от типа сигнала, то есть, если при конкретном сигнале можно управлять например усилением RGB сигналов - то появляется соответствующие пункты меню, и т.д. В итоге, добавить в целом нечего, те пункты меню, которые вы получаете при подключении определенного сигнала являются исчерпывающими для данного сигнала. Отдаю должное программисту, писавшему эту прошивку, Xiang Cheng Zhai в копирайте прошивки его имя вот так звучит. Очень серьезный человек, американский ученый,.. Вот строки из википедии о нем: "ChengXiang Zhai - ученый-компьютерщик. Он является профессором и преподавателем факультета Willett в Университете Иллинойса в Урбана-Шампейн. Чжай был назначен членом Ассоциации вычислительной техники в 2017 году «за вклад в поиск информации и анализ текстовых данных»."..... Программа прошивки гениальна, с серьезными возможностями под изменения в плане дизайна, и с исчерпывающими возможностями под настройки для каждого из поддерживаемых типов видеосигнала. На мой взгляд, из данной конструкции больше ничего особо не вытащить. Сопряжения с вашими устройствами проще будет делать при помощи внесения корректировок в видеоадаптер вашего ретро-компьютера. В целом, изначально именно так я и поступил для сопряжения устройства с моим "Вектором", благо переделок не много было, один разрез дорожки, одна перемычка и четыре конденсатора, ну и еще дополнительная микросхема навесным монтажом и около 20 перемычек и 4 резаных дорожки, для того чтобы в целом нормализовать синхроимпульсы и инвертировать RGB сигналы ...
Закончил эксперименты по интерфейсу устройства GBC8220, удачно в целом, на 160% удачно. Полностью русифицировал девайс, изменил заставку при пуске, сделал две прошивки с разными шрифтами, далее на фото покажу обе. На этом эксперименты с устройством прекращаю, в следствии того, что всего что было нужно добился. Вижу нулевой интерес к интерфейсу GBC8220, по этому никакие файлы не прикрепляю, ни парсеры, ни прошивки ни чего другого, пишите в личку если надо. С чисто развлекательной целью публикую несколько снимков нового интерфейса устройства:
![]()
Последний раз редактировалось electroscat; 19.03.2020 в 12:58.
CLR(29.03.2020)
Вопрос к знатокам: можно ли подключить сигнал RGB на вход конвертера прямо с выхода микросхемы то есть TTL уровень?
Моё железо
ZX Spectrum 48K issue 2/3/4A/4B/4S/6A
ZX Spectrum +2
ZX Spectrum +3
Harlequin 48K
Harlequin 128K
Karabas-128
[свернуть]
NiKa, у меня так Москва-48 подключена. Правда не напрямую к выводам микросхемы, а через резисторы 510Ом.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)