www.demoscene.ruenglish version
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как писали код деды
На страницу 1, 2, 3  След.
 
Начать новую тему   Ответить на тему    Список форумов Demoscene.Ru -> Свободное общение
Предыдущая тема :: Следующая тема  
Автор Сообщение
bi71



Зарегистрирован: 14.07.2012
Сообщения: 872


СообщениеДобавлено: Вс Дек 02, 2012 17:46    Заголовок сообщения: Как писали код деды Ответить с цитатой

http://www.pouet.net/prod.php?which=48991

заглянул в первую процедуру, челодлань одно.Там эффект "линзы" используются.

Далее, знакомая процедура Wait for vertical retrace:
Код:
sub_10594:
      push   ax
      push   dx

loc_10596:
      mov   dx, 3DAh
      in   al, dx
      mov   ah, 0;бугога, это зачем?
      and   ax, 8
      cmp   ax, 8
      jnz   short loc_10596
loc_105A4:
      mov   dx, 3DAh
      in   al, dx
      test   al, 8
      jnz   short loc_105A4
      pop   dx
      pop   ax
      retn


и выбор координат:
Код:
sub_104EB:
      push   di
      mov   di, 0
      add   di, ax
      add   di, ax
      mov   ax, [di]
      movsx   eax, ax
      pop   di
      retn
; =============== S U B   R O U T   I N E =======================================
sub_104FB:
      push   di
      mov   di, 0
      add   di, ax
      add   di, ax
      add   di, 100h
      mov   ax, [di]
      movsx   eax, ax
      pop   di
      retn

в отдельный сегмент тупо забиты данные, примерно $3ff*2, но кто ж их считает-то?

и перл говнокода:
Код:
      mov   al, [si+2820h]
      ;add   al, 80h ; 'Ђ'
      mov   [es:di+2820h], al
      mov   al, [si+2820h]
      ;add   al, 80h ; 'Ђ'
      mov   [es:di+2820h], al
      mov   al, [si+2820h]
      ;add   al, 80h ; 'Ђ'
      mov   [es:di+2820h], al
      mov   al, [si+2820h]
      ;add   al, 80h ; 'Ђ'
      mov   [es:di+2820h], al
      mov   al, [si+2821h]
      ;add   al, 80h ; 'Ђ'
      mov   [es:di+2821h], al
      mov   al, [si+281Fh]
      ;add   al, 80h ; 'Ђ'
      mov   [es:di+281Fh], al
      mov   al, [si+2960h]


это просто - линза считается по готовому коду.Никакого намека на вычисления, короче..
_________________
1001 интро на 256bytes.net
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2946


СообщениеДобавлено: Вс Дек 02, 2012 18:38    Заголовок сообщения: Ответить с цитатой

Зато быстро. Попробовал бы ты на 80386 без таблиц и прочих фэйков эффекты рендерить.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bi71



Зарегистрирован: 14.07.2012
Сообщения: 872


СообщениеДобавлено: Вс Дек 02, 2012 19:06    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):
Зато быстро. Попробовал бы ты на 80386 без таблиц и прочих фэйков эффекты рендерить.

не застал то время, не знаю.

правда есть пара НО:

1.EXALTED DEATH BBS Intro (486 version)
2. во втором эффекте таблица вычисляется, и рисуется экран на ходу. я понимаю, битовые шрифты хранить, но странные данные для движения - выше моего понимания.
_________________
1001 интро на 256bytes.net
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2946


СообщениеДобавлено: Вс Дек 02, 2012 20:50    Заголовок сообщения: Ответить с цитатой

bi71 писал(а):
я понимаю, битовые шрифты хранить, но странные данные для движения - выше моего понимания.


Одно из искусств оптимизации - находить математические вычисления, которые можно засунуть в таблицы, а не считать налету. Посмотри как в старых демках фракталы считали, или метаболы, или возьми банальную синусную плазму, без прекалса она не летала бы на компах того времени. Ну а если некоторые данные выгоднее не считать, а хранить готовые значения, то в чем траблы?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bi71



Зарегистрирован: 14.07.2012
Сообщения: 872


СообщениеДобавлено: Пн Дек 03, 2012 05:45    Заголовок сообщения: Ответить с цитатой

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

