воскресенье, 19 октября 2008 г.

Atmega8: hello led!

Итак.. продолжим :) В самосборном программаторе для контроллера atmega8 обнаружились сгоревшие детали. После замены все чудесным образом заработало! Простая тестовая прога мигания светодиодом была зашита в чип и вот результат:

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

По умолчанию atmega работает от внутреннего генератора тактовых импульсов - 1 mHz. Для простых программ этого вполне достаточно. Но если потребуется большая производительность и стабильность частоты, то нужно будет подключить к ножкам контроллера (к каким именно - смотри доку на atmega8) кварцевый резонатор на 8 mHz или 16 mHz.

Ну вот... Теперь можно приступать к более серьезным экспериментам!

четверг, 16 октября 2008 г.

Запускаем atmega8

На досуге решил поэкспериментировать с микроконтроллером Atmega8 :) Штуковина заманчивая и по цене (в районе 50 рублей) и по характеристикам (8 килобайт FLASH, 1 килобайт ОЗУ, 512 байт EEPROM). В частности хочется попробывать такой чип в роли миниатюрного синтезатора.
Для начала закупился деталями: пара контроллеров и компоненты для программатора, схему которого взял вот отсюда.

Программатор спаял на коленке за несколько дней :)
Далее установил на комп очень удобныю прогу-прошивалку контроллеров - PonyProg2000. Она доступна как для Windows, так и для Linux. Пользователи Linux должны запускать PonyProg под рутом! т.к. иначе не будет доступа к LPT-порту.
Ок. Включаю программатор, запускаю прошивалку. Выбираю в свойствах тип контроллера и интерфейс программатора. Там же нажимаю кнопку калибровки. Далее через меню выбираю пункт "прочитать девайс" и операция успешно проходит! Вижу на экране кучу FF. Это правильно - контроллер чистый.



Замечательно :) Теперь неплохо бы написать простую программку мигания светодиодом и залить её в контроллер. Что для этого нужно? Компилятор GCC и binutils, скомпиленые для поддержки контроллеров AVR - в параметрах configure прописывается "--target=avr". Кроме того понадобится набор библиотек AVR Libc, который заметно упростит написание программ.
Залить прогу в контроллер, увы, с первого раза не удалось :( Получаю ошибку "write failed". Ну чтож... Буду разбираться. Как только решу проблему - отпишусь.

среда, 1 октября 2008 г.

Факты о графическом процессоре будущего

(Материал из Википедии)

Larrabee — кодовое обозначение графического процессора, разрабатываемого компанией Intel. Чип создаётся как новое, ранее не встречавшееся решение, которое заменит собой видеопроцессоры Intel GMA. Видеокарты, основанные на чипах Larrabee будут конкурировать с решениями nVidia GeForce и AMD Radeon от компаний nVidia и AMD, соответственно. Intel планирует получить инженерные образцы Larrabe в 2008 году, а первые продукты на базе этого чипа выйдут в 2009/2010 годах.

В чем фишка такого "ускорителя"? В основе larrabee - несколько десятков ядер с набором инструкций x86 + специальные расширения. Все ядра имеют доступ к одному общему адресному пространству памяти. То есть, теоретически после некоторых изменений на таком процессоре можно запустить обычный PC-шный софт (ту же операционку, к примеру). А главное - larrabee почти не имеет железа, предназначенного только для ускорения графики, как в обычных видео-картах. Предпологается, что такие задачи как z-буффер, обрезание, смешивание цветов и прозрачность будут выполняться на программном уровне. Это даст возможность программистам использовать их собственные алгоритмы рисования, не ограничиваясь набившими оскомину треугольниками. Из числа особо интересных применений можно отметить реалтайм трассировку лучей и физику.

Иными словами, пошел очередной виток спирали: компы превращаются в терминалы, а рендеринг опять становится программным :)

четверг, 4 сентября 2008 г.

1983-1995. Моменты из жизни

1983
В городе Свердловск родился NightRadio. Я, то есть :)
В Москве прошел концерт Space.

