Web Bluetooth

Поразбирался тут с Web Bluetooth. Это такой API в Chrome, через который можно из браузера коннектиться к BLE устройствам (только BLE) и работать с ними. Короче IoT и вот это вот всё ;)
( Collapse )By logging in to LiveJournal using a third-party service you accept LiveJournal's User agreement
Category was added automatically. Read all entries about "it".
Поразбирался тут с Web Bluetooth. Это такой API в Chrome, через который можно из браузера коннектиться к BLE устройствам (только BLE) и работать с ними. Короче IoT и вот это вот всё ;)
( Collapse )Написал на Habrahabr статью про свою разработку на Javascript под NodeJS, React+Redux, React-Native (с обменом между ними через GraphQL).
Хочу также поделиться исходниками своих работ под Vectrex - Electric Force (233 байта), Invitron (32 килобайта) и двух пробных - Rainy (413 байт) и Emptyscreentro (128 байт). Все исходники - ассемблер 6809. Подробнее о Vectrex и разработке под него можно прочесть в моей статье (сюда она не влезла. ЖЖ - твиттер XXI века :)
Наряду с традиционными для электронных таблиц функциями (повторяющими Excel), в Google Spreadsheets есть некоторое количество дополнительных. Одна из них, под названием "=QUERY()", позволяет рассматривать любую часть таблицы как базу данных и осуществлять к ней простые запросы на языке, напоминающим SQL.
Особенно полезно, что возвращаемые данные доступны не только внутри таблиц, но и по запросу через внешний URL (т.е. таблицу можно использовать как готовый DB сервер для сайта или мобильного приложения.
На прошедшем в эти выходные Chaos Constructions'2012 кто-то принёс на выставку Агат - советский неполный аналог Apple II. С ним была одна дискета, с которой он ничего не хотел грузить. То есть писал "АГАТ" и единственное что можно было сделать - выйти во встроенный монитор, который позволял смотреть память по адресам, менять её, ну и еще дизассемблировать.
Мы (я, tnt23, Oxyd, Meteo и еще один человек) никогда с Apple II и Агатами дела не имели, но предположили, что там ну просто обязан быть Бейсик в ПЗУ. И пытались его самыми разными способами извлечь. Похоже, Бейсика там в помине не было, но в какой-то момент сам процесс стал интереснее цели. Сначала методом тыка мы нашли, какие примерно команды монитор понимает. Просматривая память обнаружили, где примерно начинается ПЗУ (с Fx00) и где ОЗУ, в которое можно писать (с 0100). Поскольку я когда-то начинал с Commodore 64, по крайней мере процессор (6502/6510) был знаком. Так что, просматривая листинг ПЗУ, быстро удалось найти подпрограмму вывода на экран символа (во-первых, она часто вызывалась, во-вторых перед вызовом всегда загружался только аккумулятор: что-то типа LDA ... и затем JSR FDD4). В итоге за несколько минут в кодах была написана суперпрограмма:
INX ; о том, что нельзя увеличивать напрямую значение аккумулятора я уже и забыл
TXA ; так что увеличиваем индексный регистр, а потом переносим значение в аккумулятор
JSR FDD4 ; вызываем ROM подпрограмму вывода символа на экран
JMP 0100 ; и по новой..
ассемблировать монитор не умел (или мы не нашли как), поэтому пришлось писать в машинных кодах.
Запущенная программа сходу вывела все символы и даже стала чистить экран и пищать (видимо там есть и управляющие коды). Видео.
Приятно было вспомнить системы, которые можно изучать такими простыми способами :-)
P.S. Заодно, ссылки на фотографии с CC'12. Первый день, Второй день.