почти целый сегмент? это нехило, если упаковать готовую программу.
и потом, 4к интро ABCDEFG/Anarchy почему-то синус считает.
Не знаю, чесслово, сколько на древних процах синус считался бы - медленно или нет?
а еще трабл - это lens, который другие считают сами(Fake demo), где эффект работает так же быстро.
но здесь - городить ахриненный код? не понимаю.

Сравнивать другие проги - это все равно, что сравнить cube tmap.
_________________
1001 интро на 256bytes.net
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2946


СообщениеДобавлено: Пн Дек 03, 2012 06:09    Заголовок сообщения: Ответить с цитатой

bi71 писал(а):

почти целый сегмент? это нехило, если упаковать готовую программу.
и потом, 4к интро ABCDEFG/Anarchy почему-то синус считает.
Не знаю, чесслово, сколько на древних процах синус считался бы - медленно или нет?
а еще трабл - это lens, который другие считают сами(Fake demo), где эффект работает так же быстро.
но здесь - городить ахриненный код? не понимаю.

Сравнивать другие проги - это все равно, что сравнить cube tmap.


Блин, ну как умел чувак, так и написал. У него может и цели не было минимизировать размер. Категория ваще bbstro.

Вот http://www.pouet.net/prod.php?which=60780 вообще мультик. Но если бы я это увидел на SEGA Мega Drive я бы охуел )
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bi71



Зарегистрирован: 14.07.2012
Сообщения: 872


СообщениеДобавлено: Пн Дек 03, 2012 08:18    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):
Блин, ну как умел чувак, так и написал. У него может и цели не было минимизировать размер. Категория ваще bbstro.

Вот http://www.pouet.net/prod.php?which=60780 вообще мультик. Но если бы я это увидел на SEGA Мega Drive я бы охуел )

сравнил хрен с носом Laughing
bbstro еще те перцы писали, кстати.
_________________
1001 интро на 256bytes.net
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2946


СообщениеДобавлено: Пн Дек 03, 2012 11:32    Заголовок сообщения: Ответить с цитатой

bi71 писал(а):

bbstro еще те перцы писали, кстати.


Да всякие перцы писали ) Далеко не всегда демокодеры.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bi71



Зарегистрирован: 14.07.2012
Сообщения: 872


СообщениеДобавлено: Чт Дек 06, 2012 17:52    Заголовок сообщения: Ответить с цитатой

http://www.opferman.com/

милый дядька, и код прекрасный.
_________________
1001 интро на 256bytes.net
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bi71



Зарегистрирован: 14.07.2012
Сообщения: 872


СообщениеДобавлено: Сб Дек 08, 2012 09:36    Заголовок сообщения: Ответить с цитатой

CRAP intro:
быстрое Julia выдрали, как пишут, вот палитра:
Код:
sub_10199:
      mov   cx, 0FFh
loc_1019C:
      mov   dx, 3C8h
      mov   ax, cx
      out   dx, ax
      mov   ax, cx
      mov   dx, 3C9h
      out   dx, ax
      mov   dx, 3C9h
      out   dx, ax
      mov   dx, 3C9h
      mov   ax, cx
      shr   ax, 2
      out   dx, ax
      dec   cx
      jnz   short loc_1019C
      retn


_________________
1001 интро на 256bytes.net
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
шпуд



Зарегистрирован: 01.01.2013
Сообщения: 80
Откуда: Сиберия

СообщениеДобавлено: Пт Янв 04, 2013 04:28    Заголовок сообщения: Ответить с цитатой

Вспомнилось как писал первые коды:
POKE 23296, 255
POKE 23297, 33
это mov hl
Спектрум, кто не помнит. Ассемблеров тогда ещё никто не видел. Первый главный инструмент был редактор/дизасм с названием monitor. Распечатав код которого из него же самого на 8 метровом рулоне ползал по нему изучая работу и что-то переделывая, уже не помню. Но кодили все уже в хэкс-редакторе, а не бейсике. Ибо удобнее и быстрее, чем даже на асме- если знать архитектуру памяти и проца- тогда коды всех префиксов и команд логически понятны из принципов обработки их процом. А уж после изучения полного дизасма Логана и оХары вовсе наступает "прозрение". Хочется писать ещё больше, пользуясь кусками системы. Даже в несколько байт- лишь бы экономить.

А до этого были ещё коды на ВМ80 (Радио 86РК) и программирование калькуляторов МК-56 играми и утилитами. Для Радио я сутками переписывал коды из журналов в библиотеке, забивая целые тетради. А прошивать их надо было тоже вручную каждый байт- набираешь и жмёшь ЗАПИСЬ. Автоматические программаторы у нас появились на пару лет позже.

