Win 2.x drivers

Софт только для Windows (всех версий)

Re: Win 2.x drivers

Сообщение Zelya » 23 июл 2014, 18:44

Фууух... Еще 19 мест в коде с захардкоджеными данными. Восновном в хардкорных фиксах от МС :). Вывел их все на одну константу, которую нужно менять перед компилдяцией. Остальное все лежит в переменных. Как только добью этот хардкод, можно будет легко написать свитчер между 3-мя 16-цветовыми режимами (640х350, 640х480, 800х600), который не будет требовать перекомпиляции дров и будет переключаться в процессе работы Винды :). Потом займусь четвертой плоскостью и 16-ю цветами вместо 8-ми.
Последний раз редактировалось Zelya 30 сен 2023, 23:41, всего редактировалось 1 раз.
Zelya
Мастер Даунгрейда
 
Сообщения: 191
Зарегистрирован: 05 апр 2011, 12:23

Re: Win 2.x drivers

Сообщение Zelya » 25 июл 2014, 10:57

Все! Все три режима повешены на одну маленькую перменную в ОЗУ. Теперь, блин, нужно писать программу для переключения режима. Думал, проще будет, а тут оказалось, что Винда дублирует данные GDI где-то там у себя, и если насильно поменять все внутри драйвера получится "расколбас".
Последний раз редактировалось Zelya 30 сен 2023, 23:41, всего редактировалось 1 раз.
Zelya
Мастер Даунгрейда
 
Сообщения: 191
Зарегистрирован: 05 апр 2011, 12:23

Re: Win 2.x drivers

Сообщение Zelya » 29 июл 2014, 17:01

Захарился я ремонтировать "переключалку". Повесил на опцию, наслаждайтесь:
http://youtu.be/F28wxrXlEow
Последний раз редактировалось Zelya 30 сен 2023, 23:41, всего редактировалось 1 раз.
Zelya
Мастер Даунгрейда
 
Сообщения: 191
Зарегистрирован: 05 апр 2011, 12:23

Re: Win 2.x drivers

Сообщение SokilOff » 29 июл 2014, 20:41

Zelya писал(а):Захарился я ремонтировать "переключалку". Повесил на опцию, наслаждайтесь:
http://youtu.be/F28wxrXlEow

Круто ! Т.е. теперь следующий шаг - запилить там 16 цветов ?
Последний раз редактировалось SokilOff 30 сен 2023, 23:41, всего редактировалось 1 раз.
Лень - это привычка отдыхать ещё до того, как устал.
Аватара пользователя
SokilOff
Мастер Даунгрейда
 
Сообщения: 698
Зарегистрирован: 09 янв 2013, 00:24

Re: Win 2.x drivers

Сообщение Gawobeka » 29 июл 2014, 23:16

Конечно круто!
Ну и не знаю, как и спросить ) А графического Бейсика под Win 2 никто не придумал? Очень завидую GEMу с его локомотивным бейсиком )
Последний раз редактировалось Gawobeka 30 сен 2023, 23:41, всего редактировалось 1 раз.
Аватара пользователя
Gawobeka
Мастер Даунгрейда
 
Сообщения: 353
Зарегистрирован: 08 дек 2012, 21:11
Откуда: Кострома

Re: Win 2.x drivers

Сообщение Zelya » 30 июл 2014, 11:03

SokilOff писал(а):
Zelya писал(а):Захарился я ремонтировать "переключалку". Повесил на опцию, наслаждайтесь:
http://youtu.be/F28wxrXlEow

Круто ! Т.е. теперь следующий шаг - запилить там 16 цветов ?

Ага :). Хотя "переключалку" еще никто тоже не отменял, но будет она позже.
Последний раз редактировалось Zelya 30 сен 2023, 23:41, всего редактировалось 1 раз.
Zelya
Мастер Даунгрейда
 
Сообщения: 191
Зарегистрирован: 05 апр 2011, 12:23

Re: Win 2.x drivers

Сообщение Zelya » 30 июл 2014, 11:06

Gawobeka писал(а):Конечно круто!
Ну и не знаю, как и спросить ) А графического Бейсика под Win 2 никто не придумал? Очень завидую GEMу с его локомотивным бейсиком )

Нет. Под Вин 2 есть графический диалог-эдитор, который может помочь набросать ГУИ, но логику все равно нужно писать на голом Си, асме или паскале. Хотя... Если сильно извратится, то вроде можно заставить QBasic компилить obj файлы, и слинковать их с накиданной в эдиторе ГУЕй. Но моторошно это все как-то....
Последний раз редактировалось Zelya 30 сен 2023, 23:41, всего редактировалось 1 раз.
Zelya
Мастер Даунгрейда
 
Сообщения: 191
Зарегистрирован: 05 апр 2011, 12:23

Re: Win 2.x drivers

Сообщение Zelya » 06 авг 2014, 13:53

