Магнитофон для компьютеров ZX Spectrum

Магнитофон для zx spectrum на atmega

ZX Spectrum - компьютер, созданный более 30 лет назад с 3.5 МГц процессором и всего лишь 48 Кб ОЗУ, под который написано огромное количество игр (да и прикладного софта тоже), в которые интересно играть даже сегодня. При том, что эти игры часто представляют собой мегашедевры с точки зрения программирования и оптимизации кода, их разработчики умудрялись вмещать огромные игровые миры в эти скромные 48 Кб.

Программы в те времена загружались с магнитофонной ленты. Причем, в отличии от самого Spectrum-а, магнитофоны и процесс загрузки с них вызывают гораздо меньше теплых воспоминаний - загрузка не всегда заканчивалась успешно, иногда игрушку приходилось грузить по несколько раз получая ошибку "R Tape loading error" регулируя положение головки магнитофона, прочищая ее поверхность одеколоном, либо, если совсем не повезло, вытаскивать из магнитофона "зажеванную" им кассету при этом с трудом сдерживая желание сильно стукнуть виновника апстену :)

Светодиодная УФ-лампа для изготовления печатных плат

Светодиодная ультрафиолетовая лампа с таймером

Решил соорудить себе светодиодныю лампу для экспонирования фоторезиста и паяльной маски. Для чего на алиэкспрессе были закуплены в количестве 500 штук 5мм-светодиоды на 2000 милликандел с длиной волны около 400нм. Питать их решил от блока питания с напряжением 12В. Т.к. на одном светодиоде падает напряжение около 3.5В, то соединять их надо в цепочки по 3 штуки и для тока через светодиод около 20мА сопротивление токоограничивающего резистора будет 68 Ом.

Светодиодную матрицу решил делать размерами 18 х 26 светодиодов с шагом между ними в 1 см. Матрица собрана на двух одиноковых печатных платах (18 х 13 светодиодов в каждой).

Корпус для лампы фабричный, алюминиевый. Был куплен в "Ашане" занедорого, там он более известен под кодовым названием "противень для выпекания пирогов" :).

Адаптер для программирования ATMega128

ISP адаптер для atmega128

При написании и отладке прошивки устройств на микроконтроллерах приходится часто выполнять перепрограммирование МК и периодически подключаться к нему через UART-интерфейс чтобы смотреть логи (по крайней мере, лично я предпочитаю отладку через UART-терминал). Особенностями МК ATMega128 является то, что 1) для внутрисхемного программирования он использует выводы, отличные от выводов SPI-интерфейса и
2) данный МК имеет на борту два UART-а, причем, выводы одного из них совпадают с выводами ISP-интерфейса.

Таким образом, при написании прошивки все манипуляции с устройством можно делать через один разъем для программатора.

Тестер микросхем на ATMega32

Тестер микросхем на atmega

Потребность в данном устройстве возникла у меня при сборке ретрокомпьютера Pentagon-128, когда компьютер, выполненный целиком на микросхемах мелкой логики (коих на плате пентагона порядка сотни корпусов) отказался работать после включения. После увлекательного поиска неисправности было обнаружено пять убитых микросхем. Что и побудило сделать тестер. Аппаратная часть разрабатывалась со следующими акцентами:

Совместное использование ассемблера и Си для AVR

AVR

При программировании вещей, критичных к быстродействию и размеру кода хорошо использовать ассемблер. При этом обычно не обязательно писать на нем весь код, достаточно реализовать наиболее “чувствительные” подпрограммы. Компилятор GCC и среда Atmel Studio позволяют использовать в проекте ассемблер и С одновременно. При этом возникает вопрос организации взаимодействия между подпрограммами на разных языках: вызова методов с передачей им параметров и доступа к переменным.

trolCommander 0.9.6

trolCommander file manager

Вышла новая версия файлового менеджера trolCommander, 0.9.6.

Теперь trolCommander требует Java Runtime версии не ниже 8.

