Через магнитофонный вход можно загружать игры на БК0010(01) в 8 раз быстрее.
Для этого нужен онлайн конвертер из bin в wav, качественный источник звука, а также стандартный шнур-переходник с 3,5 мм джека на круглый 5-штырьковый разъём DIN 5.
Конвертер создаёт WAV из двух частей:
1. 198-байтный загрузчик с автозапуском. Он записан на максимально возможной скорости для стандартного ПЗУшного драйвера магнитофона. Длится полторы секунды - это примерно в 3.8 раз быстрей стандарта. В этой части записано имя, адрес загрузки и длина файла, стартовый адрес. Подробное описание формата с графиками здесь.
2. Данные игры в особом турбо-формате на скорости 10000 бод. Заканчиваются двумя байтами контрольной суммы, которые также грузятся в основную память (то есть файл после конвертации становится на 2 байта длиннее). Описание формата ниже.
В отличии от стандартного формата записи, в турбо-формате нет синхроимпульсов. Для синхронизации используются фронты сигналов самих данных. Частота дискретизации wav 40000 Гц. Одной клетке на рисунке соответствует один отсчёт в wav-файле.
Чтобы сконвертировать bin-файл в такой формат, в конвертере нужно выбрать "БК0010 3 МГц - ускорение в 8 раз с турбо-загрузчиком"
Помимо очевидного преимущества (скорость загрузки), есть ещё одно: игры с автозапуском проверяются на ошибку контрольной суммы. Обычный драйвер ПЗУ этого не делает для игр с автозапуском.
Данные (уровни, сохранения) в таком формате записывать нельзя. При конвертации данных выбирайте "БК0010 3 МГц - гарантированно прочитается на любой БК".
Под "качественным источником звука" подразумевается действительно хороший проигрыватель, так как передача данных идёт на частотах 13.33-20 КГц
Работоспособность проверена на плеере SanDisk Sansa Clip, iPhone 6 Plus, iPhone SE (все три на 100% громкости), Mac mini 2014 (50% громкости).
Проверку не прошли: телефон Huawei P20 Lite, iMac 2009.
Тестировались 3 экземпляра БК0010-01 (ноябрь 1990, декабрь 1990, июль 1991). Везде читается без единой ошибки.
На БК0011(М) метод конвертации "БК0010 3 МГц - ускорение в 8 раз с турбо-загрузчиком" не заработает, потому что в Мониторе БК0011М нет автозапуска. А также потому, что у БК0011 другие тайминги (подправить тайминги в коде загрузчика несложно, но автозапуска-то всё равно нет).
Связаться с авторами можно в Telegram:
@lzakirov - конвертер на JavaScript.
@Manwe_SandS - турбо-формат, ассемблерный код, тестирование.
Особая благодарность @speedy, Tarh, Alex Pleninger за их БК0010 и @blackmirror за идеи.
Исходники загрузчика: maxim-loader.zip
Называется "Максим" потому, что строчит как пулемёт