PDA

Просмотр полной версии : Прибалдел от музыки (OPL4)



rl76
09.06.2015, 23:03
https://www.youtube.com/watch?v=YU5O0vAOVKU

А главное от синтезатора. OPL4 на MSX вроде бы. На Speccy уже сделали такую звуковую плату? Подскажите что похожее послушать.

Eagle
09.06.2015, 23:15
На Speccy уже сделали такую звуковую плату? Подскажите что похожее послушать.
Какбы делают http://zx-pk.ru/showthread.php?t=25004

goodboy
09.06.2015, 23:16
на MSX вроде бы.
http://www.msx.org/wiki/OPL4

MetalliC
09.06.2015, 23:44
Подскажите что похожее послушать.
с именно таким чипом (YMF278B) было только несколько платформ игровых автоматов, самая известная вроде вот эта - Psikyo SH2 (http://www.system16.com/hardware.php?id=811), но музыка в тех играх имхо не очень.

вообще этот чип близок по ТТХ к YMF292 (SCSP) из Sega Saturn, собсно он и считается типа продолжением этой ямаховской серии чипов - чуть больше каналов (32 вместо 24), DSP добавили, OPL3-синтезатор выпилили.
так что сатурновские музоны я думаю этот чип осилит, если их портировать.

DJs3000
10.06.2015, 00:45
rl76, у OLP4 хороший потенциал и музыка по твоей ссылке так себе по сравнению на что способен чип. Возможно новая карта (http://www.micklab.narod.ru/ZXMMoonSound.htm) для спека на OPL4 подарит нам много новой и хорошей музыки.

denpopov
10.06.2015, 09:07
открыли Америку:) на zx адлиб вроде как припиливают. Вопрос, когда?

Eagle
10.06.2015, 12:23
на zx адлиб вроде как припиливают
Оно будет звучать чем-то лучше TSFM? Сильно сомневаюсь.

denpopov
10.06.2015, 12:45
Оно будет звучать чем-то лучше TSFM? Сильно сомневаюсь.
кажется, Mick выкладывал ссылку на унылом тслабс.инфо.

Mick
10.06.2015, 12:51
кажется, Mick выкладывал ссылку на унылом тслабс.инфо.

Mick и тут выкладывает те же самые ссылки, просто некому denpopov'у лениво по форуму ходить.

denpopov
10.06.2015, 13:19
Mick и тут выкладывает те же самые ссылки, просто некому denpopov'у лениво по форуму ходить
я не железячник и им не собираюсь.

MetalliC
10.06.2015, 14:55
открыли Америку:) на zx адлиб вроде как припиливают. Вопрос, когда?
зачем адлиб (OPL2) если тут имеем чуть более лучший OPL3 синтез ?


rl76, у OLP4 хороший потенциал и музыка по твоей ссылке так себе по сравнению на что способен чип. Возможно новая карта (http://www.micklab.narod.ru/ZXMMoonSound.htm) для спека на OPL4 подарит нам много новой и хорошей музыки.
я просто привел единственные известные примеры коммерческого использования этого чипа, в паре серий аркад Pikyo одной от Metro, а так да - музончики там не очень. на счет потенциала хз, в первую очередь чип интересен универсальностью.

вообще, имхо как-то шибко громко Ямаха обозвала его OPL4, так как этот чип является гибридом OPL3 (YMF262) синтезатора и так называемого "Yamaha/Sega MultiPCM" (Sega 315-5560) вейвтейбла. сами чипы без каких-либо улучшений и изменений, даж регистры/биты 1в1 как и были, видимо тупо запихнули их на один кристалл.

а вот на этом MultiPCM уже были интересные музычки - типа Daytona USA, Virtua Fighter, OutRunners. как для 1992-93 звучат довольно круто.

denpopov
10.06.2015, 14:59
зачем адлиб (OPL2) если тут имеем чуть более лучший OPL3 синтез

пардон, запутался в нумерациях. Хотя OPL2 не помешал бы, есть масса трекеров и классных музонов.

Ovvnex
10.06.2015, 15:07
Хотя OPL2 не помешал бы, есть масса трекеров и классных музонов.
Дык, насколько я читал, OPL3 полностью совместим с OPL2.


YMF262, также известная как OPL3 (OPL — сокращение от FM Operator Type-L) — электронный компонент, микросхема звукогенератора, разработанная компанией Yamaha. Является улучшенным вариантом микросхемы Yamaha YM3812 (OPL2). Наиболее известна использованием в звуковой карте Sound Blaster Pro 2.0 для IBM-PC совместимых компьютеров.

Возможности YMF262 аналогичны YM3812, с рядом улучшений:

Вдвое больше каналов (18 вместо 9)
Простое управление стереопанорамой (вывод каждого канала влево. вправо, или посередине панорамы)
4 новых формы сигнала (альтернативная синусоидальная, «горбатая» синусоидальная, квадратная, и логарифмическая пилообразная)
Режим 4-х операторного синтеза (совмещает каналы попарно, максимум 6 каналов)
Более высокая скорость реакции на команды (OPL2 требовала значительных пауз между посылкой команд, что замедляло работу программы)


То есть, на карточке ZXM-MoonSound должны звучать и все музончики под OPL2-OPL3 и трекерные форматы MOD/S3M и XM. Дело только за софтом. :)

troosh
10.06.2015, 19:56
вообще этот чип близок по ТТХ к YMF292 (SCSP) из Sega Saturn, собсно он и считается типа продолжением этой ямаховской серии чипов - чуть больше каналов (32 вместо 24), DSP добавили, OPL3-синтезатор выпилили.
так что сатурновские музоны я думаю этот чип осилит, если их портировать.

Впервые увидел описание YMF292, но первое впечатление, что чипом YMF278B музыку от YMF292 не потянуть. И, кстати, у Ямахи всё очень сложно с номерацией чипов: невозможно понять кто за кем появлялся.

YMF292 гибче и мощее, - может работать в FM режиме (в более продвинутом), там попросту отдельный OPL3 не нужен. Скорее YMF292 ближе к чипу "Yamaha AICA" из SEGA Dreamcast (вот там таки похоже совсем FM синтез упростили, наверное чтоб ARM7 поместился).