Основные фичи:

  • Реализованы компактный и сокращенный режимы просмотра (см. View->Mode в главном меню)
  • Реализовано получение информации о владельце файла и его группе для unix-систем, теперь эта информация отображается в окне свойст файла
  • Иконки файлов высокого разрешения для Mac OS X
  • Поиск по хоткею в окне настроек горячих клавиш
  • Диалог группового переименования файлов - добавлена поддержка регэкспов
  • Подсветка исполняемых файлов
  • Поиск файлов - результаты поиска теперь отображаются с иконками и цветами
  • Поиск файлов - добавлены новые команды для выбранных файлов - F5 (копировать), F6 (перенести), F8 (удалить)
  • Оптимизация производительности и уменьшение потребления памяти

Генератор наклеек для клавиатуры ZX Spectrum

Генератор рисунка клавиатуры ZX Spectrum

Решил восстановить свой старый компьютер ZX Spectrum 48 и первой проблемой стала клавиатура - компьютер наглухо висел, как оказалось, из-за того, что часть клавиш оказалось замкнутой. После чего была спаяна новая кнопочная клавиатура и возник вопрос ее оформления. Было решено распечатать рисунки клавиш на листе бумаги, заламинировать его с одной стороны и приклеить к листу пластика от блистерной упаковки с другой для прочности. Однако, все попытки найти готовый рисунок клавиатуры в хорошем качестве, в цвете и подходящих размеров результата не дали. Пришлось озадачиться рисованием клавиатуры в векторном формате. Заодно был написан генератор, позволяющий настраивать размеры, отступы и цвета.

Лампа настроения: продолжение

лампа настроения avr attiny13

Спустя почти два года после публикации первого варианта лампы настроения было собрано несколько экземпляров, сделаны выводы и произведены некоторые улучшения.

После обкатки на разных устройствах прошивка была обновлена:

  • Изменен алгоритм генерации цветов - теперь цвета более насыщенные
  • Исправлена проблема с резким переключением между цветами. Баг связан с тем, что раньше значение следующего цвета вычислялось непосредственно в процедуре прерывания и эта операция занимала слишком много времени. Теперь вычисление вынесено в главный цикл
  • Добавлена возможность использовать свой генератор псевдо-случайных чисел вместо stdlib-овского. Этим можно немного уменьшить размер прошивки в ущерб качеству случайности генеримых цветов (что, вообщем-то, не особо сказывается на работе лампы).
  • Прошивка теперь компилируется под AVR Studio 6

Индикатор температуры процессора для Mac

Mac OS CPU thermometer

Иногда Мак греется, иногда он греется очень сильно, что начинаешь задумываться о причинах нагрева и способах борьбы с ним. Для этого мне хотелось, чтобы температура процессора всегда отображалась на экране в системном меню. Но найти какого-то готового решения для этого не получилось. Поэтому набросал примитивную программу, единственное назначение которой - отображение текущей температуры процессора для компьютеров на Mac OS X.

Tags:

Работаем с Arduino Nano из Mac OS X

arduino nano v3

Arduino Nano v3.0 - небольшой модуль на базе микроконтроллера ATmega328P. Помимо микроконтроллера он содержит микросхему стабилизатора и преобразователь USB-UART на основе FT232RL (в оригинальной версии) либо CH340G (в китайских клонах, широко продаваемых в интернете). Вторую реализацию платы можно купить по цене около 3$ с доставкой. За эти деньги получаем весьма серьезный девайс - распаянный МК имеет на борту 32КБ флеш памяти, 2КБ ОЗУ и 1 КБ EEPROM и работает на частоте 16МГц. Также МК имеет 6 каналов аппаратного ШИМа (D3, D5, D6, D9, D10, D11), 7 каналов 10-битного АЦП (A0 - A7) и прошитый bootloader, позволяющий заливать прошивку МК через USB.

Страницы

Подписка на TrolSoft RSS