Utils for BK soviet computers
npm install bk-utils
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/
$3
Установка пакета утилит описана выше.
Допустим, у нас есть БК-шный файл example.bin и нужно сконвертировать его в звуковой файл, выполняем:
`
bk-utils-wav example.bin
`
В результате получим файл example.wav. Но это самый простой случай, вызов со всеми опциями выглядит так:
`
bk-utils-wav [--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.
$3
Установка пакета описана выше.
Допустим, у нас есть БК-шный файл 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
``