Just wanted to say THANK YOU to Stef for this. I just sucessfuly compiled your test.bex. I tried a different .xgc files. I also tried converting a MIDI to VGM to XGC and it worked! Next I'll try and see how sound effects work. This is great!!
UPDATE: Used nineko's midi2vgm
Last Edit: May 12, 2015 16:43:22 GMT -5 by theloon
You can't use samples in your vgm, and it only supports the first 5 fm tracks (and the psg tracks). I believe Stef's driver uses the 6th channel for the PCM / sound effects portion of the driver. Once you remove the PCM instruments and clear the 6th fm channel, you should have no issues converting
OK. In VGM Music 1.1. -> Export -> VGM file for Genesis/MD...
In xgmtool Convert VGM file "input.vgm output.xgm" - OK.
But in a folder "test" qsor2.xgc file.
Has replaced xgm on xgc. output.xgm on qsor2.xgc
Compile BASIC sorce code.
Open ROM in emulator. There is no music, silence. Sound FX - OK.
What not so?
This is the last time I'm helping since you're not reading these threads. Look 3 posts above you as I posted instructions on how to use xgmtool and how to convert vgm to XGM to xgc.
Please read these threads thoroughly. I don't mind offering help, but you also need to do your diligence as well, especially when your questions have been answered a few posts before your question was asked...
How do you use the xgm_isPlayingPCM(channel_mask) function? I've tried doing:
print xgm_isPlayingPCM(8) ' Channel 4
Both before and after a PCM sample is started and results in the same output. What I'd like to do is have a sound effect repeat on channel 4 (think of it as Mega Man's charge shot with the repeating sound effect until you let the button go). Usually the number return is in the 64,000 range.
This is a personal guess. It looks like some editing of the sample routine numbers need to take place in order to alter which channel a sample is played on. Somewhere in this line: "move.l #((1<<4)|1),d2 "
hatsound: asm lea HATpcm,a1 ; put address of sample in a1 move.l #(HATpcm_end-HATpcm),d1 ; put length of sample in d1 move.l #((1<<4)|1),d2 ; put priority and channel number in d2 end asm xgm_playPCM return
Last Edit: Jun 29, 2015 12:32:18 GMT -5 by theloon
I just updated my driver and the wrapper for Basic, just check the dropbox folder in the first post Actually the problem was in the wrapper but i made some changes to improve a bit the wrapper (some methods now use parameters when possible). Also i updated the XGM driver to its last version, this one should improve the 68000 BUS contention issue so PCM playback quality should be preserved even during heavy DMA (as soon you keep them inside VBlank period only).