Вот так мы писали коды. Даже на перфолентах и перфокартах успели дырок поколупать.. А перфопринтер назывался в народе Бармалей и гремел как десять матричников ИСКРА, которые тоже своим грохотом вошли в легенды.
_________________
http://rastasibirsk.oo.gd/4um - наш дружественный и радостный форум обо всём сложном и замалчиваемом.
http://rastasibirsk.oo.gd/4um/viewtopic.php?f=3&t=1180 - тема про демосцену.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
bi71



Зарегистрирован: 14.07.2012
Сообщения: 872


СообщениеДобавлено: Пт Янв 04, 2013 19:22    Заголовок сообщения: Ответить с цитатой

шпуд писал(а):
Вспомнилось как писал первые коды:
POKE 23296, 255
POKE 23297, 33
это mov hl
Спектрум, кто не помнит.


оригинальный способ программирования..

шпуд писал(а):
А уж после изучения полного дизасма Логана и оХары вовсе наступает "прозрение". Хочется писать ещё больше, пользуясь кусками системы. Даже в несколько байт- лишь бы экономить.


реквестируется Рэндом, противник ПЗУ-вызовов Cool
Ченсино говоря, не вижу кайфа в использовании кусков системы, прикиньте по тактам - сколько потратит процедура рисования линии, или другая, но оптимизированная?
_________________
1001 интро на 256bytes.net
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
шпуд



Зарегистрирован: 01.01.2013
Сообщения: 80
Откуда: Сиберия

СообщениеДобавлено: Пт Янв 04, 2013 21:20    Заголовок сообщения: Ответить с цитатой

Ура! Дождался живого человека на форуме!
Не понял как тут цитировать часть. Вообще очень не хватает многих функций, которых я понакрутил в свой двиг- быстрый ответ, быстрые цитаты, форматирование..
Цитата:
оригинальный способ программирования..
это был м способ рисования- сперва на миллиметровке, затем поделив на 8х8 квадраты вручную оцифровка побайтно POKE 16384, 0 - итд.. Напомню, сохранялось всё на кассетах, привод ручной, девайс- маг Электроника 302. Сперва поэтапно сохраняли прогу с поуками, затем уже готовый скрин.
Цитата:
противник ПЗУ-вызовов
всё же маскировалось из него в ОЗУ
Цитата:
не вижу кайфа в использовании кусков системы
я всё хранил в буфере принтера- 192 байта. такты не считал- кодил примитивы. писал туда разпаковщики, загрузчики и свои заставки- разные извраты со шрифтами, скроллы с синусами, эффекты появления картинок-заставок, звук при появлении букв- их код задавал частоту, и при "печати" на экране было разнотоновое пиликание вроде R2D2. Жаль, что почти всё это осталось на кассетах, спас только один из нескольких 5" флопов со своими дискофикациями игр.[/quote]
_________________
http://rastasibirsk.oo.gd/4um - наш дружественный и радостный форум обо всём сложном и замалчиваемом.
http://rastasibirsk.oo.gd/4um/viewtopic.php?f=3&t=1180 - тема про демосцену.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
radpzc



Зарегистрирован: 24.09.2007
Сообщения: 238


СообщениеДобавлено: Пт Янв 04, 2013 22:15    Заголовок сообщения: Ответить с цитатой

шпуд писал(а):
Вспомнилось как писал первые коды:
POKE 23296, 255
POKE 23297, 33
это mov hl
Спектрум, кто не помнит.

Не было на Спектруме команд mov, код 33 - это ld hl, nn.
Видимо давно дело было)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
radpzc



Зарегистрирован: 24.09.2007
Сообщения: 238


СообщениеДобавлено: Пт Янв 04, 2013 22:17    Заголовок сообщения: Re: Как писали код деды Ответить с цитатой

bi71 писал(а):
http://www.pouet.net/prod.php?which=48991
заглянул в первую процедуру, челодлань одно.Там эффект "линзы" используются.
...
и перл говнокода:
Код:
      ...

это просто - линза считается по готовому коду.Никакого намека на вычисления, короче..

Может там машинный код генерируется по формуле? Обычное дело.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Demoscene.Ru -> Свободное общение Часовой пояс: GMT + 3
На страницу 1, 2, 3  След.
Страница 1 из 3

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