VGM web player preview
Screenshot(s) of the next update!
Technical discussion about the VGM format, and all the software you need to handle VGM files.
Moderator: Staff
- vampirefrog Offline
- Webmaster
- Posts: 1506
- Joined: 2014-01-28, 5:51:54
I've managed to convert the AY8910 code to C++. It was relatively easy, since it was kind of object-oriented anyway. Now to figure out how to convert it from C++ to something else.
I've looked at both Ci and Haxe, and one is too simple, the other is too complex, but neither has support for more advanced integers, for example uint16_t. Ci supports byte (8 bits) and int (32 bits). Haxe supports only Int. The C++ files generated by Haxe are big and seem unnecessary. I haven't found a way to disable all the boilerplate and just get the important code.
I'm thinking of just converting the code to C++, so all the chips are object oriented and even inherit a base class (maybe called SoundChip). I'm still thinking about how this will end up, since both meta-languages turned out to be less than expected (the idea is great, but they're implemented strangely and are not very flexible).
http://evo.grigoriada.net/emu2149.h (tested, compiled and working).
I've looked at both Ci and Haxe, and one is too simple, the other is too complex, but neither has support for more advanced integers, for example uint16_t. Ci supports byte (8 bits) and int (32 bits). Haxe supports only Int. The C++ files generated by Haxe are big and seem unnecessary. I haven't found a way to disable all the boilerplate and just get the important code.
I'm thinking of just converting the code to C++, so all the chips are object oriented and even inherit a base class (maybe called SoundChip). I'm still thinking about how this will end up, since both meta-languages turned out to be less than expected (the idea is great, but they're implemented strangely and are not very flexible).
http://evo.grigoriada.net/emu2149.h (tested, compiled and working).
neologix wrote:In other news, I've just successfully decoupled OPM playback from the JS MDX Web Player and integrated it into the web VGM Player! I've added the "Street Fighter II - The World Warrior" playlist to try it, though it's noticeably uninteresting without the OKIM6295 support.
Eventually the OPM script will be rewritten to have an API more consistent with how I initially set up the SN76489 and screwy YM2612 scripts, but at least now I have a proof-of-work for dropping in someone else's separate, relatively unmodified core into the thing.
Once I finish finals, I'll go back to working on YM2612 so I can move on to YM2413 and finally finish VGM v1.50 parity.
-dj.tuBIG/MaliceX
- vampirefrog Offline
- Webmaster
- Posts: 1506
- Joined: 2014-01-28, 5:51:54
It looks like there's emulation code for the Pokey chip in ASAP, all you have to do is compile it to js with cito. Maybe you can use it. http://evo.grigoriada.net/pokey.js