User Tag List

Страница 11 из 17 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя
Показано с 101 по 110 из 164

Тема: ROM-плеер на ардуино

  1. #101

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот. Основная идея не всех победить, а получить такой сборный загрузчик, который можно собрать себе по вкусу. Например, ценность загрузки по ЛВС или 0-момеду мне сейчас кажется нулевой, потому что я не собираю исторический (или мифический) КУВТ. А загрузчик, который бы понимал твой турбо-формат без предварительной загрузки загрузчика, иметь было бы ценно — особенно при том, что я в обозримом будущем предвижу какую-то низкоуровневую отладку на железе. Ну, или хотя бы загрузчик, который стабильно точно определяет временную постоянную так, что можно разогнать стандартный формат чуть шустрее. Или еще вариант: вместо существующих сейчас альтернативных способов загрузки сделать свой новый, который будет проще поддержать простенькой ардуиной ибо это то, что сейчас людям проще и ближе.

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

    P.S. подумалось, что вообще надо делать плату эмулятора ПЗУ, которая будет ставиться в ту же колодку, но гибко позволять себя конфигурировать и грузить все на свете, в том числе из эфира. Разумеется, у меня все мысли сразу в сторону esp8266, видимо в упряжке с какой-то цплдовиной для сопряжения с шиной.
    Больше игр нет

  2. #102

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В качестве задачи первого этапа можно попробовать взять дизассемблирование и комментирование (хотя бы в важных местах) загрузчика Tim0xи (все же это самый современный вариант). В идеале загнать в условную компиляцию источники загрузки. Вполне подъемно, но не интересно (самый главный минус). Может займусь, или может еще кто захочет.
    Но если ты сделаешь эмулятор ПЗУ, загружаемый из всего на свете, то смысл ковырять загрузчик вобще потеряется.

  3. #103

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Вот. Основная идея не всех победить, а получить такой сборный загрузчик, который можно собрать себе по вкусу. Например, ценность загрузки по ЛВС или 0-момеду мне сейчас кажется нулевой...
    P.S. подумалось, что вообще надо делать плату эмулятора ПЗУ, которая будет ставиться в ту же колодку, но гибко позволять себя конфигурировать и грузить все на свете, в том числе из эфира. Разумеется, у меня все мысли сразу в сторону esp8266, видимо в упряжке с какой-то цплдовиной для сопряжения с шиной.
    Эмулятор ПЗУ подразумевает два подхода.
    Первый - загрузка с эмулятора по протоколу ПЗУ небольшого БИОСа, и дальше грузить автоматом интерфейс для работы с файлами на эмуляторе уже по другому протоколу.
    Второй - иметь очень быстрый доступ к файлу на эмуляторе что-бы успевать его заливать по стробам протокола ПЗУ, но иметь ограничение, что файл грузится только с адреса 0, и максимальный размер файла 32КБ.
    При этом эмулятор контроллера ЛВС или 0-модема (протокол не смотрел, но думаю он должен быть гибче протокола ПЗУ) лишены этих недостатков. Поток синхронизируемый с ожиданием готовности данных, адрес загрузки указан в служебной части протокола, размер файла... сколько загрузчик позволит.
    Так-что выбор в пользу протокола ПЗУ не так очевиден, по крайней мере для меня.

  4. #104

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Посмотрел алгоритм ПУ-LPT.
    Всё просто.
    настройка портов Вектора: А,С - выход. В - вход.
    Данные передаются полубайтами, сначала младший. Для данных используется младшие биты порта В. Один бит порта В (бит 5, "1"-данные готовы) на флаг готовности данных, один бит порта С (бит 4, "0"-данные приняты) на подтверждение приёма.
    В потоке сначала передаются 55h, AAh, номер блока для загрузки, количество блоков. Далее сам файл. Контрольная сумма самого файла (которая вычисляется "исключающее ИЛИ" (XOR) контрольной суммы и принятого байта).

    Одно смущает, мне показалось, что после приёма каждого байта файла, вызывается подпрограмма, которая рисует весь "квадратик" на сетке загрузки - типа принято 256Байт...

    Можно будет в плеер добавить
    Последний раз редактировалось KTSerg; 07.03.2018 в 12:07.

  5. #105

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Возвращаясь к rom-плееру... Вчера попробовал исследовать сигнал, за неимением осциллографа использовал аудиокарту ПК -- кривая сигнала получается "неописуемой красоты", все циклы чётко выдержаны, даже и не знаю, к чему там придраться... Единственное, что увидел, это то, что сигнал формируется в инверсном виде и, чисто теоретически, это может повлечь большее время обработки Вектором. Немного переделал скетч, но проверить на оборудовании его ещё не успел, хотя в тапире вав-ки для обоих вариантов выглядят хорошо.
    Вот результаты, для иллюстрации проделанного: Test_WAV.7z

    По-хорошему, надо бы ещё исследовать сигнал на выходе компаратора, но для этого, опять же, требуется осциллограф.

  6. #106

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Итак, продолжаем... Снял wav-ку с Вектора на максимальной скорости вывода "copy v2.1", и, самое удивительное, напрямую с компа Вектор её грузит легко, в отличие от тех же сохранённых wav-ок с ардуины. Визуально они отличаются, вот картинка для сравнения (Вектор вверху):
    Нажмите на изображение для увеличения. 

