Login:
Menu:
Post: Author:
FamiTracker > General > FamiTracker Talk > Effects unique to MCK and FamiTracker Owner: Dafydd New post
Page 2 of 3 Sort: Goto Page: << Previous [1] [2] [3] Next >>
Posted: 2008-09-03 08:53  (Last Edited: 2010-03-06 09:49) Reply | Quote
furrykef

Avatar

Member for: 6644 days
Status: Offline

#1601
Dafydd wrote:
And by "and since I've never heard a NES soundtrack using portamento, I doubt the NES is capable of doing them" I mean I've never heard a commercial, real, soundtrack that does this.


The first NSF I tried (Battletoads) uses it in its theme song. Chances are you've heard portamento on the NES tons of times and just didn't notice because you weren't specifically listening for it at the time.

It also seems farfetched that "commercial, real" soundtracks would lack such an essential effect, while a guy or two hackin' on a computer in their own spare time would accomplish the task.

Dafydd wrote:
Obviously, you can make it happen using FT, but you can't using MML, and so I'm debating whether the portamento effect is calculated by FT or by the NES itself.


What would that matter? If portamento has to be calculated by the software, companies making games would still know how to do it. That also goes for the developers of MCK.

If MCK hasn't implemented portamento, I'm guessing it's because you can fake it with pitch envelopes or because it would be ugly to notate. Possibly both.

- Kef


Posted: 2008-09-03 15:43  (Last Edited: 2008-09-03 15:54) Reply | Quote
Dafydd

Avatar

Member for: 6760 days
Location: Uppsala, Sweden
Status: Offline

#1602
Well, my point was that if the NES is was not capable of portamento effects, you would need very long (and lots of) pitch macros to fake it. NES games don't have a lot of space for unnecessary data. Where is the Battletoads theme song do you hear portamento? I hear glissandos, but those can easily be created using pitch macros, unlike complex portamento melodies. I'm not saying they're not using the portamento effect, but how would one know?

Anyway, thanks for replying, jsr. It sucks to be wrong, but at least it's good news. I still think it's weird that MCK doesn't have it...

Posted: 2008-09-03 19:08 Reply | Quote
furrykef

Avatar

Member for: 6644 days
Status: Offline

#1603
I'm a bit fuzzy on the difference between your definitions of 'glissando' and 'portamento'.

Posted: 2008-09-03 22:01  (Last Edited: 2008-09-03 22:04) Reply | Quote
Dafydd

Avatar

Member for: 6760 days
Location: Uppsala, Sweden
Status: Offline

#1604
Hm, I guess it's not a very good word to use. By glissando I mean a single sliding note, in this case, a note that begins at a certain pitch and then slides down until the note stops playing. It doesn't stop sliding to arrive at a new pitch, it just keeps sliding until the note stops. This is really easy to do with a simple looped pitch macro.

A portamento melody, however, needs precise calculations for its pitch macros or the notes will be wrong or off key. This is why portamento is so useful - you don't need to calculate anything. And that's why I think it's so weird it's not available in MCK to even start to think it's not a NES hardware feature. I didn't think the sliding notes in the Battletoads theme song was enough to convince me otherwise - sliding notes I've heard in lots of games, often used on the tringle channel to produce drum kicks or explosion sfx. I still don't know if the sliding notes in the Battletoads theme song were made using pitch or portamento effects, but at least now I know that portamento effects are a hardware feature of the NES. I'm off to complain about MCK lacking it somewhere someone can do something about it.

Posted: 2008-09-04 01:34 Reply | Quote
jsr
Administrator

Avatar

Member for: 7380 days
Location: Sweden
Status: Offline

#1605
I think you got it a little wrong, the portamento itself is not done in hardware. It's just simple software calculations that's sent to the hardware. (As the hardware only takes a frequency, the new frequency is calculated 60 times/second when portamento is in use.)

_______________________
Programmer and developer
Posted: 2008-09-04 01:48 Reply | Quote
Flashbob



Member for: 6505 days
Status: Offline

#1606
I think the fact that portamento is missing in MML is due to its concept: MML is entirely note based, each parameter for a note is specified beforehand, then the note is played. This idea doesn't work with portamento, which requires knowledgede about the next note.

