Sample based player for PC-Engine

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Sample based player for PC-Engine
by on (#158122)
So I have a four channel sample based player with frequency scaling (phase accumulator) for the PCE. I'm in the middle of writing the support routines for interfacing with it (lib support, whatever. The player itself is finished and working.). Would anybody be interested in porting over a small/simple music engine to take advantage of it (interface with it)? The HuC6280 is 65x02 based, so something from the NES side could work.

The interface is note based. Note+octave. There's also a 32 step division between notes that can be changed or updated per channel (frequency slides and/or vibrato). Each channel can be set to +/- 16 finetune frequency steps (1/16 of a note). All interfacing it done with JSRs or macros. Volume and stereo pan volume are set routines as well, so anything like envelopes would have to be handled outside the lib.
Re: Sample based player for PC-Engine
by on (#158129)
I created a music engine that I use for my own projects. Though I have no TG16 programming experience, it should be easy to separate out the NES-specific stuff, as each channel update leaves a volume and note number (semitone + 12 * octave) in $0002-$0003. I wonder what could be done with porting the Thwaite soundtrack to TG16.
Re: Sample based player for PC-Engine
by on (#158228)
I'm writing support for frequency control right now, and I decided to provide some higher level support functions as well. Not that someone can't access the frequency of the channels manually, in note and step format, but having a ready made example that could tap into and control it - seems to be worth the effort. So.. slide-to-note, slide-to-(plus or minus)infinity/rate, and vibrato with four different waveforms defined by depth and rate. Accessing volume and pan settings on the PCE are easy, but I'll provide routines for that as well (so a coder wouldn't need any direct interfacing with the hardware itself).


Quote:
I wonder what could be done with porting the Thwaite soundtrack to TG16.

Has anyone generated TG16 roms with CA65?
Re: Sample based player for PC-Engine
by on (#158231)
Apparently CC65 just grew a PCE runtime...
Re: Sample based player for PC-Engine
by on (#158304)
Wow! Thanks for the link. I'm actually surprised this didn't happen sooner.
Re: Sample based player for PC-Engine
by on (#158457)
A port of both Mario 1/2j (from Doppelganger's Disassemblies) and/or 3's (based on Southbird's Disassembly) sound engine with PCE enhancements sounds like a good test experiment,

Or better: a new TG16 NSF player can benefit from this.

Tip about the two extra channels: Use one of the channels for porting DMC channels with a bit of hacking, leaving a channel for a optional channel usable for NSFs with with one extra sound channel (i.e. FDS).
Re: Sample based player for PC-Engine
by on (#158760)
Hamtaro126: This is more of a proof of concept kinda thing.

Edit: :)
Re: Sample based player for PC-Engine
by on (#174432)
First public release: http://www.pcedev.net/audio/SamplePlaye ... _1_2_0.zip
(Note if you're browsing through the source files, tab = 2 spaces). Includes a pre-assembled rom. Though I don't have any good samples to demo it with.

Edit: Also, it doesn't have a name yet. Not sure what to call it.
Re: Sample based player for PC-Engine
by on (#174487)
How about SamPla,

It's as simple as a name gets
Re: Sample based player for PC-Engine
by on (#174735)
I wrote a quick XM Player for PCE (missing a lot of FX) using the PCM Driver. Here are some rom examples:
http://www.pcedev.net/XMPlay/XMPlay_Pack1.zip
http://www.pcedev.net/XMPlay/HuXMPlay_Pack2.zip

The samples playing higher than 2x the driver really get crushed. No post processing was done on the samples - just straight converted.