Напоследок, вот немного истории (http://www.telecompaper.com/news/yamaha-develops-music-synthesis-chip--1578) про YFM278: оказывается внешний чип DSP для YFM278 не Ямахой разработан. Впрочем тот YSS225 не купить, ни документации не найти...


P.S. Послушайте ещё Farbrausch v2 музыку (http://www.youtube.com/results?search_query=Farbrausch+v2)(v2m). Обратите на размер файлов. Чипа такого нет, но это FM синтез на x86-м FPU.

denpopov
10.06.2015, 20:19
То есть, на карточке ZXM-MoonSound должны звучать и все музончики под OPL2-OPL3
Да, осталось только написать плейер:)

AAA
11.06.2015, 09:13
Оно будет звучать чем-то лучше TSFM? Сильно сомневаюсь.

Лучше. А с учетом перегрева ТСФМ и последующих глюков, полюбому лучше.

Vitamin
11.06.2015, 11:13
P.S. Послушайте ещё Farbrausch v2 музыку (v2m). Обратите на размер файлов. Чипа такого нет, но это FM синтез на x86-м FPU.
Насколько я понял, это MIDI файлы в кастомном формате и с командами для голосового синтезатора.

rl76
11.06.2015, 12:10
Послушайте ещё Farbrausch v2 музыку (v2m).

Уже слышал, т.к. неплохо знаком с продукцией демосцены :) Но за рекомендацию благодарю. Извините что не в тему, но вспомнил как кайфовал от музыки из интро64к "Memories from the MCP" от Brain Control. https://www.youtube.com/watch?v=nkBjH49d2bQ

MetalliC
11.06.2015, 12:45
Впервые увидел описание YMF292, но первое впечатление, что чипом YMF278B музыку от YMF292 не потянуть. И, кстати, у Ямахи всё очень сложно с номерацией чипов: невозможно понять кто за кем появлялся.
YMF292 гибче и мощее, - может работать в FM режиме (в более продвинутом), там попросту отдельный OPL3 не нужен. Скорее YMF292 ближе к чипу "Yamaha AICA" из SEGA Dreamcast (вот там таки похоже совсем FM синтез упростили, наверное чтоб ARM7 поместился).
я не говорил, что OPL4 "потянет музыку от SCSP", а то что он с большой долей вероятности осилит музыку с Saturn, или аркад на его базе типа ST-V. потому что этот "FM-режим" на практике использовался аж в двух играх.

почему ? да потому что это полнейшая хрень, это не синтез, нету там никакого синтеза вообще, все каналы SCSP(YMF292) могут только семплы играть. но есть режим в котором семпловый "выхлоп" с канала, вместо того чтоб идти в ЦАП/ДСП, используется как инкремент/декремент указателя на семпл какого-то другого канала.
таким образом можно кое-как симулировать много-операторный FM-синтез, разумеется сколько нужно операторов столько придется просрать каналов SCSP.

так что, к примеру для симуляции YM2151 (в котором 8 каналов по 4 оператора) потребуются все 32 семпловые канала SCSP, а OPL3 он вообще не осилит потому что не хватит каналов... немножко подробнее описано тут (http://www.sega-16.com/forum/showthread.php?18865-Games-that-use-the-SCSP-FM-Synthesizer-(Saturn)&p=407809&viewfull=1#post407809)
в общем я думаю понятно почему этот FM-режим можно сказать что не использовался в SCSP, и был выпилен в AICA :D


Напоследок, вот немного истории про YFM278: оказывается внешний чип DSP для YFM278 не Ямахой разработан. Впрочем тот YSS225 не купить, ни документации не найти...
не верь интернетам, там сплошной трындежь и не правда ;) особенно по таким редким вещам, обрати внимание что даже название чипа не верно написано - YFM вместо YMF.
даташит на YSS225 (https://www.dropbox.com/s/uhqppermcdbpmda/yss225.pdf?dl=0)

вообще application maual-ам от Ямахи тоже не особо стоит верить, часто и много ошибок, не точностей или вообще левака какого-то.

DJs3000
11.06.2015, 12:51
MetalliC, YM2151 тоже классный звук даёт. У меня на MSX есть звукавушка SFG-05 там правда стоит YM2164 который вроде как полный аналог YM2151 но что-то там лучше хз что :)

troosh
11.06.2015, 14:46
Насколько я понял, это MIDI файлы в кастомном формате и с командами для голосового синтезатора.

Да, это программный синтезатор музыки и речи с MIDI входом и эффект-процессором. За подробностями сюда: https://github.com/farbrausch/fr_public
Там самое интересное в каталоге v2, но с описанием беда (к тому же там адская смесь немецкого и английского).

Vitamin
11.06.2015, 15:04
Там самое интересное в каталоге v2, но с описанием беда (к тому же там адская смесь немецкого и английского).
Да там и с кодом беда. Хакеры такие хакеры.

Eagle
11.06.2015, 17:10
Лучше. А с учетом перегрева ТСФМ и последующих глюков, полюбому лучше.
Перегревом меня на напугать, теплоотводов наклею. Уж не знаю чем лучше, звучит всё одинаково, и с количеством голосов там в адлибе не особо больше.

perestoronin
15.06.2015, 15:30
Пусть будет YM292 следующим проектом звуковой карты для специ у Mick.

piroxilin
15.06.2015, 15:37
Пусть будет YM292 следующим проектом звуковой карты для специ у Mick.

