Некоторое время назад я наткнулся на интересный проект - Maximite.
Это микрокомпьютер на базе Microchip PIC32 со встроенным Бейсиком. Прелесть тут в том, что собрать его можно за пару часов.
По возможностям он немного мощнее Радио-86РК и классического Спектрума. Но вот периферия у него сказочная: SD/FAT карточка, USB, VGA, PS/2, таймеры, RS232, I2C, SPI, PWM, ADC/DAC и просто одиночные порты-пины общего назначения.
Если собирать на макетной плате, то цена будет, по заявлению автора, менее десяти австралийских долларов.
Проект полностью открытый. Автор дает схемы, исходные коды прошивки и рекомендации по наладке.
Если даже быстро пролистать документацию, видно, возможностей прорва. Можно практически на коленке создавать различные мини-контроллеры чего угодно. Работа со всей выше перечисленной периферией ведется прямо из Бейсика.
Программы и данные можно хранить на SD карточке. Если на карточке есть файл AUTORUN.BAS
, то прошивка автоматически запускает его при старте.
Мне это все понравилось, но паять мне было лень. А в интернете продавались только конструкторы.
В итоге я заказал конструктор у Altronics.
И вот он пришел. На плате запаян только микропроцессор, ибо для пайки такого корпуса надо либо иметь паяльную станцию, либо большое умение.
Поехали.
Вот тут я уже припаял несколько элементов. Я в пайке не совсем новичок, но держал паяльник в руках последний раз лет пять назад. Кислоты у меня не было, поэтому для ускорения процесса я выкрашивал канифоль прямо на точки пайки. Эффект примерно такой же. Паяльник (тот, что в тарелке) с острым жалом.
Первый час я возился с несколькими элементами, но потом дело наладилось.
Вот тут уже готова половина.
Но еще через час все было готово.
Maximite может питаться либо от внешних 9 вольт, либо от USB. Я подключил вторым способом.
Итак, запуск. Подключаем USB и VGA к монитору. Работает!
Бейсик готов выполнять команды, но пока нет клавиатуры. Чисто PS/2 клавиатуры у меня не было, поэтому я попытался через USB-PS/2 переходник. Увы, воткнуть не получилось.
На следующий день я взял у наших айтишников старую PS/2 клавиатуру и таки подключился.
Корпус.
В закрытом виде.
Надо отдать должное - конструктор от Altronics отличного качества. Отверстия на плате металлизированы, что значительно упрощается пайку. Корпус моментально собирается.
Теперь надо было обновить прошивку, так как автор проекта уже успел ее значительно улучшить с момента выпуска конструктора.
Maximite имеет встроенную возможность обновления прошивки, и специальный программатор не нужен. Надо открыть корпус и перезапустить Maximite, удерживая специальный микро-выключатель. Устройство впадает в состояние boot loader’а, и специальной утилитой через USB можно заливать обновление.
Maximite видится в USB-подсистеме как стандартное CDC устройство. Но для Windows нужно все равно сначала поставить драйвер для создания виртуального COM-порта. На Маке этот драйвер встроен.
Подключаем.
Заливаем.
Ура. Прошивка обновлена с 2.1 до последней 3.0A.
Как я уже говорил, Maximite поддерживает VGA для дисплея и PS/2 для клавиатуры. Но это не все. Если подключить Maximite через USB к компьютеру, то кроме питания можно запустить программу эмулятор терминала, которая через виртуальный порт RS232 (работающий через USB) может обмениться данными с Maximite. Все, что Maximite выводит на VGA также дублируется в порт, а все что Maximite получает из порта расценивается как принятое с клавиатуры.
То есть можно вообще отключить VGA и PS/2 и работать чисто через терминал. Это офигительная возможность.
Например, картинка с VGA (вольтметр):
И одновременно с экрана терминала:
Забавно, экран у Maximite работает с точками, а не со знакоместами. Когда на экран выводится символ, то он дублируется, как я уже сказал, в терминале. А если рисуется графика, то она, естественно, в терминале не видна.
Диалект Бейсика в Maximite немного необычен, но зато дает доступ ко всей периферии без ограничения, причем прямо операторами языка.
На сайте автора есть архив с программами на Бейсике, демонстрирующие некоторые возможности Maximite.
Я приведу несколько картинок.
Часы.
Редактор знакогенератора.
Вольметр.
Пару головоломок.
А что это, думаю, объяснять не надо.
Ну, конечно, привет Хабру!
Заключение
Каждая копейка, потраченная мной на этот эксперимент, стоила полученного кайфа.
Сам проект Maximite удивляет своей законченностью. Все как-то очень органично и просто. И самое главное - это работает!
Как мне кажется - для начинающих, даже детей, интересующихся микропроцессорной техникой, Maximite - это просто находка. Элементарная сборка, не требующая настройки. Я, как полный дилетант, собрал все за несколько часов.
Когда мой брат лет двадцать назад собирал Радио-86РК и Спектрум, ходила шутка про устройства для самостоятельной сборки, описываемые в журнале “Радио” - если авторы говорят, что устройство не требует наладки, то значит есть хотя бы минимальный шанс его наладить, ну я если авторы говорят, что требуется минимальная наладка…
В общем, хотите тряхнуть восьмибитной стариной с паяльником в рукам - соберите Maximite.