Sample based player for PC-Engine

Discussion of development of software for any "obsolete" computer or video game system. See the WSdev wiki and ObscureDev wiki for more information on certain platforms.
Post Reply
tomaitheous
Posts: 592
Joined: Thu Aug 28, 2008 1:17 am
Contact:

Sample based player for PC-Engine

Post by tomaitheous »

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.
__________________________
http://pcedev.wordpress.com
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Sample based player for PC-Engine

Post by tepples »

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.
tomaitheous
Posts: 592
Joined: Thu Aug 28, 2008 1:17 am
Contact:

Re: Sample based player for PC-Engine

Post by tomaitheous »

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).

I wonder what could be done with porting the Thwaite soundtrack to TG16.
Has anyone generated TG16 roms with CA65?
__________________________
http://pcedev.wordpress.com
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Sample based player for PC-Engine

Post by lidnariq »

Apparently CC65 just grew a PCE runtime...
tomaitheous
Posts: 592
Joined: Thu Aug 28, 2008 1:17 am
Contact:

Re: Sample based player for PC-Engine

Post by tomaitheous »

Wow! Thanks for the link. I'm actually surprised this didn't happen sooner.
__________________________
http://pcedev.wordpress.com
User avatar
Hamtaro126
Posts: 818
Joined: Thu Jan 19, 2006 5:08 pm

Re: Sample based player for PC-Engine

Post by Hamtaro126 »

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).
AKA SmilyMZX/AtariHacker.
tomaitheous
Posts: 592
Joined: Thu Aug 28, 2008 1:17 am
Contact:

Re: Sample based player for PC-Engine

Post by tomaitheous »

Hamtaro126: This is more of a proof of concept kinda thing.

Edit: :)
__________________________
http://pcedev.wordpress.com
tomaitheous
Posts: 592
Joined: Thu Aug 28, 2008 1:17 am
Contact:

Re: Sample based player for PC-Engine

Post by tomaitheous »

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.
__________________________
http://pcedev.wordpress.com
User avatar
Hamtaro126
Posts: 818
Joined: Thu Jan 19, 2006 5:08 pm

Re: Sample based player for PC-Engine

Post by Hamtaro126 »

How about SamPla,

It's as simple as a name gets
AKA SmilyMZX/AtariHacker.
tomaitheous
Posts: 592
Joined: Thu Aug 28, 2008 1:17 am
Contact:

Re: Sample based player for PC-Engine

Post by tomaitheous »

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.
__________________________
http://pcedev.wordpress.com
Post Reply