Пофиксал две адские баги :). Одна правда, не совсем адская. Я запутался в порядке push/pop в одном трудночитаемом месте, из-за чего иногда особо хитрое закрашивание работало не корректно. А вот вторая бага, это срака какая-то. Во-первых симптомы. Их два: не убираются чек-боксы в меню и не работает одна хтрая программка. То есть она работает, но не меняет результаты. Кто бы мог подумать, что из-за видео-драйвера! А оказалось, все из-за пермеенной которую я зафигачил в сегмент с "вырвиглазным" кодом-фиксом от МС. Как оказалось, данных там должно быть 16 байт, и ни байтом больше. А моя переменная добавляла два байта. Фиг с ним, думаю, нашел в тех 16 байтах перменную которая используется ровно один раз. Перевшал ее на регистры - все работает. Классно! Вставляю на ее место свою переменную, Винда посыпалась! И так и сяк изучал код, ну нигде та область памяти не используется. А стоит вписать туда хоть байтик своих данных - швак! Пришлось кртутится и переносит свою переменную в зажопье :(.
А вот с 16 цветами еще хуже. Ну никак бит интенсивности не хочет логике поддаваться. Выбирается полуслучайным образом. Вот только-только надпись была серой (интесивность 0) а стала якро белой (интесивность 1). Решил заставить работать хотя бы с 8-мью якрими цветами, кругом проставив везде интесивность 1, и все равно темные лезут на экран, хоть тресни. Буду кумекать дальше.
Последний раз редактировалось Zelya 30 сен 2023, 23:41, всего редактировалось 1 раз.
Zelya
Мастер Даунгрейда
 
Сообщения: 191
Зарегистрирован: 05 апр 2011, 12:23

Re: Win 2.x drivers

Сообщение SokilOff » 06 авг 2014, 14:57

Zelya писал(а): Фиг с ним, думаю, нашел в тех 16 байтах перменную которая используется ровно один раз. Перевшал ее на регистры - все работает. Классно! Вставляю на ее место свою переменную, Винда посыпалась! И так и сяк изучал код, ну нигде та область памяти не используется. А стоит вписать туда хоть байтик своих данных - швак! Пришлось кртутится и переносит свою переменную в зажопье :(

Значит все же где-то используется. Как вариант - попробовать посмотреть под "ядерным" 16-битным отладчиком вроде SoftICE 2.8 для DOS, поставить брейк на чтение/запись по адресу этой переменной и ждать, когда сработает.

А вот с 16 цветами еще хуже. Ну никак бит интенсивности не хочет логике поддаваться. Выбирается полуслучайным образом. Вот только-только надпись была серой (интесивность 0) а стала якро белой (интесивность 1). Решил заставить работать хотя бы с 8-мью якрими цветами, кругом проставив везде интесивность 1, и все равно темные лезут на экран, хоть тресни. Буду кумекать дальше.

Тоже надо смотреть, что и откуда туда пишет.
Последний раз редактировалось SokilOff 30 сен 2023, 23:41, всего редактировалось 1 раз.
Лень - это привычка отдыхать ещё до того, как устал.
Аватара пользователя
SokilOff
Мастер Даунгрейда
 
Сообщения: 698
Зарегистрирован: 09 янв 2013, 00:24

Re: Win 2.x drivers

Сообщение Zelya » 07 авг 2014, 10:54

Ну ешкин ты хвост.... Pub Tech Organizer оказывается на моих дровах глючит....
win200_000.png
win200_000.png (6.59 Кб) Просмотров: 11545

Там в драйверах есть два файла фиксов от МС по обработке шрифтов, с почти нечитаемым кодом. Почти все мои баги в них. Буду изучать... :cry:
Последний раз редактировалось Zelya 30 сен 2023, 23:41, всего редактировалось 2 раз(а).
Zelya
Мастер Даунгрейда
 
Сообщения: 191
Зарегистрирован: 05 апр 2011, 12:23

Re: Win 2.x drivers

Сообщение Zelya » 08 авг 2014, 13:53

Пофиксил. Кто желает, может потестить:
Дефолтный режим - EGA. Если в win.ini добавить
Код: Выделить всё
[display]
mode=0

Будет тот же EGA (640x350)
Код: Выделить всё
[display]
mode=1

VGA (640x480)
Код: Выделить всё
[display]
mode=2

SVGA (800x600)
Очень интересно, как поведет себя драйвер на ХТ машине, если есть возможность потестить. Если хотите использовать драйвер с Win 386, нужно доложить файлы my.3ex, my.386, которые можно получить из стандартного EGA или VGA драйвера под Win 386, просто переименовав соответсвующие файлы. Полный пак, пока не делаю, так как не совсем уверен в предназначении и принципах работы этих двух файлов.

MY.zip
(21.55 Кб) Скачиваний: 538
Последний раз редактировалось Zelya 30 сен 2023, 23:41, всего редактировалось 1 раз.
Zelya
Мастер Даунгрейда
 
Сообщения: 191
Зарегистрирован: 05 апр 2011, 12:23

Пред.

Вернуться в Программы для Windows

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6