npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

bk-utils

v0.3.0

Published

Utils for BK soviet computers

Downloads

20

Readme

Утилиты для БК-0010(-01), БК-0011(М)

Однофайловые приложения, работающие прямо в браузере (даже в IE11!), призванные помочь в работе с советскими компьютерами серии БК.

Как пользоваться

Если вам нужно просто попользоваться утилитками и вы не хотите копаться в исходниках, то скачивать этот репозиторий из github не нужно.

Браузерную версию можно увидеть здесь: https://zakirov-net.github.io/bk-utils/

Для работы из командной строки (не все утилиты так работают) необходимо наличие в системе Node.js. Если он еще не установлен, нужно скачать последнюю LTS-версию с сайта https://nodejs.org (После установки в Windows может понадобиться перезагрузка компьютера).

Далее устанавливаем данный npm-пакет глобально командой:

npm install -g bk-utils

Все, теперь можно пользоваться, подробное описание утилит и их опций смотрите ниже.

Обновить npm-пакет можно так:

npm update -g bk-utils

Если вдруг обновление не происходит, попробуйте выполнить:

npm install -g bk-utils@latest

Конвертер .bin-файлов БК в .wav-файлы для загрузки через магнитофонный вход (wav-converter.html)

Собственно, из названия все понятно: берем .bin-файл с БКшной программой, выставляем нужные параметры и получаем звуковой файл, который можно подать на магнитофонный вход БК и загрузить программу в компьютер. Алгоритм разработан Manwe/SandS, размещено здесь: http://thesands.ru/bk0010/wav-converter/

Использование конвертера в wav из командной строки

Установка пакета утилит описана выше.

Допустим, у нас есть БК-шный файл example.bin и нужно сконвертировать его в звуковой файл, выполняем:

bk-utils-wav example.bin

В результате получим файл example.wav. Но это самый простой случай, вызов со всеми опциями выглядит так:

bk-utils-wav [--mode <MODE>] [--out file.wav] file.bin [file2.bin ...]

Режим (MODE) может быть одним из следующих:

  • bk10 - БК0010 3 МГц (Режим по умолчанию)
  • bk10boost - БК0010 3 МГц с доп. ускорением на 11%
  • bk11 - БК0011 4 МГц
  • bk11boost - БК0011 4 МГц с доп. ускорением на 11%
  • turbo - Режим с турбо-загрузчиком, максимальная скорость

Если задать опцию --out то далее идет имя записываемого звукового файла. Если не задавать, имя выходного файла сформируется из имени файла БКшного бинарника, только отбросится расширение .bin (если есть) и добавится .wav. Опция --out игнорируется, если на вход заданы имена нескольких файлов.

Допустимо задавать имена бинарников с использованием маски, вот более сложный пример, в котором мы хотим сконвертировать все имеющиеся в текущей папке bin-файлы в wav-файлы и они будут записаны в турбо-режиме:

bk-utils-wav --mode turbo *.bin

Вместо --mode и --out допустимо использовать более короткие варианты -m и -o соответственно:

bk-utils-wav -m bk10 -o myname.wav example.bin

Конвертирование картинки для БК (png, gif) в ассемблерный код (image-to-asm.html)

Конвертер сделан по заказу Adam Bazaroff, помогает преобразовывать картинку, нарисованную в Photoshop с соблюдением палитры БК, в ассемблерный код (данные). Можно обрезать картинку, делая спрайт нужного размера.

Упаковщик .bin-файлов БК в образ загружаемого диска MK-DOS (bkd.html)

Выбираем БКшные bin-файлы и скачиваем образ диска (.bkd) в фомате MK-DOS с выбранными бинарниками на нем и загрузчиком операционной системы. В будущем планируется поддержка других ОС, например, ANDOS и CSI-DOS.

Использование упаковщика из командной строки

Установка пакета описана выше.

Допустим, у нас есть БК-шный файл example.bin и нужно упаковать его в образ диска, выполняем:

bk-utils-bkd example.bin

В результате получим файл example.bkd.

Более сложный случай: хотим запаковать все файлы с расширениями .bin и .ovl в текущей папке в образ с именем mydisk.bkd, при этом нам не нужны загрузчик и файлы ОС, то есть хотим записать наши файлы на чистый диск, выполняем:

bk-utils-bkd --disk empty --out mydisk.bkd *.bin *.ovl

При этом на БК-шном диске у файлов .bin отрезается расширение, а .ovl файлы записываются как есть. Если не задавать опцию --out, то имя образа возьмется из имени первого удачно сохранившегося в образе файла и к нему добавится расширение .bkd.

Вместо --disk и --out допустимо использовать более короткие варианты -d и -o соответственно:

bk-utils-bkd -d empty -o mydisk.bkd *.bin *.ovl

Сборка проекта из исходников

Код скриптов собирается из typescript-файлов. Поэтому, если есть желание что-то исправить, сначала устанавливаем Node.js, затем в корне проекта набираем:

npm install

И ждем окончания установки пакетов. Затем для сборки js запускаем команду:

npm run build

Или для автоматической сборки после редактирования:

npm run watch

Прогон тестов:

npm run test

Для сборки утилит командной строки:

npm run build-cli

Для их автоматической сборки после редактирования:

npm run watch-cli

TODO

  • Нормально задокументировать код
  • Перевести везде интерфейс на Vue.js
  • Написать побольше автоматических тестов
  • Написать новые утилиты и доработать функционал существующих :)

Мой сайт: www.zakirov.net

Предложения и замечания - на e-mail: [email protected]