Some specs: http://www.pcedev.net/blog/files/XM_volume_tables.txt
Channel: each channel has a 5bit mono volume with 1.5db steps, and two 4bit right/left volume with 3.0db steps
Each channel has a 32 sample buffer, 5bit linear PCM (forward looping only, no ping-pong)
6 channels total.
Channel 5 and 6 can independently be switched into white noise mode (32 levels/periods)
Channel frequency is a 12bit value and is the exact same rate as the Amiga
Most game drivers use a 7khz driver and drive 1 or 2 channels in DDA mode
DDA mode is where you just write a 5bit linear PCM value to the DAC (can be switched back and forth)
The waveform buffer play 'pointer' and write pointer are shared, so you can update the channel's waveform while it's play to 'corrupt' the waveform to get some strange effect (some pce games do this).
There's a master volume dual 4bit left/right register with 3.0db steps
Updating frequency register of channels doesn't not reset the channel's waveform pointer, so it won't 'click'.
There's a control bit that will reset the waveform pointer per channel, you can use this to manually do sync on the channel (though no game does this)
Not sure what else to say about it...
1 Mar 10, 2012 3:40 am
Re: PC Engine/Turbografx-16 music for beginners (53 replies, posted in Other Vintage Computers & Consoles)
2 Dec 11, 2010 2:11 pm
Re: PC Engine/Turbografx-16 music for beginners (53 replies, posted in Other Vintage Computers & Consoles)
Sorry, the XM to PCE converter is still not ready for public release (been pretty busy and not too motivated ). Here's a small XM-ish music player (separate from the original one and totally re-written from the ground up) I wrote for a 8k PCE compo: http://www.youtube.com/watch?v=GPg73WFemAA . The HES file link is in the description. It's not a full feature player, because of limited space for the compo - I only write code to support what was needed for the PCE XM file to this HES file.
I honestly would rather write a tracker from scratch, but on the target system cpu (much easier). Mednafen supports PCE mouse and PCE keyboard support - so that's totally doable for an interface. Not sure about any other emulators, but the problem is how to get the data *from* ram to an external file - to import/inject into playable rom/hes file. It would be a bit 'messy' to say the least (the dumping of the user song data and loading of external song data too).
3 Apr 28, 2010 6:56 am
Re: PC Engine/Turbografx-16 music for beginners (53 replies, posted in Other Vintage Computers & Consoles)
MOD to PCE? I think you might be talking about me? ;>_>
It was originally MOD (6 channel) to PCE. It's now XM to PCE.
Read more about it here: http://pcedev.wordpress.com/
I wrote the player, but it still needs work. I also wrote a converter to a more PCE friendly format, since native XM format isn't very optimal (for obvious reasons), but other than that - almost every you do in milkytracker will transfer over. Ant1 mentioned 5+1 setup. I plan to do a few other "setups". Like 4 normal + 4 static channels (8bit samples each), 5 normal + 2 static (two software mixed 5bit with saturation), etc. Anyway, it's just a stop gap, until a real PCE tracker is made. Because there's more advance FXs and such the PCE needs for "normal" channels, that XM format just doesn't provide.
I also did the Azasel sound engine and music script compiler, but I doubt I'll be doing much of anything with that anymore (unless it's by request). I prefer trackers myself. If MML is your thing, then "Squirrel" is the most recent thing for PCE in that area. You can find it here: http://www.aetherbyte.com/psg.htm . It's not mine software. It's an MML compiler that they wrote for the CD System Card PSG player. It doesn't support "samples" as of yet. There's no HES (he said he'll get around to it if people request that).
BTW, since Azasel and the XM player are written from scratch on the PCE side, it would be trivial to do HES output and is planned. Well, for XM converter/player. I consider Azasel dead unless someone specifically requests that or whatever.
Cheers
(also, hey ant1 )