Комментарии 90
Спасибо! Проностальгировал :) Вспомнились былые времена, когда тоже игрался над созданием графики в турбопаскакале и асме :)
+3
А я посмею взять на себя ответственность и расказать подробней об технической части всего этого.
1. Сначала нужно установить графический режим.
2. Потом указать палитру. z — индекс цвета. r, g, b — яркость красного, зеленого, синего. 0 <= r,g,b,z <= 255
Вот такую функцию нужно для каждого z запустить.
3. Ну и теперь можно выводить пиксели на экран тупо записывая что-то в память с $A000:
$A000:[(320*y)+x]:= color;
и на экране появиться пиксель цвета color с координатами [x, y]
Остальное — дело математики.
P. S. про old school компьютерную графику буду расказывать на 5ой киевской хабровстречи, и через пару недель появится статья и на самом хабре
1. Сначала нужно установить графический режим.
asm
mov ax, 13h // 320х200 256 colors mode
int 10h
end;
2. Потом указать палитру. z — индекс цвета. r, g, b — яркость красного, зеленого, синего. 0 <= r,g,b,z <= 255
Вот такую функцию нужно для каждого z запустить.
asm
mov dx, 0x3c8
mov ax, z
out dx, al
mov dx, 0x3c9
mov al, r
out dx, al
mov al, g
out dx, al
mov al, b
out dx, al
int 10h
end;
3. Ну и теперь можно выводить пиксели на экран тупо записывая что-то в память с $A000:
$A000:[(320*y)+x]:= color;
и на экране появиться пиксель цвета color с координатами [x, y]
Остальное — дело математики.
P. S. про old school компьютерную графику буду расказывать на 5ой киевской хабровстречи, и через пару недель появится статья и на самом хабре
+21
Этот код:
и прочие лодсвы и стосвы мне до сих пор снятся :)
Спасибо за частичку вашей жизни!
mov ax, 13h
int 10h
и прочие лодсвы и стосвы мне до сих пор снятся :)
Спасибо за частичку вашей жизни!
+5
Демки тормозящие на Pentium 166? Ну-ну, настоящий олдскул.
Не говоря о том что собственно ничего оригинального так и не показали, были вещи намного красивее.
Не говоря о том что собственно ничего оригинального так и не показали, были вещи намного красивее.
-10
Ну, если конкретезировать, то подтормаживали только «воксели», все остальное шло плавно. И это было технической «демкой», так и не переросшей в часть какой-либо настоящей демки. Оригинального — действительно ничего, в этом я с вами согласен, и про это писал в статье.
Но, давайте взглянем на ваши примеры, пускай даже это будет банальный вертящийся кубик?
Но, давайте взглянем на ваши примеры, пускай даже это будет банальный вертящийся кубик?
+24
Всё правильно сказали, кроме последнего предложения. Пожалуйста, не используйте отмазку Уве Болла.
0
видел в свое время вращающиеся друг вокруг друга тетраэдр, куб и икосаэдр, сделанные в текстовом режиме (sic!) за счет постоянной смены символьных масок. сам бы так не смог в то время, а сейчас не захотел бы время тратить. но впечатлился
0
Не каждое демо обязательно должно быть Second Reality.
+3
Для тех кто не в теме: ru.wikipedia.org/wiki/Second_Reality
+4
Елки, да я ведь с тех же цветных прямоугольников начинал когда-то. Да, это был обычный делфи, там все было тривиально, но ведь было и работало :)
0
Ааааа! Спасибо за статью. Вспомнил свой первый «снег» и «огонь» на Поиск+QBasic. Шикарное ностальжи.
0
Ах да, перед QBasic был же еще Turbo Basic. Он мне как-то больше нравился.
0
Turbo Basic был адом :) У него компилятор глючный был, при довольно больших листингах программы появлялись нереальные баги.
ЗЫ: Не путайте Qbasic и QuickBasic, первый был урезанной версией, без компилятора и шёл с MS-DOS, второй был отдельной полноценной средой разработки, с компилятором, возможностью подключать библиотеки и работающий на порядок быстрее чем Qbasic.
ЗЫ: Не путайте Qbasic и QuickBasic, первый был урезанной версией, без компилятора и шёл с MS-DOS, второй был отдельной полноценной средой разработки, с компилятором, возможностью подключать библиотеки и работающий на порядок быстрее чем Qbasic.
0
Музыка в рекламном ролике напомнила об эпохе восьмибитных приставок :)
В свое время тоже увлекся ассемблером и даже как-то писал свои танчики, естественно с блекджеком, но дело до конца так и не довел — появились более важные занятия. А вы молодец, особенно с HorizontCommander!
В свое время тоже увлекся ассемблером и даже как-то писал свои танчики, естественно с блекджеком, но дело до конца так и не довел — появились более важные занятия. А вы молодец, особенно с HorizontCommander!
+3
НЛО прилетело и опубликовало эту надпись здесь
Опять же и http://listen.di.fm/public3/chiptunes.pls есть.
+1
НЛО прилетело и опубликовало эту надпись здесь
Спасибо, да Horizont Commander был мегапроект )) Самое интересное, что чуть-чуть не доделов его для DOS он был переписан полностью с нуля для OS/2. К сожалению сорцы для OS/2 канули в лету, вместе с винтом на 450Mb.
0
Какой знакомый путь, а так да семья работа, работа семья. Спасибо.
0
НЛО прилетело и опубликовало эту надпись здесь
Horizont CORPORATION
Все мы наверное такие были в молодости :)
Все мы наверное такие были в молодости :)
+17
Обычно перед Corp (или Incorp) ставились иннициалы. Меннее и более оригинальные скромные придумывали названия содержащие Sovie, Russian, East или скромно Moscow (Spb, Gadukiono, etc).
Сам проходил все стадии;) И огоньки завораживали настолько, что дизасемблировал чужой демо-код и потом переписывал на том же ассемблере или в последствии на java, играясь с высотой и количеством «языков»)
Сам проходил все стадии;) И огоньки завораживали настолько, что дизасемблировал чужой демо-код и потом переписывал на том же ассемблере или в последствии на java, играясь с высотой и количеством «языков»)
-1
Эх, напомнили мне о моем поделии.
Писал несколько лет, начиная с класса эдак 9ого и до 1 курса института.
Это была 2Д-аркада, с текстурами, звуками и спрайтами от Hexen.
Что-то вроде Doom2D для Doom, только для Hexen. Хотя мое поделие было более технологичным, умело исполнять скрипты для оригинального Hexen (ACS), загружало оригинальные WADс картами для Hexen, сделанные в любом совместимом редакторе (WAD Author я использовал), только что карты должны были быть нарисованы особым образом, т.е. не проекция на плоскость XY, как в 3Д Hexen, а натурально, вид сбоку, как и будет видно в игре)
Писалось оригинально на Borland C, но потом стало не хватать EMS, XMS и прочих хитрых методов работы с памятью, и перелез на Watcom C, DOS экстендеры и защищенный режим )
Ух, сколько я многого узнал о работе с графикой, прерываниями и разными форматами файлов…
Ностальгия) Жаль исходники утеряны…
Писал несколько лет, начиная с класса эдак 9ого и до 1 курса института.
Это была 2Д-аркада, с текстурами, звуками и спрайтами от Hexen.
Что-то вроде Doom2D для Doom, только для Hexen. Хотя мое поделие было более технологичным, умело исполнять скрипты для оригинального Hexen (ACS), загружало оригинальные WADс картами для Hexen, сделанные в любом совместимом редакторе (WAD Author я использовал), только что карты должны были быть нарисованы особым образом, т.е. не проекция на плоскость XY, как в 3Д Hexen, а натурально, вид сбоку, как и будет видно в игре)
Писалось оригинально на Borland C, но потом стало не хватать EMS, XMS и прочих хитрых методов работы с памятью, и перелез на Watcom C, DOS экстендеры и защищенный режим )
Ух, сколько я многого узнал о работе с графикой, прерываниями и разными форматами файлов…
Ностальгия) Жаль исходники утеряны…
+3
Как давно и как волшебно это было. Книгам предпочитал teach60. Когда появилась поддержка vesa кодил с её помощью. Написал целый набор юнитов для работы с графикой 16,24,32 бита. Как хардкорно это было. В итоге был интерфейс похожий на старкрафт. Mbr загрузчики для дискет и винта, в экспериментах умирала таблица разделов и все по новой. И много много всего. Было время :)
ЗЫ Спасибо. Покопался в исходниках понастальгировал.
ЗЫ Спасибо. Покопался в исходниках понастальгировал.
0
Как похоже на меня в старших классах и начале института! Некоторые демки практически один в один. И да, тоже был сначала Бэйсик, а потом Паскаль с asm-вставками.
+1
80й процессор — это счастье.
Жаль, прошлое…
Жаль, прошлое…
0
Тьюториалы посоветуйте про это дело, пожалуйста.
+1
> Disaev Demo Guide
По-моему, Дасаев или Дазаев, не?
По-моему, Дасаев или Дазаев, не?
0
Отпишитесь в комментариях известные демомейкеры (или иные участники демо и сценерских групп), интересно кто на хабре присутствует :)
0
Кстати, недавно занялся тем же самым. Поставил досбокс, и записал видео своих старых демок девяностых годов.
webhamster.ru/site/page/index/demodesign
На подходе запись самодельных игр для Микроши, но дело осложняется тем что в эмуляторах они не работают, ибо по наивности использовали нащупанные на ощупь аппаратные особенности компьютера.
webhamster.ru/site/page/index/demodesign
На подходе запись самодельных игр для Микроши, но дело осложняется тем что в эмуляторах они не работают, ибо по наивности использовали нащупанные на ощупь аппаратные особенности компьютера.
+1
А вы много эмуляторов пробовали? Встречаются даже очень точные.
0
Я пробовал все какие существуют, включая виндовый Emu3000.
Даже с Виктором Пыхониным закорефанился, он мне дал исходники своего эмулятора. Я хотел его сделать кроссплатформенным и добавить свои исправления чтоб игры работали. Но, как оказалось, в нем половина кода написана на чистом ассемблере, так что для кроссплатформенности надо фактически с нуля писать.
Пока решил взять за основу пролетавший здесь на хабре JavaScript эмулятор. Но он не поддерживает настройку графических режимов и звук. Так что если и браться, то работы выше крышы.
Даже с Виктором Пыхониным закорефанился, он мне дал исходники своего эмулятора. Я хотел его сделать кроссплатформенным и добавить свои исправления чтоб игры работали. Но, как оказалось, в нем половина кода написана на чистом ассемблере, так что для кроссплатформенности надо фактически с нуля писать.
Пока решил взять за основу пролетавший здесь на хабре JavaScript эмулятор. Но он не поддерживает настройку графических режимов и звук. Так что если и браться, то работы выше крышы.
0
Посмотрел, прикольные эффекты есть. Классно.
0
НЛО прилетело и опубликовало эту надпись здесь
Хорошо вам. А у меня, к сожалению, кассет с моими поделиями не сохранилось.
А интерфейс для дискет под Spectrum было тогда фиг достать.
А интерфейс для дискет под Spectrum было тогда фиг достать.
+1
НЛО прилетело и опубликовало эту надпись здесь
Будет возможность, проверьте следующее:
Напишите какую-нить строчку с командой, потом
EDIT
EXTEND MODE
0
стрелка влево
стрелка вправо
0
ENTER
Эта штука на эмуляторах, которые я пробовал, не работала. На аппаратной Дельте-С работала.
В результате строчка команды становится невидимой и недоступной для редактирования по кнопке EDIT, при нажатии на нее раздается сигнал. А текст программы, идущий за этой строчкой, не отображается на экране. Соответственно, если каждую строчку так обработать, текст программы можно было достать только по выводу с адреса 23755 (адрес программы на бейсике в адресном пространстве Spectrum 48-64 Kb). Там еще номер строчки патчить ручками можно (через POKE), но это совсем другая тема, да и заезженная до дыр в свое время.
Может быть таким путем длина строки команды меняется на ноль, не могу сказать, тогда это в голову не пришло, а щас проверить негде.
Напишите какую-нить строчку с командой, потом
EDIT
EXTEND MODE
0
стрелка влево
стрелка вправо
0
ENTER
Эта штука на эмуляторах, которые я пробовал, не работала. На аппаратной Дельте-С работала.
В результате строчка команды становится невидимой и недоступной для редактирования по кнопке EDIT, при нажатии на нее раздается сигнал. А текст программы, идущий за этой строчкой, не отображается на экране. Соответственно, если каждую строчку так обработать, текст программы можно было достать только по выводу с адреса 23755 (адрес программы на бейсике в адресном пространстве Spectrum 48-64 Kb). Там еще номер строчки патчить ручками можно (через POKE), но это совсем другая тема, да и заезженная до дыр в свое время.
Может быть таким путем длина строки команды меняется на ноль, не могу сказать, тогда это в голову не пришло, а щас проверить негде.
0
Да ладно кассет… Я потерял тетрадку, куда записывал листинги программ на бейсике. Магнитофон у меня быстро сломался, пришлось учиться программированию, не мог загрузить игры же ( Был тогда в 3-ем классе.
0
да-да-да, на дискетах наклейка обычна была исписанной напрочь, притом у более опытных товарищей (у которых дискета была не первой) наклейки были исписаны в три слоя, но карандашом ;)
0
Хех на мою первую зарплату (лаборант в институте) можно было купить 6 3х дюймовых дискет, ну поторговавшись — 10 ;)
0
У меня еще 5.25" дискеты сохранились, с MS-DOS 3.21 и прочим :-)
Там на дискетку 360Кб столько влезало, что поверить сложно! )
Там на дискетку 360Кб столько влезало, что поверить сложно! )
+1
Ностальгически, спасибо! У меня, правда, началось с копирования заставки из «600 секунд».
+1
program matrix;
USES crt;
VAR
i:integer;
BEGIN
textcolor(2);
while true do
begin
i:=i+1;
write(i);
end
END.
USES crt;
VAR
i:integer;
BEGIN
textcolor(2);
while true do
begin
i:=i+1;
write(i);
end
END.
-1
Желающим скачать Dasaev Demo Guide: держите ссылку
kabardcomp.narod.ru/ddg11.rar
kabardcomp.narod.ru/ddg11.rar
+1
Помним, помним!
Здесь pascal.sources.ru/demo/ddg11.htm есть скриншоты эффектов из него.
Здесь pascal.sources.ru/demo/ddg11.htm есть скриншоты эффектов из него.
+1
Именно, именно, именно — волшебная связка TP + ASM делала нас Богами. Мы снисходительно похлопывали молодых, освоивших прерывания и читающих порты. Теперь молодые снисходительно похлопывают нас, ставших на рельсы и Obj-C…
+2
Среди стариков все еще есть такие, кто не трогал Obj-C, рельсы
+1
стариками можно считать тех, кто начал писать на асме в 98 году?
+1
спорно. я вот в свои 22 года считаю себя стариком. начинал pas/asm в 2001 — 2002.
-1
Скорее относительно.
Я в это же время (2002) сдал предпоследний свой коммерческий проект, завязал с реверс-инжинирингом (реверс того же netbus'а и написание своего сканера-листенера для него), написал последние статьи по битхаку, последний патч, правда, релизнул в 2003. И до сих пор имею слабое представление об Obj-C и никакого о рельсах, что, в общем-то никак не мешает сейчас.
Стариком при этом всем себя не считаю. Потому что есть еще много чего интересного, чего я не знаю и хотел бы изучить.
Стариками становятся когда есть что вспомнить и при этом нет желания двигаться дальше.
Я в это же время (2002) сдал предпоследний свой коммерческий проект, завязал с реверс-инжинирингом (реверс того же netbus'а и написание своего сканера-листенера для него), написал последние статьи по битхаку, последний патч, правда, релизнул в 2003. И до сих пор имею слабое представление об Obj-C и никакого о рельсах, что, в общем-то никак не мешает сейчас.
Стариком при этом всем себя не считаю. Потому что есть еще много чего интересного, чего я не знаю и хотел бы изучить.
Стариками становятся когда есть что вспомнить и при этом нет желания двигаться дальше.
+2
Подскажите пожалуйста есть ли какието туториалы\статьи для самым самым азам современного демостроительства?
Заранее спасибо.
Заранее спасибо.
0
0
На русском есть FAQ, очень модный в своё время — DEMO.DESIGN FAQ.
http://www.enlight.ru/demo/faq/
http://www.enlight.ru/demo/faq/
0
«If you are using Horizont Commander — you are very good boy!»
+1
спасибо, пронастальгировал
именно так и начинал Поиск-2, BAT-файлы, GW Basic, QBasic, Pascal, TASM, ANSI C…
а как закончил? Project Management :-(
:-)
именно так и начинал Поиск-2, BAT-файлы, GW Basic, QBasic, Pascal, TASM, ANSI C…
а как закончил? Project Management :-(
:-)
0
v-silvansky.livejournal.com/28946.html
Я как раз недавно вспоминал свои поделки на Atari…
Там был тоже свой Basic…
Эх, а QBasic для меня был своеобразным прорывом в программировании!
Я как раз недавно вспоминал свои поделки на Atari…
Там был тоже свой Basic…
Эх, а QBasic для меня был своеобразным прорывом в программировании!
0
НЛО прилетело и опубликовало эту надпись здесь
Сложно сказать, у меня этот файл называется в оригинале FOXES.HSC, наверняка я его дернул из какой-то демки. Из какой конечно уже сложно сказать.
0
Оп, нашел ту BBStro: artscene.textfiles.com/intros/PC/1998/ Файл ak-vga.zip, в досбоксе пашет.
+1
Первый раз когда я игрался с графикой в Qbasic было два года назад на уроке информатики. Давно уже сделал заданную работу (а все остальные ещё её делали) и начал экспериментировать, узнавая для себя крутые возможности бэйсика
-1
Ох, прям прослезился.
В конце 90-х начале нулевых тоже баловался паскалем, ассемблером и их комбинацией.
Поначалу хотел писать свой менеджер файлов, но заинтересовался упаковкой исполняемых файлов и в качестве курсовой сделал WFSoftMaker — EXE — упаковщик для DOS. (PAS, ASM).
Интерфейс был как у RAR, и ещё там были три мегакрутых экранные заставки. Одна точно огонь, а две других уже и не помню… Плазма и звёзды наверное.
Самое крутое достижение было в первой самостоятельно написанной крупной утилите на ASM — шифорвщике COM-файлов (упаковщик я уже написал позже и не релизил вообще).
Шифровка была по XOR-у, и часть механизма заимствована из какого-то вируса.
Сейчас к сожалению не могу найти ни исходиников ни даже скриншотов WFSoft Maker.
Остался только огузок моей домашней странички в WebArchive.
Впрочем, есть слабая надежда, что всё это где-то ещё лежит на первых CD-R блованках, которые я когда-то записывал.
Каждая такая болванка была очень важна. Сейчас наверное эти болванки выцвели, окислились или ещё как-нибудь испортились временем.
В конце 90-х начале нулевых тоже баловался паскалем, ассемблером и их комбинацией.
Поначалу хотел писать свой менеджер файлов, но заинтересовался упаковкой исполняемых файлов и в качестве курсовой сделал WFSoftMaker — EXE — упаковщик для DOS. (PAS, ASM).
Интерфейс был как у RAR, и ещё там были три мегакрутых экранные заставки. Одна точно огонь, а две других уже и не помню… Плазма и звёзды наверное.
Самое крутое достижение было в первой самостоятельно написанной крупной утилите на ASM — шифорвщике COM-файлов (упаковщик я уже написал позже и не релизил вообще).
Шифровка была по XOR-у, и часть механизма заимствована из какого-то вируса.
Сейчас к сожалению не могу найти ни исходиников ни даже скриншотов WFSoft Maker.
Остался только огузок моей домашней странички в WebArchive.
Впрочем, есть слабая надежда, что всё это где-то ещё лежит на первых CD-R блованках, которые я когда-то записывал.
Каждая такая болванка была очень важна. Сейчас наверное эти болванки выцвели, окислились или ещё как-нибудь испортились временем.
0
Хм… Сергей Найденов? :) Привет тебе от Tornado 2.0 :)))
0
Начинал я с советского полу-IBM совместимого компьютера «Поиск». Конфа: аналог i8088 процессора, CGA монитор. Начал «программировать» с batch-файлов (.BAT) ибо была книжка по MS-DOS и дискетка с этим самым MS-DOS.
Прямо про меня написано. Только у меня еще была книжка про Бейсик, но не было интерпретатора. Поэтому я научился Бейсику виртуально. И когда в школе (да и в универе) изучали QBASIC, я был мегапрогер :)
Прямо про меня написано. Только у меня еще была книжка про Бейсик, но не было интерпретатора. Поэтому я научился Бейсику виртуально. И когда в школе (да и в универе) изучали QBASIC, я был мегапрогер :)
+1
Статья клёвая :) Сам всё хотел такую написать, про свой «путь демомэйкера» :) Но ты меня опередил. Надо будет поднапрячься, поискать свои старые поделки на старых винтах, да написать свои мемуары )
0
У меня одними из первых программ были анимации на LOGO — нас в школе учили программировать при помощи черепашки, бегающей по экрану и оставляющей след. :) Сначала окружности, потом «скрипичные ключи», обнаружилась возможность стирать и рисовать по кадрам, потом пошло-поехало: бегающие человечки, переливающиеся цветы и прочие красивости.
Очень обидно, что программы не сохранились. :(
Очень обидно, что программы не сохранились. :(
0
тоже занимался подобным и даже больше :) эх ностальгия
мои исходники и интро ( например pascal.sources.ru/demo/wrc_blur.htm ) и куча моих библиотек в исходных текстах попавших в Russian SWAG есть тут pascal.sources.ru/authors/kalinins.htm
в том числе и eZine's
мои исходники и интро ( например pascal.sources.ru/demo/wrc_blur.htm ) и куча моих библиотек в исходных текстах попавших в Russian SWAG есть тут pascal.sources.ru/authors/kalinins.htm
в том числе и eZine's
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Демо, которых никто никогда не видел