Важная информация

User Tag List

Показано с 1 по 10 из 10

Тема: Загрузка с iPhone на БК-0010 в 8 раз быстрее

  1. #1
    Veteran Аватар для Manwe
    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,722
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    403
    Поблагодарили
    256 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Загрузка с iPhone на БК-0010 в 8 раз быстрее

    Через магнитофонный вход можно загружать игры на БК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
    Называется "Максим" потому, что строчит как пулемёт
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	wavturbo.jpg 
Просмотров:	135 
Размер:	20.0 Кб 
ID:	68849  
    Последний раз редактировалось Manwe; 26.04.2019 в 18:15.
    manwe.pdp-11.ru

  2. Эти 4 пользователя(ей) поблагодарили Manwe за это полезное сообщение:

    atmavan (03.03.2022), eddison (07.04.2020), shapipovo (15.06.2020), Копейкин (17.06.2020)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,796
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    1,191
    Поблагодарили
    784 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    198-байтный загрузчик
    а если загружаемые данные накладываются на область где он работает ?

  5. #3
    Veteran Аватар для Manwe
    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,722
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    403
    Поблагодарили
    256 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    а если загружаемые данные накладываются на область где он работает ?
    Такого не будет, всё предусмотрено. Загрузчик копирует часть себя в адреса 400-556. Если же программа начинается с адреса ниже 556 (а я таких встречал всего пару), конвертер выдаст ошибку. В таком случае можно попытаться снять и заново установить автозапуск какой-нибудь сторонней утилитой (CF50, BKpack).
    manwe.pdp-11.ru

  6. #4
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Для этого нужен онлайн конвертер
    только я было хотел написать что я думаю об аффтаре изза не ОФФЛАЙН конвертер
    и...
    оказалось сохраненная html-ка прекрасно работает в ОФФЛАЙНЕ как многие другие онлайн калькуляторы
    так шито +1


    и реквестирую такое же для рк-шек львов-ов и для других отечественных компутеров
    пушо писать самому лень и нечем тестировать

    Цитата Сообщение от Manwe Посмотреть сообщение
    Тестировались 3 экземпляра БК0010-01 (ноябрь 1990, декабрь 1990, июль 1991). Везде читается без единой ошибки.
    НЕТ это не катит
    нужно еще несколько вариантов ускорения помедленнее
    на случай если 8х не заработает


    нельзя надеться на идеальную точность воспроизведения и на 100% совпадение таймингов
    да еще по 3-м машинам оттестенное
    никто не будет покупать айфон для загрузки с него

    например в otla-е 100500 штук вариантов
    +с разными алгоритмами
    и не все работают без ошибок

    - - - Добавлено - - -

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    сохраненная html-ка прекрасно работает в ОФФЛАЙНЕ
    что надо бы указать в первом посте

    - - - Добавлено - - -

    Цитата Сообщение от goodboy Посмотреть сообщение
    а если загружаемые данные накладываются на область где он работает ?
    А чего хотим?

    Я долго пинал дельту за несовместимость с wolf48
    потом оказалось что всему виной турбо загрузчик...

    так что тут так
    если повезет и загрузчик не помешает своим присутствием в памяти то будет вин
    но это не 100%

    - - - Добавлено - - -

    Цитата Сообщение от Manwe Посмотреть сообщение
    Такого не будет, всё предусмотрено. Загрузчик копирует часть себя в адреса 400-556. Если же программа начинается с адреса ниже 556 (а я таких встречал всего пару), конвертер выдаст ошибку.
    а варианты переместить в таком случае в другое место?
    количество загружаемых данных известно
    можно ложить немного дальше чем конец загружаемых данных

    - - - Добавлено - - -

    Цитата Сообщение от Manwe Посмотреть сообщение
    в Мониторе БК0011М нет автозапуска.
    а нельзя чтоб стандартный загрузчик затерел данными какие то системные переменные или стек (не знаю как он в бк-шках)
    и чтоб ВНЕЗАПНО по окончанию подпрограммы по ret-у передалось управление турбозагрузчику?
    Последний раз редактировалось NEO SPECTRUMAN; 22.04.2019 в 21:51.

  7. #5
    Veteran Аватар для Manwe
    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,722
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    403
    Поблагодарили
    256 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    оказалось сохраненная html-ка прекрасно работает в ОФФЛАЙНЕ
    Внесём небольшие улучшения в дизайн и приложим конвертер к первому сообщению в виде zip-архива.

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    и реквестирую такое же для рк-шек львов-ов и для других отечественных компутеров. пушо писать самому лень и нечем тестировать
    У меня их тоже нет. Только УКНЦ. Планирую летом заняться этой машиной.


    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    НЕТ это не катит. нужно еще несколько вариантов ускорения помедленнее. на случай если 8х не заработает
    Там есть варианты на выбор.

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    нельзя надеться на идеальную точность воспроизведения и на 100% совпадение таймингов.
    Я пробовал менять частоту дискретизации WAV от 36 КГц до 40 КГц (это довольно большой разброс). Работает. Точное совпадение таймингов необязательно.

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    никто не будет покупать айфон для загрузки с него
    У конвертера есть две опции для менее качественных устройств. В 2-2.5 раза медленней, зато с Huawei прочитается.


    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а варианты переместить в таком случае в другое место? количество загружаемых данных известно. можно ложить немного дальше чем конец загружаемых данных
    Считаю более полезным для общества пофиксить эти игры, чтобы их адрес стал больше 600. От этого они станут совместимей и удобней. Не только ради нашего турбо-загрузчика, а вообще.

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а нельзя чтоб стандартный загрузчик затерел данными какие то системные переменные или стек (не знаю как он в бк-шках)
    и чтоб ВНЕЗАПНО по окончанию подпрограммы по ret-у передалось управление турбозагрузчику?
    На БК0010 мы так и делаем.
    На БК0011 загрузка происходит не в ту страницу, где стек. Я писал в параллельной теме: ПЗУшная программа загрузки с магнитофона переключает страницы после каждого (!) загруженного бита (!!!). Поэтому перетереть системные данные (стек и прочее) не получится. Может быть кто придумает обходной хак – тогда сделаем.
    Последний раз редактировалось Manwe; 22.04.2019 в 22:50.
    manwe.pdp-11.ru

  8. #6
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    загрузки с магнитофона переключает страницы после каждого (!) загруженного бита (!!!).
    боже ш ты мой

    - - - Добавлено - - -

    Цитата Сообщение от Manwe Посмотреть сообщение
    Там есть варианты на выбор.
    ну если это все турбо загрузчики тогда хорошо

    - - - Добавлено - - -

    Цитата Сообщение от Manwe Посмотреть сообщение
    На БК0010 мы так и делаем.
    177777
    не прошло и 10 лет как я понел что в бк-шке используют октальную систему счисления
    которая взрывает мне моск...
    никогда не читал руководство программиста для БК
    и всегда с квадратными глазами смотрел на эти дикие адреса

    - - - Добавлено - - -

    Особенно меня радуют всякие правообладатели...
    http://emuverse.ru/wiki/%D0%9F%D1%80...%D0%9A-0010-01

  9. #7
    Veteran Аватар для Manwe
    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,722
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    403
    Поблагодарили
    256 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    ну если это все турбо загрузчики тогда хорошо
    Они не турбо в том смысле, что у них нет своего отдельного загрузчика и собственного метода хранения данных. Но в то же время, они разогнаны почти в 4 раза по сравнению со стандартной скоростью загрузки. Медленней, чем турбо, но зато и требования к качеству звука ниже. Так что все реальные случаи использования покрыты, мне кажется.
    manwe.pdp-11.ru

  10. #8
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Так что все реальные случаи использования покрыты, мне кажется.
    ну если стандартный загрузчик позволяет
    то да

  11. #9
    Veteran Аватар для Manwe
    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,722
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    403
    Поблагодарили
    256 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию универсальный турбо-загрузчик

    Программы для передачи данных с PC на БК 0010 и БК 0011 по магнитофонному каналу в ускоренном режиме (в 8 раз быстрей стандартной загрузки с магнитофона).

    Update 11.06.2020: новая версия состоит из одного файла, он определяет где запущен - на БК 0010 или на БК 0011м - и корректирует тайминги чтения.
    Кроме того, новая версия загружает данные в экран, чтобы был виден прогресс.
    После окончания загрузки и проверки контрольной суммы загруженное перемещается в нужные адреса и уже оттуда сохраняется (в случае copier) или сразу запускаются (в случае receiver).
    В нижней памяти новый загрузчик занимает меньше места: адреса с 400 по 512 для copier и с 400 по 432 для receiver.
    В архиве программы и исходники:
    https://manwe.pdp-11.ru/Tools/copier.zip



    Старая версия:

    Скрытый текст


    bk-turbo-wav.zip

    Copier10 - программа для БК 0010. Принимает файл с PC и сохраняет его на диск.
    Copier11 - то же самое для БК 0011 4 МГц.

    Receiver10 - программа для БК 0010. Принимает файл с PC и сразу запускает его.
    Receiver11 - то же самое для БК 0011 4 МГц.
    [свернуть]


    Получить файл в формате turbo-WAV можно путём компиляции в кросс-ассемблере PDPy11 с опцией make_turbo_wav. Пример ассемблерного исходника:

    .LINK 40000
    make_turbo_wav
    insert_file "picture.raw"
    .END

    Компилятор PDPy11 под Windows, MacOS, Linux можно скачать здесь: https://github.com/imachug/PDPy11

    В загрузочный диск MKDOS можно добавить текстовый файл STARTS.COM и прописать в нём "receiver10" (или receiver11, в зависимости от модели БК). Тогда при включении БК будет ожидать приёма файла с PC в формате turbo-WAV и затем запустит его. Очень удобно для отладки программ на реальном железе.
    Последний раз редактировалось Manwe; 11.06.2020 в 10:40. Причина: новая версия copier и receiver
    manwe.pdp-11.ru

  12. Эти 3 пользователя(ей) поблагодарили Manwe за это полезное сообщение:

    -=RUS=- (18.06.2020), Terra (28.01.2020), Копейкин (17.06.2020)

  13. #10
    Veteran Аватар для Manwe
    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,722
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    403
    Поблагодарили
    256 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Видео с работой обновлённого загрузчика:
    https://t.me/bk0010_11m/121176
    Ссылка на загрузчик в предыдущем сообщении (Update).
    manwe.pdp-11.ru

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 29
    Последнее: 14.07.2018, 02:20

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •