yes

most work was done by some nickname shell - he make some "unpacker" and "packer" song for GEMS audiodriver. i am not romhacker, just was nice of playing in Dune with 5 houses (3 in original game). then i saw post some romhacker about politick hack of Dune - as mentat was Putin and Obama in beta version. i say joke: you need a anthem as mentat backsound. he says: made it for me. so all this starts as joke, but now i am so far from that

beta version midi2gems was done, but not very well... becouse i have no VGM instruments, that can sound more close to midi-pc sound. some instruments sounds very bad. convert result is not realy... that was made by this my converter midi.
https://www.youtube.com/watch?v=1ZJHrQPVbUoso vgm2gems was next step - convert any melody from sega games to gems. good part - instruments and notes for same cpu and will sound very very close to original. bad part - it have some dificult

slide effect still make me sad

but i am still work on it. little step by little step. now it sounds by some kind of this:
https://www.youtube.com/watch?v=v81qVqbz8nYvgm track was from battletoads - non gems game. this is special gems rom for smd for tests. but it can be apply for Dune (or in a future for other gems games).
vgm player was easy part - it have ready to eat command for chips. but for more deep investigation i make code (code - txt logs of gems unpacker) player too. i hope after done this work i will understand more about PSG part of converting. problem is - YM have instruments - it is clear to understand, becouse YM have registers for this instruments settings, PSG have only 1 command, but GEMS have instrument for PSG too. this "instrument" by logic it is behavior of commands - when it need to start, how to up volume in a time, how to fade off - and etc brainbreak unanderstanable things

it have 7 params - it is plan of behavior. so now i think about it. loops probably can wait.
aaa! i forgot ask about arrays

my structure have some image of file - for creating it a make allocatememory and write into it. when song is change - main array is Dim to 0 again (Redim to 0 some how is not helps and new song remember part of oldone, that is why i made Dim again with same name). this allocates need to be free, or this new Dim with same name - make frees by default? or i have memory leak?