Skip to content

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

  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

Post by neologix »

Good points I should probably ask grantgalitz about; I have the XAudioJS.executeCallback function running through setInterval rather than requestAnimationFrame, but that doesn't seem to help. Maybe it's something inherent to XAJ's implementation of a browser's *AudioContext rather than Flash?

Post by vampirefrog »

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).
  • User avatar
  • MaliceX Offline
  • Posts: 226
  • Joined: 2012-09-29, 11:45:48
  • Location: Australia
  • Contact:

Post by MaliceX »

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.
Image
-dj.tuBIG/MaliceX

Post by vampirefrog »

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
Post Reply