Обновить
91
Алексей@BiTL

Пользователь

0,4
Рейтинг
27
Подписчики
Отправить сообщение

Почему "самого первого"? Игры, например, далеко не сразу на IBM PC появились. И уж в 80-х годах вполне себе были стандарты.

Как вы вообще представляете себе работу анимации в играх без использования таймера? Как создать музыкальное сопровождение?

Вы программировали мультимедиа под DOS?

Скорость таймера программируется. Программа может любое разрешение поставить, 1/100 секунды, или 1/1000.

И нормальные игры и программы использовали таймер, так что работают прекрасно даже на современных компьютерах.

Чтобы пользоваться хотя бы нулевым с каким-то иным разрешением, нежели 18.2мс, нужно было, чтобы ваша софтинка сама контролировала системное время.

Не вижу проблемы. Системное время не надо контролировать, просто вешаем свой обработчик на вектор 8 (сохранив старый) и из своего обработкичка вызываем старый через нужные промежутки тиков.

Вкратце:

Скрытый текст
#include <dos.h>
#include "timer.h"

static void interrupt (*old_timer)();

void interrupt timer()   // ticks once per millisecond
{
    static unsigned count_55ms = 0;

    // our code

    // execute default handler
    if (++count_55ms == 55)
    {
       old_timer();
       count_55ms = 0;
    }
    else outp (0x20, 0x20);
};


void main()
{
   // timer init
   new_divisor (1193);           // 1 tick per 1ms
   old_timer = _dos_getvect (8); // save vector
   _dos_setvect (8, timer);      // set new vector

   // our program

   new_divisor (0);   // restore timer
   _dos_setvect (8, old_timer);
};


Если бы я сам не программировал таймер, я бы не спорил. А вы спорите со мной по вещам, которые я делал буквально вчера (чекайте мои статьи).

И как вы думаете в DOS работают музыкальные плееры Adlib (OPL2), в том числе в играх, у которого в отличии от Sound Blaster нет своего прерывания? Ессесно на таймер вешается.

Пытаться измерить производительность и на этой основе выставлять временные коэфициенты - это полная хрень. Нам ведь нужно прерывание, а не просто delay(). А просто "делэй" можно сделать ожиданием обратного хода луча развертки, поскольку частота развертки у конкретных видеорежимов была одинаковая на всех компьютерах. Но это полумера.

таймер Intel 8253/8254, что стоял в IBM PC-совместимых по дефолту тикает со скоростью 18.2 раза в секунду. Но можно перепрограммировать хоть в 1/1000. Хотя для игровой анимации обычно хватает скорости равной частоте развертки.

просто и раньше нормальные программисты события в игре привязывали к таймеру, и этим играм было по-барабану, турбо/нетурбо.

P.S.: Сейчас такты процессора считать - странно, особенно учитывая, что основная нагрузка на GPU ложится.

Нет, в нажатом состоянии она не уменьшает ничего, а как раз в отжатом - замедляет. Если, конечно, правильно подключена.

Эт когда она отвязалась? ) Все еще вроде зависит.

А так-то и раньше производительность зависела не только от частоты.

Так если абсолютно у всех была эта кнопка "Turbo", то в чем тайный смысл маркетинга? А еще можно пофантазировать, что кнопку включения назвали "Power" также из маркетинговых целей, так ведь круче! Power! А не "On/Off".

Кстати, даже у ZX Spectrum самопальных была кнопка "Turbo". Тоже видимо для пафоса и повышения продаж?

Всё изменилось с приходом маркетологов, которые быстро смекнули, что «медленный режим» — это то, что интересно пользователям. Нужно было продавать скорость, производительность, мощь!

Не понял логической цепочки.

Это создавало мощную иллюзию контроля и технологичности. Пользователь буквально видел, как его компьютер «ускоряется» или «замедляется».

....

Но здесь скрывалась самая большая ирония всей этой истории.

....

Это был стопроцентный маркетинговый трюк, призванный впечатлить покупателя и дать ему ложное, но приятное чувство участия в управлении мощностью машины.


Так и не понял - в чем был заговор. Автор что-то скрывает от нас! Не иначе как маркетолог! Пытается создать иллюзию, делает пасы рукаме и интригует!

Кнопка турбо действительно управляла скоростью компьютера и именно через частоту процессора. Понижает - или повышает - это вопрос точки зрения :)

поскольку в 80е еще вовсю жил СССР и вопрос покупки иностранного программного обеспечения был мягко говоря неактуальным.


Ну вообще-то СССР покупал и иностранное ПО, и программно-аппаратные комплексы целиком, вместе с ПО. У той же Франции, например. И даже у США и Англии в моменты оттепелей. С конца 50-х по 80-е было купленно масса компьютеров и всяких вычислительных комплексов.
Пруфы: https://www.etheroneph.com/index.php/machinery/586-zapadnye-evm-v-sssr.html
https://www.etheroneph.com/machinery/588-zapadnye-evm-v-sssr-spisok.html
https://www.kommersant.ru/doc/101251
https://topwar.ru/189960-rozhdenie-sovetskoj-pro-bjesm-saga-chast-iii.html

да, "unlimited bobs" популярная тема :) На PC в демке Poor 2/Majic12 (для 386-го) есть сцена с кубиками базирующаяся на этом принципе https://youtu.be/R7Sg_B2PLyk?t=85

Спасибо! :)

Благодарю за отзыв :)

А не с чем подаваться.

В каком-то смысле. Но не орги Ассембли. Чтобы получить призы, нужно присутствовать на пати. С этим возникли проблемы.

На PC в DOS "Hello word" в 23 байта помещается.

Но, к слову и под Виндовс можно намного меньше, чем у автора, если юзать асм, а не Си.

и это ужасно (хотя на самом деле пустая программа в TP 7 дает 1.5 кб ЕХЕ).

Информация

В рейтинге
2 410-й
Откуда
Актобе (Актюбинск), Актюбинская обл., Казахстан
Дата рождения
Зарегистрирован
Активность