Для YMF278 есть плеер под Z80 (MSX) и много готовых мелодий = не очень сложно его перенести на спек.
А для YM292 - нету.
К тому-же в НГС набортный МП3 декодер умеет миды играть - а никто так и не пробовал им пописчать... :(

troosh
15.06.2015, 16:41
Пусть будет YM292 следующим проектом звуковой карты для специ у Mick.

Ну вот не успели ещё испугаться, что уже не нигде купить YMF278, а YMF292 так вообще никто даже не пытается продавать. Так что вряд ли... Не из приставок Sega Saturn их же випаивать, это как минимум кощунство...


К тому-же в НГС набортный МП3 декодер умеет миды играть - а никто так и не пробовал им пописчать...

Это про NeoGS? Так там vs1011 или даже vs1001, которые не умеют MIDI (http://www.vlsi.fi/en/support/productfeatures.html) из коробки проигрывать, в отличие от VS1053. Но мысль интересная, моя параноя тоже мне об этом шепчет. ;)

P.S. Кто хотел послушать какие звуки OPL3 умеет извлекать, вам сюда: http://www.ucapps.de/midibox_fm.html (там есть ссылки на mp3). Оттуда, кстати, много интересных ссылок (http://midibox.org/forums/topic/16688-ctrlr-based-editor-for-mbfm/ http://midibox.org/forums/topic/15501-sammichfm/ )

Mick
15.06.2015, 16:57
Пусть будет YM292 следующим проектом звуковой карты для специ у Mick.

Это вы чего это, хотите впендюрить всевозможные звуковые чипы от Ямахи что ли.

А что не YMF704 или YMF288 взять следующим? :)

perestoronin
15.06.2015, 17:25
взять следующим
после такой карточки уже ничего не хочется
http://members.home.nl/c.kersten/WaveBlaster%20MIDI%20daughterboards/NEC%20XR385%20%282%29.png
кроме Ямахи в качестве midi-звука

Не из приставок Sega Saturn
Я еще веганов могу понять, им противно трупы ковырять, но железячникам даже в удовольствие отпаивать живых "паучков" из трупов.

Живые или подлежащие восстановлению экземпляры я и не предлагаю потрошить :), или предлагаете - пусть старьём засоряют океаны ?

Mick
15.06.2015, 18:33
после такой карточки уже ничего не хочется
http://members.home.nl/c.kersten/WaveBlaster%20MIDI%20daughterboards/NEC%20XR385%20%282%29.png
кроме Ямахи в качестве midi-звука


Ну а что ты тогда воду мутишь, раз тебя все устраивает :)

Кстати говоря о птичках, у YMF704 (OPL4-ML) как бы встроенное ПЗУ с семплами и по регистрово совместима с YM3812. А также к ней можно MIDI источники подключать и содержит General MIDI процессор - http://www.datasheetarchive.com/dlmain/Datasheets-41/DSA-801288.pdf

http://i00.i.aliimg.com/wsphoto/v1/2025069604/Ymf704-s.jpg

И он еще даже на алиэкпрессе продается.

troosh
15.06.2015, 19:10
Кстати говоря о птичках, у YMF704 (OPL4-ML) как бы встроенное ПЗУ с семплами и по регистрово совместима с YM3812. А также к ней можно MIDI источники подключать и содержит General MIDI процессор - http://www.datasheetarchive.com/dlmain/Datasheets-41/DSA-801288.pdf
И он еще даже на алиэкпрессе продается.

1) Не понятно, чем отличаются YMF704, YMF704B и YMF704C (pdf как раз на последний, в продают чипы в основном без буковки в конце). Внешную память не подключить.

2) General MIDI процессор - видимо какой-то микроконтроллер типа 8051, но описания похоже нет. Возможно ревизии прошивки как раз отражают в буковках.

3) Есть более дешевая и современная альтернатива SAM2695 (со встроенным банком 512к) и SAM2635 (под внешний чип с семплами до 64MB): http://www.dream.fr/devices.html#S2 . На aliexpress предыдущий чип SAM2195 продают. Но только тут не будет лампового OPL3, корпус сложнее припаять...

MetalliC
15.06.2015, 19:21
Ну вот не успели ещё испугаться, что уже не нигде купить YMF278, а YMF292 так вообще никто даже не пытается продавать. Так что вряд ли... Не из приставок Sega Saturn их же випаивать, это как минимум кощунство...
а что такого ? я лично в 90е живых AY-3-891x вроде и не видел ни разу. на радиорынке продавались одни YM2149F, б/у-шные, выпаянные из старых аркадных автоматов, Zilog-овские Z80 изрядной частью тоже оттуда же были.
и что-то мне оч кажется, что те YMF278B что вы у япошек покупали тоже бу-шняк выковырянный с трупов аркадных плат.

Mick
15.06.2015, 19:23
1)

3) Есть более дешевая и современная альтернатива SAM2695 (со встроенным банком 512к) и SAM2635 (под внешний чип с семплами до 64MB): http://www.dream.fr/devices.html#S2 . На aliexpress предыдущий чип SAM2195 продают. Но только тут не будет лампового OPL3, корпус сложнее припаять...

Это не кошерно, Ямаха наше все. :)

---------- Post added at 19:23 ---------- Previous post was at 19:22 ----------



и что-то мне оч кажется, что те YMF278B что вы у япошек покупали тоже бу-шняк выковырянный с трупов аркадных плат.

Это сильно кого то напрягает?

denpopov
15.06.2015, 19:24
что это трэд потерял в "Демо"? мимо не?

MetalliC
15.06.2015, 19:29
Это не кошерно, Ямаха наше все.
а не было мыслей вместо того, чтоб использовать старые, и соответственно нынче уже редкие, настоящие ямаховские чипы попробовать реализовать их на FPGA ?

так сказать универсальную плату сделать, в которую по надобности можно былоб шить фирмвары самых различных синтезаторов ?


Это сильно кого то напрягает?
ни грама :)

troosh
15.06.2015, 20:19
Я лично в 90е живых AY-3-891x вроде и не видел ни разу.

Я лично в начале 90х вообще сначала только по коду игр понял, что имеет место быть какой-то музыкальный чип и индентифицировал, что он совместим по регистрам с ямаховским (по популярной книжке про MSX) . Ну и даже через подключенную в общаге миросхему К580ВИ53 пытался заценить, что там за музыка. А уж потом узнал про AY. Время было бедное, своего AY так и не заимел, вот и страдаю с тех пор навязчивыми идеями на этот счет.


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

