Page 1 of 2

Neo8Tracker

PostPosted: 27 Oct 2018, 01:11
by Grey
Представляю вашему вниманию мою разработку – Neo8Tracker , который. Это первый, и на данный момент единственный редактор и проигрыватель 8 канального цифрового звука для ZX-Spectrum и для звуковой карты NeoGS.

Для работы необходим: ZX-Spectrum совместимый компьютер, с объемом памяти 128 кб и подключенная к нему звуковая карта NeoGS с 2 или с 4 mb памяти.

На данный момент редактор поддерживает 100% модули s3m Scream Tracker 3. В него легко можно перевести любой MOD 4 , 6 или 8 каналов. Также, на будущее заложены расширенные команды и режимы, совместимые с Impulse Tracker. , дополнительные эффекты, Позиций orders -255, паттернов до 250, размер паттернов до 250 строк, 128 сэмплов, громкость и панорама по стандарту Impulse Tracker, глобальная громкость отдельно для каждого сэмпла и канала. То что из этого сохранятся в s3m –будет работать, что то появится только при реализации в плеере поддержки загрузки IT хотя бы без режима инструментов, - в режиме сэмплов.
Плеер поддерживает загрузку с дисков TR-DOS, SD z-controller , SD на самой карте NGS и с HDD NomoIDE.
Сохранение модулей только на SD z-controller , SD на самой карте NGS и с HDD NomoIDE.
В комплекте с плеером прилагаю несколько TRD дисков с модулями s3m переведенными в TR-DOS.
Переводится очень легко – с помощью Total Сommander в меню «Файлы/Разбить файл» разрезаем файл кратно 256 байтом – оптимально 65280 копируем эти фалы по порядку внутрь образа TRD. У меня стоит плагин для Total-а который работе с TRD как с папкой.
Плеер поддерживает загрузку одновременно до 12 модулей в память и произвольный их выбор и воспроизведение.

Обновление 21.01.2019

Эмулятор https://cloud.mail.ru/public/8djZ/MnDZiMAJZ

Re: Neo8Player

PostPosted: 27 Oct 2018, 01:13
by Grey

Re: Neo8Player

PostPosted: 27 Oct 2018, 19:08
by Grey
Обновлен, проверен и отлажен на реале ZX- Evo + NeoGS /
Ошибка была в том что в эмуляторе память в page0 по умолчанию доступна для записи и из за этого порт я переконфигурировал только при запуске основного кода проигрывателя по RST 0, но в железе page0 - read only и нужно сначала разрешить через кнофпорт запись и только потом кидать свой код в page0

Re: Neo8Player

PostPosted: 05 Nov 2018, 19:23
by Grey
Небольшое обновление. Добавлено:
перехват ошибок tr-dos
в Setup - режимы плейлиста и режим загрузки из NGS в память ZX.
визуализация воспроизведения в режиме Play

Рекомендуется 512 кб. На 128 часто не хватает памяти под паттерны, На вопрсоизведение не влияет но визуализация страдает, появляется надпись - No pattern in memory. Print random data.

Re: Neo8Player

PostPosted: 06 Nov 2018, 00:48
by Grey
У кого есть предположения. Почему на 3,5 мгц запускается, на 14 мгц запускается , а на 7 мгц - виснет в начале, на опросе NGS ?
Что в PentEvo, что в TS-Conf .
Даже проэмулировать это не могу что бы выловить и отладить.

Виснет в ожидании сброса бита порта NGS, но он то сбрасывается по окончании операции чтения из NGS. Может рассинхронизируется чтение, не пойму. И главное на 14 нормально, и на 3,5. Почему именно на 7 ?

Re: Neo8Player

PostPosted: 06 Nov 2018, 13:55
by Grey
Нашел выход - цикл ожидания WD при чтении из NGS сделал со счетчиком до 256. Но как то это не совсем соответствует документации по GS.
И все равно через раз зависает на 7 мгц при старте

Короче - при инициализации поставил 12 мгц в NGS, делаю сброс GSCOM и возвращаю в 24 мгц - виснуть перестало. Значит аппаратно - на 7 мгц не успевает куда то защелкнутся сброс GSCOM. Посмотрим - может ещё и в обработчиках команад стоит так сделать.

Re: Neo8Player

PostPosted: 10 Nov 2018, 19:45
by Grey
Обновление 10.11.18
Чтение с SD z-controller и HDD Nemo-IDE
чтение c HDD проверить нет возможности. В эмуляторе монтирование проходит без ошибок, но открытие каталога вываливается с ошибкой (12) The volume has no work area .
Образ один и то же пробовал и для SD и для HDD.

Поддержка fat в Pent-EVO и у машин где есть Cache 16к

Re: Neo8Player

PostPosted: 12 Nov 2018, 17:57
by Grey
Обновление 12.11.18 (№ билда правда забыл поменять :-) )
+ поддержка HDD
+ setup.B с выбором драйвера памяти
+ освобождение памяти NGS полное или по одному файлу из плейлиста

Re: Neo8Player

PostPosted: 15 Nov 2018, 22:38
by Grey
Обновление 15.11.18
+закладка Orders: , настройка параметров, модно поиграться глобальной громкостью, скоростью, в списке позиций по Enter запуск с любой позиции. Попадаются модулия , написанные для демонстраций или игр с переходами и зацикливаниями, например выдранные из игры Unreal, и если их подряд слушать то полвину пропустишь - но теперь можно в Orders найти пропущенные позиции и запустить скрытые части с любого места.
+закладка Volums: включение, отключение каналов (только из первых 8) , настройка глобальной громкости канала (от ImpulseTracker - в s3m громкостей каналов нет). Паннинг тоже регулируется но не меняется, на 8 программных каналов его не посчитаешь.
+долгожданная кнопка Pause/Continue

p.s. Основной драйвер по умолчанию до 512к - т.к. не понял ещё как 100% убедится в пентагоне, что на борту 1024к и не защелкнуть 48к, в остальных драйверах до 1024

Re: Neo8Player

PostPosted: 28 Nov 2018, 14:44
by Grey
Обновление 28.11.18 билд 1,07
+ в Setup регулировка скорости мыши (думаю 3 уровня масштаба хватит)
+ в Samples возможность прослушать выбранный сэмпл. (а кому то и возможность поиграть на клавиатуре, как на пианино)

Как пользоваться. После загрузки модуля не нажимаете сразу Play а идете в меню Samples, выбираете инструмент (в заголовках - в черной таблице)
Нажимаете клавиши z,x,c,v,b,n,m,s.d.g.h.j.q.w.e.r.t.y.u.i.o.p.2.3.5. 6.7.9.0 и играете. Можно одновременно нажать до 8 клавиш (каналов всего 8) и послушать аккорд.
Caps "J"(-) и "K" (+) выбор октавы.
В реальном времени работает только на реале. В эмуляторе идет заметное отставание звука и играть сложно. И эмулятор не корректно обрабатывает много одновременно нажатых клавиш, так что аккорд тоже может получится не тот что хотели. Но в принципе побаловаться вполне можно.
Одновременно с "Play module" тоже можно играть, но каналы будут друг другу мешать.
Но например Можно сделать так (на PC) создать трэк с басами и ударными на каналах 5-8 а каналы 1-4 оставить свободными, и загрузив трек в Neo8Player играть под аккомпанемент.