1983 - 1990
Первое знакомство с миром звука и музыки: сначала пластинки с классическим репертуаром того времени, потом появление кассетного магнитофона. Отец принес с работы кассету с песнями Высоцкого, на одной стороне которой было записано нечто - мрачноватая электроника с завораживающими ритмами. Брат сказал, что так играют на синтезаторе. Лишь спустя годы, уже в школе я узнал, что та запись была куском альбома "Computer World" от Kraftwerk.

1991
Первый класс школы 148. Дома появился компьютер - Специалист. Советское чудо в корпусе из кусочков черного дипломата :) На кассете с программами был язык BASIC, умеющий пищать по заранее введенным нотам-буквам. То есть, звукоряд был примерно такой: ABCDEFG... Я подписал эти буквы на пластинках металлофона, потом наигрывал на нем мелодию, а полученную комбинацию букв вводил в ПК.

1993
Новый комп - Магик (клон ZX Spectrum). Новые игры :) Я бы сказал, куча игр. Zynaps, Laser Squad, Elite, Dizzy. Пол-часа грузишь игрушку с кассеты, включается холодильник - мотаешь на начало, грузишь заново :)

1994
С другом Кириллом придумали "бумажные картриджи" для "бумажных приставок": на мелких картонках рисовались лабиринты аркадных игр, а отдельная картонка с прорезанным окошком была в роли игровой консоли. Постепенно "приставки" обрели миниатюрные тачпады и превратились в карманные ПК, а "картриджы" стали вмещать в себя раскадровку трехмерных шутеров и квестов.

1995
Появился PC с 486 процессором. Без винта, без звуковой карты, с чернобелым монитором и мегабайтом памяти. Брат принес дискетку с якобы неплохо звучащей музыкальной программкой. Но чего можно ожидать от обычного PC-Speaker'а и маломощного компа? Определенно ничего хорошего :). Запустив же программу, я попросту не поверил ушам! Из пищалки шел чистый 4х-канальный звук с настоящими барабанами и синтезаторами! Я был потрясен! А последующие несколько дней пытался понять, как это вообще возможно... Программка та, как оказалось, была рекламой "модульного" музыкального редактора ScreamTracker, основанного на 8-битных сэмплах (sample - кусочек оцифрованного звука). Так я впервые познакомился с трекерной музыкой.
Примерно год спустя в руки мне попалась прога FastTrackerII (FT2) - уникальный инструмент, намного опередивший свое время. Вплоть до 2004 года 90% моих произведений было написано при помощи FT2.

***
На просторах сети огромное количество трекерной музыки (модулей) в форматах MOD, XM, IT, S3M и др. Авторы - по большей части любители, выкладывающие свои творения в свободное пользование. Каждый модуль кроме партитуры содержит в себе набор сэмплов. Другие музыканты без труда выдергивают понравившиеся сэмплы и используют в своих композициях. Получается своеобразный обмен :) Ну а правило хорошего тона для настоящих профи - делать качественные сэмплы самостоятельно: цифровать с живых источников или синтезировать.
Трекер - по сути аналог многодорожечного магнитофона. Партитура в нем представляется визуально в виде вертикальных дорожек (каналов). На дорожках в буквенно-цифровом виде прописывается, какой сэмпл, на какой ноте и с каким эффектом проигрывать. Но это самый минимум. Большинтво современных трекеров могут работать с синтезаторами и MIDI.
***

понедельник, 1 сентября 2008 г.

Поиск новых идей

В голове сейчас поиск новых направлений. Попробую разложить по полочкам:
  • Какое будущее у Pixilang? Безусловно, это удобный и простой язык. Но настолько ли простой и полезный? Возможно, нужны изменения в его идеологии.
  • MatrixGL - маленький и красивый OpenGL скринсейвер, который я написал по заказу брата в далеком 2003 году. Написал и забыл. А софтинка тем временем начала жить какой-то своей жизнью :) Пустила ветви, можно сказать: версия для МакОС, плагин для mplayer, отзывы пользователей... Возможно, пришло время для MatrixGL 2.0. Вот, кстати, статья как раз по теме: http://www.computerra.ru/focus/coment/31201/
  • Синтезатор АНС. Эта штука давно не дает покоя... Тут вариантов развития масса. Будем думать.
  • SunVox. Здесь все идет по плану. Не за горами релиз 1.1.