Login:
Menu:
Post: Author:
FamiTracker > General > FamiTracker Talk > What tools did developers have back in the day? Owner: MegaSkeleton New post
Page 3 of 4 Sort: Goto Page: << Previous [1] [2] [3] [4] Next >>
Posted: 2014-09-27 09:24 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 6453 days
Location: Canada
Status: Offline

#62241
Alberto already posted a link to that thread in this post from page 1.

_______________________
Follow me on Twitter.
I record (some) NSFs on hardware. Feel free to request a hardware render.
Posted: 2014-09-27 14:48 Reply | Quote
B00daW

Avatar

Member for: 6457 days
Status: Offline

#62244
*thumbs up*

Posted: 2014-09-27 20:06 Reply | Quote
AlbertoG



Member for: 5020 days
Location: Barcelona
Status: Offline

#62257
Zaalan3 wrote:
Do you still have the source code for the tracker Mr.Gonzalez? I would really like to examine it.

It must be somewhere buried in my old backups. Anyway, I'd prefer not to share the source code, at least for now. I hope you understand

jrlepage wrote:
I can (and have done so in the past).

Thanks, I'll write to you tonight!



Posted: 2014-09-28 13:54 Reply | Quote
jsr
Administrator

Avatar

Member for: 7395 days
Location: Sweden
Status: Offline

#62283
AlbertoG wrote:
I have a SoundCloud account where I have uploaded many of my old soundtracks and other things. Many of them have facts and anecdotes noted. There are also links to more recent interviews in my profile description.

Perhaps I'm giving too much info! By the way, is anyone here able to record from a real PAL NES?

Thanks I'll check it out!

I can record PAL NES audio as well, if you wish.

_______________________
Programmer and developer
Posted: 2014-09-30 21:46 Reply | Quote
AlbertoG



Member for: 5020 days
Location: Barcelona
Status: Offline

#62402
jsr wrote:
I can record PAL NES audio as well, if you wish.


Thanks for the offer jsr! Currently it's being worked out.

Posted: 2014-12-02 00:34 Reply | Quote
Xiphos2000

Avatar

Member for: 4301 days
Location: Washington
Status: Offline

#64091
Oh and Alberto, if you (or anyone) still read this thread, what was it like to make arpeggios? Was there some sort of tool built into your program, or did you have to do every single pitch manually?

_______________________
I am everywhere. I am nowhere. I am everyone. I am no one. I am Darkman.
...No wait, that's not how it goes.
Posted: 2014-12-02 06:42 Reply | Quote
za909

Avatar

Member for: 5433 days
Location: Hungary
Status: Offline

#64097
That's a very interesting question, if I get around to programming again I might get a useful tip on how to implement arpeggios. (0xy equivalent anyway)
The way I imagine it, there's only 2 bytes of RAM required per channel for it. One holds the two 4-bit values added to the base note number, and the other byte is a "phase counter". The counter is of course reset when a new note is hit.
So when it's 0, the adding is skipped, when it's 1, the 4 high bits from the arp byte are added to the base note when the program fetches the period register values from a table and increments the phase counter. Next frame, the counter is at 2, and the 4 low bits are added, then the phase counter is reset to 0 again. And this must run every frame. You simply disable it by writing 00 to the arp byte.

Posted: 2014-12-03 00:55 Reply | Quote
AlbertoG



Member for: 5020 days
Location: Barcelona
Status: Offline

#64101
Hi,

The way I did the arpeggios was really simple. Each arpeggio consisted on a table with transpositions that were added to the current note at each frame following a counter. Actually I called them Chords and not arpeggios because their main use was to create chords from a single channel.

For example a major chord would be defined like this in some place of the sound driver:

$EF6 DB C0,E0,G0,RET

And a minor chord would look like this:

$EF7 DB C0,DS0,G0,RET

A "plucked" arpeggio (which I used a lot) would look like this:

$EF1 DB C1,C0,END

RET was the command used to restart the arpeggio table, and END would instruct the arpeggio to end. The tables were selected in the instrument definitions or directly in the tune sequence as they were needed. They were limited and (mostly) shared between all the tunes to save ROM. A single command (EF0 to EF15) was used to select which arpeggio table to use.

Who knows my work may have noticed that I didn't use many chord variations, they were mostly major and minor only. That's because I used this way instead of defining the arpeggios on the fly, and also because of laziness I suppose!

Later for the GBA (Obelix & Cleopatra) I had to write a new sound driver from scratch and I took a different route. Instead of having all the arpeggios defined statically at some place only, I could also define them directly in the sequence data, on the fly. I wish I would have thought about that years before...

Cheers!

Posted: 2014-12-03 02:09 Reply | Quote
Xiphos2000

Avatar

Member for: 4301 days
Location: Washington
Status: Offline

#64102
Interesting. I never knew GBA games still used arpeggios. It actually sounds really great combined with the sampled instruments. It makes me wonder what it would have sounded like on an SNES.

And one more thing. Did you ever think of using DPCM samples? You mainly relied on a triangle kick for percussion. Did you ever consider using samples?

Posted: 2014-12-03 02:19  (Last Edited: 2014-12-03 02:24) Reply | Quote
Im_a_Track_Man

Avatar

Member for: 5608 days
Location: Plantation, Florida
Status: Offline

