Все правильно: 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. Но это уже в другой раз.
Большое спасибо Леониду за урок))