It is currently Thu Jun 20, 2019 2:24 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 36 posts ]  Go to page Previous  1, 2, 3
Author Message
PostPosted: Sat Mar 23, 2019 7:22 pm 
Offline
User avatar

Joined: Tue Jun 24, 2008 8:38 pm
Posts: 2301
Location: Fukuoka, Japan
Technically, if you buffer all the values before they are sent to the registers, you could do all kind of effects on it (this is how the famitracker/famitone combo work, famitone is added after famitracker song is done).


Top
 Profile  
 
PostPosted: Sat Mar 23, 2019 7:46 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 7505
Location: Canada
Some Sunsoft games used short triangle bursts like za909 posted. The croaking frogs in Gimmick!, or some sound effects in Fester's Quest, etc. I think Metroid also used it for the "bubble" sound in the Tourian area music.

It's not very common, though. Famitracker never supported it (though I dunno about the 0CC forks).

Pokun wrote:
Yeah I think it might be a good idea to add commands to a sound engine that allows the composer to change some registers arbitrarily in order to allow some advanced stuff not normally allowed by the sound data format.

I think PPMCK/MML allowed this kind of thing.


Top
 Profile  
 
PostPosted: Sun Mar 24, 2019 1:35 pm 
Offline

Joined: Tue May 28, 2013 5:49 am
Posts: 1173
Location: Hokkaido, Japan
Yeah I think PPMCK even allows the composer to program their own assembly routines in order to do stuff not allowed by the MML.

And yeah buffering the APU registers is very useful anyhow to minimize writes to them to once per frame. Nerdy Nights teaches that too.


Top
 Profile  
 
PostPosted: Sun Mar 24, 2019 2:23 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 21444
Location: NE Indiana, USA (NTSC)
I guess it's a question of whether to buffer all four channels before writing any or to calculate each channel to a buffer, write out the buffer, and proceed to the next channel. I don't know how other drivers work, but Pently does the latter, placing the buffer in three bytes of zero page.

_________________
Pin Eight | Twitter | GitHub | Patreon


Top
 Profile  
 
PostPosted: Sun Mar 24, 2019 5:21 pm 
Offline
User avatar

Joined: Tue Jun 24, 2008 8:38 pm
Posts: 2301
Location: Fukuoka, Japan
Famitracker doesn't buffer them in the original driver: it was only done in the famitracker/famitone sfx combo to allow famitone to overwrite a channel when sfx are required, thus mixing them.


Top
 Profile  
 
PostPosted: Tue Mar 26, 2019 5:45 am 
Offline
Formerly ~J-@D!~
User avatar

Joined: Sun Mar 12, 2006 12:36 am
Posts: 488
Location: Rive nord de Montréal
rainwarrior wrote:
Some Sunsoft games used short triangle bursts like za909 posted. The croaking frogs in Gimmick!, or some sound effects in Fester's Quest, etc. I think Metroid also used it for the "bubble" sound in the Tourian area music.

It's not very common, though. Famitracker never supported it (though I dunno about the 0CC forks).

Pokun wrote:
Yeah I think it might be a good idea to add commands to a sound engine that allows the composer to change some registers arbitrarily in order to allow some advanced stuff not normally allowed by the sound data format.

I think PPMCK/MML allowed this kind of thing.

Yes It allows that. It's the y command. You can poke a value anywhere, you can even crash the sound engine if you want.

10 years ago (holy crap, really?), I did an example of a croaking sound in MML. What's funny is that I had to make the y command in the noise channel, because this channel is processed after the triangle channel and it allows me to override what was written into $4008.

Neil Baldwin made something interesting with buffered writes to the APU (again, 10 years ago!): putting into a ring buffer, and using that ring buffer as an echo buffer. It makes very realistic one-channel echos. http://dutycyclegenerator.com/#EchoDemo

_________________
((λ (x) (x x)) (λ (x) (x x)))


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 36 posts ]  Go to page Previous  1, 2, 3

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group