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

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

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

ну, на 386DX-40Mhz, если с приличной видеокартой (вроде Cirrus Logic), то туда-сюда, с маленьким viewport'ом и low-детализацией можно, конечно. Будет 10-15 fps. Только когда много монстров встретится, то будет тупить нещадно.

А "искажение памяти" это да, есть такое... Я вот прям был уверен, что играл в 256-цветную версию Dangerous Dave 3. И какое-то время искал её :)

Я так понял, от ЕС1851 тут только корпусина и блок питания? А смысл тогда столько раз упоминать ЕС-ку, когда это intel 386SX на чипсете "Chips & Technologies"?

ЗЫ: Запускать Doom на этой конфе - тоже не понял смысла. Ладно бы Wolf3d...

(встречаются люди, которые доказывают, что они в Doom играли на 286-м, и ничто их не может переубедить, даже тот факт, что Doom использует 32-битные инструкции и защищенный режим. И да, я знаю про современную поделку энтузиастов Doom8088, но в 90-х ее не было :) ).

если еще раньше, то косплеели в основном Мортал Комбат https://youtu.be/sRWEwIzURy4?t=2689

В прохладной истории про отравление непонятно а почему он не вызвал скорую? Почему по итогам не сделал анализ крови чтобы определить вещество и не назвал заказчиков?

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

Не, ну если только своим "коронным" вопросом: "Др***шь?"😉

Дудь уже много лет этот вопрос никому не задаёт.

И да, Дудь Пашку бы озалупил. Поэтому он никогда к ниму не пойдет.

свобода лучше чем несвобода (с) один бывший президент

Каждые полчаса в течении 15 часов, каждый день? Эдак Ван Панч Мэном станешь :)

"Forbes опубликовал список из 10 самых убыточных российских компаний по итогам 2024 года. Его возглавила «Ангстрем» с убытком 236,3 млрд рублей."

А рентабельность все растет и растет, себестоимость все ниже и ниже 😊

Big in Japan, Pet Shop Boys, это да, тоже в MOD услышал впервые. Но я даже "One" Металики впервые в MOD услышал ))

И да, с дисков аля "Multimedia", где было куча всякого стафа скачанного с BBS-ок и MOD, STM, S3M наваленные в кучу.

Там же были всякие нетленки из амижных демок. Но тогда я не знал - откуда они, а читая инфу в сэмплах иной раз решал, что это из какой-то крутой игры.

ЗЫ: ковырятся на этих дисках тоже было той еще археологией (ну интернета же все равно не было). Иной раз по 50-му разу начинаешь изучать папки и архивы на таком CD, и бах, находишь демку какую-то, которую раньше не замечал (или не понял - что это, не смог запустить). И радости полные штаны.

Ну это и был Borland Pascal 7, там в одной инсталяхе и DOS и Windows версии шли. А сам язык (его вариация) называется Object Pascal. В Delphi тоже он, а "Delphi" это среда. Но сейчас это уже не важно :)

На Паскале писали. Но не с помощью графических библиотек поставляемых с Паскалем, аля Graph.

Да не было проблем с "чуть другой видеокартой" и тем более монитором. У видеокарт были стандарты и обратная совместимость. Если карта поддерживала VGA, значит так, как прописано в стандартах, и обычно также поддерживала CGA/EGA.

К тому же у нас еще есть BIOS, который выступает слоем совместимости.


А уж монитор тут вообще не причем. Чего это вы навыдумывали?

ну, вы хотели чтобы получилось "нечто с гиперболическими гранями" оно у вас подсознательно и получилось :)

Зато теперь у вас есть DosBox и Turbo Pascal, только cycles в конфиге ДосБокса советую побольше выставить ( Cycles=60000 это примерно Пентиуму 100Мгц соответствует)

белая - по вашему алгоритму, зеленая - circle из модуля graph:

Да алгоритм-то не мой, конечно (из фидоэхи). Но он рабочий. И да, я вижу и без зеленой окружности, что у вас он кривую "окружность" рисует. Мне даже любопытно теперь, как это у вас получилось :) Можно скрин программы? Может скопипастили как-то криво? )

 Не, не получается у вас круг:

Это у вас не получается :) У меня норм.

У вас есть под рукой настроенный эмулятор DOS с Турбо-Паскалем? О_о

Посмотрите мою последнюю статью: https://habr.com/ru/articles/937350/

Вопросы отпадут. Да, я из тех чудиков, у которых не только DOS-эмулятор с ТурбоПаскалем есть, но и 386 и 486-й работающие (и использующийся) компьютеры есть, и да, там тоже ТурбоПаскаль имеется :)

Обижаете. Есть и vga256.bgi, и vesa.bgi, который умел в режимы SVGA.

Ну, в штатном дистрибутиве этого точно не было :)

А так-то, для TP было написано масса всего, с поддержкой "из коробки" мышки, gif, jpeg, и т.д.

они прекрасно будут сосуществовать с библиотечными.

Не всегда. В моем случае Graph просто лишним будет.

Вопервых, я ведь запускал этот код, прежде чем ответить.

Во-вторых, поправку на то что в 320х200 пиксели не квадратные - можно добавить. А можно включить режим, в котором будут квадратные пиксели. Вобщем не суть...

Дело в том, что ваш Graph не поддерживает 256-цветный режим (по крайней мере я не видел таких bgi-драйверов), и придется довольствоваться древними 16-цветными режимами, или вообще монохромным :)

Далее, рутины в Grpaph тормозные, и не предполагают работы с анимацией. А также мы не имеем воозможности модифицировать код под себя. В моем случае я могу делать с окружностью что угодно, сделать ее градиентной, добавить заливку, переделать ее под планарный modex-режим.

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

Но есть же более продвинутые либы чем штатный graph :)

кроссвидеокартовый код


13h режим любой видеокартой поддерживается, даже современными. Игры в DOS под VGA практически все были в 13h-режиме.

И вообще, если уж кодить графон в Паскале, то интереснее и полезнее это было делать на низком уровне. Имхо :)

uses crt;
Var Screen: Array[0..199,0..319] of Byte absolute $a000:$0000;

Procedure Circle(x0,y0,r0,c0: Integer);
Var x1,y1,r02_r2 : Integer;
begin
 x1:=0;
 y1:=r0;
 r02_r2:=r0+r0+1; 
 repeat
  Screen[y0+y1,x0+x1]:=c0;
  Screen[y0+y1,x0-x1]:=c0;
  Screen[y0-y1,x0+x1]:=c0;
  Screen[y0-y1,x0-x1]:=c0;
  Screen[y0+x1,x0+y1]:=c0;
  Screen[y0+x1,x0-y1]:=c0;
  Screen[y0-x1,x0+y1]:=c0;
  Screen[y0-x1,x0-y1]:=c0;
  Dec(r02_r2,x1+x1+1);
  Inc(x1);
  if r02_r2<=0 then 
    begin
     Dec(y1);
     Inc(r02_r2,y1+y1+1);
    end;
 until x1>y1;
end;

begin
asm
   mov ax, 13h
   int 10h
end;

circle(160,100, 40, 15);

readkey;
end.


В идеале, конечно тоже на ассемблер переписать :)

Информация

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