-Фотоальбом

Посмотреть все фотографии серии Майский Крым 2006
Майский Крым 2006
20:40 27.09.2008
Фотографий: 12
Посмотреть все фотографии серии Поездка в Щёлкино 2007
Поездка в Щёлкино 2007
15:36 29.09.2007
Фотографий: 9
Посмотреть все фотографии серии Общая
Общая
08:23 18.10.2005
Фотографий: 13
Посмотреть все фотографии серии Кальян
Кальян
03:00 01.01.1970
Фотографий: 0

 -Поиск по дневнику

Поиск сообщений в TRAViS

 -Подписка по e-mail

 


Кодеры меня поймут

Четверг, 29 Мая 2008 г. 13:16 + в цитатник
Собственно, что я хотел запостить...
Когда у меня появился первый комп (ZX Pentagon 512KB + 2KB cache, turbo 3.5/7.0 MHz, FDD 5.25, AY+ covox) я открыл для себя понятие Demo. Не в смысле демоверсия какой-то проги, а в смысле набор каких-то визуальных сцен + музыка часто вмещенное в определенный размер кода. Это была настоящая зарядка для мозга: почти всегда все это писалось на ассемблере, борьба шла за каждый байт и такт процессора, придумывались алгоритмы рисования примитивов с заданными характеристиками. Даже соревновались у кого код меньше, типа: "Вот алгоритм рисования линии, примененный командой CodeBusters в мегадемо SATISFACTION, который занимает 66 байт и 84 такта процессора! Но если вместо команды LD A,0 применить XOR A, то прога уменьшается на два байта и её выполнение уменьшается на 4 такта!!" ну и всё в таком духе...
Проводились целые party (тот же Enlight) - помимо обмена опытом, на них проводились конкурсы для разных платформ (ZX, Amiga, PC) в категориях: screen, music, demo 512byte, demo 4KB, demo 64KB, megademo. Вот в них-то каждый кодер или команда показывали своё мастерство! Возможно стороннему наблюдателю это всё показалось абы чем, но для людей разбирающихся в программировании это были просто шедевры! Изящность решений, красота кода, выверенные до такта алгоритмы....
О, это был поистине "золотой век" :) Причем кодинг под ZX я считал и считаю более кропотливым делом, чем под PC. На последнем все просто: есть всякие прерывания, матпроцессор которыми просто управляешь и всё. Грубо говоря говоришь ему "начерти линию" - он чертит. А на ZX... ууууу.... Можно было, конечно, пользоваться готовыми функциями рисования линий, калькулятором, но это всё работало очень медленно и приходилось самим придумывать функции и алгоритмы. Причем часто универсальность кода приносили в жертву скорости его выполнения. Экран у ZX в адресном пространстве выглядит довольно странно: разбит на трети + каждая треть разбита на восемь строк по восемь линий. Линии адресуются не по порядку, а через восемь. Каждая точка – бит. Т.е. нельзя просто поставить точку, надо найти тот байт и бит в этом байте который является нужной точкой.... короче гемор тот еще :)
В общем к чему это я всё. Подобные party проводятся и сейчас. И на них так же проводятся конкурсы. Работы-победители часто выкладываются в инете. Так я случайно наткнулся на команду из Германии, которые называют себя Farbrausch (иначе Farb-rausch, в переводе с немецкого — «отравление цветом»). Они даже в русскоязычной Wiki есть вот. Как по-мне – крутые перцы. Первая работа, из которой я вообще узнал о них, называлась fr-08: .das .produkt (скачать http://www.farb-rausch.com/fr08_final.zip 64 кб). В ней, благодаря техникам процедурного текстурирования (англ. procedural textures), моделирования и анимации, а также высококачественного программного синтезатора, удалось реализовать полноценное одиннадцатиминутное аудиовизуальное представление, при иных условиях потребовавшее бы объёма около двух гигабайт для хранения используемой информации!!!!

На асме я давно уже не пишу, да и вообще уже всё забыл :) но с удовольствием смотрю работы этих ребят и не устаю восторгаться их мастерством.
Вот еще одна из избранных :) fr-041: debris (179кб)
Все работы можно посмотреть здесь http://www.farb-rausch.com/productions.php