Это будет дорого. Возможно более практичной будет связка PSoC 4200 + ADSP-BF531 + чип SDRAM. Или не извращаться с Blackfin-ами и влепить Allwinner A13 (http://linux-sunxi.org/A13) или Ingenic JZ4755.

Mick
15.06.2015, 21:28
а не было мыслей вместо того, чтоб использовать старые, и соответственно нынче уже редкие, настоящие ямаховские чипы попробовать реализовать их на FPGA ?

так сказать универсальную плату сделать, в которую по надобности можно былоб шить фирмвары самых различных синтезаторов ?



Ну как бы никто никому не запрещает делать такие девайсы, возьмись и сделай. Советчиков то много, но вот реализма мало.

А у меня пока есть интерес к ретро, вот и буду заниматься.

perestoronin
15.06.2015, 23:59
YMF704
Если в эту сторону смотреть, то тогда уж лучше YMF754 (кроме General еще + XG). Тоже продается заводскими упаковками.

Звучание у YMF754 очень достойное, только одна беда, часть работы ложится на процессор компьютера и какая часть - я до конца так и не понял, вероятно и с YMF704 такая же реализация - не полная автономия чипа по воспроизведению midi-потока.

Mick
16.06.2015, 09:05
Если в эту сторону смотреть, то тогда уж лучше YMF754 (кроме General еще + XG). Тоже продается заводскими упаковками.

Ну так, кто же мешает. Если YMF754 лучше, то сделайте :)

Ovvnex
16.06.2015, 11:21
А какой вообще смысл пытаться подключать к Спекки более-менее современные звуковые чипы? Особенно с упором на midi - звук? Спекки, даже новодельные, несут в себе дух ретросцены, да и пусть так и будет. Вот, например, Turbosound FM, SAA, OPL4 (отличный вариант совместить в одной карте проигрывание трекерных модулей и неисчислимого наследия OPL музыки), SID, атариевский POKEY. Вся эта музыка имеет индивидуальное звучание и идеально вписывается в концепцию ретро-компьютера.

Но, обезличенное midi? Зачем? Звучат midi файлы везде сильно по-разному, без доводки под конкретный синтезатор или плоско, или вообще с несоответствием окраски инструмента.

К слову сказать, ZXM-MoonSound от Мика вроде как вполне себе сможет играть general midi, судя по наличию прошитых инструментов в пзу. ИМХО, такой поддержки midi более чем достаточно.

Mick
16.06.2015, 13:34
Вы бы меньше бы языком чесали, а лучше бы взяли и помогли. Например дизассамблировали и разобрались в каком нибудь плеере MSX, что бы как то облегчить жизнь Мику.

Eagle
16.06.2015, 13:37
К слову сказать, ZXM-MoonSound от Мика вроде как вполне себе сможет играть general midi, судя по наличию прошитых инструментов в пзу. ИМХО, такой поддержки midi более чем достаточно.
Лишь бы оно не протухло как NeoGS, все возможности которой никто так и не использовал.

troosh
16.06.2015, 13:53
Если в эту сторону смотреть, то тогда уж лучше YMF754 (кроме General еще + XG).

С ним всё очень-очень сложно. Это чип который все данные берет из памяти процессора по PCI шине, у него нет возможности подключить локальную память для семплов.


Звучание у YMF754 очень достойное, только одна беда, часть работы ложится на процессор компьютера и какая часть - я до конца так и не понял, вероятно и с YMF704 такая же реализация - не полная автономия чипа по воспроизведению midi-потока.

Если говорить про wavetable синтез, то YMF754 аппаратно его делает, но при этом очень сильно загружает PCI шину, а центральный процессор там парсит MIDI поток и делает пост обработки (эффекты). Исходников драйверов XG от Ямахи нет. FM синтез в этом чипе заявлен тоже аппаратный, но с передискретизацией в 44.1 кГц.

YMF704 это на одном чипе OPL4 (YMF278) + 1MB ROM + UART + микроконтроллер который парсит MIDI поток. Вроде как можно использовать только пару OPL4+ROM и не обращать внимание на остальные дополнения.




А какой вообще смысл пытаться подключать к Спекки более-менее современные звуковые чипы?

Не знаю. Мне больше интересен сам зоопарк чипов, что умеют извлекать звуки, чем задача по их подключению к Спекки. Сделать реплику чипа на другом, эмулировать его - вот это меня привлекает. Каждому своё.


Особенно с упором на midi - звук? Спекки, даже новодельные, несут в себе дух ретросцены, да и пусть так и будет. Вот, например, Turbosound FM, SAA, OPL4 (отличный вариант совместить в одной карте проигрывание трекерных модулей и неисчислимого наследия OPL музыки), SID, атариевский POKEY. Вся эта музыка имеет индивидуальное звучание и идеально вписывается в концепцию ретро-компьютера.
Но, обезличенное midi? Зачем? Звучат midi файлы везде сильно по-разному, без доводки под конкретный синтезатор или плоско, или вообще с несоответствием окраски инструмента.


Как раз про wavetable музыку уже не скажешь, что она "имеет индивидуальное звучание", там всё звучание уже в основное определяется семплами и только малая часть особенностью реализации конкретного синтезатора/плеера. А если говорить про постобрабоку и эффекты, то там со стандартизацией хуже чем у midi, поэтому звучать также будет поразному...

Трекерные модули, если не брать в расчет хранение описаний инструментов (семплы и/или параметры FM синтеза), это просто более наглядный и в тоже самое время более компактный способ хранения той же информации (событий), что содержится в midi файлах.

Но в тоже самое время MIDI это всё же группа каких-никаких, но всё же стандартов, и очень много аппаратуры таким способом управляется, есть множество софта. А трекерные модули, это множество различных стандартов (зачастую весьма плохо задокументиролванных), расчитанные под конкретные плееры, под конкретную аппаратуру.


К слову сказать, ZXM-MoonSound от Мика вроде как вполне себе сможет играть general midi, судя по наличию прошитых инструментов в пзу. ИМХО, такой поддержки midi более чем достаточно.

