Вход

Просмотр полной версии : Neo8Tracker



Hacker Grey
26.10.2018, 20:49
Доброе время суток, любители ретро компьютеров.
Представляю вашему вниманию мою разработку – Neo8Tracker Это первый, и на данный момент единственный Редактор проигрыватель 8 канального цифрового звука для ZX-Spectrum и для звуковой карты NeoGS.
Наконец можете насладиться на ZX-Spectrum музыкой из Unreal ][ — The 2nd Reality от Purple Motion и огромным количеством других трэков в формате s3m Scream Tracker 3 . Ну 8 канальные моды тоже можете перевести в s3m, например с помощью ModPlug Tracker или Open MRT.
Для работы необходим: ZX-Spectrum совместимый компьютер, с объемом памяти 128 кб и подключенная к нему звуковая карта NeoGS с 2 или с 4 mb памяти. Или эмулятор unreal с поддержкой 8 каналов (в старых поддержаны только 4 – новую можно взять можно тут https://dlcorp.nedopc.com/viewtopic.php?p=38826&sid=eaac61dfa8003b462344591e91c627e5#p38826 )
На данный момент редактор поддерживает 100% модули s3m Scream Tracker 3. В него можно перевести любой MOD 4 , 6 или 8 каналов. Также, на будущее заложены расширенные команды и режимы, совместимые с Impulse Tracker. , дополнительные эффекты, Позиций orders -255, паттернов до 250, размер паттернов до 250 строк, 128 сэмплов, громкость и панорама по стандарту Impulse Tracker, глобальная громкость отдельно для каждого сэмпла и канала. То что из этого сохранятся в s3m –будет работать, что то появится только при реализации в плеере поддержки загрузки IT хотя бы без ре66893жима инструментов, - в режиме сэмплов.
В комплекте с плеером прилагаю несколько TRD дисков с модулями s3m переведенными в TR-DOS.
Переводится очень легко – с помощью Total Сommander в меню «Файлы/Разбить файл» разрезаем файл кратно 256 байтом – оптимально 65280 копируем эти фалы по порядку внутрь образа TRD. У меня стоит плагин для Total-а который работе с TRD как с папкой.
Плеер поддерживает загрузку одновременно до 12 модулей в память и произвольный их выбор и воспроизведение.
Пока все.

Коллекция переведенных в TR-DOS трэков 66703 66893 66704 66705 66706 66707 66708 66709 66710 66711 66712 66713 66714 66715 66716 66717
Настроенный эмулятор https://cloud.mail.ru/public/8djZ/MnDZiMAJZ


И исходники теперь в свободном доступе. Но только для личного использования. Не клепайте кучу версий - что то полезное допишите - скажите, что бы включить в основной код

p.s. MB-02.zip - драйвер memdrv под фирменный ZX128 +2 с платой расширения MB-02

Подготовленная папка для SD или HDD - с самим треккером, инструментами и несколькими модулями, классика от People Motion и моего сочинения.
NeoTracker SD (http://forum.nedopc.com/download/file.php?id=2255)
67767
67768

Новых версий пока не предвидится, так как два человека, обещавших написать прошивку под аппаратные 32 канала, так её и не сделали. А из программных 8 каналов выжато всё, что возможно.
Вот выложил примеры работы и звучания. https://www.youtube.com/watch?v=aoDsJQxyZkY&list=PLtVOr4T5z4krGvfYT8fodwoivsPgZJt75

https://www.youtube.com/watch?v=aoDsJQxyZkY&list=PLtVOr4T5z4krGvfYT8fodwoivsPgZJt75

Hacker Grey
27.10.2018, 01:04
Отпишитесь плиз, у кого заработало на реале ? В эмуляторе заработают все 8 каналов только в последней версии - прикреплен тут https://cloud.mail.ru/public/8djZ/MnDZiMAJZ

Djoni
27.10.2018, 08:47
Отпишитесь плиз, у кого заработало на реале ? В эмуляторе заработают все 8 каналов только в последней версии - прикреплен тут https://cloud.mail.ru/public/8djZ/MnDZiMAJZ


На ZX-Evo+NeoGS конфигурация TS зависло в меню , в BASECONF не грузится белый экран.

Hacker Grey
27.10.2018, 17:40
Выложена новая версия, отлажена на ZX-Evo + NeoGS.
Проверяйте

petrov1962
27.10.2018, 19:18
На ZX-Evo+NeoGS конфигурация TS зависло в меню , в BASECONF не грузится белый экран.

У меня тоже самое

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

С новой версией заработало! ZX EVO двойная конфигурация + NGS

Ldaborc
27.10.2018, 19:49
Круто! Вопрос: как убедиться что играют 8 каналов, а не 4 ??? И ещё что за файл ngsbios лежит на диске с плеером? Его прошивать надо или как ?

petrov1962
27.10.2018, 19:56
Круто! Вопрос: как убедиться что играют 8 каналов, а не 4 ??? И ещё что за файл ngsbios лежит на диске с плеером? Его прошивать надо или как ?

На каком диске? В архиве с плеером только ТРД

Ldaborc
27.10.2018, 20:05
В образе с плеером лежит файл ngsbios

Hacker Grey
27.10.2018, 20:58
ngsbios я просто так обозвал файл с внутренним плеером , который загружается в память NGS. ничего прошивать не надо.
В комплекте на этот диск пометсился всего один модуль - но классика 8 миканального s3m - кто знает оригинал, не будет сомневаться что играют 8 каналов.
Так же на других образах много известных композиций - где слышны все 8 каналов.

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


Вопрос: как убедиться что играют 8 каналов, а не 4
2 способа.
1. сделать свой s3m на 8 каналов и послушать.
2. загрузить в любой трекер на PC модули с приложенных дискет и сравнить.

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


Как мне адаптировать DMA Sound под плеер?
Почитал - там все нужно считатть на набортном z80 , а там 32 битные деления в спецэффектах, да по 2 за фрейм бывает. Не уверен что штатный z80 успеет.
Хотя освободится время на програмную перекидку буфера в ЦАП, как приходится делать в NGS, надо пробовать. могу дать исходники - выложены на http://forum.nedopc.com/viewtopic.php?f=31&t=8944&p=45385#p45385

DDp
27.10.2018, 22:53
Выложена новая версия, отлажена на ZX-Evo + NeoGS.
Проверяйте
Играет (ссылка (https://drive.google.com/open?id=1K62fmWJJJr1pDZieeu8EzmschfAF1dNe))

Hacker Grey
27.10.2018, 23:39
Спасибо, буду разбираться с исходниками плеера, придется их доработать, т.к. он завязан на командах GS.
Спрашивай, пока свежи в памяти :-)
К командам неогс привязка одна - начальная загрузка своего кода внутрь нгс. Дальше сам себе хозяин.
Алгоритмы там заложены с учетом ДМА - адреса сэмплов и лупов например храню в двух форматах - страница смешение, и абсолютный адрес для дма, так как надеюсь на появление дма в нгс. Период там расчитывается 8 бит целая и 16 дробная часть - можно сдвинуть под разрядность счетчиков дма. Вместо процедуры sample - где идет программное заполнение буфера и тратится куча машинного времени, вставить запись расчитанных адресов и периодов в дма.

DDp
28.10.2018, 12:17
Оцифровал ещё 4 модуля. По той же ссылке (https://drive.google.com/open?id=1K62fmWJJJr1pDZieeu8EzmschfAF1dNe).
"Fish and Chips" похрустывает на басах.

Hacker Grey
28.10.2018, 13:28
"Fish and Chips" похрустывает на басах
На вскидку, не трассируя, думаю похрустывает не из за басов.
При программном масштабировании сэмпла используется раскрытый цикл на 256 итераций. к адресу прибавляется целая и дробная часть от коэффициента масштаба. И только по окончании 256 итреаций делается проверка на конец сэмпла и или на пересечение зацикливания. Что бы компенсировать 256 пропущенных проверок я в конце цикла делаю 512 байт копии начала цикла. Если цикл менее 512 байт то делаю несколько копий в этих 512 байтах. (если длинна цикла 64 байта то будет 8 копий) и так в каждом сэмпле. Это помогает от щелчков и треска, если целая часть масштаба менее 2. Если же масштаб больше 2, то проверка может улететь далеко за 512 байт и в буфер схватить случайные данные, которые дальше 512 байт лежат.
Ноты звучат высокие 4 - 5 октава и скорее всего масштаб там больше 2-х. Выхода два. увеличить память под копию до 1 кб или 2 кб. Или делать проверку чаще, не раз в 256 а раз в 128 итераций.
Я надеюсь на появление ДМА в НГС и тогда вопрос программного масштабирования и проверки конца цикла или сэмпла уйдет сам собой.

Ldaborc
28.10.2018, 15:05
Спустя столько лет хоть кто-то заставил NGS работать на полную !!! Браво !!! Хотелось бы трекер на 8 каналов но ..... пока нет :-)

Hacker Grey
28.10.2018, 17:07
Спустя столько лет хоть кто-то заставил NGS работать на полную !
Да от вас же не дождешься :-) Давно бы его купил, если бы били 8 каналов. Ждал ждал, А теперь сначала написал проигрыватель, попробовал как звучит, и теперь купил железку - полный сервис самообслуживания

AndyD
28.10.2018, 21:45
Как я понял работу новой ГС ,там в альтере микшируются 8 каналов в стерео программно, а сколько может потянуть z80 ГС с ДМА каналов? S3m 16 цифровых каналов сможет обработать с ДМА?

Hacker Grey
28.10.2018, 22:52
небольшое обновление - в меню Setup добавлен выбор режима воспроизведения. Повторять модуль, Играть плейлист всех загруженных модулей (макс. 12), Не повторять - после проигрывания замолчит

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


Как я понял работу новой ГС ,там в альтере микшируются 8 каналов
Что в ГС что в НГС каналы масштабируются программно, а складываются аппаратно. Просто в ГС 4 буфера, которые нужно заполнить ,а в НГС 8 буферов. Потом при чтении из них Альтера складывает каналы. Т.е. в принципе проигрыватель программный. и все считается на z80 В ДМА режиме масштабирование и сложение должна делать альтера и буферов нет, которые нужно заполнять. Поэтому, думаю, 32 канала и более, спокойно успеет обсчитать z80.

Hacker Grey
29.10.2018, 01:02
иначе уже были бы Я все еще надеюсь что будут. http://forum.nedopc.com/viewtopic.php?p=45330#p45330 читать лучше с конца так как концепция от начала несколько раз менялась.

Ldaborc
29.10.2018, 09:37
К сожалению я давно из разряда программистов перешёл в разряд пользователей :-) С тех пор, пока только, программирую "трошки для себэ :-)" Работа отнимает много времени :-(

vlad
29.10.2018, 10:33
Я все еще надеюсь что будут.
Ну да, конечно произойдет чудо и кто-то сам сделает )
Первое - в TDA1543 только 16 бит левый и 16 бит правый (стерео) и 32 канала с индивидуальной громкостью туда никак не влазит (0..255) * (0..64) * 32 = 19 бит > 16 бит.
Второе - Acex не резиновый (http://svn.zxevo.ru/listing.php?repname=ngs) и уже забит под завязку, а еще нужно добавить ПДП на 32-канала, множители громкости и сумматоры каналов...

А, что если немного доработать базовую конфигурацию для DivGMX и увеличить кол-во каналов DMA с 8 до 32, пока nedopc думает как это реализовать в NGS?

Hacker Grey
29.10.2018, 11:02
(0..255) * (0..64) * 32 = 19 бит > 16 бит.
Это не довод - при програмном сложении тоже возможно переполненние, делается проверка на оборачивание и происходит перегрузка на макс и мин и все. И если перегрузка слишком большая, то лечится уменьшением глобальной громкости.


Acex не резиновый и уже забит под завязку,
на сколько я знаю, ещё место есть.


доработать базовую конфигурацию для DivGMX
Я не против. Просто железки у меня нет, эмулятора нет, поэтому писать под него пока не планирую.
Если в NGS появится, то проще и лучше будет подогнать DivGMX под него. Разница будет в способе загрузки кода внутрь устройства, но внутри можно сделать совместимость с будущим ДМА в НГС и плюс какие то свои улучшения - 16 бит сэмплы, не огранченная 65535 длинна сэмпла и тд и тп .
Пока небольшой таймаут, Если мне точно откажут, тогда вернемся к этому разговору.

Hacker Grey
29.10.2018, 15:26
"Fish and Chips" похрустывает на басах.
Посмотрел вдоль и поперек. Первая версия не оправдалсь - все там укладывается в этот буфер 512 в конце loop.
Все банально - не успевает. Одновременно много нот инициализируется, в трех каналах спецэффекты, в двух из них вибрация, которая требует два 32-битных деления при инициализации строки и потом ещё по одному делению в каждый фрейм. В такие моменты не успевает просчитать, потому и хрустит.
Есть возможность чуть оптимизировать, но попадется другая композиция, в 4 каналах одновременно вибрация будет и все равно вылезет треск. Посмотрю что можно ускорить но
Глобально - ждать появления дма в нгс :-)

daniel
29.10.2018, 15:59
проверен и отлажен на реале ZX-Evo + NeoGS

На карте от Mick'а как то можно заставить играть?, плеер не запускается, виснет с белым экраном, иногда мусор на экране. т.е. до выбора мелодии дело не доходит. пробовал по BASE и TS - результат одинаков.
http://micklab.ru/file/zxm_generalsnd/img/zxm_generalsound0t.jpg

Hacker Grey
29.10.2018, 20:36
"Fish and Chips" похрустывает на басах.
Оптимизировал обработчик прерываний на 16 тактов. Но при вызове 37500 раз в сек. это существенно ускорило проигрыватель. - Fish and Chips больше не заикается.
Но уверен что ещё более нагруженные спецэффектами ещё найдутся

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


На карте от @Mick'а как то можно заставить играть?, Я так понял что это карта совместима только с General Sound? Нужна совместимость с NeoGS. Можно прошить до совместмиости с NeoGS или нет - это у разработчика нужно спрашивать

daniel
29.10.2018, 20:55
Я так понял что это карта совместима только с General Sound?

да, обычная GS. Значит облом!

Hacker Grey
29.10.2018, 21:29
да, обычная GS
Но она же на каком то плис-е ? , что там вообще резерва нет что бы доработать прошивку ?


p.s. Извиняюсь, в последнем обновлении, в котором ускорена обработка для "Fish and Chips", не правильно определяется объем памяти - 2 гб на 4 гб версиях- завтра исправлю

Mick
30.10.2018, 09:31
Я так понял что это карта совместима только с General Sound?

Правильно говоришь, это карта создавалась как аналог обычной General Sound, что собственно я писал в описании на эту карту.
Тоесть не о какой совместимости с NeoGS идти не может.
По поводу возможности обновлять флеш, как тут спрашивали - это возможно, но только после того как кто нибудь напишет прошивальщик. К тому же исходники CPLD доступны, кто хочет, тот может сам их переписать или дополнить. У меня сейчас на это времени нет.

papuas
30.10.2018, 16:58
На обычной zx-evo и нео-гс играет без проблем. Теперь могу удивлять не только мп3 на спекке но и S3M :)

Vinnny
31.10.2018, 11:00
из интереса ради.
скрим трекер 3 поддерживает до 32 каналов.
как такие 32-канальные модули играются в плеере?
или ограничение на модули жёстко 8 каналов?
плеер 4/6 канальные модули умеет понимать, их обязательно надо в 8 переводить?

Hacker Grey
31.10.2018, 17:33
как такие 32-канальные модули играются в плеере?
или ограничение на модули жёстко 8 каналов?
Клиссика в основном в 8 каналов написана, но поддержка в плеере до 64 каналов зарезервирована. Просчет идет по всем каналам, но звучат только 8. Сейчас, чуть позже сделаю, можно будет выключать и включать по желанию, какие звучат, какие молчат. А дальше ,... видно будет но есть мысли по расширению.
В дискетах приложенных есть монстры HACKER3 и 4 из журнала - на 32 канала - можно послушать что получается.

vlad
31.10.2018, 22:41
Если в NGS появится
Номинальная частота CPU в NGS = 20МГц = 50нс = 1Т, частота прерывания INT = 37500Гц = 26666.666666667нс (??? если делением то должна быть 39.0625кГц, лучше у 12МГц, где 46.875кГц), значит за INT получим около 533Т, сейчас для программного обсчета 8 каналов, в среднем получается 66Т/канал, а чтобы обсчитать 32 канала, уже получается доступно 16Т/канал, вывод - в NGS программно 32 канала не появится.

Посчитал для DivGMX, где частота nZ80CPU = 45.056МГц = 22.194нс = 1Т, частота прерывания INT = 44000Гц = 22727.272727273нс, значит за INT получим около 1024Т, уже получше, притом, что проц еще по тактам выполнения команд работает в раза 3-4 быстрее, можно попробовать переписать проигрыватель... И, ещё, у меня же есть конфиг с двумя процами (https://www.youtube.com/watch?v=PvDHs7dZvf0), общая память, кеш, шансы увеличиваются в разы :). И это без аппаратного DMA, а если ещё его добавить? :)

Hacker Grey
31.10.2018, 23:45
вывод - в NGS программно 32 канала не появится
:-) программно и будет только 8, но можно будет выбрать , какие именно. Или анализатор сделать, какие звучат, например часто из 16 каналов звучат только 7-8. но в разных паттернах то одни то другие. т.е. Отвязать полифонию от каналов.
Ну и мне обещают дма. А лучше сделал бы пока эмуляцию простого нгс, уже бы плеер заработал.
И раз он такой быстрый - мог бы его расширить эмуляцию до 16-32 каналов, но по тому же принципу, можно обсудить как - что бы не сильно переписывать плеер, вот и получилось бы 16 или 32 программных канала

vlad
01.11.2018, 00:27
Ну и мне обещают дма.
))


