Полный текст

Легенда о хардкоре: Duke Nukem 3D, Watcom и FreeBSDКогда-то подросток из сибирских краёв разглядел слово «Watcom» в EXE-файле любимой стрелялки и с тех пор мечтал дорваться до легендарного компилятора, на котором собирали Doom и Duke Nukem 3D. Спустя почти 30 лет мечта дошла до логического хардкора. Собрать OpenWatcom из исходников под FreeBSD, платформу, для которой готовых сборок нет, а потом этим компилятором собрать саму игру из исходников 2003 года.Компилятор собрался, игра собралась, заветный EXE появился. А потом намертво повесил эмулятор. Пошли в ход замедление процессора, отключение звука, смена расширителя памяти, готовый билд под Linux, откат к оригинальным исходникам. Оригинал работал без проблем, а собственноручно собранная версия падала стабильно.Виновником в итоге оказался один файл. Разберёмся, почему двух тысяч строк ассемблера хватило, чтобы обрушить всю затею.