BTW: Hi all, 1st post.

Posted: 2008-09-04 11:33 Reply | Quote
Dafydd

Avatar

Member for: 6760 days
Location: Uppsala, Sweden
Status: Offline

#1609
So how does it actually work? It's more or less a constant pitch change until the note reaches its target, so what the NES does is just compare the current pitch to the target pitch, is that how it works?

Portamento requires knowledge about the next note? It only starts changing pitch when the next note starts playing, so all you need to know is the current pitch and the target pitch... I think?

Posted: 2008-09-04 18:30 Reply | Quote
furrykef

Avatar

Member for: 6644 days
Status: Offline

#1614
Dafydd wrote:
By glissando I mean a single sliding note, in this case, a note that begins at a certain pitch and then slides down until the note stops playing. It doesn't stop sliding to arrive at a new pitch, it just keeps sliding until the note stops. This is really easy to do with a simple looped pitch macro.


The Battletoads theme does have notes that are slid into rather than out of. After that initial "DUN DUN DUN", you can clearly hear, at 0:07, the melody sliding into the first note. It sounds a lot like a guitar bend, which was probably the effect they were going for.


Posted: 2008-09-05 13:49 Reply | Quote
Dafydd

Avatar

Member for: 6760 days
Location: Uppsala, Sweden
Status: Offline

#1620
Oh, you're right. Cool. I should shoot myself now.

Posted: 2008-09-06 02:06 Reply | Quote
Flashbob



Member for: 6505 days
Status: Offline

#1624
BTW: Anybody knows if the hardware sweep for pulse channels is accessible in MML?

Posted: 2008-09-06 19:38 Reply | Quote
chibitech

Avatar

Member for: 6919 days
Location: chiba prefecture, JP
Status: Offline

#1625
As far as I remember from using MCK a while ago, there are no dedicated commands for hardware sweeps.

However, MCK & its variants do have the direct memory entry method (y[address],[value]), where you can poke the appropriate hardware sweep addresses when needed ($4001 for 1st pulsewave, $4005 for 2nd). For this it would be good to pull out a programmers' calculator that can set flags on the appropriate bit so it can spit out the right resulting value to use:

Sweep Unit wrote:
$4001/4005, eppp nsss
e = enable sweep flag
p = sweep period (updaate rate)
n = sweep direction flag
s = shift amount for each update


credit: Blargg's APU reference guide (http://www.slack.net/~ant/nes-emu/apu_ref.txt), more details about the sweep unit's functions can be found there.

Come to think of it, I think Famitracker can benefit from direct memory entry commands; It can definitely be used to trigger timed events in a NES program/game. Though, I'd imagine it would have to take at least 3 different commands (2 for both the LSB/MSB address, 1 for the value) organized sequentially at the same time -- on a track using at least 3 fx rows.

Posted: 2008-09-07 02:47  (Last Edited: 2008-09-07 03:18) Reply | Quote
Jarhmander

Avatar

Member for: 7355 days
Status: Offline

#1629
n00b!

the s command comes handy for this, so you don't need to use y command

this is as stupid as this:
s<hi nybble>,<lo nybble>

for what are nybbles, refer to what chibitech said :P

s0,8 disable correctly the sweep. s0,0 will prevent you to use lower notes (in fact, not to go in long explanation, lo nybble should have the highest bit set)

EDIT: inversed hi/lo nybble :P

Posted: 2008-09-07 04:05 Reply | Quote
Flashbob



Member for: 6505 days
Status: Offline

#1630
n00b is thankful, shuts up and goes back to re-read some doc.

Posted: 2008-09-08 01:16 Reply | Quote
Jarhmander

Avatar

Member for: 7355 days
Status: Offline

#1631
ops, "n00b" was not a person in particular. sry if i hurt u, which is not the goal here

Posted: 2008-09-08 14:04 Reply | Quote
Flashbob



Member for: 6505 days
Status: Offline

#1634
No offence taken

Page 2 of 3 Sort: Goto Page: << Previous [1] [2] [3] Next >>