D.Vinitski>> В играх, может быть.
Balancer> И в играх — тоже. Но не только в них.
D.Vinitski>> а уж примитивная арифметика самописная, была и вовсе безгрешна!
Balancer> А вот программирование — вообще песец. Каждый второй запуск часто приводил к перезагрузке. Тут уже не по паре десятков рестартов за день, а по поре десятков рестартов в час могло быть
Ну, это только до появления 386-го и турбодебаггера под него. Вот на асме 8086 писать - да, была жесть. Но хуже всего, если надо было в защищённом режиме под 286-й писать. У меня в таком режиме основная прога для диплома работала. У меня в компе было 640 килобайт нижней памяти, и 2 мегабайта (на отдельной плате) верхней. И функция неопределённости исследуемого радиосигнала целиком эти 2 мегабайта занимала. Карта была 1024х1024 пиксела, по 2 байта на пиксел.
БПФ было написано на ассемблере, а таблица синусов и косинусов заранее рассчитана, транспонирована в 16-битные целые числа, и вставлена в код. Для того, чтобы посчитать один сигнал, нужно было ручками задать от 4 до 18 чисел (2 числа - начальная частота и скорость её изменения, дальше по парам время от начала и величина скачка частоты, до 8 скачков).
Чтобы посчитать свёртку, вычислялся БПФ от исходного сигнала, потом по правилу "спектр свёртки есть произведение спектров" спектры перемножались со сдвигом по частоте и фазе, потом делалось ОПФ, получалась одна строчка 1024 "пикселя" функции неопределённости. Один расчёт занимал на 6 МГц 286-й до получаса.
Исходный алгоритм я сначала отладил на Бэйсике (Qbasic-а тогда ещё не было, поэтому использовался GW-Basic), потом ручками портировал на ассемблер, потом оптимизировал, потом отлаживал в комплексе (на бэйсике вычислялась только одна строчка).