Spanish Italian
17436 Users    

Programmer's Guide - Sound

  Download PDF version of the Article

Sound

11.0 SOUND

There are two audio channels for sound generation. They are identical but completely independent and can be operated simultaneously to produce sound effects through the TV's speaker. Each audio channel has three registers that control a noise-tone generator (what kind of sound), a frequency selection (high or low pitch of the sound), and a volume control.

11.1 NOISE-TONE GENERATOR

The noise-tone generator is controlled by writing to the 4 bit audio control registers (AUDC0, AUDC1). The values written cause different kinds of sounds to be generated. Some are pure tones like a flute, other have various "noise" content like a rocket motor or explosion. Even though the TIA hardware manual list the sounds created by each value, some experimentation will be necessary to find "your sound".

11.2 FREQUENCY CONTROL

Frequency selection is controlled by writing to a 5 bit audio frequency register (AUDF0, AUDF1). The value written is used to divide a 30KHz reference frequency creating higher or lower pitch of whatever type of sound is created by the noise-tone generator. By combining the pure tones available from the noise-tone generator with a frequency selection, a wide range of tones can be generated.

11 .3 VOLUME

Volume is controlled by writing to a 4 bit audio volume register (AUDV0 AUDV1). Writing a "0" to these registers turns sound off completely, and writing any value up to 15 increases the volume accordingly.

12.0 INPUT PORTS

They are six input ports whose logic states can be read on D7 by reading the input port addresses INPT0, INPT1, INPT2, INPT3, INPT4, INPT5). These six ports are divided into two types, "dumped" and "latched".

12.1 DUMPED INPUT PORTS (INPT0, INPT1, INPT2 INPT3)

These four ports are used to read up to four paddle controllers. Each paddle controller contains an adjustable pot controlled by the knob on the controller. The output of the port is used to charge a capicitor in the console and when the capacitor is charged the input port goes HIGH. The microprocessor discharges this capacitor by writing a "1" to D7 of BLANK then measures the time it takes to detect a logical one at the port. This information can be used to position objects on the screen based on the position of the knob on the paddle controller.

 

12.2 LATCHED INPUT PORTS (INPT4, INPT5)

These two ports have latches that are both enabled by wring a "1" or disabled by writing a "0" to D6 of VBLANK. When disabled the microprocessor reads the logic level of the port directly. When enabled, the microprocessor is reading the latch, not the port. When enabled, the latch is set for logic one and remains that way until its' port goes LOW. When the port goes LOW the latch goes LOW and remains that way regardless of what the port does. The trigger buttons of the joystick controllers connect to these ports.

 

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
5 + 6 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Who's new

  • pulper
  • mauriss
  • jbares
  • christiank79
  • agabor
  • fabriziopd
  • irenix
  • pepershoe
  • raghun14
  • andreaspousette

Who's online

There are currently 0 users and 46 guests online.