Skip to content

VGM in JavaScript

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

VGM in JavaScript

Post by neologix »

For those JavaScripters who want to experiment with the VGM format, there are a few resources available to you now to study!

Existing:
  • A YM2612 emulator ported by me from that found in Genesis Plus GX; updated sample usage to follow.
  • A SN76489 emulator ported by me from that originally written by Maxim and found in Genesis Plus GX; updated sample usage to follow.
  • A (PSG only for now) VGM player written in JavaScript that works on Firefox 4+ and Chrome; should work in Safari. Written by SMS Power forum user BlackAura and contains a custom audio sink.
  • XAudioJS by Grant Galitz; a cross-platform audio sink that can be used to play raw audio in a browser.
  • A Gzip uncompressor by the folks behind JSXgraph; use this to decompress Gzipped VGMs in JavaScript.
Needs an update:
  • A VGM-to-MIDI converter in JavaScript by me; only works in the Sphere engine and is rather limited in its functionality. The next update will put it on Github and make it platform-agnostic.
Soon to come:
  • A VGM parser in JavaScript by me, with the ability to hook custom functionality into VGM commands; example usage will include VGM-to-text functionality.
Future plans (anyone can pick up any of these at their leisure):
  • Implementing the rest of VGM version 1.50 in JavaScript; YM2413 and YM2151 are the remaining cores.
  • Possible JavaScript implementation of chips introduced in later VGM versions.
  • A web version of VGMTool; I have layout already done if anyone wants to pick this project up themselves, but I'm fairly certain I'll be doing this one myself.
VGM in JavaScript can be done!
Last edited by neologix on 2012-04-26, 22:46:55, edited 1 time in total.
  • Manolito Offline
  • Posts: 1
  • Joined: 2012-12-26, 17:17:02
  • Location: Netherlands
  • Contact:

Post by Manolito »

This looks pretty neat. I'm just starting the basics with JavaScript. Still a long way to go before I could even dare to try this.

Thanks
  • User avatar
  • MaliceX Offline
  • Posts: 226
  • Joined: 2012-09-29, 11:45:48
  • Location: Australia
  • Contact:

Post by MaliceX »

Takashi Toyoshima, creator of the TSS (T'SoundSystem) MML sound engine, is doing a complete rewrite and seems to intend to support VGM playback.

http://code.google.com/p/tss/

A while back there was a javascript VGM player test but it seems it's removed now. Not sure on the progress of this.
-dj.tuBIG/MaliceX
  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

Post by neologix »

@MaliceX - it seems that if you do a clone of the repo it still has all the JS work he put into it, some of it updated as recently as November of this year.
Post Reply