Название:	WAVs.jpg 
Просмотров:	207 
Размер:	25.3 Кб 
ID:	64528

    Причём заметил, что кроме среза верхних частот, Вектор далеко не всегда чётко выдерживает интервалы, и это, как видно, для него не критично.

    Попробовал воссоздать схему выхода Вектора, там всего три сопротивления и два конденсатора:

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

    Нажмите на изображение для увеличения. 

Название:	IMG_20180302_202841~~.jpg 
Просмотров:	183 
Размер:	43.2 Кб 
ID:	64530
    [свернуть]

    Правда, не нашёл конденсатор 0,068 мкФ, поставил вместо него в полтора раза больший 0,1 мкФ -- результат отрицательный, т.е. улучшений нет. Пробовал исправить эквалайзером одну из ранее полученных с ардуины wav-ок, игрался и так, и эдак, доводил её даже до состояния, близкого с чистой синусоиде -- Вектор понимает и такую, но, опять же, не на максимальной скорости. :-(

    В общем, пока кроме поиска и установки правильного конденсатора, идей нет...

    Вот wav-ка, полученная с Вектора, может, кто поймёт, в чём его секрет? :-)

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

  8. #107

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если вав записать с ардуины в компьютер и потом такую запись проиграть в Вектор? Если эту запись загрузить в эмулятор?
    Больше игр нет

  9. #108

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Если вав записать с ардуины в компьютер и потом такую запись проиграть в Вектор? Если эту запись загрузить в эмулятор?
    В эмулятор не пробовал, только на живой Вектор -- и с компа не грузится, даже после обработки записи фильтрами. Загружает только если снизить скорость воспроизведения до 75-80% от исходной, т.е. получается на тех же ~256 мкс.

  10. #109

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Игры с фильтрами/конденсаторами ничего не дают... Но заметил интересную особенность: сигнал с Вектора имеет небольшие задержки в передаче на границе каждого байта, примерно по 5 сэмплов на 96кГц, что равно ~50 мкс. Это можно заметить и на скриншоте, который я опубликовал выше, примерно в середине. Ардуина же напротив, чётко выдерживает все периоды. Вот, думаю, может в этом причина? Вот только надо придумать, как организовать такие задержки? Править задержку таймера на каждом байте?

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

    О, да -- именно так и есть! Сейчас попробовал взять самый первый скетч и добавить туда задержку между байтами, и Вектор стал грузить на скоростях с полупериодом до 176 мкс, такой по скорости сигнал не давал ни один из копировщиков (речь идёт о стандартном формате ROM, не турбо).

    Теперь вопрос, как сделать это на таймере1?...

  11. #110

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Занятно, кто б мог подумать. В Векторе и тут отличились

    Таймеру1 можно период менять на ходу. Увеличивать его перед границей байта, потом обратно.
    Больше игр нет

Страница 11 из 17 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Портативный AY плеер.
    от Руслан в разделе Звук
    Ответов: 1
    Последнее: 16.04.2014, 08:46
  2. Service rom + 128 basic rom
    от VELESOFT в разделе Оси
    Ответов: 1
    Последнее: 24.03.2013, 04:48
  3. Плеер для pt 3
    от Руслан в разделе Музыка
    Ответов: 25
    Последнее: 14.08.2012, 19:25
  4. Advanced ROM Manager (ROM Switvcher + Prof. ROM)
    от Alex_NEMO в разделе Память
    Ответов: 4
    Последнее: 04.10.2010, 11:43
  5. AY плеер
    от newart в разделе Звук
    Ответов: 19
    Последнее: 20.07.2006, 00:03

Метки этой темы

Ваши права

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