Каждый участник конференции Hackaday в Белграде получит по необычному бейджу — это будут действующие ретрокомпьютеры. Один из них сейчас — в руках автора, и это настоящее произведение искусства. Он красив, с ним интересно работать и играть, и в следующие выходные ему предстоит стать платформой для… программирования бейджей. Вы когда-нибудь программировали бейдж?
Маленький спойлер: на Бейсике, под CP/M, на эмулируемом Z80.
Девайс действительно смотрится великолепно. Его разработчик Voja Antonic находится в Белграде уже сейчас и следит, чтобы изготовление компьютеров шло без перебоев. Поскольку бейджи предназначены для всех участников конференции, изготовить их необходимо много.
Voja умеет делать свои разработки не только функциональными, но и эстетичными. Вот в левом верхнем углу — скос под стать расположенной там же гребёнке, а в правом — выступ с отверстием для шнурка. Оба нижних угла закруглены. Довершают всё тактовые кнопки, впаянные под углом, и печатный проводник общего провода, выполненный в виде не сразу бросающейся в глаза сетки.
Первые ассоциации, вызываемые словами «старый компьютер» — это щёлкающая клавиатура, а также монохромный экран, зелёный или оранжевый. Что ж, 55 тактовых кнопок неплохо щёлкают, а ЖКИ хоть и полноцветный, но изображение на нём можно при желании сделать монохромным. Его разрешение — 320х240, что создаёт впечатление ЭЛТ с низким разрешением. В компьютере реализована эмуляция терминала VT100 в режиме 40 знаков на 20 строк.
На обороте платы расположена динамическая головка. Звуковая подсистема машины — трёхголосная, качество звука высокое. Спереди расположены RGB-светодиод и гребёнка для прошивки, обмена данными по шине I2C, а также просто вывода нескольких GPIO. А «рулит» всем происходящим микроконтроллер PIC32MX370F512H, которому помогает в этом двухмегабайтная микросхема флеш-памяти. Много лет назад это был бы очень хороший компьютер: тактовая частота — 48 МГц, 512 килобайт доступного пользователю дискового пространства, 128 килобайт ОЗУ.
К автору попал ранний прототип компьютера, изготовленный в количестве пяти экземпляров. В нём нет динамической головки, применён микроконтроллер PIC24, и установлены отсеки AA, а не AAA. Серийный вариант получит также чёрную маску на плате и акриловую заднюю стенку. Остальное останется неизменным. Подробности — на странице проекта.
Заполучить такую штуку уже здорово, но основное впечатление от неё создаёт, конечно, ПО. Первоначально разработчик предполагал сделать просто бейдж с интерпретатором Бейсика, но затем придумал нечто большее. Он попросил Jaromir Sukuba — другого известного автора Hackaday и победителя недавнего конкурса конструкций, работающих от элементов CR, написать прошивку для бейджа. Тот согласился, и вот что получилось. Давайте скажем Jaromir'у спасибо за то, что он сделал и так интересный девайс ещё интереснее. В разы!
Понятно желание ретрокомпьютерщика получить если не реальное винтажное железо, то хотя бы его эмулятор, а не код, нативно исполняемый на современной платформе. Здесь это учтено. На компьютере «крутится» эмулятор Z80, под которым запущена операционная система CP/M. Когда-то это была популярнейшая ОС, и чтобы доказать, что она действительно там есть, в комплект поставки компьютера включена игра Zork. Но конечно, возможности конструкции не ограничены играми. По кабелю USB-TTL можно обмениваться данными с одним из трёх 512-килобайтных накопителей. Предусмотрено и соединение между собой двух бейджей.
Компьютер укомплектован и тем самым Tiny Basic в неизменном виде, который работает в эмуляторе более раннего процессора — 8080. Хотя здесь это и не основной интерпретатор Бейсика, он позволит погрузиться в атмосферу семидесятых и попробовать написать интересную программу, будучи ограниченным в выборе функций и диапазонов представления чисел. Вот инструкция к этому интерпретатору, датированная 1979 годом.
Воспользоваться же возможностями железа в полной мере поможет интерпретатор Hackaday Basic. Он позволяет сохранять и загружать программы из 16 фиксированных файлов, обмениваться ими по последовательному интерфейсу. В его состав входит скриптовый язык для написания музыки, присутствуют операторы для управления RGB-светодиодом, линиями GPIO на гребёнке. Интерпретатор обладает широкими возможностями по работе с эмулятором терминала, позволяя переключать цвета, перемещать курсор, обновлять экран и задействовать расширенный знакогенератор. А что ещё можно — посмотрите здесь.
Всё это вместе взятое делает конструкцию настоящим наладонным ретрокомпьютером. С нетерпением ждёшь, когда сотни таких гаджетов окажутся в руках участников конференции, набирающих на миниатюрных клавиатурах разнообразные программы и получающих от этого ни с чем не сравнимую радость!
А в полночь начнётся подведение итогов, в ходе которого станет известно, что необычного участники написали за предоставленные им 14 часов. Выяснится, что люди, никогда ранее не программировавшие, наконец-то помигали светодиодом, а те, у кого за плечами сотни мегабайт демок, вообще заменили прошивку устройства на что-то собственное.
Начать прорабатывать свои идеи можно уже сейчас. Будщим участникам рекомендовано взять с собой свои кабели и программаторы, потому что имеющихся может на всех не хватить. На конефренции состоится несколько конкурсов: музыкальных композиций, демок, программ на Бейсике, программ для CP/M, и т.д. Главное — не победа, а участие и возможность показать свои работы — неважно, неказистые или настоящие шедевры — себе подобным гикам.