#64103
Xiphos2000 wrote:
Interesting. I never knew GBA games still used arpeggios. It actually sounds really great combined with the sampled instruments. It makes me wonder what it would have sounded like on an SNES.

I'm pretty sure he just used them in the standard GB channels and had the DirectSound channels play the sampled parts of the soundtrack. If you want to know how arpeggios would sound on an SNES, just listen to practically any MOD or XM in existence.

Posted: 2014-12-03 03:16 Reply | Quote
Xiphos2000

Avatar

Member for: 4301 days
Location: Washington
Status: Offline

#64106
Im_a_Track_Man wrote:

I'm pretty sure he just used them in the standard GB channels and had the DirectSound channels play the sampled parts of the soundtrack.

Oh, I know that. I'm just saying it sounds a heck of alot better than I first thought it would. It kind of reminds me of the Project S11 soundtrack, except that one was on GBC, rather than on GBA.

_______________________
I am everywhere. I am nowhere. I am everyone. I am no one. I am Darkman.
...No wait, that's not how it goes.
Posted: 2014-12-03 07:48  (Last Edited: 2014-12-03 07:48) Reply | Quote
CheeseGuy99

Avatar

Member for: 5223 days
Location: Amarillo, TX
Status: Offline

#64112
I thought that often times developers used MML. That would mean, if they had a complex enough compiler that I'm not sure existed, theoretically, they could have had an arp command. I guess. Perhaps some sort of macro?

_______________________
**** COMMODORE 64 BASIC V2 ****

Some other places I've tried to conquer:
Le Chipmusic
Le BattleOfTheBits
Posted: 2014-12-03 08:23  (Last Edited: 2014-12-03 08:25) Reply | Quote
AlbertoG



Member for: 5020 days
Location: Barcelona
Status: Offline

#64113
Xiphos2000 wrote:
Interesting. I never knew GBA games still used arpeggios. It actually sounds really great combined with the sampled instruments. It makes me wonder what it would have sounded like on an SNES.


The GBA didn't have a proper sound chip like the SNES. it had about the same capabilities of the regular GB (except for a longer RAM in the wave channel) and 2 digital channels. Most of the games created the music by software, mixing the waveforms using the CPU and outputting the result through the digital channels, but this costed an insane amount of CPU cycles. In most games more than half the CPU was used for this purpose, as it did on my other GBA soundtracks.

For the game I mentioned that used the arpeggios (Obelix & Cleopatra) I had severe restrictions for CPU usage, so I had to rely only in the GB and digital channels without any software mixing, and I created a sound driver for that purpose. In other GBA games I used the driver provided by Nintendo because I was allowed to use more CPU.

I have some tunes recorded from that game on my SoundCloud, in case someone wants to hear the results. Also check the track info to learn more details about it:
https://soundcloud.com/joemcalby/asterix-cleopatra-the-palace
https://soundcloud.com/joemcalby/asterix-cleopatra-pyramid
https://soundcloud.com/joemcalby/asterix-cleopatra-pirate-ship

Xiphos2000 wrote:
And one more thing. Did you ever think of using DPCM samples? You mainly relied on a triangle kick for percussion. Did you ever consider using samples?


Never, I didn't had a chance. We weren't allowed to use much ROM space because it costed a lot of money. All my soundtracks have been limited to 16k for all the driver, music, and fx. For example Bomb Jack for the Game Boy was only 32k in size for the whole game.

Posted: 2014-12-03 20:35 Reply | Quote
Xiphos2000

Avatar

Member for: 4301 days
Location: Washington
Status: Offline

#64120
That's very interesting. I kinda like the sound of Obelix and Cleopatra a tad bit more, but that's only because the scratchy sound that most GBA games had with the samples didn't show up, as in O&C most of the soundtrack was with regular square and wave channels. That, and just a bit of personal bias that I have for the chip-tuney sound that the GB channels used. I suppose determining which style of sound on GBA I like more is just up to my personal opinion. All of your GBA soundtracks are great, though.

It almost makes me feel kind of guilty that I pretty much abuse the DPCM channel in most of my music. Only a few times did I restrict myself, and that was just in a few videos I made to show off some covers of other games's music, such as Linus Spacehead and a few others. It's mind blowing just how some games got away with using DPCM, especially the KID games and such, as a terrifying amount of their soundtracks had songs where the DPCM channel has about 5-7 samples loaded at once, and considering the fact that the channel is almost always busy. RECCA being the most imfamous example of this.

Posted: 2014-12-04 20:39  (Last Edited: 2014-12-04 20:46) Reply | Quote
za909

Avatar

Member for: 5433 days
Location: Hungary
Status: Offline

#64140
The amount of DPCM was also a question of the used mapper. If there was a lot of space to spare, but the mapper could not bankswitch the last 16kB of the CPU address space, it was still limited by that size. Not to mention that commonly used code and data had to fit in here as well.
It really just depends on what you want to use it for.

Triangle volume control only takes two 17 byte samples for example, although it introduces a slight pop, but not as violent as a Zxx one (one sample for driving the delta counter all the way to 127, and the other for decreasing it to 0)

On PAL systems there is no controller-input corruption from the hardware to fix in the software either.


Attachments:
tri_echo.ftm (2 Kb)
Page 3 of 4 Sort: Goto Page: << Previous [1] [2] [3] [4] Next >>