ZXM-MoonSound это определенно крутой проект. Даже и представить не могу, что можно ещё круче сделать, особенно если смотреть только на кошерные Ямахи. Хотя в стиле ретро загружать 1 Мбайт дополнительных семплов с плёнки тоже было бы не очень здорово. Поэтому, я за то, чтоб семплами реализовывать только отдельные звуки, которые иначе плохо получаются.

DJs3000
16.06.2015, 13:57
Вы бы меньше бы языком чесали, а лучше бы взяли и помогли. Например дизассамблировали и разобрались в каком нибудь плеере MSX, что бы как то облегчить жизнь Мику.

Я бы помог но с программированием у меня чуть более чем "никак" :) тем кто силен в этом рекомендовал бы начать с MOD плеера (http://api.viglink.com/api/click?format=go&jsonp=vglnk_143445199109911&key=1db07c1ca961fda47c3134a69129438d&libId=iaz7o49z01000i8e000DLch1t9hcj&loc=http%3A%2F%2Fwww.msx.org%2Fforum%2Fmsx-talk%2Fsoftware%2Fplaying-mod-files&v=1&out=http%3A%2F%2Fwww.msxarchive.nl%2Fpub%2Fmsx%2Fm usic%2Fplayers%2Fnmodply.lzh&ref=http%3A%2F%2Fwww.msx.org%2Fsearch%2Fapachesolr _search%2Fmod%2520player&title=Playing%20MOD%20files%20%7C%20MSX%20Resource %20Center&txt=NOP%27s%20MOD%20player%20for%20MoonSound%20V1. 0).

Eagle
16.06.2015, 13:57
Сделать реплику чипа на другом, эмулировать его - вот это меня привлекает.
А сможете сделать эмуляцию TSFM, исключив известные "глюки", сильный нагрев, нестабильная работа в турбо режимах?

Ovvnex
16.06.2015, 14:37
протухло как NeoGS, все возможности которой никто так и не использовал.
Всё же доработка NeoGS - это задача для программера-железячника. А таковые как правило предпочитают заниматься своими проектами. Вот потому-то воз и ныне там. Но, тем не менее, разработчики NeoGS по большему счёту свою задачу выполнили. Дали народу возможность приобрести новодельную GS-совместимую карточку с дополнительными плюшками. За что группе NedoPC огромное спасибо.

А в случае с ZXM-MoonSound нужен только программист, которые либо дизассемблирует готовые прожки и адаптирует их под Спекки, либо разберётся с мануалами и напишет свой плеер.

Ежели таковые профи-спецы в этой теме есть, от всего сердца прошу помочь Мику в наполнении железки софтом.

Раз уж чипов YMF278 у японца ещё много, в случае добротной софтовой поддержки MoonSound, есть большая вероятность, что производство карты может продолжить MV1971. Я же, увы, смогу лишь заняться бета-тестом и баг-репортом, ибо в программировании не силён.


Сделать реплику чипа на другом, эмулировать его - вот это меня привлекает.
Это тоже классное направление и тоже нужное!

А трекерные модули, это множество различных стандартов (зачастую весьма плохо задокументиролванных), расчитанные под конкретные плееры, под конкретную аппаратуру.
Трекерные модули я упомянул лишь потому, что ZXM-MoonSound тоже сможет большинство из них проиграть. Да и легендарная Амига ими известна. А это тоже ретро.
И да, мне не попадалось практически ни одного коряво звучащего трекерного модуля (мог не понравится лишь жанр либо не подойти плеер), а вот мидишек, написанных как курица лапой, встречал с избытком. ;)

ZXM-MoonSound это определенно крутой проект. Даже и представить не могу, что можно ещё круче сделать, особенно если смотреть только на кошерные Ямахи. Хотя в стиле ретро загружать 1 Мбайт дополнительных семплов с плёнки тоже было бы не очень здорово. Поэтому, я за то, чтоб семплами реализовывать только отдельные звуки, которые иначе плохо получаются.
Дык метр сэмплов уже в пзу Мунсаунда прошит, зачем их подгружать? А так-то да, меня в этой карточке тоже больше интересует FM музыка, или FM+PCM (есть вроде на MSX такие модули).

troosh
16.06.2015, 14:52
Вы бы меньше бы языком чесали, а лучше бы взяли и помогли. Например дизассамблировали и разобрались в каком нибудь плеере MSX, что бы как то облегчить жизнь Мику.

А с чем сложности то? Я просто не понял пока... Вроде по регистрам специально сделали совместимым, код плеера должен работать, только выдели его из какой-нибудь игры (я просто никогда с MSX не имел дел, не знаю какие там особенности).

И почему обязательно от MSX отталкиваться? Зачем дизассемблировать что-то, если есть Си код с комментариями? OPL4 ведь из мира PC пришел, там тоже есть его поддержка, вот в linux весьма хорошо синтез и через opl3 (https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/sound/drivers/opl3) и через opl4 (https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/sound/drivers/opl4) поддержан, инструменты в ПЗУшке YRW801 расписаны (https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/sound/drivers/opl4/yrw801.c).

Mick
16.06.2015, 15:59
Ну как бы есть музыка, которая написана для MSX и спрашивается причем тут линукс и PC, если плеер на MSX.
Вот к примеру на MSX есть файлы MWM и MWK. Спрашивается как может помочь линукс и Си с комментариями?
Насколько я вот понял MWK зягоняются в внешнее ОЗУ YMF278 и представляют собой по всей видимости любительские сэмплы, а MWM непосредственно сама музыка.

Если не так сложно по вашему, ну запилите что ли плеер или демку.

Eagle
16.06.2015, 18:47
Всё же доработка NeoGS - это задача для программера-железячника.
Я таки не про доработку существующего, а про его использование. Нового ничего нет, а старое из-за кривизны и *****кода не работает на NeoGS.

