основная статья о драйвере звука GEMS:
http://elektropage.ru/publ/o_prekrasnom/articles/gems_sound_driver/2-1-0-71конечно без деталей, но в общем понятно что там творится.
мне оставалось понакачать все игры, что использовали данный драйвер и распаковать их, после заархивировать, положить здесь на эмуленде, сформировать лист ссылок на эти архивы и приложить его на онлайн хостинг. в данном случае гитхаб - там постоянная ссылка получается.
сам искать эти банки не умею - я ж не ромхакер
пользовался тремя путями.
1. под сполером гражданина Megaplex указаны множество игр с адресами. оставалось их вытащить из игры и скормить шелловскому комбайну-сплиттеру для распаковки.
http://elektropage.ru/forum/7-68-3#26242. товарищ ValleyBell сделал GEMSScanner - он бывает находит и вытаскивает из игр банки, но много где ничего не находит.
3. есть ссыль на архив My GEMS Rips... но ссыль я потерял
((( там буржуйский товарищ выложил банки GEMS кучей к куче игр. причем даже различных билдов одной и той-же игры. видимо тут:
https://hcs64.com/mboard/forum.php?showthread=43020понятно что некоторые игры имеют не стандартный драйвер и на обычной козе там не подъехать. как то МК3 например. но в общем и целом основная часть игр распаковывается вполне себе.
это что касается банков самих, а их распаковка - деление на нотные листы, сэмплы, модуляции и инструменты - там можно пойти по обратному пути. то есть посмотреть что распаковывает шелловский комбайн-сплиттер - то есть создает именно что отдельные копии сэмплов, инструментов и так далее - и смотреть как они расположены внутри банка. типа инструмент FM 39 байт чтоль... вот смотрим, скажем 00 инструмент, копируем его данные и ищем в банке инструментов. а потом уже делаем выводы как система его находит - то есть в заголовке типа там смещения указаны и все такое, и только потом уже эти самые 39 байт инструмента... и так далее и тому подобное. с нотным листом конечно посложнее, но в той первоначальной статье на электропейдже все в принципе понятно расписано.
не ходить на сайт электропейджа без адблокера в браузере! иначе реклама задолбает.Добавлено позже:напишу ответ здесь, а не в личке.
с самим кодом эмуляторов чипов ямахи и псж - я без малейшего понятия как эта магия происходит. я не понимаю как этот самый звук формируется
мне помогли. ямаха - была opn.dll библиотека, сделанная буржуйским товарищем ValleyBell, она правда содержала ошибки, которые смог найти и поправить r57shell и вообще использовалась для какой-то ValleyBell'ной программы... я использовал не по назначению. PSG часть код давал для веб браузера тоже легендарный товарищ Shiru. а этот код в свою очередь потом на форуме моего языка программирования конвертировал буржуйский товарищ wilbert, но и то он использовал частично asm, который мой PureBasic поддерживает, и в результате я там, даже видя код - нихрена не понимаю что происходит. может чистый PB было бы более понятно, но работает и то хорошо. и это были лишь эмуляторы звуковых чипов. сама организация проигрывания делалась мной, но только по мотивам драйвера... приблизительно как это должно работать. понятно что криво-косо, но это было лучше, чем вообще никак. далее у товарища ValleyBell была замечательная программа GEMSPlay, которая в свою очередь была написана по мотивам SMPSPlay другого автора... не суть. она была в качестве консольной программы и могла проигрывать банки GEMS на винде. для моей задачи она не очень подходила... но зато там был открытый исходный код, который здесь на форуме товарищ Sharpnull переписал на свой язык, опять таки понаходил кучу ошибок и поправил, а еще сделал не как консольную - а как dll, которую можно подключить к своей программе. там уже изначально вшиты и оба чипа ямаха и псж, и сам драйвер. получается мне оставалось только формировать GEMS банки, посылать их как образы памяти в библиотеку и она начинала играть. и тут максимально приближено к оригиналу как на приставке бы оно играло. и это куда круче моей глючной самоделки.
посему очень технические вопросы это не ко мне
я не особо программист, не ромхакер. у меня очень отдаленные представления как это работает. я всего-лишь менеджер, который смог скомпоновать все эти идеи в одну кучу и выдать более менее полный продукт. и он по сути является лишь демонстрацией, паком идей, которые должны быть реализованы в подобном программном обеспечении профессионалами, но... никому это нафиг не над
поэтому все и остается на моем любительском уровне. хотя я бы хотел поглядеть на проф версию такого редактора. чтоб все выглядело шикарно, не так топорно как у меня и чтоб работало как часы. со всякими расширенными функционалами - типа увеличения масштаба карт в редакторе карт, более продвинутые редакторы графики для окон и прочего. и все такое.
по ямахе - о регистрах чипа. то есть какие регистры за что отвечают и как заставить их петь:
http://www.smspower.org/maxim/Documents/YM2612по PSG не помню была ли подобная подробная статья... но я на что-то ориентировался. точно помню. кажется эта:
https://www.smspower.org/Development/SN76489Добавлено позже:про эту библиотеку:
https://github.com/infval/GEMSPlayпро формирование банков GEMS, с описанием в картинках структуры банков:
https://github.com/SeregaZ2004/GEMSReader