Оцифровал ещё 4 модуля. По той же ссылке.
"Fish and Chips" похрустывает на басах.
Оцифровал ещё 4 модуля. По той же ссылке.
"Fish and Chips" похрустывает на басах.
фдеукю у-ьфшдЖ ввз"шярюсщь D356 47C0 35F8 F55E 8A52 A88F F3F8 B003 03EB 3D7F
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
На вскидку, не трассируя, думаю похрустывает не из за басов.
При программном масштабировании сэмпла используется раскрытый цикл на 256 итераций. к адресу прибавляется целая и дробная часть от коэффициента масштаба. И только по окончании 256 итреаций делается проверка на конец сэмпла и или на пересечение зацикливания. Что бы компенсировать 256 пропущенных проверок я в конце цикла делаю 512 байт копии начала цикла. Если цикл менее 512 байт то делаю несколько копий в этих 512 байтах. (если длинна цикла 64 байта то будет 8 копий) и так в каждом сэмпле. Это помогает от щелчков и треска, если целая часть масштаба менее 2. Если же масштаб больше 2, то проверка может улететь далеко за 512 байт и в буфер схватить случайные данные, которые дальше 512 байт лежат.
Ноты звучат высокие 4 - 5 октава и скорее всего масштаб там больше 2-х. Выхода два. увеличить память под копию до 1 кб или 2 кб. Или делать проверку чаще, не раз в 256 а раз в 128 итераций.
Я надеюсь на появление ДМА в НГС и тогда вопрос программного масштабирования и проверки конца цикла или сэмпла уйдет сам собой.
Посмотрел вдоль и поперек. Первая версия не оправдалсь - все там укладывается в этот буфер 512 в конце loop.
Все банально - не успевает. Одновременно много нот инициализируется, в трех каналах спецэффекты, в двух из них вибрация, которая требует два 32-битных деления при инициализации строки и потом ещё по одному делению в каждый фрейм. В такие моменты не успевает просчитать, потому и хрустит.
Есть возможность чуть оптимизировать, но попадется другая композиция, в 4 каналах одновременно вибрация будет и все равно вылезет треск. Посмотрю что можно ускорить но
Глобально - ждать появления дма в нгс :-)
Оптимизировал обработчик прерываний на 16 тактов. Но при вызове 37500 раз в сек. это существенно ускорило проигрыватель. - Fish and Chips больше не заикается.
Но уверен что ещё более нагруженные спецэффектами ещё найдутся
- - - Добавлено - - -
Я так понял что это карта совместима только с General Sound? Нужна совместимость с NeoGS. Можно прошить до совместмиости с NeoGS или нет - это у разработчика нужно спрашивать
Последний раз редактировалось Hacker Grey; 30.10.2018 в 00:04.
Правильно говоришь, это карта создавалась как аналог обычной General Sound, что собственно я писал в описании на эту карту.
Тоесть не о какой совместимости с NeoGS идти не может.
По поводу возможности обновлять флеш, как тут спрашивали - это возможно, но только после того как кто нибудь напишет прошивальщик. К тому же исходники CPLD доступны, кто хочет, тот может сам их переписать или дополнить. У меня сейчас на это времени нет.
Спустя столько лет хоть кто-то заставил NGS работать на полную !!! Браво !!! Хотелось бы трекер на 8 каналов но ..... пока нет :-)
ZX-Evolution 4Mb rev.c2 + Video DAC2 + Nemo IDE rev.D (A0/A8) +
NeoGS rev.c2/ZXM Moon Sound/ZXM Soun Card Extreme/AYX32 +
FDD 5,25'' + 2xFDD 3,5''/SDCard 16Gb + 8Gb/HDD 80 Gb + DVD-Rom
MiSTer Full Addons + MicroSD 64 Gb + 16 Gb
Как я понял работу новой ГС ,там в альтере микшируются 8 каналов в стерео программно, а сколько может потянуть z80 ГС с ДМА каналов? S3m 16 цифровых каналов сможет обработать с ДМА?
Scorpion ZS-256turbo_Проф ПЗУ27040_Smuc_HDD_PCkeyMause(Scorp)_GS_512+XTR Модем(X-Trade)
ZX-Evolution rev.С+VDAC+OldGS_512+OpenSMUC+TSFM+TS-conf
Amiga500 1m+512k
Schneider EuroPC
ReVerSE-U16
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)