Ovvnex
16.06.2015, 19:19
Я таки не про доработку существующего, а про его использование. Нового ничего нет,
Ну это судьба большинства новодельных плат.:(
Меня уже устраивает то, что под TS-конфой из коробки отлично крутятся mod'ы. Да и в новых демках, где GS поддерживается, звук есть. SAA, кстати, тоже под TS-конфой зазвучал. Будут портированы плееры под ZXM-MoonSound с MSX - уже большое дело! А дальше видно будет.

troosh
16.06.2015, 20:09
Ну как бы есть музыка, которая написана для MSX и спрашивается причем тут линукс и PC, если плеер на MSX.
Вот к примеру на MSX есть файлы MWM и MWK. Спрашивается как может помочь линукс и Си с комментариями?
Насколько я вот понял MWK зягоняются в внешнее ОЗУ YMF278 и представляют собой по всей видимости любительские сэмплы, а MWM непосредственно сама музыка.

1) Исходники на Си помогут проигрывать midi файлы используя сэмплы через Wavetable синтезатор OPL4. Ну и понять какие-то моменты в коде того же MWM плеера, - по двум книгам всегда легче учиться.

2) Если требуется плеер именно для воспроизведения MWM на z80, то зачем дизассамблировать какой-то бинарник, если есть исходники? Хотя я может быть туплю, но вот смотрю я на WAVEDRV.LZH, там .asm файлы, правда в каком-то жутком формате (какой-то MSX ассемблер Compass (http://home.scarlet.be/~dhran/compass-info/) что-ли?). В общем посмотрел на этих файлы, быстро на коленке сделал скрипт для конвертации, в итоге что-то более менее читаемое получилось (хотя и кажется будто некоторые строки переставлены или это у авторов стиль такой размазывать комментарии по коду, плюс там конце похоже какая-то важная информация, но возиться не стал), вот фрагменты:



basic.txt
...
--- Load MWM file ---

; Note: The routine below is a bit complex because it supports
; songs > 16K. However, if you know that your song will always be < 16K you
; can simplify it a lot:
; - read the header and trash it!
; - read the rest of the file
; - modify the play_nextpos routine so that 3 is added to the pattern address

mbload: ld a,(DOSinit)
or a
jp z,initerror
ld ix,04c64h
call basic_call
push hl
ld ix,067d0h ; get filename
call basic_call
push hl
pop ix
call build_fcb ; build right FCB

call curbank_FE
push af

call open_file ; open song file
or a
jp nz,loderr

ld hl,songdata_bank1 ; select first song bank
ld (load_bank),hl
ld a,(hl)
call selbank_FE
...
--- Load MWM file ---

; Note: The routine below is a bit complex because it supports
; songs > 16K. However, if you know that your song will always be < 16K you
; can simplify it a lot:
; - read the header and trash it!
; - read the rest of the file
; - modify the play_nextpos routine so that 3 is added to the pattern address

mbload: ld a,(DOSinit)
or a
jp z,initerror
ld ix,04c64h
call basic_call
push hl
ld ix,067d0h ; get filename
call basic_call
push hl
pop ix
call build_fcb ; build right FCB

call curbank_FE
push af

call open_file ; open song file
or a
jp nz,loderr

ld hl,songdata_bank1 ; select first song bank
ld (load_bank),hl
ld a,(hl)
call selbank_FE

...
;------------------------------------
;--- Set OPL4 for SRAM read/write ---
;------------------------------------
; In: EHL = SRAM address
; Out: C = wave data port

set_opl4_wrt: ld c,2 ; enable SRAM access
ld a,10001b
call opl4_out_wave
inc c
ld a,e
and 111111b
call opl4_out_wave
inc c
ld a,h
call opl4_out_wave
inc c
ld a,l
call opl4_out_wave
ld a,6
out (WVIO),a
ld c,WVIO + 1
ret
...

start_mus_cnt:
di
ld hl,0fd9Ah
ld de,old_int
ld bc,5
ldir ; save interrupt hook

ld a,(0f342h)
ld (Page_nmb),a
ld hl,opl4_int_han
ld de,0fb04h
ld bc,9
ldir

ld hl,0FD9Ah ;Init On Hook 0FD9Ah a Jump to empty RS232 area
ld (hl),0C3h ; JP
inc hl
ld (hl),004h ; 04
inc hl
ld (hl),0FBh ; FB

ld a,2
out (0c4h),a
ld a,(xhzequal)
or a
jr z,Speed60Hz
cp 1
jr nz,Speedxhz
ld a,248
jr Speedxhz
Speed60Hz:
ld a,208
Speedxhz:
neg
out (0c5h),a
opl4_wait ; wait if Turbo-R
ld a,4
out (0c4h),a
opl4_wait ; wait if Turbo-R
ld a,00100001b
out (0c5h),a
ei
ret

opl4_int_han:
in a,(0C4H) ; Put this shit in the RS232 area
rla ; this is to prevent 50 or 60 CALLFs
ret nc ; to the replayer
rst 030h
Page_nmb: db 0
dw play_int
ret

...
;--- initialise OPL4 registers ---

init_opl4: ld a,5
out (FMIO+2),a
opl4_wait ; wait if TURBO R
ld a,3
out (FMIO+3),a

ld c,2
ld a,10000b
jp opl4_out_wave ; init Wave ROM stuff
...


Я прикладываю архив с тем, что ковырял (простите за unix-овые переводы строк), но определенно нужно использовать не эти файлы, а обратиться к знающим MSX людям, чтоб они идентифицировали используемый ассемблер и перегнали его в текстовый формат. Ибо повторюсь, я MSX файлы вот-вот только впервые увидел.


Если не так сложно по вашему, ну запилите что ли плеер или демку.

Я и не говорю, что это легко. Просто пытаюсь в меру сил помочь, как могу...

У меня нет ни OPL4 карты (ни под спековский ZX Bus, ни под ISA), нет и куда её вставлять (останки своего давно неработающего своего Ленинграда-2 я заботливо иногда с одной полки переставляю на другую).

Так что на такой подвиг я пока не готов, но потихоньку зрею. Всему своё время...

Mick
16.06.2015, 21:00
Ну вот видишь, ты смог разобраться с форматом этого чудного ассемблера.
Все же теперь полегче будет разбираться.
Спасибо большое.

Mick
17.06.2015, 18:52
Поглядел файлики сегодня, да уж запутали эти файлы MWM и MWK до нельзя, нельзя что ли было все в одном файле сделать. А то получается надо знать какой MWK к какому MWM. Думаю для спека надо объединять эти файлы. В принципе для демок оно и пофиг, но если вот плеер катать, то будет не совсем айс. Кстати думается что плеер надо бацать сразу под работу SD карты или IDE. А попутно вопрос, есть ли уже либы для работы с оными девайсами, а конкретнее под FAT32. Нужны примитивные функции: чтение каталога, чтение данных их файлов.
А может кто рискнет осилить плеер.
Скажите - вот размечтался, отвечаю - ну дайте хоть помечтать немного. :)

Eagle
17.06.2015, 21:56
Mick, прикрутите SD карточку к звуковухе — будет вообще красота.

Tronix
17.06.2015, 22:05
Mick, прикрутите SD карточку к звуковухе — будет вообще красота.

... а так же акселерометр и датчик CO2.

Eagle
17.06.2015, 22:25
. а так же акселерометр и датчик CO2.
Да, как у NeoGS.

Mick
17.06.2015, 22:51
Mick, прикрутите SD карточку к звуковухе — будет вообще красота.

Не это уже лишнее. Сейчас уже почти на каждом компе есть либо Nemo IDE, либо SD карта. Вот их и юзать надо.
Для NeoGS было это актуально в основном для проигрывания mp3 музыки.

Mick
19.06.2015, 12:14
Потихоньку смотрю исходники mwm плеера и обнаруживаю очень занятную вещь.
Частота проигрывания может задаваться в самом mwm файле. Тоесть она может быть 60Гц, 50Гц и пользователя. Иными словами без изменения режима прерываний не обойтись никак. Либо вылавливать только 50Гц треки, что скажем наверное редкость, так как музыку похоже только наверное японцы катали. :)