А лучше сделал бы пока эмуляцию простого нгс, уже бы плеер заработал.
GS уже давно на U8 сдел, попробую на днях доработать до NGS.


мог бы его расширить эмуляцию до 16-32 каналов
Проблема в том, что софт-поддержку не дождусь )

hood
02.11.2018, 13:07
Привет, автор,

Я люблю твою работу !! Отлично. Я подтверждаю, что это работает, я использую оригинальные Spectrum 128 +2, MB-02 + и Profi Interface, имитирующие Divide, где я загрузил файл TROOS Neo8Player.


Планируете ли вы следующие версии?


Я сильно задумываюсь о его переработке для нашей дисковой системы MB-02 + с дисковой емкостью более 2 Мбайт, поэтому мне не нужно резать файлы S3M на куски.


Большое спасибо за работу.



Hood



Hello author,

I love your work!! Excellent. I confirm it working, I use original Spectrum 128 +2, MB-02+ and Profi interface emulating Divide where I loaded the TRDOS file with Neo8Player.


Do you plan next versions?


I am heavily thinking of reworking it for our disc system MB-02+ which has disk capacity over 2MB, so I do not have to cut S3M files down to pieces.


Many thanks for the work.



Hood

Hacker Grey
02.11.2018, 19:05
Good afternoon. Very glad you liked my player. And I'm surprised I was able to run it on the original ZX-Spectrum. I want to clarify, do you have a NeoGS Board connected to it ? I want to see it in the photo. Yes, I will continue working on the player. The next step is to visualize the pattern playback. Next, I plan to make editing functions, then the ability to save my works to disk. The ability to work with uncut files in FAT32 is also planned.

Добрый день. Очень рад, что вам понравился мой плеер. И я удивлен, что удалось его запустить на оригинальном ZX-Spectrum. Хочу уточнить, у вас к нему подключена плата NeoGS ? Хочется это увидеть на фото. Да, я буду продолжать работу над плеером. Следующий этап - визуализация проигрывания паттерна. Далее планирую сделать функции редактирования, затем возможность сохранения своих работ на диск. Возможность работы с не разрезанными файлами в FAT32 тоже планируется.

hood
04.11.2018, 01:28
Good afternoon. Very glad you liked my player. And I'm surprised I was able to run it on the original ZX-Spectrum. I want to clarify, do you have a NeoGS Board connected to it ? I want to see it in the photo. Yes, I will continue working on the player. The next step is to visualize the pattern playback. Next, I plan to make editing functions, then the ability to save my works to disk. The ability to work with uncut files in FAT32 is also planned.

