User Tag List

Страница 2 из 7 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 64

Тема: PT3 плеер для Вектора-06Ц

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    Правильно ли я понял что этот плеер проигрывает только формат PT3 ?
    Да

    Цитата Сообщение от metamorpho Посмотреть сообщение
    Как переделать формат PT3, чтобы вставить его в прекрасм ?
    Два основных варианта:
    1) Склеивать с бинарником, например как в pt3test.bat с использованием copy /b
    2) Преобразовывать в исходный текст формата tasm. В идеале для этого нужна утилита, но можно воспользовать например IDA Pro.

    Цитата Сообщение от metamorpho Посмотреть сообщение
    Сильно ли он грузит процессор - например если я хочу в игре сделать музыку фоновую через этот плеер - потянет ?
    Для R7 примерные цифры такие (это с учетом векторовского торможения, на корвете и специалисте будет быстрее): максимальные пики до 14500-15000 тактов/кадр, в среднем 9500 тактов/кадр. Для очень насыщенных дем и игрушек на грани возможного этот вариант вряд ли подойдет, там лучше играть упакованные дампы гигачадом svofski или вот этим.

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    metamorpho(08.07.2025)

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

  3. #2

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

    По умолчанию

    В прекрасм или в .db, или в .db64

    Простейший подножный bin2db.py

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


    Код:
    #!/usr/bin/env python3
    import sys
    
    # pad to this size
    PADDING=0
    
    def bin2db(input_file, varname="mydata", bytes_per_line=12):
        with open(input_file, "rb") as f:
            data = f.read()
    
        if PADDING > 0:
            data = bytearray(data)
            zeroes = bytearray([0] * (PADDING - len(data)))
            data = data + zeroes
            #data.append(bytearray((len(data) + PADDING) % PADDING))
    
        print(f"    ; padded {varname} size = {len(data)}");
        for i in range(0, len(data), bytes_per_line):
            chunk = data[i:i+bytes_per_line]
            hexes = ', '.join(f'${b:02X}' for b in chunk)
            print(f"    .db {hexes}")
    
    
    if __name__ == "__main__":
        if len(sys.argv) < 2:
            print("Usage: bin2db.py <inputfile> [varname]")
            sys.exit(1)
    
        input_file = sys.argv[1]
        varname = sys.argv[2] if len(sys.argv) > 2 else "mydata"
        if len(sys.argv) > 3:
            PADDING = int(sys.argv[3])
    
        bin2db(input_file, varname)
    [свернуть]


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

    Запускаемый пример в прекрасме


    Пришлось пару мест поправить. .db & 255 это понятно, но почему несколько других мест покраснели я не понял -- это ошибки в прекрасме, надо будеть починить. Но поправил ручками чтоб работало.
    Больше игр нет

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

    andrews(08.07.2025), ivagor(08.07.2025), KTSerg(12.07.2025), metamorpho(08.07.2025)

  4. #3

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

    По умолчанию

    Поковырял плеер и не стал мариновать, если что-то сломал, то надеюсь коллективный разум быстрее обнаружит.
    R8 на 116 байт короче R7 и средняя скорость увеличилась до 8700 тактов/кадр.

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

    marinovsoft(08.07.2025), metamorpho(08.07.2025)

  5. #4

    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,409
    Спасибо Благодарностей отдано 
    72
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    161 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если вынести машинно зависимый код (от LOUT: и до RET) из pt3ini.asm в pt3.asm то портирование на другие платформы будет проще
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

  6. #5

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

    По умолчанию

    По-хорошему для равномерности воспроизведения надо переставить ROUT в начало, чтобы он выдавал в порты посчитанные в прошлый кадр значения, а уже потом "рендерить" следующую порцию.
    Если будет еще версия, то вынесу ROUT из pt3.asm и переставлю в начало.

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

    Еще не откорректировал одну строку комментария.
    Здесь поправил:
    ;START+13 pointer to current position value in PT3 module;
    а здесь нет
    ;After INIT (START+11) points to Postion0-1 (optimization)
    Понятно, что и там и там должно быть +13.

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

    Добавил в первый пост R8+. Там поправлен комментарий, но главное - разделены "рендер" и собственно вывод звука (ROUT). Надеюсь из прилагаемого примера понятно, как пользоваться. На всякий случай R8 пока тоже оставил.

  7. #6

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,643
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, а мелодии TurboSound можно проиграть как-то этим проигрывателем?
    С уважением, Станислав.

  8. #7

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

    По умолчанию

    Проще всего откомпилировать плеер 2 раза в раздельные области памяти и вызывать по очереди.

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    CityAceE(09.07.2025)

  9. #8

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Проще всего откомпилировать плеер 2 раза в раздельные области памяти и вызывать по очереди.
    Хорус 5мс опасность!
    Больше игр нет

  10. #9

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

    По умолчанию

    "Вот вы смеетесь, а ..."
    Про хорус не буду, т.к. если говорим про TS, то там вряд ли каналы дублируются и будет просто задержка.
    А вобще (не обязательно про TS) чем медленнее проц, тем больше болтанка (если не разнести рендер и вывод). На векторе максимальный разброс до примерно 9000 тактов, т.е. 3 мс. В принципе это не так уж много, с другой стороны это 15% от 20 мс. А есть ведь компы с 8080 раза в полтора медленнее вектора.
    С R8+ даже с TS можно сделать задержку между воспроизведением групп каналов в районе 1100 тактов, т.е. 0.36 мс, чем можно пренебречь. С TS скорее проблема в быстродействии, на векторе плееры под 2xYM могут в пике занимать до половины кадра, пригодность для игр и дем еще меньше, чем у одинарного.

  11. #10

    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,409
    Спасибо Благодарностей отдано 
    72
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    161 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вариант PT3R8plus_8080 - без использования прерываний?
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

Страница 2 из 7 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Бейсики для Вектора-06Ц и клонов
    от ivagor в разделе Вектор
    Ответов: 696
    Последнее: 25.10.2025, 02:34
  2. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  3. Пишу шедевр для «Вектора 06Ц»
    от metamorpho в разделе Вектор
    Ответов: 442
    Последнее: 21.07.2022, 06:15
  4. Ответов: 3
    Последнее: 29.06.2021, 18:07
  5. PT3 плеер, модификация
    от Corpsegrinder в разделе Программирование
    Ответов: 5
    Последнее: 17.02.2005, 18:09

Ваши права

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