Все правильно: RGB по 470 Ом, HSYNC и VSYNC по 62 Ом.
Питание 5 Вольт зарядкой от телефона.
Вид для печати
Все правильно: RGB по 470 Ом, HSYNC и VSYNC по 62 Ом.
Питание 5 Вольт зарядкой от телефона.
Я написал программу под DOS, которая определяет нестандартные (для VGA и SVGA) режимы, поддерживаемые LCD монитором. Выводится также информация о синхросигналах монитора на английском языке (это на случай если под рукой не окажется русификатора). Программа ещё сохраняет прошивку монитора в файл monitor.bin. Монитор должен быть подключен к компьютеру через VGA разъём. Запускать программу под эмуляторами DOS бессмысленно :). Можно вывести список режимов в текстовый файл следующим образом:
Код:modes.exe > log.txt
Я бы не стал опираться на информацию из EDID. Прямо сейчас у меня на столе стоит DELL U2410 и судя по EDID он 50 Гц не тянет, а реальность говорит об обратном :)
ЗЫ. Прежде чем вызывать int 10h AX = 4F15h сначала бы проверить (ну и по результату вызова), а может ли ВК и монитор такое :)
http://www.delorie.com/djgpp/doc/rbinter/ix/10/4F.html
Хотя, я был неправ. В расширенной инфе есть 50Гц режимы.
Дамп от такого же, там же рядом еще 100500 дампов https://github.com/bsdhw/EDID/blob/m...6/C224256310C1
Через регистр DX, но это не точно
https://web.archive.org/web/20080614...E/VBEDDC11.PDF
Код:3.2.2 01 - Read EDID
Input: AH= 4fh VESA Extension
AL= 15h VBE/DDC Services
BL = 01h Read EDID
CX = 00h Controller unit number (00 = primary controller)
DX = 00h EDID block number.
ES:DI= Pointer to area in which the EDID block (128 bytes) shall
be returned
Если очень хочется под MS-DOS, то можно попробовать портировать линуксовую прогу https://github.com/jinksong/read_edid
Мои развлечения с Benq BL702A.
Почитав интернет, я пришёл к выводу, что мне нужен такой монитор, поскольку есть куча разного старого промышленного и бытового железа, но нет мониторов к нему. Что-то получается подружить при помощи GBS-8200, что-то при помощи zx-vga. Но хотелось чего-то более универсального, да и картинка через преобразователи зачастую оставляет желать лучшего. А кое-где они совершенно не справляются. Итак, монитор был приобретен. Где-то год-полтора назад)) К моему удивлению, он переварил без всяких переходников достаточно много из имеющегося железа. Да, с мылом и искажениями, но показывал. И вот дошли руки копнуть глубже. Цель на ближайшее время - подключить к нему КЦГД, а также древнюю стойку ЧПУ Agiematic C. Связался с товарищем Leon для консультаций)) Было решено устроить обучающий урок на чем-то попроще, потому что у КЦГД синхра замешана в зеленый, а Agiematic располагается в другом месте и туда нужно ехать уже подготовленным. Выбор пал на советский клон ZX-spectrum. Был спаян переходник 1:1, монитор сразу выдал весьма приятную картинку, но с волнообразными искажениями:
Вложение 81977 Вложение 81979 Вложение 81978 Вложение 81984
Был собран программатор для LPT-порта на двух транзисторах, при помощи программы Postal2 слита прошивка. Стоит сказать, что под Win98 ничего слить не вышло. Программа просто не видела порт. Под WinXP всё получилось сразу. Итак, прошивка была слита, отправлена Leon'у для изучения. Leon сказал, что таблица видеорежимов начинается со смещения 0x292F3h. Тут же, в соседней теме была найдена структура таблицы:
в разделе информации монитора было сказано, что используется видеорежим 576i. В таблице была найдена соответствующая строка:Код:typedef struct {
UINT8 PolarityFlag;
UINT16 IHWidth; // Input Horizontal Width
UINT16 IVHeight; // Input Vertical Height
UINT16 IHFreq; // Input Horizontal Frequency
UINT16 IVFreq; // Input Vertical Frequency
UINT8 IHFreqTolerance; // Input Horizontal Frequency Tolerance
UINT8 IVFreqTolerance; // Input Vertical Frequency Tolerance
UINT16 IHTotal; // Input Horizontal Total Length
UINT16 IVTotal; // Input Vertical Total Length
UINT16 IHStartPos; // Input Horizontal Start Position
UINT16 IVStartPos; // Input Vertical Start Position
} ModeTableType;
что в соответствии с описанием структуры выше даёт вот такие данные:Код:0x2997Bh 8D 02 D0 01 20 00 9D 01 F4 0A 0A 03 60 01 38 00 7D 00 15
Поменяли 4 параметра - IHWidth - 320, IVHeight - 256, IHTotal - 448, IHStartPos - 64.Код:Polarity - 1101
IHWidth - 720
IVHeight - 288
IHFreq - 15.7KHz
IVFreq - 50Hz
IHFreqTolerance - 1.5KHz
IVFreqTolerance - 1.5Hz
IHTotal -864
IVTotal - 312
IHStartPos - 125
IVStartPos - 21
Строка стала выглядеть вот так:
0x2997Bh 8D 01 40 01 00 00 9D 01 F4 0A 0A 01 С0 01 38 00 40 00 15Код:0x2997Bh 8D 01 40 01 00 00 9D 01 F4 0A 0A 01 С0 01 38 00 40 00 15
з.ы. редактор сообщений категорически отказывается оформлять эту строку кодом CODE
монитор был прошит и.....меня ждал черный экран. Leon предупреждал, что PLL скалера может и не запуститься с таким низким пиксельклоком (7МГц). Удваиваем. Меняем параметры горизонтального захвата: IHWidth - 640, IVHeight - 256, IHTotal - 896, IHStartPos - 128.
Прошиваемся...И...Код:0x2997Bh 8D 02 80 01 00 00 9D 01 F4 0A 0A 03 80 01 38 00 80 00 15
Вложение 81981 Вложение 81983Вложение 81980 Вложение 81986 Вложение 81982 Вложение 81985
Замечательная картинка без всяких искажений! Остаётся чуть поправить положение по горизонтали и вертикали параметрами IHStartPos и IVStartPos. Но это уже в другой раз.
Большое спасибо Леониду за урок))
Поменять то можно, но для какой матрицы это будет?? 768 цифра так-себе..будет мыло..Тут то смысл в том, что матрица у Benq702 - 1280х1024, 1280=320*4=640*2..
На мониторах со скалером Realtek RTD2270, RTD266x и подобными. Нужно выяснять, какой скалер в мониторе, пробовать сливать прошивку и смотреть в неё..
Спасибо Вам за ответ!
Количество "мыла" можно оценить несложным расчетом. Я рассматриваю матрицу 1280x1024.
Для 640 столбцов вообще всё будет идеально:
НОД(1280, 640)/640 = 1.
Но хочу заметить, что почти все LCD мониторы 1280x1024 (если они не слишком древние) прекрасно показывают в текстовом режиме 720x400 в DOS. А число 768 гораздо лучше, чем число 720:
НОД(1280, 768)/768 = 1/3 > 1/15 = НОД(1280, 720)/720.
- - - Добавлено - - -
На Электронике МС1502 пиксельклок 16 МГц (может быть снижен в 2 раза для режима среднего разрешения). При этом активный растр 768x???. Но для совместимости с CGA ассоциируется с видеопамятью только растр 640x200, всё лишнее убирается в бордюр.
И ещё у РК-подобных (или почти подобных) компов (Микро 80, Апогей, Специалист и т. д.) пиксельклок 8 МГц и активный растр 384x256. Но выше написано, что на слишком низкой частоте PLL может не работать. Поэтому, возможно, придется удвоить до 768x256.
Итак, продолжение экспериментов. КЦГД.
Поскольку в КЦГД нет отдельной синхры, а используется SOG, было решено для начала эту самую синхру добыть отдельно. Для этого я припаял провод к обведенному красным месту, вывел его наружу и припаял к 13му контакту разъема VGA. Туда же припаял сигналы R, G, B и землю.
Вложение 82007
Включил, никакой картинки не увидел. Ок. Включаем осциллограф. Подключаемся к синхре, видим импульсы с частотой 15.64КГц. Это строчная развертка. Кадровая из документации равна 60Гц. Достаем плату КЦГД, смотрим на кварцы. Находим кварц 30.8Мгц. Значит PixelClock = 15.4МГц.
IVTotal = строчная / кадровая = 15640 / 60 = 260.6 Судя по всему, используется формат NTSC. Принимаем IVTotal = 262
IHTotal = PixelClock / строчная = 15.4 МГц / 15640 = 984.65 -> 984
Разрешение берем из мануала - 800х240
Ищем строчку в таблице режимов, максимально подходящую к нашим данным.
и модифицируем её.Код:0x29968h 8D 02 D0 00 F0 00 9D 02 58 0A 0A 03 5A 01 06 00 77 00 12 (1101, 720x240, 15.7KHz/60.0Hz, 1.0KHz/1.0Hz, 858, 262, 119, 18)
Прошиваем монитор, включаем. Видим картинку, но с волнами. Автоподстройка не помогает, потому что для её корректной работы нужна картинка во весь экран. Загружаем драйвер графического режима KCGD81.SAV, потом графическую демку GPDEMO.SAV. Во время работы демки нажимаем кнопку автоподстройки на мониторе и получаем замечательную картинку.Код:0x29968h 8F 03 20 00 F0 00 9C 02 58 14 0A 03 D8 01 06 00 A8 00 11 (1111, 800x240, 15.6KHz/60.0Hz, 2.0KHz/1.0Hz, 984, 262, 168, 17)
Вложение 82005Вложение 82006Вложение 82009Вложение 82008Вложение 82010
Теперь монитор умеет спектрум и КЦГД. Следующей на очереди стоит СЧПУ Agiematic C.
Народ, кто нибудь сталкивался с мониторами фирмы HP, у них в большей массе заявлены строчка от 24КГц, а кадры от 50Гц. Вот вчера попался мне HP LE1711, вот думаю подсоединить напрямую к Фениксу. В общем при включении определяет частоту правильно информирует в окне, но потом вылетает другое окно - пишет Out of range и не показывает. Может кто его потрошил на предмет прошивки. Ну или схема от него?
Посмотри вот это - https://www.forum.tslabs.info/viewtopic.php?t=916
Ещё положительные результаты с амигами и атарями - https://www.amibay.com/threads/lcd-m...hread.2446351/.
Там Acer B196L/V196L, Fujitsu B19-7 - тоже на рилтэках.
И фигурирует Dell P1917S - на MStar.
"Тайное знание". ;)
Тайное потому, что эти очевидные факты далеко не очевидны некоторым индивидам...
Оказывается, Postal2 умеет работать с CH341. Оболочку с нужной DLL-кой брать отсюда.
Лучше брать у продавца, чем у перекупщика.
Мой успешный опыт патчинга:
BenQ BL702A
"Acer V196L b" с IPS-матрицей!
Фото и видео.
ToDo:
1. MSX
2.БК. Ребята это уже сделали.
3. Вектор-06Ц
4. Поиск
Часть 3. БК0011М.
До Agiematic C я пока так и не добрался, решил поэкспериментировать с БК0011М. Спаял переходник, подключил. Тишина. Черный экран. Цепляемся осциллографом к синхре - получаем цифру 15.62КГц. Это частота строчной развертки. Кадровую нашёл в интернете - 48.8Гц. Кварц внутри на 12МГц - пиксельклок. Разрешение экрана у БК - 512*256. Чтобы видимая часть получилась 4:3, выбираем растр захвата - 512*273.
IHTotal = PixelClock / строчная = 12 МГц / 15620 = 768
IVTotal = строчная / кадровая = 15620 / 48.8 = 320
IHStartPos = (768-512)/2 = 128
IVStartPos = (320-273)/2 = 23,5 -> 23
Нашёл в таблице подходящую строчку, модифицировал её, прошил монитор. Однако, при включении монитор упорно включался в ранее сделанном режиме для КЦГД. Решил вопрос радикально - заполнил всю таблицу нулями, и только самый первый режим выставил согласно БК0011М:
Прошиваем монитор, видим картинку.Код:0x292F3h 8F 02 00 01 11 00 9C 01 E8 0A 0A 03 00 01 40 00 80 00 17 (1111, 512x273, 15.6KHz/48.8Hz, 1.0KHz/1.0Hz, 768, 320, 128, 23)
Вложение 82414
Картинка не сильно красивая, для работы автонастройки заполняем экран по-максимуму. После этого автонастройка срабатывает и получается идеальная картинка. Если вдруг автонастройка не сработала, в меню монитора крутим параметры Pixel Clock и Phase до получения красивой картинки.
Вложение 82415 Вложение 82416 Вложение 82417 Вложение 82419
Теперь мы умеем Spectrum, КЦГД и БК0011М.
Мне попадались с двумя версиями прошивки (и идентичными, но не одинаковыми скалерами), в которых таблица режимов располагается по разным смещениям дампа прошивки. В любом HEX-редакторе эта таблица режимов очень просто находится поиском и патчится.
Вот шильдики - https://disk.yandex.ru/d/2-sSfYNveFhSJQ/BenQ%20BL702A
И Mick три штуки тестировал - https://zx-pk.ru/threads/34483-lcd-v...=1#post1198288
Всем привет!
Тоже купил и прошил Benq BL702a для своего БК0010-01.
Инструкция написана скорее для тех, кто спустя много лет достал с полки свой БК и решил вспомнить молодость, как и я.
Вся информация и ссылки на необходимые материалы есть в этой теме, на разных страницах.
Благодарю за помощь Леонида (LeoN65816) и Дмитрия (SaTaN5076)!
1. Изучаем 3 темы на форумах:
https://zx-pk.ru/threads/34483-lcd-v...0-gts-kadrovoj - эта тема
https://forum.tslabs.info/viewtopic.php?t=916 – здесь находится необходимая готовая версия Postal2 для программатора CH341A, скачиваем
https://remont-aud.net/forum/119-29153-1 - инструкция по прошивке чипа RTD2660
Информация о моем мониторе:
Вложение 82999
2. Изготавливаем кабель для БК к монитору по схеме. Я сделал прямой кабель VGA-DIN5 из половины VGA-кабеля. (Вторая половина пошла для подключения монитора к программатору).
Вложение 82991
3. Покупаем программатор CH341A (у меня версия 5В) на чипе CH341B (я покупал на ОЗОНе). Фото программатора:
Вложение 82993Вложение 82992
4. Скачиваем и устанавливаем драйвер CH341SER.EXE для программатора.
5. Подключаем программатор к монитору и компьютеру (я делал на Win10x64). Подключение программатора к монитору по схеме (2й половиной VGA-кабеля напрямую, БЕЗ дополнительных резисторов):
Вложение 82994
6. Программой Postal2 скачиваем прошивку из монитора по инструкции «https://remont-aud.net/forum/119-29153-1 - инструкция по прошивке чипа RTD2660».
Вложение 83001
7. Редактирование прошивки:
Я использовал HEX-редактор HxD.
Открываем *.bin файл прошивки и поиском ищем последовательность «8D 02 D0 01 20» — это начало последовательности, которую надо отредактировать.
Последовательно меняем 19 байт с «8D 02 D0 01 20.......» на «8F 02 00 01 11 00 9C 01 E8 0A 0A 03 00 01 40 00 80 00 17».
Более подробная информация о том, что и зачем меняем, есть в этой теме! (Посты Леонида (LeoN65816) и Дмитрия (SaTaN5076)).
Вложение 83003
8. Программой Postal2 записываем прошивку в монитор.
9. Подключаем монитор к БК, загружаем полноэкранную картинку и обязательно делаем автонастройку монитора, возможно потребуется сделать несколько раз и на разных изображениях.
10. Результат:
Вложение 83000Вложение 83007
После сборки Агат-9 встал вопрос о мониторе к нему, попробовал NEC 1970NX, отличный монитор, но к сожалению отрезает нижнюю 1/3 экрана, по совету Леонида ака LeoN65816 был куплен "правильный" Benq BL702a
Вложение 83308
и жизнь сразу заиграна новыми красками, монитор неплохо справляется с режимами Агата. Но всегда можно сделать лучше, и когда LeoN65816 предложил пропатчить монитор я согласился не сразу, но потом подумал, почему бы и нет? Результатами патчинга был просто поражен, все стало выглядеть намного лучше. Описывать всю историю не буду, было это ~ 1/2 года назад, на на значимых событиях остановлюсь.
1. Для извлечения прошивки использовал CH341a, моя ошибка была в том, что я подключался не напрямую к монитору, а к кабелю, считывание прошивки заняло ~сутки. По словам Леонида, если подключить непосредственно к монитору, то будет уже история успеха.
2. Т.к. 1-ый вариант у меня не взлетел, то подключился с помощью VCTjig, тут кабель не помеха и прошивка сливается/заливается почти мгновенно.
3. После прошивки необходимо обязательно сделать настройку монитора, также для того чтобы на мониторе отображалось 16 цветом собрал плату сопряжения.
Вот, что получилось в итоге:
Вложение 83309Вложение 83310Вложение 83311Вложение 83312Вложение 83313Вложение 83314
Большое спасибо LeoN65816 за помощь!!!