13 Nov 19 11:03, Dmitriy Ksenchak wrote to Evgeniy:
DK> Запустился и работает! Пробовал с разными параметрами строки, пока DK> всё стабильно!
Hу баги и потом могут вылезти, теоретически... :-)
Hо, наверное, всё же стоит под рукой держать либо батник для запуска T-Mail с дополнительной командой "mode con cols=80 lines=25", либо какой-то readme, ибо замена байта в общем случае не является решением: с изменённым EXE-шником при консоли шириной более 132 столбцов всё равно будет вылетать та же ошибка "Error: Unable to initialize video system.". А консоль теоретически может "опять" стать шире после выхода очередной Windows 100500 или при изменениях каких-нибудь системных настроек. Проверку на "ширину" консоли в принципе можно полностью "отключить", либо скорректировать размеры при помощи изменения пары байтов EXE-шника, но тут уже явно где-то что-то "нехорошее" может вылезти (хотя бы из-за переполнений разрядных сеток каких-нибудь связаных переменных или вычислений). Проверка на размер консоли скорее всего нужна нужна в том или ином виде. Вопрос лишь в том, с каким максимальным размером консоли _в_ринципе_ может работать эта программа нормально. Для хранения размеров консоли в глобальных переменных используются 16-битные значения. Можно с некоторой долей оптимизма предположить, что и работа с этими значениями организована без различных усечений результатов, т.е., возможно, что T-Mail может нормально работать с консолями размерами до 65535x65535. Hо проверять это - задачка "на любителя". :-)
Для желающих поковыряться в HEX-редакторе, выкладываю смещения. Все изменения на свой страх и риск :-)
Ограничения размеров консоли для версии: T-Mail.NT ver.2608/NC (C) 1992-2001 by Andy Elkin. хранятся по смещениям: 0x5CCF5: 0x74 -> 0x73 - переделка работы из "равного" количества столбцов в "минимальное"; 0x5CCF4: 0x50 - равное (!? минимальное) количество столбцов (80); 0x5CD07: 0x84 0x00 - максимальное количество столбцов (132); 0x5CD1B: 0x19 - минимальное количество строк (25).
Ограничения размеров консоли для версии: T-Mail.NT/TCP/IP ver.2608/NC (C) 1992-2001 by Andy Elkin. хранятся по смещениям: 0x5D145: 0x74 -> 0x73 - переделка работы из "равного" количества столбцов в "минимальное"; 0x5D144: 0x50 - равное (!? минимальное) количество столбцов (80); 0x5D157: 0x84 0x00 - максимальное количество столбцов (132); 0x5D16B: 0x19 - минимальное количество строк (25).
С уважением, Evgeniy
--- * Origin: FIDO - передаём данные при помощи собаки с дискетой (2:5023/24.3755)