Добрый день. Очень рад, что вам понравился мой плеер. И я удивлен, что удалось его запустить на оригинальном ZX-Spectrum. Хочу уточнить, у вас к нему подключена плата NeoGS ? Хочется это увидеть на фото. Да, я буду продолжать работу над плеером. Следующий этап - визуализация проигрывания паттерна. Далее планирую сделать функции редактирования, затем возможность сохранения своих работ на диск. Возможность работы с не разрезанными файлами в FAT32 тоже планируется.

Dear Hacker Grey, some details about my configuration, some little hacking was required on HW and SW side:
1) hardware (see the photo): some bus extension needed to be done. On the photo you can see Spectrum 128 +2, NeoGS card, then comes Kmouse, then serial interface (SIF) with ConnectOne Wifi module and finally MB-02+ disk interface. Inside ZXS +2 there is Velesoft!s Profi Interface which extends conventional ZX memory from 128KB to 1MB+ its paging enables to run Divide interface which hosts Esxdos system, where I can comfortably work with TRD images.
2) software: NeoGS ports 179 and 187 collide with our standart IDE (Divide) ports, so I also had to additionally adapt hw and sw to remove this collision.

I keep fingers crossed for your work, great, indeed.


Hood


http://www.klubprateldyje.cz/neogs.jpg


Дорогой Хакер Грей, некоторые подробности о моей конфигурации, нужно немного взломать на стороне HW и SW:
1) аппаратное обеспечение (см. Фото): требуется некоторое расширение шины. На фотографии вы можете увидеть Spectrum 128 +2, карту NeoGS, затем появится Kmouse, затем последовательный интерфейс (SIF) с модулем ConnectOne Wifi и, наконец, интерфейс MB-02 +. Внутри ZXS +2 есть интерфейс Profi-интерфейса Velesoft!, Который расширяет обычную память ZX от 128 КБ до 1 Мбайт + его пейджинг позволяет запускать интерфейс Divide, в котором размещена система Esxdos, где я могу комфортно работать с изображениями TRD.
2) ПО: порты 179 и 187 NeoGS сталкиваются с нашими стандартными портами IDE (Divide), поэтому мне также пришлось дополнительно адаптировать hw и sw для удаления этого столкновения.

Я держу пальцы за вашу работу, правда.


Hood

Hacker Grey
05.11.2018, 17:25
Небольшое обновление (в шапке темы). Добавлено:
перехват ошибок tr-dos
в Setup - режимы плейлиста и режим загрузки из NGS в память ZX.
визуализация воспроизведения в режиме Play

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

Исправлено:
Стабильный запуск на 7 мгц (до этого на 3,5 мгц и 14 мгц запускалось, на 7 мгц постоянно висло, сейчас редко:-) ).
Повторный запуск после сброса и повторный вход с продолжением воспроизведения и подхват списка уже загруженных модулей.
В визуализации, если паттерн пересекал страницы 4-6 ZX, то был мусор вместо нот и названий сэмплов.
Уменьшен объем ZX части плеера на 2 кб - генерацией таблиц при старте, а то мало нижней памяти осталось.

Hacker Grey
10.11.2018, 18:27
В шапке обновление 10.11.18
Много исправлено по мелочи.
Из главного. Работа с FAT-32 с SD z-controller ( и HDD с Nemo-IDE пытается но не гарантирую). SD проверено на реале. HDD , проверить нет возможности, в эмуляторе образ от SD отказался работать в качестве HDD.

