- The #ifdef-block in ChipMapper.c ends below of the RF5C164 command handler, which prevents MegaCD PCM from working.
- In VGMPlay.c, the commands 0x90-0x95 are excluded by the #ifdef-block, which prevents optimized PWM VGMs from working.
(Those commands always have to be processed, even if you shouldn't need them, because they use nonstandard command lengths.) - You also need to include dac_control.h and compile dac_control.c for PWM VGMs. They are resposible for streaming PCM samples to chips (they don't do actual sound emulation) and should always be included, IMO.
- I don't think vampi wants SegaPCM or MultiPCM. (those are different chips than the PCM chip present in Sega MegaCD, which is called "RF5C164")
Web version of vgmPlay
Technical discussion about the VGM format, and all the software you need to handle VGM files.
Moderator: Staff
- ValleyBell Offline
- Posts: 4824
- Joined: 2011-12-01, 20:20:07
- Location: Germany
Okay... after some trouble with compiling it with MinGW/MSYS, I got it to build and found a few bugs.
- vampirefrog Offline
- Webmaster
- Posts: 1508
- Joined: 2014-01-28, 5:51:54
- vampirefrog Offline
- Webmaster
- Posts: 1508
- Joined: 2014-01-28, 5:51:54
It works perfectly, have a look: http://chiptune.ninja/tools/p2612/player.php
Gosh, you're so productive, how do you do it?
Also, is the same JS interface available for the full version?
Gosh, you're so productive, how do you do it?
Also, is the same JS interface available for the full version?
Which browser does it require? I'm trying it in Chrome, but when I select a song, it offers to download a vgz file, and nothing plays. The vgz file is downloaded just fine though.vampirefrog wrote:It works perfectly, have a look: http://chiptune.ninja/tools/p2612/player.php
edit: I just tried the AS3 player again, which used to work fine for me, and now that one offers me to download files as well. Maybe you broke some MIME types?
Also known as nineko.
- vampirefrog Offline
- Webmaster
- Posts: 1508
- Joined: 2014-01-28, 5:51:54
Code: Select all
Assertion failed: JS engine does not provide full typed array support backend_vgm.js:7
Assertion failed: JS engine does not provide full typed array support backend_vgm.js:7
Uncaught abort() at Error backend_vgm.js:4
at Error (unknown source)
at Da (http://chiptune.ninja/tools/p2612/backend_vgm.js:29:21)
at z (http://chiptune.ninja/tools/p2612/backend_vgm.js:291:217)
at y (http://chiptune.ninja/tools/p2612/backend_vgm.js:18:379)
at http://chiptune.ninja/tools/p2612/backend_vgm.js:30:1
at http://chiptune.ninja/tools/p2612/backend_vgm.js:296:2
Uncaught ReferenceError: VgmBackendAdapter is not defined player.php:68
Also known as nineko.
- vampirefrog Offline
- Webmaster
- Posts: 1508
- Joined: 2014-01-28, 5:51:54
- vampirefrog Offline
- Webmaster
- Posts: 1508
- Joined: 2014-01-28, 5:51:54
- vampirefrog Offline
- Webmaster
- Posts: 1508
- Joined: 2014-01-28, 5:51:54
I've added the player to the project2612 details pages, here is an example: http://project2612.org/details.php?id=53
Just click on the vgz files.
Now to add a pause/play button, a seek bar and a volume bar.
Also, is there a way to get the full GD3 info? ie Japanese composer names and whatnot?
Just click on the vgz files.
Now to add a pause/play button, a seek bar and a volume bar.
Also, is there a way to get the full GD3 info? ie Japanese composer names and whatnot?
Nice
so far the player only used 4 attributes:
const wchar_t* TitleTag= GetTagStrEJ(VGMTag.strTrackNameE, VGMTag.strTrackNameJ);
const wchar_t* GameTag = GetTagStrEJ(VGMTag.strGameNameE, VGMTag.strGameNameJ);
const wchar_t* AuthorTag = GetTagStrEJ(VGMTag.strAuthorNameE, VGMTag.strAuthorNameJ);
const wchar_t* SystemTag = GetTagStrEJ(VGMTag.strSystemNameE, VGMTag.strSystemNameJ);
just add whatever other attributes you want in:
extern const char** EMSCRIPTEN_KEEPALIVE emu_get_track_info() { ... }
so far the player only used 4 attributes:
const wchar_t* TitleTag= GetTagStrEJ(VGMTag.strTrackNameE, VGMTag.strTrackNameJ);
const wchar_t* GameTag = GetTagStrEJ(VGMTag.strGameNameE, VGMTag.strGameNameJ);
const wchar_t* AuthorTag = GetTagStrEJ(VGMTag.strAuthorNameE, VGMTag.strAuthorNameJ);
const wchar_t* SystemTag = GetTagStrEJ(VGMTag.strSystemNameE, VGMTag.strSystemNameJ);
just add whatever other attributes you want in:
extern const char** EMSCRIPTEN_KEEPALIVE emu_get_track_info() { ... }