Посему у меня вопрос, как сформировать подменный векторо прерывания для Z80.
Насколько понял талмут Черного кота, в момент подтверждения сигнала прерывания выставляется на шину данных байт вектора. Тоесть когда у нас нет ничего, а только прерывания от видеоконтроллера то у нас как бы вектор равен FFh на стабильной шине. А вот хочу допустим подсунуть ему например байт вектора 80h или FEh, то как мне организовать обработчик прерывания, чтобы пришедшее прерывание попало ко мне в подпрограмму.

Eagle
19.06.2015, 12:31
Mick, а если дать карточке больше автономии (как в GS), то нужно-ли прерывания в спектруме трогать? Или прикрутить к ней Z80 это фантастика?

Eagle
19.06.2015, 12:55
А по всяким SD и Z80 на плате имхо этож изврат на уровне sid на спеке, первый шаг к безалкогольному пиву и резиновой женщине.
Когда делали GS это извратом не было.

Mick
19.06.2015, 13:17
Mick, а если дать карточке больше автономии (как в GS), то нужно-ли прерывания в спектруме трогать? Или прикрутить к ней Z80 это фантастика?

Вот есть реальная карта, у ней нет Z80 и она меня интересует в данный момент. Фантастику или нет, мне пока неинтересно обсуждать.

---------- Post added at 14:16 ---------- Previous post was at 14:12 ----------


Если программно то проще простого таблица по адресу Iv (v вектор, I регистр), если это будет сделано вообще отлично. Столько внешних устройств и нигде не используют, странно даже.


Ничего короче я не понял. Такая вроде фигня была в DMA Utrasound, вот как они обработчик строили прерывания.

Eagle
19.06.2015, 16:01
Вот есть реальная карта, у ней нет Z80 и она меня интересует в данный момент.
А что мешает развить в следующих ревизиях? И прерывания какие угодно и спектрум не занят только отправкой данных на звуковуху.

Mick
19.06.2015, 16:39
Никто не мешает дальше развивать. Но вопрос сейчас стоит не в развитии, а о том как сварганить прерывание. Выход прерывания есть и на этой карте и она может генерить как само прерывание, так и вектор отличный от FF. Как мне этот вектор описать в программе. Иными словами, тупо нужен пример кода формирователя такого прерывания.

Mick
19.06.2015, 19:19
Ты на пальцах наглядно объясни.
Вот есть допустим два прерывания, одно выдает FFh на шину (от видеоконтроллера), а пользовательское устанавливает на шине данных F0h, а в регистре I при этом будет 60h. Как будет выглядеть процедура установки обработчика.
Меня вот именно это интересует. Кто может показать наглядно?

Mick
19.06.2015, 19:52
[CODE]

Примерно так, сори от I #60 меня колбасит, этож снег.

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

Просто в страничную память не охота цеплять, так как музон там находится для карты, а плеер начинает хаотично страницами листать.

troosh
19.06.2015, 21:06
Можно даже не заводить отдельный вектор - у OPL есть два таймера с битами состояния, а значит их можно прочитать в обработчике и проверить: OPL ли это прерывания прислал? Они на MSX так ведь и проверяют:


opl4_int_han:
in a,(0C4H) ; Put this shit in the RS232 area
rla ; this is to prevent 50 or 60 CALLFs
ret nc ; to the replayer
rst 030h

Но вот у VSYNC прерывания у Speccy не такого бита, а главное он широкий (по крайней мере на некоторых клонах), при том, что z80 принимает прерывание по срезу сигнала, это кадровый гасящий возможно будет гадить и прерывание от OPL будет пропущено. Если был бы контроллер прерываний или хотя бы они по уровню обрабатывались, а не импульсом... Беда в общем, остаётся надеяться, что такое редко будет случаться и на следующем VSYNС подхватим потерянное прерывание или в паузе придёт очередное от OPL (оопс, а подтверждение он получил?) И надеяться, что никто это не услышит.

Другой вариант - задействовать под прерывание другой вход процессора, NMI...

P.S. Сколько себя помню в IM2 режиме никто не надеялся, что с шины придёт именно 0xFF, всегда лепили таблички в 257 одинаковых байт.

---------- Post added at 21:06 ---------- Previous post was at 20:29 ----------

Я чего-то не понял: криокамера или таки музыка от Sage Dreamcast вещь доступная?

Микросхема SEGA 315-6232 (QFP -100) (http://xn----ctbgeuhdtdb2b.xn--p1ai/price/sega_dreamcast/?parts&d=338) - 80,00 руб.
Микросхема Stereo DAC PCM1725U (http://xn----ctbgeuhdtdb2b.xn--p1ai/price/sega_dreamcast/?parts&d=1432) - 50,00 руб.

80 рублей, Карл...

Ну да странный какой-то G2 интерфейс 16-ти битный, загрузка ARM7DI через него, но это же кошерный Ямаховский чипец "Yamaha Super Intelligent Sound Processor" AICA (https://en.wikipedia.org/wiki/Yamaha_Super_Intelligent_Sound_Processor), умеющий MIDI XG, поддерживающий до 8MB SDRAM, имеющий встроенный эффект процессор... В MAME для аркадных автоматов давным-давно (http://rbelmont.mameworld.info/index.php?s=aica&submit=Search) научились эмулировать.

Mick
19.06.2015, 22:08
Можно даже не заводить отдельный вектор - у OPL есть два таймера с битами состояния, а значит их можно прочитать в обработчике и проверить: OPL ли это прерывания прислал? Они на MSX так ведь и проверяют:



Ты не до конца написал тот обработчик


opl4_int_han:
in a,(0C4H) ; Put this shit in the RS232 area
rla ; this is to prevent 50 or 60 CALLFs
ret nc ; to the replayer
rst 030h
Page_nmb: db 0
dw play_int
ret




play_int:
di
ld a,4

out (0C4H),a
opl4_wait ; wait if Turbo-R
ld a,128+1
out (0C5H),a ; reset opl4 IRQ
.....

MetalliC
21.06.2015, 22:20
Ну да странный какой-то G2 интерфейс 16-ти битный, загрузка ARM7DI через него, но это же кошерный Ямаховский чипец "Yamaha Super Intelligent Sound Processor" AICA, умеющий MIDI XG, поддерживающий до 8MB SDRAM, имеющий встроенный эффект процессор... В MAME для аркадных автоматов давным-давно научились эмулировать.
хреновасто он там эмулируется ;), лучше вот этим http://www.foobar2000.org/components/view/foo_input_ht
его слегка погнули копипастой не верного кода из МАМЕ, но это лучшее что пока есть
музычку можно взять там - http://dsf.joshw.info/ (дримкаст/наоми) или там http://ssf.joshw.info/ (сатурн/ств)

ps: жирные архивы не имеет смысла качать, там потоковое аудио в каком-нибудь .adx, а в мелких - более интересные секвенсорные музоны.
из хороших примеров - http://dsf.joshw.info/s/Skies%20of%20Arcadia%20%5bEternal%20Arcadia%5d%20( 2000-10-05)(Overworks)(Sega).7z

inozemcew
23.06.2015, 04:58
в DMA Utrasound, вот как они обработчик строили прерывания.
Чуть посложнее, чем описано по треду далее.
Во первых, каждому источнику прерывания, включая кадровое, соответствовал отдельный бит в векторе прерывания. Это нужно, чтобы можно было обработать прерывание сразу из нескольких источников. Т.е. концу цикла ДМА соответствовал бит 7, первому таймеру бит 6, второму - бит 5, кадровому - инверсный бит 4. Соответственно, в таблице прерываний расставлялось 16 переходов на обработчики. На вектор #6F ставился обработчик конца ДМА, на вектор #BF - первый таймер, на #2F - конец ДМА и первый таймер, и т.д. Бит кадрового прерывания был инверсным, соответственно кадровое прерывание - вектор #FF, кадровое и конец ДМА - #7F и т.д.
Во вторых, запрос на все прерывания, кроме кадрового, не снимался до подтверждения, можно было в программе по ходу пользоваться DI и EI, это не вело к пропуску прерывания.
Вектор выставлялся на шину по совместному сигналу /IORQ и /M1, этим же сигналом сбрасывались триггеры запроса прерывания.
Вот как-то так было, если склероз не подводит.

rl76
26.06.2015, 15:55
https://www.youtube.com/watch?v=ZHuo4O9NJoI
Интересно, а эта музыка записывалась с настоящего SID? Автор пишет про реверберацию, панирование и задержки как вроде бы сторонние эффекты. Что скажете, специалисты? :)

perestoronin
03.07.2015, 10:25
SID
Есть проект Innovation SSI 2001 Replica под ISA8 шину.
На платке предусмотрена альтернатива 6581R4/8580R5.

goodboy
03.07.2015, 10:41
https://www.youtube.com/watch?v=ZHuo4O9NJoI
Интересно, а эта музыка записывалась с настоящего SID? Автор пишет про реверберацию, панирование и задержки как вроде бы сторонние эффекты. Что скажете, специалисты? :)читай комменты к ролику.
"I used only samples from C64 and Amiga in FL Studio DAW"

rl76
21.11.2015, 09:40
Человек выложил видео с музыкой OPL4:
https://www.youtube.com/watch?v=GdWwaiav_fQ

John North
21.11.2015, 19:51
http://sderni.ru/290730
собственно..

Rindex
21.11.2015, 20:32
Сдёрни.ру испортился. Пользуйтесь ргхостом.

John North
22.11.2015, 06:26
Сдёрни.ру испортился. Пользуйтесь ргхостом.

от жеж.. точно.
а отправляется на него нормально.

rl76
13.02.2016, 15:55
Не в тему, но скорее всего прибалдеете http://zx-pk.ru/showthread.php?t=15211&p=857373&viewfull=1#post857373 (для тех, кто следит за этой темой).

rl76
28.10.2017, 13:00
В OPL4 ничего нового не нашёл, но вот смотрел программу LMMS и заслушался демонстрационной музыкальной композицией Farbro - Tectonic

https://www.youtube.com/watch?v=bJ2wrn4-vfQ