Просмотр полной версии : Прибалдел от музыки (OPL4)
https://www.youtube.com/watch?v=YU5O0vAOVKU
А главное от синтезатора. OPL4 на MSX вроде бы. На Speccy уже сделали такую звуковую плату? Подскажите что похожее послушать.
На Speccy уже сделали такую звуковую плату? Подскажите что похожее послушать.
Какбы делают http://zx-pk.ru/showthread.php?t=25004
на 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-синтезатор выпилили.
так что сатурновские музоны я думаю этот чип осилит, если их портировать.
rl76, у OLP4 хороший потенциал и музыка по твоей ссылке так себе по сравнению на что способен чип. Возможно новая карта (http://www.micklab.narod.ru/ZXMMoonSound.htm) для спека на OPL4 подарит нам много новой и хорошей музыки.
denpopov
10.06.2015, 09:07
открыли Америку:) на zx адлиб вроде как припиливают. Вопрос, когда?
на zx адлиб вроде как припиливают
Оно будет звучать чем-то лучше TSFM? Сильно сомневаюсь.
denpopov
10.06.2015, 12:45
Оно будет звучать чем-то лучше TSFM? Сильно сомневаюсь.
кажется, Mick выкладывал ссылку на унылом тслабс.инфо.
кажется, 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 не помешал бы, есть масса трекеров и классных музонов.
Хотя 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. Дело только за софтом. :)
вообще этот чип близок по ТТХ к 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
Да, осталось только написать плейер:)
Оно будет звучать чем-то лучше TSFM? Сильно сомневаюсь.
Лучше. А с учетом перегрева ТСФМ и последующих глюков, полюбому лучше.
P.S. Послушайте ещё Farbrausch v2 музыку (v2m). Обратите на размер файлов. Чипа такого нет, но это FM синтез на x86-м FPU.
Насколько я понял, это MIDI файлы в кастомном формате и с командами для голосового синтезатора.
Послушайте ещё 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-ам от Ямахи тоже не особо стоит верить, часто и много ошибок, не точностей или вообще левака какого-то.
MetalliC, YM2151 тоже классный звук даёт. У меня на MSX есть звукавушка SFG-05 там правда стоит YM2164 который вроде как полный аналог YM2151 но что-то там лучше хз что :)
Насколько я понял, это MIDI файлы в кастомном формате и с командами для голосового синтезатора.
Да, это программный синтезатор музыки и речи с MIDI входом и эффект-процессором. За подробностями сюда: https://github.com/farbrausch/fr_public
Там самое интересное в каталоге v2, но с описанием беда (к тому же там адская смесь немецкого и английского).
Там самое интересное в каталоге v2, но с описанием беда (к тому же там адская смесь немецкого и английского).
Да там и с кодом беда. Хакеры такие хакеры.
Лучше. А с учетом перегрева ТСФМ и последующих глюков, полюбому лучше.
Перегревом меня на напугать, теплоотводов наклею. Уж не знаю чем лучше, звучит всё одинаково, и с количеством голосов там в адлибе не особо больше.
perestoronin
15.06.2015, 15:30
Пусть будет YM292 следующим проектом звуковой карты для специ у Mick.
piroxilin
15.06.2015, 15:37
Пусть будет YM292 следующим проектом звуковой карты для специ у Mick.
Для YMF278 есть плеер под Z80 (MSX) и много готовых мелодий = не очень сложно его перенести на спек.
А для YM292 - нету.
К тому-же в НГС набортный МП3 декодер умеет миды играть - а никто так и не пробовал им пописчать... :(
Пусть будет 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/ )
Пусть будет 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
Я еще веганов могу понять, им противно трупы ковырять, но железячникам даже в удовольствие отпаивать живых "паучков" из трупов.
Живые или подлежащие восстановлению экземпляры я и не предлагаю потрошить :), или предлагаете - пусть старьём засоряют океаны ?
после такой карточки уже ничего не хочется
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
И он еще даже на алиэкпрессе продается.
Кстати говоря о птичках, у 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 что вы у япошек покупали тоже бу-шняк выковырянный с трупов аркадных плат.
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 ?
так сказать универсальную плату сделать, в которую по надобности можно былоб шить фирмвары самых различных синтезаторов ?
Это сильно кого то напрягает?
ни грама :)
Я лично в 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.
а не было мыслей вместо того, чтоб использовать старые, и соответственно нынче уже редкие, настоящие ямаховские чипы попробовать реализовать их на FPGA ?
так сказать универсальную плату сделать, в которую по надобности можно былоб шить фирмвары самых различных синтезаторов ?
Ну как бы никто никому не запрещает делать такие девайсы, возьмись и сделай. Советчиков то много, но вот реализма мало.
А у меня пока есть интерес к ретро, вот и буду заниматься.
perestoronin
15.06.2015, 23:59
YMF704
Если в эту сторону смотреть, то тогда уж лучше YMF754 (кроме General еще + XG). Тоже продается заводскими упаковками.
Звучание у YMF754 очень достойное, только одна беда, часть работы ложится на процессор компьютера и какая часть - я до конца так и не понял, вероятно и с YMF704 такая же реализация - не полная автономия чипа по воспроизведению midi-потока.
Если в эту сторону смотреть, то тогда уж лучше YMF754 (кроме General еще + XG). Тоже продается заводскими упаковками.
Ну так, кто же мешает. Если YMF754 лучше, то сделайте :)
А какой вообще смысл пытаться подключать к Спекки более-менее современные звуковые чипы? Особенно с упором на midi - звук? Спекки, даже новодельные, несут в себе дух ретросцены, да и пусть так и будет. Вот, например, Turbosound FM, SAA, OPL4 (отличный вариант совместить в одной карте проигрывание трекерных модулей и неисчислимого наследия OPL музыки), SID, атариевский POKEY. Вся эта музыка имеет индивидуальное звучание и идеально вписывается в концепцию ретро-компьютера.
Но, обезличенное midi? Зачем? Звучат midi файлы везде сильно по-разному, без доводки под конкретный синтезатор или плоско, или вообще с несоответствием окраски инструмента.
К слову сказать, ZXM-MoonSound от Мика вроде как вполне себе сможет играть general midi, судя по наличию прошитых инструментов в пзу. ИМХО, такой поддержки midi более чем достаточно.
Вы бы меньше бы языком чесали, а лучше бы взяли и помогли. Например дизассамблировали и разобрались в каком нибудь плеере MSX, что бы как то облегчить жизнь Мику.
К слову сказать, ZXM-MoonSound от Мика вроде как вполне себе сможет играть general midi, судя по наличию прошитых инструментов в пзу. ИМХО, такой поддержки midi более чем достаточно.
Лишь бы оно не протухло как NeoGS, все возможности которой никто так и не использовал.
Если в эту сторону смотреть, то тогда уж лучше 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 Мбайт дополнительных семплов с плёнки тоже было бы не очень здорово. Поэтому, я за то, чтоб семплами реализовывать только отдельные звуки, которые иначе плохо получаются.
Вы бы меньше бы языком чесали, а лучше бы взяли и помогли. Например дизассамблировали и разобрались в каком нибудь плеере 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).
Сделать реплику чипа на другом, эмулировать его - вот это меня привлекает.
А сможете сделать эмуляцию TSFM, исключив известные "глюки", сильный нагрев, нестабильная работа в турбо режимах?
протухло как NeoGS, все возможности которой никто так и не использовал.
Всё же доработка NeoGS - это задача для программера-железячника. А таковые как правило предпочитают заниматься своими проектами. Вот потому-то воз и ныне там. Но, тем не менее, разработчики NeoGS по большему счёту свою задачу выполнили. Дали народу возможность приобрести новодельную GS-совместимую карточку с дополнительными плюшками. За что группе NedoPC огромное спасибо.
А в случае с ZXM-MoonSound нужен только программист, которые либо дизассемблирует готовые прожки и адаптирует их под Спекки, либо разберётся с мануалами и напишет свой плеер.
Ежели таковые профи-спецы в этой теме есть, от всего сердца прошу помочь Мику в наполнении железки софтом.
Раз уж чипов YMF278 у японца ещё много, в случае добротной софтовой поддержки MoonSound, есть большая вероятность, что производство карты может продолжить MV1971. Я же, увы, смогу лишь заняться бета-тестом и баг-репортом, ибо в программировании не силён.
Сделать реплику чипа на другом, эмулировать его - вот это меня привлекает.
Это тоже классное направление и тоже нужное!
А трекерные модули, это множество различных стандартов (зачастую весьма плохо задокументиролванных), расчитанные под конкретные плееры, под конкретную аппаратуру.
Трекерные модули я упомянул лишь потому, что ZXM-MoonSound тоже сможет большинство из них проиграть. Да и легендарная Амига ими известна. А это тоже ретро.
И да, мне не попадалось практически ни одного коряво звучащего трекерного модуля (мог не понравится лишь жанр либо не подойти плеер), а вот мидишек, написанных как курица лапой, встречал с избытком. ;)
ZXM-MoonSound это определенно крутой проект. Даже и представить не могу, что можно ещё круче сделать, особенно если смотреть только на кошерные Ямахи. Хотя в стиле ретро загружать 1 Мбайт дополнительных семплов с плёнки тоже было бы не очень здорово. Поэтому, я за то, чтоб семплами реализовывать только отдельные звуки, которые иначе плохо получаются.
Дык метр сэмплов уже в пзу Мунсаунда прошит, зачем их подгружать? А так-то да, меня в этой карточке тоже больше интересует FM музыка, или FM+PCM (есть вроде на MSX такие модули).
Вы бы меньше бы языком чесали, а лучше бы взяли и помогли. Например дизассамблировали и разобрались в каком нибудь плеере 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).
Ну как бы есть музыка, которая написана для MSX и спрашивается причем тут линукс и PC, если плеер на MSX.
Вот к примеру на MSX есть файлы MWM и MWK. Спрашивается как может помочь линукс и Си с комментариями?
Насколько я вот понял MWK зягоняются в внешнее ОЗУ YMF278 и представляют собой по всей видимости любительские сэмплы, а MWM непосредственно сама музыка.
Если не так сложно по вашему, ну запилите что ли плеер или демку.
Всё же доработка NeoGS - это задача для программера-железячника.
Я таки не про доработку существующего, а про его использование. Нового ничего нет, а старое из-за кривизны и *****кода не работает на NeoGS.
Я таки не про доработку существующего, а про его использование. Нового ничего нет,
Ну это судьба большинства новодельных плат.:(
Меня уже устраивает то, что под TS-конфой из коробки отлично крутятся mod'ы. Да и в новых демках, где GS поддерживается, звук есть. SAA, кстати, тоже под TS-конфой зазвучал. Будут портированы плееры под ZXM-MoonSound с MSX - уже большое дело! А дальше видно будет.
Ну как бы есть музыка, которая написана для 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 я заботливо иногда с одной полки переставляю на другую).
Так что на такой подвиг я пока не готов, но потихоньку зрею. Всему своё время...
Ну вот видишь, ты смог разобраться с форматом этого чудного ассемблера.
Все же теперь полегче будет разбираться.
Спасибо большое.
Поглядел файлики сегодня, да уж запутали эти файлы MWM и MWK до нельзя, нельзя что ли было все в одном файле сделать. А то получается надо знать какой MWK к какому MWM. Думаю для спека надо объединять эти файлы. В принципе для демок оно и пофиг, но если вот плеер катать, то будет не совсем айс. Кстати думается что плеер надо бацать сразу под работу SD карты или IDE. А попутно вопрос, есть ли уже либы для работы с оными девайсами, а конкретнее под FAT32. Нужны примитивные функции: чтение каталога, чтение данных их файлов.
А может кто рискнет осилить плеер.
Скажите - вот размечтался, отвечаю - ну дайте хоть помечтать немного. :)
Mick, прикрутите SD карточку к звуковухе — будет вообще красота.
Mick, прикрутите SD карточку к звуковухе — будет вообще красота.
... а так же акселерометр и датчик CO2.
. а так же акселерометр и датчик CO2.
Да, как у NeoGS.
Mick, прикрутите SD карточку к звуковухе — будет вообще красота.
Не это уже лишнее. Сейчас уже почти на каждом компе есть либо Nemo IDE, либо SD карта. Вот их и юзать надо.
Для NeoGS было это актуально в основном для проигрывания mp3 музыки.
Потихоньку смотрю исходники mwm плеера и обнаруживаю очень занятную вещь.
Частота проигрывания может задаваться в самом mwm файле. Тоесть она может быть 60Гц, 50Гц и пользователя. Иными словами без изменения режима прерываний не обойтись никак. Либо вылавливать только 50Гц треки, что скажем наверное редкость, так как музыку похоже только наверное японцы катали. :)
Посему у меня вопрос, как сформировать подменный векторо прерывания для Z80.
Насколько понял талмут Черного кота, в момент подтверждения сигнала прерывания выставляется на шину данных байт вектора. Тоесть когда у нас нет ничего, а только прерывания от видеоконтроллера то у нас как бы вектор равен FFh на стабильной шине. А вот хочу допустим подсунуть ему например байт вектора 80h или FEh, то как мне организовать обработчик прерывания, чтобы пришедшее прерывание попало ко мне в подпрограмму.
Mick, а если дать карточке больше автономии (как в GS), то нужно-ли прерывания в спектруме трогать? Или прикрутить к ней Z80 это фантастика?
А по всяким SD и Z80 на плате имхо этож изврат на уровне sid на спеке, первый шаг к безалкогольному пиву и резиновой женщине.
Когда делали GS это извратом не было.
Mick, а если дать карточке больше автономии (как в GS), то нужно-ли прерывания в спектруме трогать? Или прикрутить к ней Z80 это фантастика?
Вот есть реальная карта, у ней нет Z80 и она меня интересует в данный момент. Фантастику или нет, мне пока неинтересно обсуждать.
---------- Post added at 14:16 ---------- Previous post was at 14:12 ----------
Если программно то проще простого таблица по адресу Iv (v вектор, I регистр), если это будет сделано вообще отлично. Столько внешних устройств и нигде не используют, странно даже.
Ничего короче я не понял. Такая вроде фигня была в DMA Utrasound, вот как они обработчик строили прерывания.
Вот есть реальная карта, у ней нет Z80 и она меня интересует в данный момент.
А что мешает развить в следующих ревизиях? И прерывания какие угодно и спектрум не занят только отправкой данных на звуковуху.
Никто не мешает дальше развивать. Но вопрос сейчас стоит не в развитии, а о том как сварганить прерывание. Выход прерывания есть и на этой карте и она может генерить как само прерывание, так и вектор отличный от FF. Как мне этот вектор описать в программе. Иными словами, тупо нужен пример кода формирователя такого прерывания.
Ты на пальцах наглядно объясни.
Вот есть допустим два прерывания, одно выдает FFh на шину (от видеоконтроллера), а пользовательское устанавливает на шине данных F0h, а в регистре I при этом будет 60h. Как будет выглядеть процедура установки обработчика.
Меня вот именно это интересует. Кто может показать наглядно?
[CODE]
Примерно так, сори от I #60 меня колбасит, этож снег.
Ну не знаю как там снежит, я вроде на своих компах его не наблюдаю.
Сам понимаешь, что сей изврат не для слабых шин :)
Просто в страничную память не охота цеплять, так как музон там находится для карты, а плеер начинает хаотично страницами листать.
Можно даже не заводить отдельный вектор - у 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) научились эмулировать.
Можно даже не заводить отдельный вектор - у 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, этим же сигналом сбрасывались триггеры запроса прерывания.
Вот как-то так было, если склероз не подводит.
https://www.youtube.com/watch?v=ZHuo4O9NJoI
Интересно, а эта музыка записывалась с настоящего SID? Автор пишет про реверберацию, панирование и задержки как вроде бы сторонние эффекты. Что скажете, специалисты? :)
perestoronin
03.07.2015, 10:25
SID
Есть проект Innovation SSI 2001 Replica под ISA8 шину.
На платке предусмотрена альтернатива 6581R4/8580R5.
https://www.youtube.com/watch?v=ZHuo4O9NJoI
Интересно, а эта музыка записывалась с настоящего SID? Автор пишет про реверберацию, панирование и задержки как вроде бы сторонние эффекты. Что скажете, специалисты? :)читай комменты к ролику.
"I used only samples from C64 and Amiga in FL Studio DAW"
Человек выложил видео с музыкой OPL4:
https://www.youtube.com/watch?v=GdWwaiav_fQ
John North
21.11.2015, 19:51
http://sderni.ru/290730
собственно..
Сдёрни.ру испортился. Пользуйтесь ргхостом.
John North
22.11.2015, 06:26
Сдёрни.ру испортился. Пользуйтесь ргхостом.
от жеж.. точно.
а отправляется на него нормально.
Не в тему, но скорее всего прибалдеете http://zx-pk.ru/showthread.php?t=15211&p=857373&viewfull=1#post857373 (для тех, кто следит за этой темой).
В OPL4 ничего нового не нашёл, но вот смотрел программу LMMS и заслушался демонстрационной музыкальной композицией Farbro - Tectonic
https://www.youtube.com/watch?v=bJ2wrn4-vfQ
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot