myon98 / 98fmplayer

BSD 2-Clause "Simplified" License
123 stars 4 forks source link

[Suggestion] S98 file playback support? #2

Open pedipanol opened 4 years ago

pedipanol commented 4 years ago

I think S98 file playback would be nice feature, because a lot of PC88/98 soundtracks have been recorded in this format, so this could expand the amount of soundtracks that could be played without having to program support for each driver. I imagine it might be easier to program as well, since it's a log of register writes.

(It also would open up the possibility for people using BambooTracker to have a nice visualizer for their songs (though I know some things, like SSG-EG aren't supported)...)

What do you think? Could this be implemented or is it out of the scope of the project?

takamichih commented 4 years ago

Hi Pedipanol, thanks for your suggestion.

To be honest I haven't listened to S98 format files for a long time, but I had the (probably unjustified) impression that they always had jittery timing issues because of the nature of emulators unless they are very carefully converted directly from the original format. I have always paid attention to prevent any kind of timing jitters when developing 98fmplayer. (Which have admittedly caused issues in some data (especially YU-NO) because of the disregard of register wait time)

OTOH S98 (and probably VGM) support should be very easy, as I already have some kind of internal support for S98 format because I initially tested my OPNA emulation layer with them. (Or perhaps with the case of BambooTracker the proper way could be to directly support them, either by integrating FMDSP into BambooTracker or vice versa)

The actual main issue would be that I haven't been doing any real work with this project because of many reasons including real life issues... But it's gotten significantly better recently and I hope to be able to implement them and other necessary features. (Including direct video output support, or something as small as command line support for issue #1)

As for SSG-EG, I already have experimental SSG-EG and HLFO support although not publicly released yet. I am currently focusing in reverse engineering YM2151 and YM2610 at die level, and combined with extremely valuable informations from Nuked-OPN2 I think I will be able to improve the YM2608 emulation significantly, possibly achieving fully identical output, in the near future.

On Sat, 14 Dec 2019 21:53:58 +0900, pedipanol wrote:

[1 <text/plain; UTF-8 (7bit)>] I think S98 file playback would be nice feature, because a lot of PC88/98 soundtracks have been recorded in this format, so this could expand the amount of soundtracks that could be played without having to program support for each driver. I imagine it might be easier to program as well, since it's a log of register writes.

(It also would open up the possibility for people using BambooTracker to have a nice visualizer for their songs (though I know some things, like SSG-EG aren't supported)...)

What do you think? Could this be implemented or is it out of the scope of the project?

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/takamichih/fmplayer/issues/2 [2 <text/html; UTF-8 (7bit)>]

pedipanol commented 4 years ago

Thanks for the reply! Yea, S98/VGM, as well as any logged files comes with its share of problems, the possibility of wrong timing, hardware volume balance inaccuracies and big filesizes being the biggest of them all. The reason I think having this feature would be good is because it could remedy the lack of support for certain drivers, at least until they're ported over.

I don't understand what you mean by integrating into BambooTracker itself or vice-versa, is it like- taking the playback code from BambooTracker and running modules made with it on 98fmplayer? If it's based on the module, I think you should wait until the module file type is stable, seems like the most recent version of BT has problems running modules from older versions... But if something like that is done, I hope it is open source, so people can make BT players for the PC98 itself and other YM2608 hardware (like Makoto on the MSX)!

I hope you manage to pull through the real life stuff, do your best! It's good to hear you've been experimenting with the SSG-EG and HLFO, and I'm looking forward for the improvements!