Как стать автором
Обновить

Комментарии 20

Конечно это перевод, но, на сколько я помню, watcom давал лучшую оптимизацию на то время.

Косвенно это подтверждается тем, что почти все игроделы его предпочитали.

Да, да… тоже помню.
Watcom также добавлял своих багов, в результате приходилось эпизодически проверять что за ассемблер он нагенерил. (Писали тогда встроенное ПО для телефонии)
Ну так ребята ж не ищут лёгких путей. Так-то можно взять GCC кросс-компилятор под DOS и получить и приличный оптимизатор и C++14 и прочие «радости жизни». Но программа получится 32-битная с DOS-расширителем a-la DOOM, да.
Это как-то решило бы их проблемы с графикой? Вы почитайте что им пришлось использовать, компилятор такое не сделаем сам по себе.
Это избавило бы от необходимости возиться с ассемблером, но алгоритмических изменений, конечно, не отменило бы…
Страшно стало… уже сколько лет прошло… а все еще помню: 16384 — начала видео, в IX — куда грузить, в DE длина и call 1366, грузим… Чувствую это въелось в мозг до конца жизни :))))

Завидую людям которые могут заниматься интересной, но бесполезной работой.
Ведь за это никто не заплатит
Критерии «полезности» могут быть очень разными.
Это не обязательно деньги.
Полезность понятие субъективное и деньги являются выражением этого понятия.
Если кто-то считает что-то полезным, он готов за это платить.
Так что большинство людей могут работать только над тем, что полезно другим людям.
Я и говорю — деньги могут являться достаточным выражением полезности, но вовсе не обязаны быть её необходимым выражением.
Прямо окунулся в прошлое. Да, всё было именно так. Интересно было разбираться с VESA-режимами, писать свои библиотеки (велосипеды) по работе с графикой, спрайтами. Придумывать свои форматы хранения ресурсов.
Это сейчас об этом не надо думать. Раньше информацию приходилось читать в книжках, FIDO, покупать компакт-диски со всякой всячиной.
Например, у меня всё ещё на полочке пылится диск с кучей исходников самопальных компонентов и недоделанных игр. Есть там и недоделанный клон Warcraft 2, и различные варианты реализации библиотек для работы с графикой, звуком, чьи-то 3D и квестовые движки на коленке и прочий увлекательный хлам. Разбирать это всё, компилировать, использовать интересные наработки было невероятно увлекательно в конце 90-х — начале 2000-х годах.
Спасибо за ностальгию)
Хорошо помню этот недоделанный клон Warcraft 2, если это тот, где ввели атомное оружие.
Нифига не понимал что там в исходниках было, но иметь такой диск было очень круто.

Видимо, у вас REP MOVSW не работает из-за того, что грязные прямоугольники нечетного размера. А если их выравнивать по ширине 4 (у вас все равно 4 плоскости), по высоте кратно 4, и использовать db 66h; rep movsw; получится команда rep movsd и обретете счастье. Но не будет работать на 286м тогда, потому как у него нет команд с 32-битной шириной.

Это перевод. Кстати, я не понял как выравнивание связано с количеством плоскостей.

С помощью выравнивания по горизонтали можно добиться того, что код всегда будет записывать пиксели на все 4 плоскости, начиная с нулевой, что в теории сэкономит несколько тактов ЦП на вычисление плоскости, которой соответствует левый верхний угол грязного региона, а также позволит развернуть цикл прорисовки, сэкономив ещё немного времени. Выравнивание по вертикали не столь обязательно, но желательно, чтобы можно было не парясь сдвигать CX на два вправо и не терять количество прорисованных точек. Выравнивание начала региона до кратной 4 позволит не париться о границе экрана.

Старая гвардия!

Как увидел мой любимый td.exe аж руки зачесались. Только непривычно видеть только одно окно кода в отладчике.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации