Welcome, Guest. Please login or register.

Author Topic: Programming "Chip Tunes"  (Read 1718 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline TrevTopic starter

  • Zero
  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show all replies
Programming "Chip Tunes"
« on: March 24, 2005, 03:39:12 AM »
Anyone know where to find good documentation on doing low-level FM synthesis (which is what I think chip tunes are--correct me if I'm wrong) on Amigas? Or is the info located somwhere less than obvious inside the NDK, kernel docs, or developer CD? (Or perhaps it's more than obvious, and I'm just blind.)

EDIT: OK. That was a totally boneheaded question. The section on custom chips in the hardware manual explains everything quite well.

Trev
 

Offline TrevTopic starter

  • Zero
  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show all replies
Re: Programming "Chip Tunes"
« Reply #1 on: March 25, 2005, 08:25:09 AM »
Ummm, I always understood frequency modulation to be modulating (i.e. changing) the frequency. :-P Anyhow, I'm just writing a simple set of PC speaker emulation routines, so a small sine wave sample and some appropriate writes to AUDxLC, AUDxLEN, AUDxPER, and DMACON should be all I need. Each of the audio channels can  be used to modulate the next higher channel (except for channel 3, which just gets disabled if you enable modulation).

And for chip tunes, some creative use of sine, square, and triangle waves along with frequency and amplitude modulation would be in order. The synthesis would come from mixing the waves to produce recognizable instruments.

Trev
 

Offline TrevTopic starter

  • Zero
  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show all replies
Re: Programming "Chip Tunes"
« Reply #2 on: March 26, 2005, 12:12:48 AM »
As far as I know, the Paula only plays samples. I think traditional FM synth chips generate the wave forms in hardware. You then modify the frequency, amplitude, and mix to produce custom tones. In the Amiga, it looks like I'll have to dope the Paula with my own wave forms, but that's really very simple, especially with 8-bit samples.

Newer synths work like the Amiga did, using tables of pre-defined sample wave forms (i.e. an actual piano sample) to produce their sounds. But analog and FM synths are regaining popularity.
 

Offline TrevTopic starter

  • Zero
  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show all replies
Re: Programming "Chip Tunes"
« Reply #3 on: March 26, 2005, 08:21:55 PM »
@leirbag28

This topic has veered pretty far from my initial question. :-) I'm actually writing a PC speaker emulator for m68k/Paula to include in a PC BIOS emulator that's part of a new project I'm working on. So, I'll be setting up a simple sine or square wave, and modifying the appropriate registers based on emulated access to PC I/O ports 42h, 43h, and 61h.

As far as writing music goes, the C64 is great. The C64 Programmer's Reference Manual seems fairly complete. But I'm not into composing right now. Some day. (And I've lost count of the number of SID-capable devices I have lying around.)

@minator

I really dig the distortion and aliasing effects introduced by older Amiga parallel port samplers. Sending the output of a C64 (or other SID thingy) through one of those (maybe not the DSS8, which is a little too smooth--I like the AMAS) and using the Paula for real-time manipulation (if you could swing it) would be cool.

Trev