Для работы с FAT-32 необходимо z-controller и SD (HDD пока под ???) и в компьютере возможность включать в область #0000 теневое ОЗУ.
Во встроенном драйвере есть поддержка теневого озу для PentEVO и для машин с Caсhe 16к по порту включение/выключения IN A,(#FB)/IN A,(#7B).

В теории можно сделать поддержку для любой машины, умеющей включать озу в #0000 но для АТМ2 у меня не получилось - порты так спрятаны что включив озу пропадает возможность выключить его обратно.

Внимание - в выложенной версии драйвер памяти под 1024 кб! работает на 128к, 256к и на 1024к. Но на 512к из за известной проблему режимов 512/1024 защелкивает 48к режим и естественно не работает.

Enigmatic
10.11.2018, 20:19
На Пентеве с sd работает, с HDD - нет,даже если монтировать образ плеера с самого hdd

solegstar
10.11.2018, 21:25
В теории можно сделать поддержку для любой машины, умеющей включать озу в #0000
Возможно ли сделать поддержку памяти по стандарту Профи - биты расширения D0-D2 порта DFFD? и у Профи тоже можно отключить ПЗУ и подставить на его место 00 банку ОЗУ, для этого у порта DFFD есть бит D4 (NOROM) (считая от нуля) - "1 - отключает блокировку порта 7FFD и выключает ПЗУ, помещая на его место ОЗУ из seg 00". По идее эмуляторы это умеют делать, т.к. CP/M на них (Unreal, ZXMAK2) работает.

petrov1962
10.11.2018, 22:01
На Пентеве работает с SD, причем карточки SDz и SDn видны как одна и таже SDz. Обращение к NEMO IDE выдает ошибку.

Hacker Grey
10.11.2018, 22:27
SDz и SDn видны как одна и таже SDz
Ну пока так - до Карточки NeoGs не так то просто долезть. два драйвера нужны, со стороны NeoGS и со стороны ZX. На счет HDD не удивлен даже. Буду разбираться что ему надо

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


Возможно ли сделать поддержку памяти по стандарту Профи
КОнечно возможно. Главное что бы ещё был z-controller и NeoGs . NemoIDE пока не у кого не заработал.

solegstar
10.11.2018, 22:43
КОнечно возможно. Главное что бы ещё был z-controller и NeoGs
Отлично! SD карта по стандарту Z-Controller реализована в Profi Extender`e, а NeoGS можно подключить через "Расширитель Profi_ZX-BUS". На платах Профи версии 5.06 SD карта уже интегрирована в плату периферии, и на ней есть также слот ZX-BUS для подключения NeoGS. Фоточки (https://www.flickr.com/photos/xlat8086/albums/72157693193890291)от xlat (https://zx-pk.ru/members/8016-xlat.html), для ознакомления. :)

Hacker Grey
10.11.2018, 23:22
solegstar, собираюсь следующее обновление посвятить мультиплатформенности - сделаю драйвера под что смогу. начну с Профи :-)

Djoni
11.11.2018, 20:30
Замечательный плеер спасибо :v2_dizzy_punk: , на ZX-Evolution в конфигурации BaseConf не всегда получается зайти в папки ,возможно вызвано большим количеством каталогов и файлов , в конфигурации TS-Config не видит SD носитель.


http://gifok.net/images/2018/11/11/2018-11-12-00-09-20.md.jpg (http://gifok.net/image/8hkP)

http://gifok.net/images/2018/11/11/2018-11-12-00-00-14.md.jpg (http://gifok.net/image/8hkQ)

http://gifok.net/images/2018/11/11/2018-11-11-23-47-46.md.jpg (http://gifok.net/image/8hkc)


Возможно будет полезен этот материал http://hype.retroscene.org/blog/dev/668.html

http://forum.tslabs.info/viewtopic.php?f=31&t=189

tae1980
11.11.2018, 22:56
У меня старая GS 512кб, работать будет? (да понимаю, что только с 4 каналами).

JV-Soft
12.11.2018, 00:08
Off
Djoni, Женя а у тебя philips 170s держит 15кГц , или вывод с эвы через скандаблер ?

Hacker Grey
12.11.2018, 00:50
У меня старая GS 512кб, работать будет? (да понимаю, что только с 4 каналами).
К сожалению нет. Не в количестве каналов дело.
От карты нужно для минимальной совместимости, что бы хотя бы запуститься:
1. Уметь страницы памяти не по 32к переключать а отдельно по 16к в окне 8000 и с000
2. РАМ в области 0000 - а не ПЗУ
GS этого не умеет

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


в конфигурации BaseConf не всегда получается зайти в папки
Скорее всего из за этого:
после чтения файла или даже попытки чтения и ошибки о не том формате нужно перечитать каталог. Буфер для каталога и чтения один и тот же, экономия, все же не у всех более 128 кб. Позже сделаю что бы сам перечитывался.

Djoni
12.11.2018, 07:54
Off
Djoni, Женя а у тебя philips 170s держит 15кГц , или вывод с эвы через скандаблер ?

Нет не умеет , но держит H=31kHz / V=48.8Hz :)

Hacker Grey
12.11.2018, 16:28
Обновление 12.11.18 (№ билда правда забыл поменять :-) )
+ поддержка HDD (в эмуляторе добился устойчивой работы - проверяйте на реале)
+ файл setup.B с выбором драйвера памяти
+ освобождение памяти NGS полное или по одному файлу из плейлиста

petrov1962
12.11.2018, 23:05
С HDD работает на Пентеве!

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

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

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

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

Движуха идет не по дням, а по часам.

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


Нет ли желания добавить прямое чтение файлов с MS-DOS дискет ?
Если интересно можете взять наш исходник , и не надо будет конвертить в TR-DOS - ТЫЦ (https://zx-pk.ru/threads/28413-proigryvatel-semplov-iz-mod-fajlov.html?highlight=)
В свою очередь хотел спросить ,можно ли ваши процедуры чтения HDD использовать для своих нужд ? И вопрос ,процедуры HDD Nemo ide сами писали или что то за основу взяли ?

Hacker Grey, По поводу определения 1024 в пентагоне , как то себе такой алгоритм записывал , делаем файл конфигурации он лежит на диске ,проверяем на 512 , пишем в файл конфигурации , записываем его на диск , далее пробуем проверить верхние 512 , если защелка отмечаем в файле конфигурации 512 онли , перегружаем плеер (автоматом без пользователя , или уведомление пользователю о перезагрузке) , а если нашли верхние 512 , то опять переписываем файл конфигурации на 1024.

PPS файл конфигурации удобно прицепить дополнительным сектором ,блоком в 256 байт к плееру , что бы не валялся отдельным файлом.

Hacker Grey
16.11.2018, 10:05
Нет ли желания добавить прямое чтение файлов с MS-DOS дискет ?
Мысль интересная но не актуальная - скйчас важнее с SD флэшки уметь читать что и было сделано.

можно ли ваши процедуры чтения HDD использовать для своих нужд
это доработка и компиляция ffats с драйверами под sd и hdd - DimkaM за что ему большое спасибо. Я думаю он будет не против



512 онли , перегружаем плеер Жуть - лучше сделаю выбор в бейсик сетапе разных драйверов, как сейчас только добавлю под пент v1 и PentEvo
1024

JV-Soft
16.11.2018, 16:05
Мысль интересная но не актуальная - скйчас важнее с SD флэшки уметь читать что и было сделано.
Есть ортодоксы типа меня , кто не любит эмули флопов ,SD , и современную базу на которой делают что то для ZX.


Жуть - лучше сделаю выбор в бейсик сетапе разных драйверов, как сейчас только добавлю под пент v1 и PentEvo
1024
Да это проще.

Hacker Grey
16.11.2018, 16:16
Небольшое обновление 16.11.18
+ поддержка Neo-SD , теперь, если у вас нет Z-Controllera , а NeoGS у вас есть, иначе бы вы не использовали этот плеер, то вы можете загружать файлы с флэшки SD в самой карте. К сожалению, во время обращений к флэшке музыка приостанавливается. Ну и работает она чуть медленнее чем набортная Z-SD.
+ в Orders добавил изменнеи Temp (BPM) на лету, во время воспроизведения, теперь играться параметрами, во время вопроизведения, ещё интереснее.

Djoni
16.11.2018, 17:21
Небольшое обновление 16.11.18
+ поддержка Neo-SD , теперь, если у вас нет Z-Controllera , а NeoGS у вас есть, иначе бы вы не использовали этот плеер, то вы можете загружать файлы с флэшки SD в самой карте. К сожалению, во время обращений к флэшке музыка приостанавливается. Ну и работает она чуть медленнее чем набортная Z-SD.
+ в Orders добавил изменнеи Temp (BPM) на лету, во время воспроизведения, теперь играться параметрами, во время вопроизведения, ещё интереснее.

Ух , ну это просто праздник какой-то :v2_dizzy_roll:

Hacker Grey
16.11.2018, 20:43
Есть ортодоксы типа меня , кто не любит эмули флопов ,SD
А как же тогда любить NeoGS ? Этот по меркам спектрума тот ещё монстр. И PC с дисководом уже проблема найти. Но опят же для аутентичностьи есть режим чтения с реального tr-dos. Не проблема же тотал коммандером порезать.
Ничего против идеи не имею против но сейчас это не первично - тут память нижняя заканчивается - надо все перераспределять и пересобирать, не до MS-dos дискет

JV-Soft
16.11.2018, 21:06
А как же тогда любить NeoGS ?
У меня ее нет и честно пока не планирую. Тут мы в философию сейчас уйдем.

И PC с дисководом уже проблема найти.
Ну любой уважающий свое хобби ортодокс имеет такой PC (конкретно у меня с Win 98) со всеми форматами флопов :)

Это просто предложение для удобства ,вам решать :)

Hacker Grey
17.11.2018, 00:07
если защелка отмечаем в файле конфигурации 512 онли , перегружаем плеер (автоматом без пользователя , или уведомление пользователю о перезагрузке)
На сколько я знаю, после защелки, сколько сам не перезагружай - порт не сбросишь - Только железный резет

Ldaborc
17.11.2018, 06:59
На сколько я знаю, после защелки, сколько сам не перезагружай - порт не сбросишь - Только железный резет

Предлагаю в меню setup сделать пункт по этому поводу (Pentagon 1024K) если галочка стоит то тестить 1024 Кб, Если нет то всё остальное, кроме этого бита в порте (защёлка 48К).

vlad
18.11.2018, 11:13
Не стартует плеер, запускаю на плате Karabas-128 rev.A (ОЗУ 128К порт 7FFD, ПЗУ 32К '86+'82) с DivGMX, для которого написал конфигурацию NeoGS (ОЗУ 2M, ПЗУ 32К v1.05a), игры и Wild Player работают, проигрываются MOD файлы. Хотел бы уточнить, какие страницы ПЗУ и ОЗУ используются в NeoGS, какие должны быть установлены после сброса, как плеер работает с NeoGS?

Hacker Grey
18.11.2018, 13:51
по адресу #0000 в неогс загружается полностью свой код. ПЗУ не используется ни как.
Для совместимости неогс должна:
1. иметь озу в #0000
2. иметь расширенный режим адресации страниц ( не по 32к , как в GS а по 16к ) по портам
MPAG equ #00 ; write-only, Memory PAGe port (big pages at 8000-FFFF or small at 8000-BFFF)
MPAGEX equ #10 ; write-only, Memory PAGe EXtended (only small pages at C000-FFFF)

по идее этого достаточно для запуска.

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

Возможно виснет при старте - так как идет опрос NeoGS - , нет ли там уже загруженного кода и может это второй запуск - после сброса ZX.

В исходниках все видно , как что загружется и стартутет - можно попробовать сделать трассировку - например менять цвет бордюра перед каждым этапом и так отследить на чем виснет в железе. Таи и процедура печати есть - можно и текст трассировки выводить.
В эмуляторе то все точно работает.

vlad
18.11.2018, 15:26
Пункты 1-2 в конфигурации сделал, возможно проблема в отсутствии одной из нужных функций в ПЗУ 1.05a? В NeoGS несколько другое ПЗУ... При записи в память NeoGS используется ПДП или запись стандартная с опросом бита готовности ?
Ещё, ПЗУ 1.05а не видит больше 2М и в раза 4 медленнее её тестирует, из-за чего многие игры перестают работать не успевая дождаться ответа из-за малого таймаута. Попробую заменить ПЗУ v1.05a на neogs.rom (http://svn.zxevo.ru/listing.php?repname=ngs&path=%2Fz80%2Fmain_rom%2F&#afcdccdf21e93ee4307846987ff160b90)

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

После замены ПЗУ, GS уже корректно проверяется:
10 OUT 187,244
20 PAUSE 100
30 PRINT IN 179

Выводит 126

Wild Player работает, а игра например REX12_GS и Titanic выводят сообщение об отсутствии GS. Детский сад у разработчиков софта получается с определением )) После аппаратного ограничения ОЗУ, всё нормально )) Но NeoPlayer упорно не стартует... (

Hacker Grey
18.11.2018, 16:06
запись стандартная с опросом бита готовности
Да - запись стандартная. функцией #14 и запуск кода #13
Я не проверяю наличие GS - просто пишу в неё и читаю из неё. Если виснет до запуска, на чистом экране, то скорее всего висит в цикле ожидания бита готовности.
На первых версиях была проблема при запуске в турбо 7 мгц (имено 7 - на 14 пролетло) тоже висело на цикле ожидания бита, - Если турбо включено - попробуйте выключить..
Ещё - после неудачного запуска нужно сбросить и NGS , так как она тоже может внутри повиснуть в цикле ожидания бита готовности и при повторном запуске из цикла не выйдет.

vlad
18.11.2018, 18:37
Да, было-бы неплохо добавить цвет на бордюр для отслеживания на каком этапе виснит... и в исходнике после имени подпрограммы поставить двоеточие ":" для удобства поиска начала подпрограммы.
Так-же есть идея написать плеер под ESXDOS (http://www.esxdos.org/index.html).

Есть ли софт для проверки NeoGS, или плеер 8-канальных MOD'ов?

Hacker Grey
18.11.2018, 19:16
Есть ли софт для проверки NeoGS
Единого полного теста нет. Все проверки косвенный, так как каждый софт какие то одни возможности использует, другой - другие.


или плеер 8-канальных MOD'ов?
Мой - первый и пока единственный.

Grand
19.11.2018, 05:36
Запустил плейер и я на ZX Evo revB. Наверное сейчас еще рано говорить об улучшения интерфейса, но у меня возникли вопросы.
Как вернуться в предыдущий ряд вкладок? Т.е. если я находился на ряду вкладок "Module, ..." и переключился по Ext mode на "Files, ...", как переключиться обратно?
Будет ли кемпстон-мышь?

Hacker Grey
19.11.2018, 08:17
Как вернуться в предыдущий ряд вкладок?
На стартовой странице написано - перемещение , курсорные, Ентер, Tab , Back. - (обозначения как на PC клавитаутре) для ZX клавиатуры это C.S. +5,6,7,8 C.S. + пробел и C.S. + 0 (Delete)

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


Будет ли кемпстон-мышь?
В планах есть.

Grand
20.11.2018, 08:44
На вкладке про каналы должно быть "Channel" вместо "Chenal"?

Hacker Grey
20.11.2018, 09:42
должно быть "Channel" вместо "Chenal"
Тоже верно

vlad
22.11.2018, 21:58
Hacker Grey, если стандартное ПЗУ NeoGS не используется, можешь собрать ПЗУ размером не больше 32К для NeoGS под 8 канальный плеер, чтобы я смог подставить вместо стандартного ПЗУ для проверки?

hood
23.11.2018, 17:17
Привет, Hacker Grey,

Вы могли бы показать количество каналов, обнаруженных для каждой песни s3m где-нибудь в программе?


Hood

Hacker Grey
23.11.2018, 19:05
обновление 23.11.2018
+поддержка Kempston mouse
+процедуры загрузки и распаковки теперь внутри драйвера в NGS.

В общем проведена полная пере сборка. Высвобождена нижняя память ZX для дальнейшего развития проекта.
Процедуры загрузки, распаковки, выделения памяти NGS перенесены из памяти ZX в память NGS - практически пришлось из переписать заново,

Работа с Kempston мышкой пока немного своеобразная. (а может и не пока :-) это дело привычки )
Сначала нужно выбрать закладку, и только после этого можно управлять элементами на самой панели.
Например, не получится сразу нажать кнопку "Load". Сначала нужно кликнуть 2 раза на "Module" , что бы курсор переместился вниз на панель "Files" . Затем нужно кликнуть 2 раза на кнопку "Files" , что бы активировалось меню - и уже там можно нажимать на любые элементы управления - на дисководы и файлы.
И такой же принцип действует на других закладках.
И ещё - после загрузки файла не забывайте заново перечитать каталог, нажав на букву диска. Он хоть и виден на экране но испорчен, так как память одна под буфер загрузки файла и под загрузку каталога. Изменил процедуру - для загрузки взял отдельную страницу, а потом она используется под паттерны,

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


показать количество каналов, обнаруженных для каждой песни s3m
Количество активных каналов можно увидеть во вкладке "Volumes". Там закладки сгруппированы по 8 каналов. Отсутствующие каналы будут "Disable".
Но часто бывает, что каналы не используются, и все равно не отключены композитором. Например используется 8, но в модуле включены 16. Это вина композитора, так как приводит к лишнему расходу памяти.

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


- появились некоторые глюки после удаления модулей и очистки памяти. Буду отлавливать.
Отловил
Кто успел скачать до исправления (3 закачки было ) скачайте заново.

Hacker Grey
24.11.2018, 01:24
можешь собрать ПЗУ размером не больше 32К

в образе trd - файл ngsdrv - он загружается и работает с адреса 0 . Хвост там правда лишний - но мешать не будет. Только он может работать только в RAM - много пишет в себя и код модифицирует по мере надобности. В виде ПЗУ если делать - что бы все переменные снаружи хранились - это очень много переделывать. Да и код во многих местах подставляет данные прямо в код операции.

Вообще исходники, по-моему очень понятные - компилируются прямо в папке файлом Compile.bat и в Unreal отлично трассируются. Расставляй там точки останова или цвета бордюра, как я предлагал.

vlad
24.11.2018, 12:18
Только он может работать только в RAM
Переделывать не нужно, т.к. реализована возможность работы ОЗУ во всех областях. Попробую подставить ngsdrv с адреса 0 и сделать доступной запись в ПЗУ.


Unreal отлично трассируются
Не нашёл как отобразить порта NeoGS и память...

Подставил ngsdrv в конфигурации NejGS для DivGMX, вместо стандартного ПЗУ с возможностью записи, плеер заработал!!! Но производительности проца не хватает на 32 канала, жуткие тормоза )), планирую заменить на NZ80@42МГц с кэш.

Hacker Grey
24.11.2018, 13:04
Не нашёл как отобразить порта NeoGS и память..
Ctrl + ~

Hacker Grey
24.11.2018, 18:17
Обновление 24.11.18
+победил мышку. сделал поведение привычным для PC-шников. Хотя прошлое было вполне логичным и нечего было ворчать.
+убрал несколько мелких глюков при блужданиях по меню

vlad
24.11.2018, 18:28
Мышка

10000000
11000000
11100000
11110000
11111000
11111100
11110000
10010000

Hacker Grey
24.11.2018, 18:44
Мышка
Ну да, приятнее. Обновил, и исходики тоже.

Но жирновата, может потом чуть уменьшу.

Hacker Grey
24.11.2018, 22:30
Но производительности проца не хватает на 32 канала, жуткие тормоза )
Программно только 8 каналов обсчитываются. Остальные молчат. На NeoGS успевает на 24 мгц. Или ты 32 в исходниках увеличил количество обсчитываемых каналов до 32 ?

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

Раз прошивка работает, надо потестировать загрузку файлов, выбор из памяти. Значит на начальном экране виснет, пока ещё старая прошивка GS и почему то она не загружает новую. Я все же склоняюсь к битам готовности команды и данных - как то они не так защелкиваются или медленно и не успевают. Я не исключаю что и я как то не стандартно загружаю начальную информацию из NGS посмотри процедуры load_NGS и save_NGS . но на реале NGS и в эмуляторе работает

Grand
27.11.2018, 04:30
победил мышку. сделал поведение привычным для PC-шников
Круто получилось. Вообще, такой интерфейс с вкладками я наверное впервые вижу в ZX-программе. Только курсор мышки бегает медленно - она норовит съехать с коврика. Надо как в стартовой меню ERS в Base Conf.

Hacker Grey
27.11.2018, 23:58
Только курсор мышки бегает медленно
Я под свою подстраивал - у меня наоборот было слишком быстро - не прицелится никуда. Значит надо будет сделать подстройку, хотя бы 4 уровня деления.

Для интерфейса специально писал объектно ориентированный движок. С указателями, структурами, в общем планирую его потом отдельно выделить и оформить для свободного использования в любых программах.

vlad
28.11.2018, 00:32
Программно только 8 каналов обсчитываются. Остальные молчат. На NeoGS успевает на 24 мгц.
Не совсем понял, NeoGS программно успевает на 24МГц 32 канала? Мало вероятно )
Для DivGMX аппаратно UDMA получилось максимум выжать - 172 канала при выборке 48кГц, проц Спектрума вряд ли успеет их обсчитать, аналогично и проц в DivGMX, т.к. нужно успеть загрузить регистры DMA за 875 тактов/прерывание 48кГц. А вот 32 канала в самый раз, можно и сделать, но есть проблемы - поддержка в эмуляторе и в NeoGS )

Hacker Grey
28.11.2018, 00:39
NeoGS программно успевает на 24МГц 32 канала?
Нет конечно. И в плеере сэмплируются только 8. Это ты сказал что на 32 канала жуткие тормоза, вот я и спрашиваю, как ты получил 32 ? В плеере же только 8 (но запас небольшое есть на пару каналов), или ты увеличил в исходниках до 32 ? Но там и аудио буфера, для них нету - только для 8 ми.
Или это гипотетически ?

Grand
28.11.2018, 06:11
Я под свою подстраивал - у меня наоборот было слишком быстро
Современные мыши рассчитаны под большое разрешение экрана. Когда-то давно мы это обсуждали (https://zx-pk.ru/threads/11971?p=335349#post335349).Поэтому в ZXEvo теперь и сделана возможность переключения масштаба мыши. Но за эталон думаю надо взять движение курсора как в Evo Reset Service, а то в разных программах будет разнобой. И сетап в плейере не помешает.

Hacker Grey
28.11.2018, 12:41
Обновление 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 играть под аккомпанемент.

Hacker Grey
30.11.2018, 20:01
Обновление 30.11.2018
+ добавлена прокрутка окна воспроизводимых каналов. Можно послушать недоступные ранее каналы дальше 8-го по 32-ой. в примерах есть несколько модулей, где игра идет на каналах с 8-го по 16-ый
+ снято ограничение Scream Tracker 3 на длину сэмпла до 64 кб. Сэмпл теперь может быть любой длины на, сколько хватит памяти. в подборке примеров трэки где используются сэмплы более 64 кб https://cloud.mail.ru/public/NBsr/RSMru3aKe
+ в закладке Samples добавлена визуализация параметров сэмпла. (но сами параметры пока не редактируются). Во время воспроизведения картинка сэмпла грузится постепенно. При остановленном воспроизведении загружается быстро.

Den1982
30.11.2018, 23:01
Спасибо за крутой плеер! Реквестую кнопочку удалить, чтобы сразу отправлять непонравившиеся треки в мусорку.

Hacker Grey
30.11.2018, 23:50
Реквестую кнопочку удалить,
Пока что записывать в FAT 32 не умеем, но идею приму к сведению.

Grand
01.12.2018, 15:51
Потестил немного версию от 30.11. Курсор при управлении от моей мыши бегает нормально на значении "+1". Только теперь надо как-то сохранять сетап-значения.
Обнаружил баг: если курсор мыши завести на "нотный стан" во время проигрывания, то за ним потянется след.
Хотел спросить вот о чем: при проигрывании некоторых файлов на "нотном стане" иногда пишется "This pattern is not loaded into memory." Что это значит и как отражается на воспроизведении?

Hacker Grey
01.12.2018, 18:21
завести на "нотный стан" во время проигрывания, то за ним потянется след.
Это не баг - это фича. Стереть курсор перед скроллом не сложно, но так прикольнее, - спецэффект.

и как отражается на воспроизведении
На звучании ни как. Модуль весь внутри NGS. Но в память ZX - для отображения нотного стана загружаются копии паттернов - на сколько хватит памяти. Сколько памяти определилось - написано в в Setup. При 512 и тем более 1024 хватало полностью под все что я проверял. На 128 конечно помешается мало паттернов, а во время воспроизведения его уже поздно подгружать. При редактировании в Patterns будут подружатся все по очереди.

SoftLight
01.12.2018, 23:25
Один известный видеоблоггер Алексей Навальный выпустил фильм-разоблачение, где критикует NeoPlayer:


https://www.youtube.com/watch?v=pO7V_MnKJvY

tae1980
02.12.2018, 00:11
SoftLight, Ни когда не понимал таких "блогеров", ну нашел косяк (не берусь судить если он там реально) ну сообщи автору. Автор вполне пинабелен. На фига сразу "жаловаться" окружающим?

SoftLight
02.12.2018, 00:16
SoftLight, Ни когда не понимал таких "блогеров", ну нашел косяк (не берусь судить если он там реально) ну сообщи автору. Автор вполне пинабелен. На фига сразу "жаловаться" окружающим?
Не может он, зобанен на форуме.

Hacker Grey
02.12.2018, 00:46
видеоблоггер
Мда, подленький поступочек. Многое говорит о натуре. Одно слово, - видеоблогер - звучит нарицательно.
Конечно обидно, - художника каждый может обидеть.
Принципиально не буду искать этот обгрызенный модуль и трассировать, что за спецкоманды там не правильно обрабатываются.


критикует NeoPlayer
Это - не критикует. Это обливает грязью, не разбираясь и не вникая в суть вопроса.

petrov1962
02.12.2018, 11:00
Hacker Grey,
Отличный плеер. Буквально за месяц плеер прошел статус от неработоспособного на ZX EVO до полнофункционального с поддержкой мыши, загрузкой с SD карты и HDD!
Огромное спасибо!

daniel
02.12.2018, 11:19
Принципиально не буду искать этот обгрызенный модуль и трассировать, что за спецкоманды там не правильно обрабатываются.
а вот это зря, ААА на форуме целую ветку посвятил Вашему плееру, да манера подачи материала специфичная, я в свою очередь надеюсь, что всё таки Вы найдёте причины и исправите, от этого будут только лучше всем.

SoftLight
02.12.2018, 12:03
Я собственно кинул ссылку сюда только чтобы у Автора была возможность ознакомится и ответить по существу. Если плеер от этого станет лучше все только выиграют!

daniel
02.12.2018, 13:06
ссылка, на модули (спасибо калантаю и ААА)
https://yadi.sk/d/xtfuyNTt8XCrWA

Hacker Grey
02.12.2018, 13:23
Кое что пофиксил, на ваш суд. - обновление в шапке. Проверяйте.


подачи материала специфичная
Специфичная – это мягко сказано. Тут весь азарт и энтузиазм держится на благодарностях пользователей и одним словом можно убить все желание продолжать работу или просто публиковать её.

ответить по существу
По существу. Проверенный мною один модуль - 21 bytes - swank games , выявил следующее.
Он написан вообще в противовес концепции S3M. S3M – это треккер оцифрованных звуков- сэмплов. В данном же модуле используется всего один инструмент длинной всего 21 байт. Искусственно нарисованная, пилообразная синусойда. Автор модуля использовал её со спецэффектами изменения частоты тремоло арпеджио и вибрато, показывал свое мастерсвто. То есть это имитация волнового синтеза или скорее имитация синтезаторов типа AY 8910 и к сэмплированному звуку не имеет ни какого отношения.
Однако при этом были выявлены не корректно обрабатывающиеся 3 спецкоманды. (Возможно попадутся и ещё, нет - я уверен что есть ещё)
H – вибрация. При взятии каждой новой ноты опорная частота вибрации должна сбрасываться, я же продолжал вибрацию от предыдущей ноты – исправил.
SDx – Задержка взятия ноты. При этом должна продолжать звучать предыдущая. Я же выключал взук и просто делал паузу перед взятием ноты. Полностью 100% пофиксить пока не получилось, так как при расчете строки все старые данные затираются – убрал отключение старого звука и сделал сохранение частоты и смещения прошлого – в данном модуле звучит как положено, но возможно это будет не везде.
I – тремоло . звук, тишина/звук – Я перепутал местами параметр, сколько тиков играть сколько молчать – пофиксил. Но в 3-х проверенных на PC трекрах и плеерах она обрабатывается немного по разному , В чем писал автор именно этого трека – не знаю да и подгонять именно под него, считаю несправедливо.
Команды F и E - двигают частоту вверх или вниз и согласно документации, дойдя до предела периода плеер в праве сам решить что делать дальше – 1- выключить звук, 2 – остановить изменение частоты, перескочить через 0 и начать снизу или сверху. Опять же на PC разные плееры по разному поступают в зависимости сколько бит у них отведено под целую и дробную часть периода частоты. Тут даже фиксить нечего – это спецэффект от спектрума когда звук дойдя до низшей ноты начинает играть с самого верха – Диапазон то расчетов у плееров разный.
То, что ААА тащиться именно от синтеза а не от сэмплов говорит тот факт что он рекомендует написать плеер под tsfm и другие синтезированные стандарты. Поэтому и модули для тестов он выбрал, напоминающие старинный звук 8 битных компьютеров .

Shiny
02.12.2018, 13:33
Принципиально не буду искать этот обгрызенный модуль и трассировать, что за спецкоманды там не правильно обрабатываются.


Это непрофессионально: "я слепил плеер как бык поссал и не буду доделывать"

Hacker Grey
02.12.2018, 13:35
Это непрофессионально
Я любитель.

daniel
02.12.2018, 13:39
Тут весь азарт и энтузиазм держится на благодарностях пользователей и одним словом можно убить все желание продолжать работу или просто публиковать её.
Вы же не ради тщеславия это делаете? Спасибо что движетесь в верном направлении! Кроме Вас никто этого не делал и навряд ли будет делать.
Блин хоть нэогс покупай...

кстати а как же другие модули xm/it и т.д.?

petrov1962
02.12.2018, 13:39
Я любитель.

Скорее профессиональный любитель!
Из 21 байта выудить столько информации...

Hacker Grey
02.12.2018, 13:46
Вы же не ради тщеславия это делаете?
Хм. А ради чего ещё ? Денег не требовал и не просил. К производителям отношения не имею и увеличивать продажи NeoGS не собирался. Для себя делаю, а если кому то ещё понравится - буду рад и потешу тщеславие.

daniel
02.12.2018, 13:51
кайф от того что людям это нужно не есть тщеславие...

Hacker Grey
02.12.2018, 16:27
Слушая на PC под Windows не честное сравнение . В любом случае DirectSound делает постобработку звука, да и есть аппаратные фильтра, выравнивающие АЧХ на PC звуковой карте. В плеерах на PC по умолчанию включена интерполяция, сглаживающая цифровой свист. Частота дискретизации на PC 48кгц 16 бит на NeoGS 37.5 кгц 8 бит. И голый выход с ЦАП без единого выравнивающего фильтра.
Для корректного сравнения надо взять ретро PC с SB-Pro, запустить под DOS оригинальный ScreamTracker 3 или даже Impulse Tracker. Там будет 22 кгц 8 бит. без интреполяции . Я сравнивал и качество было не в пользу оригинала.
Да, есть искажения из-за моих ошибок в коде и я их отлавливаю, но есть из-за объективно существенных аппаратных различий, надо отделять мух от котлет.

daniel
02.12.2018, 17:40
от AAA:

"После 10 минут работы у меня на пентеве плеер повис зеленым экраном, произошло это на мелодии: Awesome/hiddenempire
передайте автору пусть потестит на реале."

"папка Awesome, внутри архива по ссылке:
https://zxaaa.net/view_demo.php?id=11452"


https://youtu.be/7PNptZKaJu4

petrov1962
02.12.2018, 17:49
от AAA:

"После 10 минут работы у меня на пентеве плеер повис зеленым экраном, произошло это на мелодии: Awesome/hiddenempire
передайте автору пусть потестит на реале."

"папка Awesome, внутри архива по ссылке:
https://zxaaa.net/view_demo.php?id=11452"


А где по ссылке эта папка? Не нашел.

daniel
02.12.2018, 17:58
А где по ссылке эта папка? Не нашел.
скачал архив там эта папка есть.

модуль hiddenempire вот
67132

petrov1962
02.12.2018, 18:09
скачал архив там эта папка есть.

модуль hiddenempire вот
67132

Да, нашел. Не ссобразил, что с плеером вместе.

Что с ней не так?
Играет на реале.

daniel
02.12.2018, 18:15
Что с ней не так?
Играет на реале.
надо потестить минут 15, если не зависнет, значит ок. Я проверить не могу у меня нет нэогски.

Hacker Grey
02.12.2018, 18:18
произошло это на мелодии: Awesome/hiddenempire
Уже час по кругу кручу на реале. Скорее это произошло при навигации в меню курсора или мышки. Если бы внутри нгс зависло что то - на экране ни чего бы не изменилось.

petrov1962
02.12.2018, 18:21
надо потестить минут 15, если не зависнет, значит ок. Я проверить не могу у меня нет нэогски.

Все еще играет... При этом мышкой ходил по менюшкам.

Hacker Grey
02.12.2018, 18:25
ещё выловил причину редких но неприятных кратковременных посторонних щелчков и скрипов. Громкость я менял сразу при расчете строки патерна а в это время в буфере мог быть остаток прошлой ноты, заглушенной нулевой громкостью, а тут я её включал. Сделал наоборот чуть более позднее изменение громкости после заполнения буфера. Звук стал на слух более "мягким", без резких всплесков.

petrov1962
02.12.2018, 19:54
Hacker Grey, В память загружено два модуля. При удалении одного (Last), второй модуль проигрывать отказывается, приходится загружать заново.

Hacker Grey
02.12.2018, 20:35
второй модуль проигрывать отказывается, приходится загружать заново
А если в Sel Mem на него мышкой два раза что бы он из памяти Ngs в память zx подгрузился ? Должно работать. Перепроверял несколько раз. Только советую ещё раз скачать из шапки - было ещё обновление, как раз связанное с распаковкой в памяти - могло затронуть.

petrov1962
02.12.2018, 20:47
А если в Sel Mem на него мышкой два раза что бы он из памяти Ngs в память zx подгрузился ? Должно работать. Перепроверял несколько раз. Только советую ещё раз скачать из шапки - было ещё обновление, как раз связанное с распаковкой в памяти - могло затронуть.

Да, так работает без проблем.
То есть сначала модуль грузится в память NGS, а потом при двойном клике к основную память EVO?
Плеер ничего об этом не говорит.
Он показывает сколько памяти в NGS.
И еще - в плеере номера версий где-то отображаются? Чтобы не запутаться.

Hacker Grey
02.12.2018, 20:58
в плеере номера версий где-то отображаются
при первой загрузке -но сегодня он не менялся - вчерашние глюки были под тем же номером.

petrov1962
02.12.2018, 21:20
при первой загрузке -но сегодня он не менялся - вчерашние глюки были под тем же номером.

Все равно портятся... Долго играл плеер, нажал паузу, начал Load, порсмотреть загруженные модули - все имена испорчены, попытался загрузить из памяти
заново - зависон. Да, плеер последний загруженный

Hacker Grey
02.12.2018, 21:50
начал Load, порсмотреть загруженные модули
Load -это чтение с диска. Каталог в памяти портится если зайти в меню Pattern - (только начал его делать) - надо нажать на букву диска и перечитать каталог.
Но на чтение из памяти (Sel. mem) это не влияет. В плейлисте когда играет - каждый же раз загружаются из памяти Ngs в память ZX и не виснет. Версия последняя скачана после 19:55 ?
Буду конечно ещё тестировать, но по-моему это как раз проблема, из прошлого обновления и я её исправлял

Ishma
03.12.2018, 09:34
Когда-то давно (как посчитал - уже лет 20 назад ;) я делал на ZX-Profi под себя плеер mod-ов, под стерео-ковокс.
На то время никакой толковой информации не нашёл, сделал по-простому (счётчик на каждый канал, одна таблица - приращение счётчика для каждой ноты), минимум команд, что-то играет - и ладно, в Turbo-режиме естественно качество получше.
Чуть позже встречал какой-то другой плеер, который по-умному и по-правильному всё обсчитывал и на один канал ковокса выдавал нормальный звук и на стандартной частоте процессора. Но без документации в его коде и куче таблиц не разобрался.
До сих пор меня гложет желание понять принцип работы этого "правильного" алгоритма, который (видимо этот же) ещё на PC-Speaker играл STM на ЕС-1841 ...
Есть ли какая-нибудь нормальная дока, где всё это понятно описано?

Hacker Grey
03.12.2018, 12:11
Есть ли какая-нибудь нормальная дока, где всё это понятно описано?
Я такой не нашел, все по крупицам собирал из описания форматов s3m и IT, там же были формулы расчета частоты и периода ноты, сложения каналов и умножения на громкость. Более понятно было в доке по s3m - которая шла в комплекте с самим Scream Tracker 3. Ну а остальное самому додумывать приходилось. Формулы оптимизировать и переводить в таблицы для быстрого умножения и деления. - её в основном и использовал ка талмут. - Во вложении:

note: C C# D D# E F F# G G# A A# B
period: 1712,1616,1524,1440,1356,1280,1208,1140,1076,1016, 0960,0907

middle octave is 4.

8363 * 16 * ( period(NOTE) >> octave(NOTE) )
note_st3period = --------------------------------------------
middle_c_finetunevalue(INSTRUMENT)

note_amigaperiod = note_st3period / 4

note_herz=14317056 / note_st3period


1) volumetable is created in the following way:

> volumetable[volume][sampledata]=volume*(sampledata-128)/64;

NOTE: sampledata in memory is unsigned in ST3, so the -128 in the
formula converts it so that the volumetable output is signed.

2) postprocessing table is created with this pseudocode:

> z=mastervol&127;
> if(z<0x10) z=0x10;
> c=2048*16/z;
> a=(2048-c)/2;
> b=a+c;
> { 0 , if x < a
> posttable[x+1024] = { (x-a)*256/(b-a) , if a <= x < b
> { 255 , if x > b

3) mixing the samples

output=1024
for i=0 to number of channels
output+=volumetable[volume*globalvolume/64][sampledata];
next
realoutput=posttable[output]

petrov1962
04.12.2018, 22:14
Hacker Grey, Плеер проработал двое суток - забыл вчера выключить и - не завис.
А сегодня зачем-то попробовал загрузить плеер из под конфигугании TS-EVO.
Модули с примонтированных дисков грузятся и играют беспроблемно.
ПРи попытке загрузить с SD карты или HDD - ошибка DOS error/Ошибка ДОС на красном фоне.
Плеер после этого не виснет и можно загрузить с примонтированных дисков...

И еще - один и тот же модуль в память можно несколько раз загрузить?

Hacker Grey
05.12.2018, 01:06
один и тот же модуль в память можно несколько раз загрузить?
Да, конечно можно.

В TS-Conf что бы работали SD-карты нужно запустить из tr-dos файл "setup" и выбрать драйвер памяти Pentagon 1024 v2. По идее так задумывалось, но что то в последней версии fat32 драйвера все равно SD не работают - буду разбираться - раньше работало на каком то этапе отладки

Нет, вспомнил на чем я там остановился - нужна рам в окне 0000 - по стандарту Pentagon - bit 3 #EFF7 (или ATM или KAI ) - а оно в TS не реализовано (ну или у меня не заработало) - можно под него сделать свой драйвер памяти с его адресацией но руки не дошли.

Hacker Grey
10.12.2018, 21:17
Обновление 10.12.18
+ добавлен редактор паттернов.




Управление
Курсорные клавиши, Back/Delete, Tab ( CS + 5,6,7,8,0, Space) и Enter.

В редакторе паттернов:

Enter - играть с текущей строки в паттерне.
CS+Enter - остановить вопроизведение.
CS + "+" / CS + "-" - выборк октавы.
CS + "<" / CS + ">" - выбор позиции в Orders.
Space - стереть значение.
Del/Graph (CS + 9) - удалить строку.
Ins (SS + W) - вставить строку.

CS + A - выдлеить весь паттерн.
CS + L - выделить один канал.
CS + B - выделить начало блока.
CS + E - выделить конец блока.
CS + X - стереть выделененый блок.
CS + V - скопировать и вставить выделенный блок.

Буфера обмена нет, так как под целый паттрен он может быть до 16кб,
и на ZX-128к останется всего 32ки по редактор патттренов.
Поэтому скопирутеся то, что в данный момент выделено.


Move Cursor keys, Back / Delete, Tab ( CS + 5,6,7,8,0, Space) and Enter.

In the pattern editor:

Enter -play from the current line in the pattern.
CS + Enter-stop playback.
CS + " + "/ CS + " - " - octave samples.
CS + " < "/ CS + " > " - select a position in Orders.
Space-erase value.
Del / Graph (CS + 9) - delete the line.
Ins (SS + W) - insert a string.

CS + A-select the whole pattern.
CS + L-select one channel.
CS + B-select the beginning of the block.
CS + E-select the end of the block.
CS + X-erase the selected block.
CS + V-copy and paste the selected block.

There is no clipboard, as it can be up to 16 KB under the whole cartridge,
and on ZX-128K there will be only 32K and pattern editor software.
Therefore, what is currently selected is copied.




Просьба к тем, кто представляет себе, что такое Tracker и имеет навыки работы в них. - по тестируйте.
Сохранения ещё нет, но в памяти после сброса ZX (без сброса GS) отредактированный модуль остается, и можно продолжать редкатирование

Hacker Grey
19.12.2018, 14:38
Обновление 19.12.2018
+ из класса проигрыватель, переведен а класс редакторов. Для редактора самое главное - уметь сохранять результат работы. Пока нет функции создания нового модуля, загрузки сэмплов, добавления паттернов. Но можно загрузить чужой модуль с понравившимися инструментами, очистить паттерны, и написать свою композицию, и сохранить её под новым именем. Постепенно всё будет реализовано.
+ драйвер памяти, загружаемый по умолчанию, поддерживает 3 стандарта. PentEvo, TS-Conf, Pentagon1024V2. Остальным так же, как и ранее, выбирать нужный драйвер через RUN "setup" в Tr-DOS

JV-Soft
19.12.2018, 15:07
Hacker Grey, Отличная работа !

Hacker Grey
25.12.2018, 16:24
обновление 25.12.18

+ радостная новогодняя цветовая схема (меняется на вкладке Setup). (у каждого конечно свое представление о цвете радости или детской неожиданности)
+ сохранение настроек Setup - последним активным дисководом должен быть дисковод с NeoTracker. Куда не надо, не сохранит.
+ в управление добавлены кнопки PgUp PgDn, и в меню и в паттерне.
+ создание пустого модуля (но пока нет загрузки инструментов - и поэтому из пустого модуля свой трек создать не получится - но можно же взять чужой с инструментами и очистить паттерны).
+ добавление нового паттерна (на будущее реализованы паттерны от 2 до 256 строк для XM и IT, но в s3m стандарте только 64 строки).
+ быстрое перемещение в списке очередности паттернов во вкладке Patterns - просто на крайних кнопках < и > если держать вправо или влево - список бежит вправо или влево. Что бы выбрать паттерн - нажать в списке на номер мышкой или ентером.
+ при повторном запуске (без сброса NGS) убрана печать приветственного текста т.к. он не загружается повторно, и что бы пользователей не пугал мусор вместо текста.

Добавление паттернов/сэмплов/инструментов будет возможно только в последнем созданном или загрженном модуле в списке в памяти NGS. Иначе в памяти начнутся пересечения и при удалении следующего модуля из памяти может пострадать редактируемый модуль. Предыдущие модули в памяти не мешают.

Hacker Grey
12.01.2019, 21:55
Обновление 12.01.2019

+ Реализована возможность полноценного редактирования и создания модуля с нуля.
Создание нового пустого модуля, добавление паттернов, загрузка инструментов, удаление инструментов, замена инсутрмента.
Для удобства перебора инструментов, быстрой загрузке при выборе в меня Samples заведена горячая клавиша L.
Добавление , удалении патеррнов и инструментов возможно только в последнем модуле из плэй листа ( в памяти NGS )
+ В Samples добавлены возможности менять частоту сэмпла и громкость.
+ В архиве под SD добавлена полная библиотека WaveTable от General MIDI - 128 инструментов и много эффектов.

Hacker Grey
16.01.2019, 19:55
Обновление 16.12.2019

+ в редакторе паттренов запрет выделения и копирования в несуществующий паттерн - копировался мусор и могло зависнуть.
+ теперь выделять начало и конец блока для копирования можно не только C.Shift+B и C.Shift+E.
Начало можно выделить C.Shift+Мышка и удреживая C.Shift щелкнуть мышкой на конец блока.
+ В редакторе паттернов в списке позиций Orders добавлена обаработка Insert и Delete, - раздвигает или сдвигает список позиций.
+ Loop - зацикленное вопросизвевдени паттерна
+ Rec - ввод мелодии в реальном времени одновременно с воспроизведением - запись.


Видео любительское - Сразу прошу прощения за качество звука с микрофона ноутбука, стук клавиш и тихий звук самого трекера.

https://www.youtube.com/watch?v=GnWI09jIJWk

Hacker Grey
17.01.2019, 20:36
Выявил один момент и хочу предупредить, если при сохранении модуля на SD или HDD, NeoTracker очень долго думает - дождитесь, не нажимайте сброс. Он не висит. Это драйвер ищет первый свободный кластер в FAT32. Эта может быть, если что-либо писали на флэшку на PC в Windows.
Причины. Как всегда во всем виноват Microsoft. В FAT32 есть специальная ячейка, хранящая первый свободный кластер. Но Microsoft , с начало её ввело в стандарт, а потом начиная с Windows XP то-ли из-за ошибки, то-ли специально, перестало её заполнять. А если она не заполнена, то драйвер заново ищет первый кластер, перебирая ВСЮ! цепочку FAT32. Возможно, во времена XP её перестали использовать, что бы искусственно замедлить FAT32, по сравнению с NTFS, а возможно Microsft не была уверена, что там хранится корректное значение, а тогда запись новых данных может пойти поверх старых, и поэтому решило всегда пересчитывать всю цепочку FAT32 перед записью.
Но на Пентиумах это занимает пол секунды, а z80 может задуматься на этой операции на 5 минут.

NeoTracker при записи эту ячейку исправляет и заполняет. Все последующие записи будут быстрыми, но первая запись, после контакта с Windows может из-за этого быть очень долгой.

Hacker Grey
21.01.2019, 17:47
Обновление 21.01.2019
+ в редакторе патернов добавлен шаг строки при вводе нот 0 1 2 4 8.
Удобно при вводе ритма, ударных, баса, где ноты идут через 2, 4 или 8 строк.
+ загрузка из файла NeoTrack.$c из ResetService или WC сразу с SD или HDD , не нужно подключать образ trd.
Загрузчик можно запустить с sd, hdd. - драйвер памяти общий PentEvo, TS-Сonf, Pentagon v2
Дальше загрузчик ищет папку NEOTRACK сначало на Z-SD потом на HDD потом на Neo-SD.
Версия trd так же оставлена так как пока только в ней есть выбор драйвера памяти,
работа без теневого озу в странице 0 и загрузка модулей с дискет и образов trd. И в эмуляторе проще запустить trd

petrov1962
22.01.2019, 10:34
Обновление 21.01.2019

Дальше загрузчик ищет папку NEOTRACK сначало на Z-SD потом на HDD потом на Neo-SD.


А можно ли как-то менять этот порядок?
Допустим, сначала HDD, потом остальное?

Hacker Grey
22.01.2019, 11:22
А можно ли как-то менять этот порядок?
Допустим, сначала HDD, потом остальное?

Загрузчик ищет папку NEOTRACK - если не хотите что бы он нашел её на SD - просто переименуйте папку.
Достоверно определить от куда запущен загрузчик на zx, к сожалению не возможно, только искать перебором где он есть.

Hacker Grey
18.02.2019, 18:47
стрим по моему старинному творению https://zx-pk.ru/threads/29277-moi-krivye-strimy.html?p=999950&viewfull=1#post999950

baxter
18.02.2019, 19:33
OHG?! Только заметил, что ты из Новочека! Жаль небыли знакомы, когда я там жил.

Hacker Grey
04.12.2020, 19:20
Новых версий пока не предвидится, так как два человека, обещавших написать прошивку под аппаратные 32 канала, так её и не сделали. А из программных 8 каналов выжато всё что возможно.
Вот выложил примеры работы и звучания. https://www.youtube.com/watch?v=aoDsJQxyZkY&list=PLtVOr4T5z4krGvfYT8fodwoivsPgZJt75

sinchuk
15.11.2021, 12:30
При попытке загрузиться с флешки NeoGS пишет Dos error / ошибка дос . Что я не так делаю ?

Hacker Grey
16.11.2021, 00:25
При попытке загрузиться с флешки NeoGS пишет Dos error / ошибка дос . Что я не так делаю ?



загрузчик ищет папку NEOTRACK сначало на Z-SD потом на HDD потом на Neo-SD.


Проверить название папки. Сейчас точно не помню нюансов, о загрузку отлаживал и с Z-SD и с Neo-SD.
В крайнем случае можно запустить версию trd

sinchuk
19.11.2021, 12:21
Проверил , кидал везде эту папку , ошибка одинаковая вылазит.

Zugzug
05.12.2021, 08:31
Аналогично, работают только дискеты. При попытке прочитать SDn или HDD вылазит "DOS Error/Ошибка DOS" с последующим зависанием (м.б. я не нашел на какую кнопку реагирует, но точно не backspace). Железо Pentagon 512 + NemoIDE.

Ещё есть ньюанс, что если NeoGS принудительно не сбросить перед стартом плеера, то тоже зависание на старте.

Zugzug
06.12.2021, 20:00
Поиграл немного треков на Спектруме. Хочу сказать спасибо Хакеру за большой труд, очень круто. Единственное что расстраивает что читаются только дискеты, а SDn и диск виснут. Но это мелочи.

А по большому счету подводит только железо. 8 каналов оказалось очень мало. Во многих композициях из-за нехватки каналов выпадает большая половина слышимого. Не самый плохой пример (есть сильно хуже)
https://www.youtube.com/watch?v=kbgqEu9Bils
тогда как на ПК
https://www.youtube.com/watch?v=-ED7eCGfxYc

32 канала обещал автор ayx32, но там проект я посмотрю подзаглох.

Hacker Grey
06.12.2021, 23:21
Единственное что расстраивает что читаются только дискеты, а SDn и диск виснут. Но это мелочи.
Очень странно. Я конечно отлаживал на ZX-Evo. Там может быть отличие Nemo-IDE и SD от Пентагона. Но флэшка даже в NeoGS не читается ? Там точно всё одинаково. Может она случайно отформатирована не в FAT32 а в ntfs? Или слишком большой размер кластера ? Попробуй переформатировать с меньшим размером.

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

Да - у меня есть юзер, который на фирменном спектруме и подключенным NeoGS пользуется моим плеером и читает с файлы с флэшки в NeoSD

Zugzug
07.12.2021, 07:33
Спасибо. Карта FAT32, когда буду посвободнее посмотрю влияет ли размер кластера. Эту СД карточку читают WDC (собственно им и копирую .s3m с карточки на дискеты), и Neo Player Light

Hacker Grey
07.12.2021, 13:12
Можешь не мучится. Я посмотрел исходники, освежил в памяти что да как.

Драйвер FAT работает в окне 0-16384 . На простом пентагоне не заработает.
Нужен кэш 16 кб в окне 0. или свободное включение страниц в окно 0 - как на АТМ, Evo, Pent 2.666 и другие новоделы.
А у юзера из зарубежа подключен модуль MB02+ c поддержкой включения ОЗУ 0- # 3FFF, и я под него также специально писал драйвер.

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

Пришлось его там размещать, потому что драйвер занимает 16 кб. и он читает на страницу в #c000. А в области от #4000-#c000 всё уже под завязку - там его не разместишь.

Zugzug
07.12.2021, 17:34
Понял. А я-то думал, почему драйвер говорит что надо переключение ПЗУ страницы, но с дискет всё работает.

Разные кластеры я таки затестил
1024 флешку перестаёт видеть NPL, WDC нормально читает
4096 видят обе программы
32768 тоже обе видят

Zugzug
07.12.2021, 20:24
Обидно вот что. Альтера EP1K30 и EP1K50 на ебее почти в одну цену. Корпуса одинаковые. С точки зрения дурака меня (я в этом не разбираюсь вообще), если заменить плис на 1K50, то не может быть сильно сложно адаптировать существующую прошивку и поднять 16 каналов. А это ж совсем другое дело было бы! Эх...

В успехе ayx32 я сильно сомневаюсь, т.к. там если автор неспешно допишет прошивку на 32 канала, то памяти 900к в микроконтроллере на сэмплы полагаю не хватит. Т.е. надо будет пилить новую железку, адаптировать под неё софт итп. В общем к 2030 году может что-то будет рабочее.

Короче безысходность какая-то.

Hacker Grey
07.12.2021, 21:14
почему драйвер говорит что надо переключение ПЗУ страницы,
Я бы советовал сделать кэш 16 кь (или больше) в окне 0 - это самый простой способ.

Sandro
07.12.2021, 21:19
Обидно вот что. Альтера EP1K30 и EP1K50 на ебее почти в одну цену. Корпуса одинаковые. С точки зрения дурака меня (я в этом не разбираюсь вообще), если заменить плис на 1K50, то не может быть сильно сложно адаптировать существующую прошивку и поднять 16 каналов. А это ж совсем другое дело было бы! Эх...


Не факт. Нужно читать Migration Guide, чтобы знать точно. У Альтеры часто встречается такое, что у большего по объёму чипа в том же корпусе часть ног перевведена с данных на питание -- потребление же возросло.

Zugzug
08.12.2021, 20:08
Я бы советовал сделать кэш 16 кь (или больше) в окне 0 - это самый простой способ.

Да, SRAM в гнездо принтерного ПЗУ -- вроде несложная доработка.

EDIT: Кэш отменяется, на моём Пентагоне 2014 оказалось убран порт принтера. Придется дособирать АТМ :)

Hacker Grey
09.12.2021, 00:52
на моём Пентагоне 2014 оказалось убран порт принтера
Ну там на одной микросхеме всего можно дешифровать адрес порта.

Evgeny Muchkin
03.01.2022, 14:39
Чот не грузит с NeoGS с SD карты, дос еррор красным и висяк :(

Hacker Grey
04.01.2022, 14:02
Чот не грузит с NeoGS с SD карты, дос еррор красным и висяк :(

Какой комп ? В нижние 16 кб может подключаться RAM?

Там есть бейсиковый файл setup - где можно поменять драйвер памяти - есть драйвер Scorpion/KAY

Evgeny Muchkin
04.01.2022, 18:03
Hacker Grey, комп в подписи - Scorpion + GMX.

В сетапе сделал правильный выбор. Теперь все загружается.

Спасибо! Крутая софтина. Еще бы поддержку SMUC, был бы ваще perfect! ;)

Zugzug
02.10.2022, 10:01
Понимаю что малость оффтопик, но всё таки. Купил у китайцев EP1K50TC144-1 за $4 (https://www.aliexpress.com/item/2255801001245965.html). Поставил в НеоГС, всё работает. Квартус при компиляции говорит, что использует 44% LE


Family ACEX1K
Device EP1K50TC144-1
Timing Models Final
Met timing requirements Yes
Total logic elements 1,273 / 2,880 ( 44 % )
Total pins 99 / 102 ( 97 % )
Total memory bits 8,320 / 40,960 ( 20 % )
Total PLLs 0 / 1 ( 0 % )
Я вообще полный ноль в VHDL, но неужели кто-то в нём шарящий не сможет добавить ещё хотя бы ещё 8 каналов? Там же по идее просто надо (копипастой?) добавить ещё 8 портов громкости, сделать чтение доп. каналов в своих адресах памяти, и добавить 8 multiply-add в сумматор данных на ЦАП. Z80 потянет 16 каналов S3M?

reddie
02.10.2022, 15:17
Z80 потянет 16 каналов S3M?
Уж если 12МГц родного ГС еле хватало на 4 канала, то на 8, по идее, нужно 24, чтоб не терять производительность.
Сколько понадобится на 16 - можно посчитать самому =)

Zugzug
02.10.2022, 20:27
А сколько логических элементов надо под софткор типа T80? Тошибовский SRAM на старых ревизиях стоит 10-15ns, мне кажется что на 48Мгц оно бы завелось без проблем.

Zugzug
13.10.2022, 06:56
Попробовал собрать T80a


Device EP1K50TC144-1
Timing Models Final
Met timing requirements Yes
Total logic elements 2,380 / 2,880 ( 83 % )
Total pins 38 / 102 ( 37 % )
Total memory bits 0 / 40,960 ( 0 % )
Total PLLs 0 / 1 ( 0 % )

Info: Clock "zclk" has Internal fmax of 36.63 MHz between source register "T80a:zcpu|T80:u0|IR[5]" and destination register "T80a:zcpu|T80:u0|SP[15]" (period= 27.3 ns)


Если выбросить всё из прошивки кроме контроллера памяти и миксера каналов, то вроде влазит этот софткор аж на 36Мгц? Может кто-то возьмётся?

sinchuk
14.12.2023, 00:02
Какой комп ? В нижние 16 кб может подключаться RAM?

Там есть бейсиковый файл setup - где можно поменять драйвер памяти - есть драйвер Scorpion/KAY

А под феникса нет драйвера?