ВАЖНЫЙ UPD: Кстати, они выпустили игрушку в 96 кбатй!!! Ходилка-стрелялка аля quake или doom. Вы вдумайтесь только ДЕВЯНОСТО ШЕСТЬ КИЛОБАЙТ!!!! http://kk.kema.at/files/kkrieger-beta.zip


vedere   обратиться по имени Комментарий к Кодеры меня поймут Четверг, 29 Мая 2008 г. 13:41 (ссылка)
TRAViS, ого!!!
Интересно, а висту в метр уложить можно? ;)
Ответить С цитатой В цитатник
Перейти к дневнику

Четверг, 29 Мая 2008 г. 13:51ссылка
Ну метр не знаю, но думаю точно стала бы на несколько порядков меньше :) Ты лучше в игру поиграйся 96 кбайт :) http://kk.kema.at/files/kkrieger-beta.zip
vedere   обратиться по имени Ответ в TRAViS; Кодеры меня поймут Четверг, 29 Мая 2008 г. 14:34 (ссылка)
Исходное сообщение TRAViS:
Ну метр не знаю, но думаю точно стала бы на несколько порядков меньше :) Ты лучше в игру поиграйся 96 кбайт :) http://kk.kema.at/files/kkrieger-beta.zip

TRAViS, пожже)))
Домой ссылку скинул)
Ответить С цитатой В цитатник
Перейти к дневнику

Четверг, 29 Мая 2008 г. 14:40ссылка
Исходное сообщение vedere
Домой ссылку скинул)

Это как раз тот случай, когда проще всю игру скинуть чем ссылку ))))
vedere   обратиться по имени Ответ в TRAViS; Кодеры меня поймут Четверг, 29 Мая 2008 г. 15:36 (ссылка)
Исходное сообщение TRAViS:
Исходное сообщение vedere
Домой ссылку скинул)

Это как раз тот случай, когда проще всю игру скинуть чем ссылку ))))

TRAViS, не, я ссылку на твой пост скинул))) Дабы потом спокойно перечитать, да по ссылочкам прогуляться)))
Ответить С цитатой В цитатник
terrazu   обратиться по имени Четверг, 29 Мая 2008 г. 16:38 (ссылка)
ого...
Ответить С цитатой В цитатник
Перейти к дневнику

Четверг, 29 Мая 2008 г. 16:43ссылка
Исходное сообщение terrazu
ого...

та да, есть немного :)
Matros   обратиться по имени Четверг, 29 Мая 2008 г. 17:25 (ссылка)
"Экран у ZX в адресном пространстве выглядит довольно странно: разбит на трети + каждая треть разбита на восемь строк по восемь линий. Линии адресуются не по порядку, а через восемь. Каждая точка – бит. Т.е. нельзя просто поставить точку, надо найти тот байт и бит в этом байте который является нужной точкой.... короче гемор тот еще :) "

Мнение дилетанта. :) Как раз такая организация экрана Спектрума - самая вкусная фишка в его архитектуре. Как раз поэтому НЕ надо вычислять конкретную точку, как в линейно-адресованном пространстве, все делается быстрыми и простыми операциями типа XOR и блочных перемещений и сдвигов регистров. Как раз именно потому, что все через 8. :)
Ответить С цитатой В цитатник
Перейти к дневнику

Четверг, 29 Мая 2008 г. 17:30ссылка
да, в итоге, когда я разобрался, это даже оказалось в общем-то удобным. Но пока я "прохавал эту фишку" помучался изрядно :) В любом случае наверное к любой организации (в смысле архитектуре) можно приловчиться :)
Комментировать К дневнику Страницы: [1] [Новые]
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку